Skip to content

Configuration ​

MeasureReport as File only: ​

sh
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.3

This 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:

sh
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.3

Resolving 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:
sh
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.3

Obfuscation ​

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_count

i.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_REPORT
  • PROJECT_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: - 50


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