Visibility into your FHIR server.
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:latestOpen 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.
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"
}
}
}
]
}Start all prerequisite services for development by running:
docker compose -f hack/docker-compose.yaml upThis 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:
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/magniFHIRCreate a cluster for testing using KinD:
kind create cluster --name=magnifhir-devBuild container image and deploy to the cluster in development mode:
skaffold devThis doesn't yet start a FHIR server with sample data.