TIFlow - Kernfunktionalitäten
Version 2.0.0-ballot.1 - ci-build

Anforderungen zur Fehlerbehandlung

Diese Seite listet und beschreibt Anforderungen zu Fehlercodes und -konstellationen im TI-Flow-Fachdienst.

Allgemeine Anforderungen zur Fehlerbehandlung

Der TI-Flow-Fachdienst MUSS beim Aufruf einer Operation im Http-Response-Header einen HTTP-Status-Codes gemäß [RFC7231] zurückgeben. Der TI-Flow-Fachdienst MUSS im Fehlerfall (http-Statuscodes >= 400) Hinweise zur Fehlerursache
  • im der inneren http-Response-Body als FHIR-Ressource OperationOutcome bei FHIR-Schnittstellen
  • im der inneren http-Response-Body in einer JSON-Struktur mit den Feldern `errorCode` und `errorDetail` bei non FHIR-Schnittstellen
  • falls keine innere VAU-Response existiert, in einem "äußeren" http-Response-Body in einer JSON-Struktur mit den Feldern `errorCode` und `errorDetail`
an den Client zurückgeben, ohne Implementierungsdetails (z.B. kein Stacktrace) preiszugeben und dabei sicherstellen, dass personenbezogene oder medizinische Daten, falls für die qualifizierte Fehlerbeschreibung notwendig, ausschließlich in der VAU-verschlüsselten inneren http-Response übertragen werden.

Anforderungen zu Endpunt-übergreifenden Fehlercodes

Der TI-Flow-Fachdienst muss allgemeine Anforderungen zu Fehlercodes umsetzen, um wiederkehrende Fehlerszenarien umzusetzen.

Der TI-Flow-Fachdienst MUSS an den Schnittstellen prüfen, dass der HTTP-Request well-formed ist und andernfalls die Anfrage mit dem folgenden Fehler:
HTTP-Code 400 - Bad Request
Severity error
Code invalid
Details Code MSG_BAD_FORMAT
Details Text Invalid request format
abbrechen, damit nur korrekt formattierte Requests verarbeitet werden.
Der TI-Flow-Fachdienst MUSS für den Fall, dass ein Request in einen Timeout läuft die Anfrage mit folgenden Fehler:
HTTP-Code 408 - Request Timeout
Severity error
Code timeout
Details Code TIFLOW_TIMEOUT
Details Text The request timed out.
abbrechen, damit Clients über Timeouts informiert werden und entsprechend reagieren können.
Der TI-Flow-Fachdienst MUSS im Falle eines internen Serverfehlers die Anfrage mit dem folgenden Fehler:
HTTP-Code 500 - Internal Server Error
Severity error
Code transient
Details Code TIFLOW_INTERNAL_ERROR
Details Text Internal Server Error
abbrechen, damit Clients über transiente Serverfehler informiert werden und eine Wiederholung in Erwägung ziehen können.

Anforderungen zu Fehlercodes in Query- und Operation-APIs

Die folgenden Anforderungen definieren spezifische Fehlercodes, die in verschiedenen Fehlerkonstellationen bei Query- und Operation-API Endpunkten verwendet werden.

Der TI-Flow-Fachdienst MUSS im Falle, dass ein unbekannter Ressourcentyp angefragt wird, die Anfrage mit dem folgenden Fehler:
HTTP-Code 404 - Not Found
Severity error
Code not-found
Details Code MSG_UNKNOWN_TYPE
Details Text Unknown resource type
abbrechen, damit Clients eindeutig identifizieren können, dass der angeforderte Ressourcentyp nicht bekannt ist.
Der TI-Flow-Fachdienst MUSS im Falle, dass eine unbekannte Ressource-ID angefragt wird, die Anfrage mit dem folgenden Fehler:
HTTP-Code 404 - Not Found
Severity error
Code not-found
Details Code MSG_RESOURCE_ID_FAIL
Details Text Resource is not known
abbrechen, damit Clients erkennen können, dass eine Ressource mit der angeforderten ID nicht existiert.
Der TI-Flow-Fachdienst MUSS im Falle, dass auf eine gelöschte Ressource zugegriffen wird, die Anfrage mit dem folgenden Fehler:
HTTP-Code 410 - Gone
Severity error
Code not-found
Details Code MSG_DELETED
Details Text Resource was deleted
abbrechen, damit Clients erkennen können, dass eine Ressource dauerhaft gelöscht wurde.
Der TI-Flow-Fachdienst MUSS im Falle, dass ein unbekannter Suchparameter verwendet wird, die Anfrage mit dem folgenden Fehler:
HTTP-Code 400 - Bad Request
Severity error
Code invalid
Details Code MSG_PARAM_UNKNOWN
Details Text Unknown search parameter
abbrechen, damit Clients erkennen können, dass ein verwendeter Suchparameter nicht unterstützt wird.
Der TI-Flow-Fachdienst MUSS im Falle, dass ungültige Query-Parameter verwendet werden, die Anfrage mit dem folgenden Fehler:
HTTP-Code 400 - Bad Request
Severity error
Code invalid
Details Code MSG_BAD_SYNTAX
Details Text Invalid query parameter(s)
abbrechen, damit Clients erkennen können, dass die verwendeten Query-Parameter syntaktisch oder semantisch ungültig sind.
Der TI-Flow-Fachdienst MUSS im Falle, dass eine unbekannte FHIR-Operation angefragt wird, die Anfrage mit dem folgenden Fehler:
HTTP-Code 404 - Not Found
Severity error
Code not-found
Details Code MSG_UNKNOWN_OPERATION
Details Text unknown FHIR http operation
abbrechen, damit Clients erkennen können, dass die angeforderte FHIR-Operation nicht unterstützt wird.