Skip to content

chgl/magniFHIR

Repository files navigation

magniFHIR

Visibility into your FHIR server.

Running

docker run --rm -it -p 127.0.0.1:8080:8080 \
    -e FhirServers__0__Name="HAPI FHIR Test Server" \
    -e FhirServers__0__BaseUrl="https://hapi.fhir.org/baseR4" \
    ghcr.io/chgl/magnifhir:latest

Open http://localhost:8080/ in your browser, select the HAPI FHIR Test Server in the server selection and click on Patient Browser in the left-hand menu.

Screenshots

Screenshot showing the server selection

Screenshot showing the patient browser

Screenshot showing the patient record conditions tab

Configuration

Multiple FHIR servers can be configured including support for basic authentication. You can use environment variables to set each entry in the FhirServers key, as done above, or mount a file called appsettings.Production.json inside the container as /app/appsettings.Production.json.

The basic structure and available configuration options is shown here:

{
  "FhirServers": [
    {
      "Name": "HAPI FHIR JPA Server",
      "BaseUrl": "http://hapi-fhir-server.127.0.0.1.nip.io/fhir"
    },
    {
      "Name": "Linux4Health FHIR Server (empty)",
      "BaseUrl": "http://l4h-fhir-server.127.0.0.1.nip.io/fhir-server/api/v4",
      "Auth": {
        "Basic": {
          "Username": "fhiruser",
          "Password": "change-user-password"
        }
      }
    }
  ]
}

Development

Docker Compose

Start all prerequisite services for development by running:

docker compose -f hack/docker-compose.yaml up

This will start three FHIR servers and their corresponding databases. The servers are running behind Traefik as a reverse proxy to provide nice URLs that are resolved to localhost:

Type Base URL
HAPI FHIR JPA Server Starter http://hapi-fhir-server.127.0.0.1.nip.io/fhir
Linux4Health FHIR Server http://l4h-fhir-server.127.0.0.1.nip.io/fhir-server/api/v4
FHIR Server for Azure http://azure-fhir-server.127.0.0.1.nip.io/

The HAPI FHIR JPA Server is pre-filled with sample Synthea data.

Install the packages and launch the server in Hot-Reload mode:

dotnet restore magniFHIR.sln
dotnet watch --project=src/magniFHIR

Kubernetes (KinD)

Create a cluster for testing using KinD:

kind create cluster --name=magnifhir-dev

Build container image and deploy to the cluster in development mode:

skaffold dev

This doesn't yet start a FHIR server with sample data.

About

Basic Patient resource browser to provide visibility into your FHIR servers.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors