Implementation Guide
Telematikinfrastruktur (TI) Common
Version 1.1.0 - ballot

FHIR-Formatserialisierung

Die Serialisierung von FHIR-Format-Repräsentationen in einem FHIR Data Service legt fest, in welchen Formaten der Dienst Anfragen verarbeitet und Antworten zurückgibt. Der FHIR Data Service kann sowohl JSON als auch XML unterstützen und ermöglicht es Clients, das gewünschte Format über den Accept Header oder den _format-Parameter festzulegen. Falls keine Formatangabe gemacht wird, bestimmt der FHIR Data Service das Antwortformat. Die Anforderungen regeln zudem, wie der Content Type Header in POST-Nachrichten behandelt wird und welche Fehlerreaktion erfolgt, wenn ein nicht unterstütztes Format angefordert wird. Abhängig vom Einsatzzweck eines FHIR Data Service kann es sein, dass nicht alle Anforderungen in jeder Implementierung relevant oder erforderlich sind.

Der FHIR Data Service MUSS das FHIR-Format in [FHIR JSON] verarbeiten können. Der FHIR Data Service MUSS für Anfragenachrichten und Antwortnachrichten an den Schnittstellen den Content Type application/fhir+json unterstützen. Der FHIR Data Service MUSS das FHIR-Format in [FHIR XML] verarbeiten können. Der FHIR Data Service MUSS für Anfragenachrichten und Antwortnachrichten an den Schnittstellen den Content Type application/fhir+xml unterstützen. Der FHIR Data Service MUSS den Accept-Header in eingehenden HTTP-Anfragen auswerten, um das gewünschte Antwortformat zu bestimmen. Der FHIR Data Service MUSS die Formate application/fhir+json und application/fhir+xml im AcceptHeader unterstützen und die jeweilige HTTP-Antwortnachricht in dem angegebenen Format verarbeiten.

  • Wenn der Accept Header auf application/fhir+json gesetzt ist, MUSS die Antwort in diesem Format erfolgen.
  • Wenn der Accept Header auf application/fhir+xml gesetzt ist, MUSS die Antwort in diesem Format erfolgen.

Beispiel für JSON (application/fhir+json):

GET /AuditEvent/93f68f8b-0985-41c7-930a-44dfa6bba510 HTTP/1.1
Host: fhir.example.com
Accept: application/fhir+json

Der FHIR Data Service MUSS als Antwort FHIR-JSON zurückgeben:

HTTP/1.1 200 OK
Content-Type: application/fhir+json

{
  "resourceType": "AuditEvent",
  "id": "93f68f8b-0985-41c7-930a-44dfa6bba510",
  ...
}

Beispiel für XML (application/fhir+xml):

GET /AuditEvent/93f68f8b-0985-41c7-930a-44dfa6bba510 HTTP/1.1
Host: fhir.example.com
Accept: application/fhir+xml

Der FHIR Data Service MUSS als Antwort FHIR-XML zurückgeben:

HTTP/1.1 200 OK
Content-Type: application/fhir+xml

<auditevent xmlns="http://hl7.org/fhir">
<id value="93f68f8b-0985-41c7-930a-44dfa6bba510"></id>
  ...
</auditevent>

Der FHIR Data Service MUSS gemäß der [FHIR General parameters] den _format-Parameter in Anfragenachricht auswerten, um das gewünschte Antwortformat zu bestimmen.
Der FHIR Data Service MUSS folgende Werte für den _format-Parameter unterstützen:

  • XML-Formate: xml, application/xml, application/fhir+xml
  • JSON-Formate: json, application/json, application/fhir+json

Beispiel für JSON (application/fhir+json):

GET [base]/epa/audit/api/v1/fhir/AuditEvent?_count=10&_offset=20&_format=json
Der FHIR Data Service MUSS das Format application/fhir+json verwenden, wenn in der Anfragenachricht kein Accept Header oder _format-Parameter angegeben ist. Der FHIR Data Service MUSS sicherstellen, dass der _format-Parameter den Content Type Header für den Formattyp des Bodys einer POST-Nachricht nicht überschreibt. Falls sowohl der Accept-Header als auch der _format-Parameter in einer Anfragenachricht angegeben sind, MUSS der FHIR Data Service den _format-Parameter priorisieren und das Antwortformat entsprechend diesem verarbeiten. Der Accept Header MUSS in diesem Fall ignoriert werden. Der FHIR Data Service MUSS das Standardformat verwenden, wenn ein nicht unterstütztes Format über den Accept Header oder den _format-Parameter angefordert wird.