Überarbeitete Darstellung
Der Inhalt dieser Seite wurde überarbeitete und vereinfacht. Den ursprünglichen Inhalt finden Sie hier: Archiv - Nutzung der FHIR-Schnittstelle als Sender
Die folgenden Informationen sollen Hersteller von meldenden Systemen bei einer Umsetzung unterstützen.
Inhalt
Komponenten (Überblick)
Folgende DEMIS-Komponenten werden für die Integration der Meldefunktionalität in die Primärsysteme (LIS, KIS, PVS, Kommunikationsserver etc.) angesprochen:
DEMIS-IDP
Sämtliche Zugriffe auf die Dienste der DEMIS-Infrastruktur sind durch ein Access Control System geschützt. Um die für den jeweiligen Anwendungsfall benötigten Operationen aufrufen zu können, muss der Client ein standardisiertes Sicherheitstoken im Header des Aufrufs mitliefern. Diese Sicherheitstoken werden nach erfolgreicher Authentifizierung des jeweiligen Nutzers durch DEMIS-IDP ausgestellt. Die Authentifizierung der Nutzer erfolgt dabei wie nachfolgend beschreiben.
DEMIS-APIs
Die Entgegennahme von Meldungen, die durch die Primärsysteme versendet werden, erfolgt durch die DEMIS-APIs. Die Vorverarbeitung beinhaltet u.a.:
die Validierung der Meldungsinhalte gegen ein definiertes Regelwerk,
die Anreicherung der Meldung um zusätzliche Attribute, wie z.B. den Zeitpunkt des Meldungseingangs oder die ID des sendenden Dienstleisters,
die automatische Berechnung des jeweils zuständigen Gesundheitsamtes,
die Steuerung der Generierung und Persistierung von Pseudonymen,
die Verschlüsselung der Meldung für das initial zuständige Gesundheitsamt und
die Steuerung der Generierung und Bereitstellung von Meldungsquittungen
Abläufe (Überblick)
Authentifizierung
Zur Authentifizierung der Primärsysteme stehen aktuell folgende Methoden zur Verfügung.
Authentisierung über von DEMIS herausgegebene Zertifikate und mTLS
Dieses Verfahren steht nur Gesundheitsämtern sowie Krankenhäusern und Laboren zur Verfügung.
Weitere Informationen erhalten Sie unter Beantragung eines DEMIS-Zertifikats zur Authentisierung.
Struktur des Access Tokens
Für die weiteren Verarbeitungsschritte ist der in die Response-Datenstruktur eingebettete access_token
von besonderem Interesse. Hierbei handelt es sich um einen signiertes JSON Web Token (JWT) gemäß RFC7519, der folgende Inhalte transportiert:
- Identität
- Berechtigungen
Das Access Token ist in seiner kodierten Form als Bestandteil des Requests eingebettet im http-header: "Authorization" (Bearer Token) an die API zu senden.
Meldungsversand
Der folgende Abschnitt liefert Hintergrundinformationen bezüglich der korrekten Ansteuerung der DEMIS-APIs. Diese Hinweise sollen Hersteller bei der korrekten Implementierung entsprechender Funktionalität sowie der Analyse von Problemen unterstützen.
DEMIS Meldungen und Sendungen nutzen als zugrundeliegenden Standard HL7 FHIR (R4). Die Umsetzung ist eine custom FHIR Operation.
Aufruf der $process-notification
Operation
Endpunktadressen
Üblicherweise wird zum Absetzen einer Meldung oder Sendung die Operation $process-notification aufgerufen.
Der Versand von Meldungen erfolgt über die folgenden Endpunktadressen: siehe Endpunkte, Zertifikate, User und Passwort
Request-Struktur
Die zu senden Meldungen müssen diesen Profilen entsprechen: FHIR-Profile.
Beispiel-Request finden sich in den Implementierungsleitfäden der jeweiligen Profile.
Ergebnise
Response-Inhalte
Die genaue Aufschlüsselung der Response-Inhalte finden Sie im Implementierungsleitfaden des jeweiligen FHIR-Profils. Die zurückgegebenen Informationen sollten verarbeitet werden. Erfolgreiche Übermittlungen werden mit einem HTTP-Responsecode 200 beantwortet.
Üblicherweise beinhaltet die Rückmeldung ein Subset der folgende Inhalte:
- Operation Outcome
- Im Fehlerfall wird üblicherweise nur der Operation Outcome zurückgemeldet
- Enthält Fehler und Warnungen zum eingereichten FHIR Bundle
- Meldungsquittung als PDF
- IDs der übermittelten Sendung
- Von DEMIS generierte Meldungs ID
- Weitere Informationen wie beispielsweise das zuständige Gesundheitsamt
Mögliche Fehlermeldungen
Fehlercode | Bemerkung |
---|---|
403 Forbidden | Das Bearer Token ist nicht valide oder wurde nicht übergeben. |
422 | Es liegt ein Validierungsfehler vor. Für weitere Informationen ist der Operation Outcome zu prüfen. |
Weitere Hinweise
Systemverhalten im Wartungsfall
Sofern sich die DEMIS-Backendinfrastruktur im Wartungsmodus befindet, wird ein „503 Service Unavailable“ zurückgegeben. Der Meldungsversand sollte für eine
konfigurierbare Dauer eingestellt und danach wieder aufgenommen werden.
Mitsenden des User-Agent
Ein sendender Client soll immer einen User-Agent der Form
mitsenden, siehe https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-AgentUser-Agent: <product> / <product-version> <comment>
HTTP Content-Type
Für die Nutzung der FHIR-Schnittstelle müssen die Meldungen im FHIR-XML- oder FHIR-JSON-Format gesendet werden. Dabei sind jeweils folgende Content-Types per RFC 7303 gültig:
- XML
- application/xml
- application/xml+fhir
- application/fhir+xml
- text/xml
- JSON
- application/json
- application/json+fhir
- application/fhir+json
Der Content-Type kann um die Angabe des verwendeten Zeichensatzes ergänzt werden, z.B.
- application/xml; charset=utf-8
Derzeit werden folgende Zeichensätze unterstützt:
- utf-8