Configuration
MeasureReport as File only:
docker run -v <your/measurefile.json>:/app/measure.json -v <your/output/dir>:/app/output -e FHIR_SOURCE_SERVER=<http://your-fhir-server/fhir> -e TZ=Europe/Berlin -it ghcr.io/medizininformatik-initiative/fhir-data-evaluator:1.3.3This generates a MeasureReport that is stored in a directory named after the current date combined with the Measure's name inside /app/output. In order to see the MeasureReport, one can for example mount a volume to /app/output/ like above.
Sending the MeasureReport to a FHIR Server
If SEND_REPORT_TO_SERVER is set to true, the MeasureReport is sent to the FHIR_REPORT_SERVER along with a DocumentReference that is configured with the following environment variables:
AUTHOR_IDENTIFIER_SYSTEM(example:http://dsf.dev/sid/organization-identifier)AUTHOR_IDENTIFIER_VALUE(example:Test_DIC1)PROJECT_IDENTIFIER_SYSTEM(example:http://medizininformatik-initiative.de/sid/project-identifier)PROJECT_IDENTIFIER_VALUE(example:Test_PROJECT_Evaluation)
Usage with Docker Networks
To any of the listed "docker run" commands add --network <your_network> to run the container inside a Docker network:
docker run -v <your/measurefile.json>:/app/measure.json -v <your/output/dir>:/app/output -e FHIR_SOURCE_SERVER=<http://your-fhir-server/fhir> -e TZ=Europe/Berlin --network <your_network> -it ghcr.io/medizininformatik-initiative/fhir-data-evaluator:1.3.3Resolving References
In case the FHIR Path of a stratifier evaluates a reference, the referenced resources must be included in the initial population as 'include' resources.
Example:
- FHIR Path of the stratifier:
MedicationAdministration.medication.resolve().ofType(Medication).code.coding - FHIR Search query of the initial population:
MedicationAdministration?_include=MedicationAdministration:medication
If a reference cannot be resolved, the stratifier is counted as a value that was not found.
Time Zones
When generating the MeasureReport, the output files will be saved in a directory named after the current date combined with the Measure's name. Since it is run inside a Docker container, the time zone might differ from the one on the host machine. This time zone is also used to set the date for the DocumentReference if the MeasureReport is sent to a FHIR server. If you want to match the time zones, set the time zone for example to -e TZ=Europe/Berlin:
Passing Additional Environment Variables:
The Fhir Data Evaluator is configured via environment variables that must be passed to the docker container. If the environment variables are set only on the host machine, they won't be visible in the container. Any environment variable can be passed to the container using the -e flag.
- Example of passing a page count of 50:
docker run -v <your/measurefile.json>:/app/measure.json -v <your/output/dir>:/app/output -e FHIR_SOURCE_SERVER=<http://your-fhir-server/fhir> -e FHIR_SOURCE_PAGE_COUNT=50 -e TZ=Europe/Berlin -it ghcr.io/medizininformatik-initiative/fhir-data-evaluator:1.3.3Obfuscation
By default, a MeasureReport is generated that contains the exact counts of elements found in the FHIRServer. If the environment variable CREATE_OBFUSCATED_REPORT is set to true, an additional obfuscated MeasureReport is generated next to the default MeasureReport, where all counts in the report are obfuscated by the following rule:
if exact_count >= 1 AND exact_count <= OBFUSCATION_COUNT:
obfuscated_count = OBFUSCATION_COUNT
else:
obfuscated_count = exact_counti.e. if OBFUSCATION_COUNT is set to 5, only numbers from 1 to 4 are rounded to 5. Exact 0 and everything above 5 is not changed.
If SEND_REPORT_TO_SERVER is set to true, the raw report and the obfuscated report are both sent to the report server. Therefore, the following variables must be additionally set:
PROJECT_IDENTIFIER_SYSTEM_OBFUSCATED_REPORTPROJECT_IDENTIFIER_VALUE_OBFUSCATED_REPORT
For the author identifier of the obfuscated report, the same identifier is used as for the non-obfuscated report.
Environment Variables
FHIR_SOURCE_SERVER
The base URL of the FHIR server to use for downloading the resources.
Default: - http://localhost:8080/fhir
FHIR_SOURCE_USER
The username to use for HTTP Basic Authentication for the source FHIR server.
Default: - ``
FHIR_SOURCE_PASSWORD
The password to use for HTTP Basic Authentication for the source FHIR server.
Default: - ``
FHIR_SOURCE_MAX_CONNECTIONS
The maximum number of connections to open towards the source FHIR server.
Default: - 4
FHIR_SOURCE_PAGE_COUNT
The number of resources per page to request from the source FHIR server.
Default: - 1000
FHIR_SOURCE_BEARER_TOKEN
Bearer token for authentication for the source FHIR server.
Default: - ``
FHIR_SOURCE_OAUTH_ISSUER_URI
The issuer URI of the OpenID Connect provider for the source FHIR server.
Default: - ``
FHIR_SOURCE_OAUTH_CLIENT_ID
The client ID to use for authentication with OpenID Connect provider for the source FHIR server.
Default: - ``
FHIR_SOURCE_OAUTH_CLIENT_SECRET
The client secret to use for authentication with OpenID Connect provider for the source FHIR server.
Default: - ``
FHIR_REPORT_SERVER
The base URL of the FHIR server to use for (optionally) uploading the MeasureReport.
Default: - http://localhost:8080/fhir
FHIR_REPORT_USER
The username to use for HTTP Basic Authentication for the Report FHIR server.
Default: - ``
FHIR_REPORT_PASSWORD
The password to use for HTTP Basic Authentication for the Report FHIR server.
Default: - ``
FHIR_REPORT_MAX_CONNECTIONS
The maximum number of connections to open towards the Report FHIR server.
Default: - 4
FHIR_REPORT_BEARER_TOKEN
Bearer token for authentication for the Report FHIR server.
Default: - ``
FHIR_REPORT_OAUTH_ISSUER_URI
The issuer URI of the OpenID Connect provider for the Report FHIR server.
Default: - ``
FHIR_REPORT_OAUTH_CLIENT_ID
The client ID to use for authentication with OpenID Connect provider for the Report FHIR server.
Default: - ``
FHIR_REPORT_OAUTH_CLIENT_SECRET
The client secret to use for authentication with OpenID Connect provider for the Report FHIR server.
Default: - ``
MAX_IN_MEMORY_SIZE_MIB
The maximum in-memory buffer size for each webclient in MiB.
Default: - 10
TZ
The time zone used to create the output directory and set the date in the DocumentReference.
Default: - Europe/Berlin
SEND_REPORT_TO_SERVER
Whether the MeasureReport should be sent to the FHIR Report server.
Default: - false
CREATE_OBFUSCATED_REPORT
Whether an obfuscated MeasureReport should be created in addition.
Default: - false
OBFUSCATION_COUNT
The number to wich values are clamped (obfuscated).
Default: - 5
AUTHOR_IDENTIFIER_SYSTEM
The system of the author organization used when uploading the report.
Default: - http://dsf.dev/sid/organization-identifier
AUTHOR_IDENTIFIER_VALUE
The code of the author organization used when uploading the report.
Default: - ``
PROJECT_IDENTIFIER_SYSTEM
The system of the master identifier used when uploading the report.
Default: - http://medizininformatik-initiative.de/sid/project-identifier
PROJECT_IDENTIFIER_VALUE
The value of the master identifier used when uploading the report.
Default: - ``
PROJECT_IDENTIFIER_SYSTEM_OBFUSCATED_REPORT
The system of the master identifier used when uploading the obfuscated report.
Default: - http://medizininformatik-initiative.de/sid/project-identifier