Error Handling

Auf dieser Seite wird das Error-Handling vorgestellt. Dazu werden die Liste der verwendeten Fehlercodes aus dem entsprechenden ValueSet und die Struktur des OperationOutcome zum Transport der Fehlermeldung vorgestellt.

Liste der verwendeten Fehlercodes

Es werden die Fehlercodes aus dem Projekteigenen ValueSet https://gematik.de/fhir/eeb/ValueSet/EEBErrorcodeVS verwendet. In der FHIR-Ressource OperationOutcome muss in issue.details.coding ein Wert der Tabelle des folgenden Codesystems gemäß Definition des ValueSets verwendet werden. Die folgenden Codes sind gemäß der festgestellten Fehlerursache (siehe Beschreibung) vorgesehen:

codedisplay
100Der Patient ist nicht bei der adressierten Krankenkasse versichert.
101Die übermittelte eEB entspricht nicht den Vorgaben und/oder ist nicht lesbar.
110Der Patient ist nicht eindeutig identifizierbar.
111Das angefragte Leistungsdatum ist unplausibel.
112Es liegt für den Patienten kein gültiges Versichertenverhältnis zum angefragten Leistungsdatum vor.
120Die Einwilligung des Patienten zur Freigabe der Bescheinigungsübermittlung an die Praxis liegt nicht vor.
130Es liegt ein Sonderfall/ eine Ausnahme vor. Bitten Sie den Patienten, mit der Krankenkasse Kontakt aufzunehmen.
201Die Signatur der eEB-Anfrage ist nicht gültig, da ein fehlerhaftes Zertifikat verwendet wurde oder nicht alle zur Zertifikatsprüfung erforderlichen Komponenten bzw. Ressourcen zur Verfügung standen.
202Die Signaturprüfung der eEB-Anfrage hat ergeben, dass die signierten Daten nicht mit den übermittelten Daten der eEB-Anfrage übereinstimmen.
210Die eEB-Anfrage ist nicht signiert. Die eEB-Anfrage ist ggf. manipuliert worden.
211Die Signatur der eEB-Anfrage konnte aufgrund eines falschen Formats nicht geprüft werden.
307Übermittlung ist fehlgeschlagen. Grund hierfür ist, dass die KIM-Nachricht zwar als eine verschlüsselte KIM-Nachricht gekennzeichnet wurde, aber auf Grund des falschen Formats nicht von der Krankenkasse entschlüsselt werden konnte.
309Übermittlung ist fehlgeschlagen. Grund hierfür ist, dass für die KIM-Nachricht keine Signatur vorhanden ist.
310Übermittlung ist fehlgeschlagen. Grund hierfür ist, dass die Signatur für die KIM-Nachricht aufgrund des falschen Formats nicht geprüft werden konnte.
311Die Integrität der Nachricht wurde verletzt. Die Prüfung der Signatur hat ergeben, dass die Nachricht manipuliert wurde.
313Die KIM-Nachricht konnte auf Grund eines nicht verfügbaren Schlüssels nicht entschlüsselt werden.

OperationOutcome

Die FHIR-Ressource OperationOutcome transportiert die Fehlermeldung inkl. Fehlerursache, weshalb eine angefragte elektronische Ersatzbescheinigung nicht ausgestellt werden konnte. Die Ressource wird dabei analog zur Bescheinigung in einer KIM-Nachricht transportiert, OHNE ein klammerndes Bundle.

idΣ0..1string
id0..1string
extensionI0..*Extension
versionIdΣ0..1id
lastUpdatedΣ0..1instant
sourceΣ0..1uri
profileΣ0..*canonical(StructureDefinition)Fixed Value
securityΣ0..*CodingBinding
tagΣ0..*Coding
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
id0..1string
IdentifierS I1..1Extension(Complex)
modifierExtensionΣ ?! I0..*Extension
severityΣ1..1codeBindingFixed Value
codeS Σ1..1codeBinding
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ1..1uri
versionΣ0..0string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..0boolean
textΣ0..1string
diagnosticsΣ0..0string
locationΣ0..0string
expressionΣ0..0string

Im OperationOutcome wird genau ein issue mit entsprechenden Details übertragen. Die severity ist dabei immer #fatal, es werden keine Warnungen angegeben. Das Feld issue.details.coding enthält den von der Kasse angegebenen Fehlercode zur Begründung, weshalb keine elektronische Ersatzbescheinigung ausgestellt werden konnte, der dem Endnutzer mitgeteilt wird.

Der optionale Text in OperationOutcome.issue.details.text dient der Unterstützung in der Entwicklung und wird ggfs. nur in Testsystemen gefüllt.

Der OperationOutcome.issue enthält immer eine Extension die das fehlerverursachende Element (eEB-Anfrage-Bundle oder fehlerhafte KIM-Anfrage-Nachricht) referenziert.

Nachfolgend ist eine Beispiel-Fehlermeldung "Patient hier nicht versichert" dargestellt. D.h. die Fehlerursache ist im AnfrageBundle zu lokalisieren, anhand der Patienteninformationen kann kein Versicherungsverhältnis im Kassensystem lokalisiert werden.

Ein weiteres Beispiel einer Fehlermeldung im OperationOutcome ist hier zu finden, nach welchem die KIM-Anfrage-Nachricht fehlerhaft ist.