4.0 KiB
ETL-Processor for bwHC data 
Diese Anwendung versendet ein bwHC-MTB-File an das bwHC-Backend und pseudonymisiert die Patienten-ID.
Einordnung innerhalb einer DNPM-ETL-Strecke
Diese Anwendung erlaubt das Entgegennehmen HTTP/REST-Anfragen aus dem Onkostar-Plugin onkostar-plugin-dnpmexport.
Der Inhalt einer Anfrage, wenn ein bwHC-MTBFile, wird pseudonymisiert und auf Duplikate geprüft. Duplikate werden verworfen, Änderungen werden weitergeleitet.
Löschanfragen werden immer als Löschanfrage an das bwHC-backend weitergeleitet.
HTTP/REST-Konfiguration
Anfragen werden, wenn nicht als Duplikat behandelt, nach der Pseudonymisierung direkt an das bwHC-Backend gesendet.
Konfiguration für Apache Kafka
Anfragen werden, wenn nicht als Duplikat behandelt, nach der Pseudonymisierung an Apache Kafka übergeben. Eine Antwort wird dabei ebenfalls mithilfe von Apache Kafka übermittelt und nach der Entgegennahme verarbeitet.
Siehe hierzu auch: https://github.com/CCC-MF/kafka-to-bwhc
Pseudonymisierung der Patienten-ID
Wenn eine URI zu einer gPAS-Instanz angegeben ist, wird diese verwendet. Ist diese nicht gesetzt. wird intern eine Anonymisierung der Patienten-ID vorgenommen.
APP_PSEUDONYMIZE_PREFIX
: Standortbezogenes Prefix -UNKNOWN
, wenn nicht gesetztAPP_PSEUDONYMIZE_GENERATOR
:BUILDIN
oderGPAS
-BUILDIN
, wenn nicht gesetzt
Eingebaute Pseudonymisierung
Wurde keine oder die Verwendung der eingebauten Pseudonymisierung konfiguriert, so wird für die Patienten-ID der entsprechende SHA-256-Hash gebildet und Base64-codiert - hier ohne endende "=" - zuzüglich des konfigurierten Prefixes als Patienten-Pseudonym verwendet.
Pseudonymisierung mit gPAS
Wurde die Verwendung von gPAS konfiguriert, so sind weitere Angaben zu konfigurieren.
APP_PSEUDONYMIZE_GPAS_URI
: URI der gPAS-Instanz inklusive Endpoint (z.B.http://localhost:8080/ttp-fhir/fhir/gpas/$pseudonymizeAllowCreate
)APP_PSEUDONYMIZE_GPAS_TARGET
: gPas DomänennameAPP_PSEUDONYMIZE_GPAS_USERNAME
: gPas Basic-Auth BenutzernameAPP_PSEUDONYMIZE_GPAS_PASSWORD
: gPas Basic-Auth PasswortAPP_PSEUDONYMIZE_GPAS_SSLCALOCATION
: Root Zertifikat für gPas, falls es dediziert hinzugefügt werden muss.
Mögliche Endpunkte
Für REST-Requests als auch zur Nutzung von Kafka-Topics können Endpunkte konfiguriert werden.
Es ist dabei nur die Konfiguration eines Endpunkts zulässig. Werden sowohl REST als auch Kafka-Endpunkt konfiguriert, wird nur der REST-Endpunkt verwendet.
REST
Folgende Umgebungsvariablen müssen gesetzt sein, damit ein bwHC-MTB-File an das bwHC-Backend gesendet wird:
APP_REST_URI
: URI der zu benutzenden API der bwHC-Backend-Instanz. z.B.:http://localhost:9000/bwhc/etl/api
Kafka-Topics
Folgende Umgebungsvariablen müssen gesetzt sein, damit ein bwHC-MTB-File an ein Kafka-Topic übermittelt wird:
APP_KAFKA_TOPIC
: Zu verwendendes Topic zum Versenden von AnfragenAPP_KAFKA_RESPONSE_TOPIC
: Topic mit Antworten über den Erfolg des Versendens. Standardwert:APP_KAFKA_TOPIC
mit Anhang "_response".APP_KAFKA_GROUP_ID
: Kafka GroupID des Consumers. Standardwert:APP_KAFKA_TOPIC
mit Anhang "_group".APP_KAFKA_SERVERS
: Zu verwendende Kafka-Bootstrap-Server als kommagetrennte Liste
Wird keine Rückantwort über Apache Kafka empfangen und es gibt keine weitere Möglichkeit den Status festzustellen, verbleibt der Status auf UNKNOWN
.
Weitere Einstellungen können über die Parameter von Spring Kafka konfiguriert werden.
Lässt sich keine Verbindung zu dem bwHC-Backend aufbauen, wird eine Rückantwort mit Status-Code 900
erwartet, welchen es
für HTTP nicht gibt.
Docker-Images
Diese Anwendung ist auch als Docker-Image verfügbar: https://github.com/CCC-MF/etl-processor/pkgs/container/etl-processor