R6: Abfrage von Daten zu Rechnungen und Dokumenten per Token (Rechnungsempfänger)
Die nachfolgende Interaktion ist relevant für den FD als Server, sowie für das DiPag FdV als Client. Anwendungsfall AF_10262 MUSS durch den FD über die spezifizierte API umgesetzt werden. Die Vorgaben aus "Tabelle 19: Use Case Abfrage von Daten zu Rechnungen und Dokumenten per Token (Rechnungsempfänger)" des Feature-Dokumentes MÜSSEN eingehalten werden durch den FD.
| HTTP-Methode | POST oder GET |
| Endpunkt | /DocumentReference/$retrieve |
Die Input- und Output-Parameter werden durch die OperationDefinition https://gematik.de/fhir/dipag/OperationDefinition/Retrieve beschrieben.
Invocations
URL: [base]/DocumentReference/$retrieve
This operation does NOT change content
Parameters (In)
| Name | Cardinality | Type | Documentation |
| token | 1..1 | string | Dokumentoken zur Identifikation des Dokuments, welches abgerufen werden soll |
| strukturierterRechnungsinhalt | 0..1 | boolean | Angabe, ob die strukturierten Rechnungsinhalte neben dem angereicherten Rechnungsdokument zurückgegeben werden sollen als 'content'-Element. Default: false |
| originaleRechnung | 0..1 | boolean | Angabe ob die originale Rechnung inkl. Signatur neben dem angereicherten Rechnungsdokument zurückgegeben werden soll als 'content'-Element. Default: false. Die originale Rechnung ist nur vom FdV an das ITSys-KTR direkt weiterzugeben. Falls das Rechnungsdokument ausgedruckt werden sollte durch immer das angereicherte PDF inkl. Barcode zu verwenden. |
Return Values (Out)
| Name | Cardinality | Type | Documentation |
| dokument | 1..1 | DocumentReference | DocumentReference-Ressource die das angefragte Rechnungsdokument, sowie die strukturierten Rechnungsinhalte enthält (in Abhängigkeit vom strukturierterRechnungsinhalt- und originaleRechnung-Parameter). |
| API-Zustand | HTTP-Status-Code |
|---|---|
| Erfolgsfall | 200 - OK |
| Weitere Parameter in HTTP-Anfrage enthalten | 400 - Bad Request |
| Syntax für Parameter ist nicht korrekt oder Kardinalitäten werden nicht eingehalten | 400 - Bad Request |
| Kein valides Access-Token wird mitgesendet | 401 - Unauthorized |
| Autorisierter Benutzer verfügt über keine ausreichende Berechtigung die Interaktion auszuführen | 403 - Forbidden |
| Fehlende Berechtigung für den Leistungserbringer das Dokument abzurufen (z.B. falls ein invalides Rechnungstoken verwendet wird) | 404 - Not Found |
| Dokumnent kann anhand des Rechnungstokens nicht gefunden werden | 404 - Not Found |
| Andere HTTP-Methode wird verwendet | 405 - Method Not Allowed |
Anhand des übermittelten Dokumententokens MUSS der FD die entsprechende DocumentReference suchen. Das originale Rechnungsdokument MUSS durch den FD unter DocumentReference.content:rechnungspdf ausgeblendet werden, in Abhänigkeit des originaleRechnung-Parameter. Dies gilt ebenfalls für die Signatur-Extension.
Die DocumentReference-Ressource KANN direkt an den Client zurückgegeben werden ohne, dass diese in eine Parameter-Ressource eingebettet wird.
Beispiele
HTTP GET [fachdienst-endpunkt]/DocumentReference/$retrieve
| Parameters |
| id : BeispielParameterRetrieveInput |
| parameter |
| name : token |
| value : 123-456-789 |
| parameter |
| name : strukturierterRechnungsinhalt |
| value : False |
| parameter |
| name : originaleRechnung |
| value : False |
<Parameters xmlns="http://hl7.org/fhir"> <id value="BeispielParameterRetrieveInput" /> <parameter> <name value="token" /> <valueString value="123-456-789" /> </parameter> <parameter> <name value="strukturierterRechnungsinhalt" /> <valueBoolean value="false" /> </parameter> <parameter> <name value="originaleRechnung" /> <valueBoolean value="false" /> </parameter> </Parameters>
{ "resourceType": "Parameters", "id": "BeispielParameterRetrieveInput", "parameter": [ { "name": "token", "valueString": "123-456-789" }, { "name": "strukturierterRechnungsinhalt", "valueBoolean": false }, { "name": "originaleRechnung", "valueBoolean": false } ] }
Antwort des Fachdienstes im Erfolgsfall:
HTTP 200 OK
mit Body:
| DocumentReference |
| id : BeispielDocumentReferenceRechnungRetrieve |
| identifier |
| system : https://gematik.de/fhir/sid/dipag-token |
| value : 123-456-789 |
| status : current |
| type |
| coding |
| system : http://dvmd.de/fhir/CodeSystem/kdl |
| code : AM010106 |
| display : Rechnung ambulante/stationäre Behandlung |
| subject |
| identifier |
| system : http://fhir.de/sid/gkv/kvid-10 |
| value : A000000000 |
| description : Rechnung Reiseimpfung vom 10.01.2024 |
| content |
| attachment |
| contentType : application/xml |
| url : [FD-endpunkt]/Binary/xrechnung |
| format |
| code : xrechnung |
<DocumentReference xmlns="http://hl7.org/fhir"> <id value="BeispielDocumentReferenceRechnungRetrieve" /> <identifier> <system value="https://gematik.de/fhir/sid/dipag-token" /> <value value="123-456-789" /> </identifier> <status value="current" /> <type> <coding> <system value="http://dvmd.de/fhir/CodeSystem/kdl" /> <code value="AM010106" /> <display value="Rechnung ambulante/stationäre Behandlung" /> </coding> </type> <subject> <identifier> <system value="http://fhir.de/sid/gkv/kvid-10" /> <value value="A000000000" /> </identifier> </subject> <description value="Rechnung Reiseimpfung vom 10.01.2024" /> <content> <attachment> <contentType value="application/xml" /> <url value="[FD-endpunkt]/Binary/xrechnung" /> </attachment> <format> <code value="xrechnung" /> </format> </content> </DocumentReference>
{ "resourceType": "DocumentReference", "id": "BeispielDocumentReferenceRechnungRetrieve", "identifier": [ { "system": "https://gematik.de/fhir/sid/dipag-token", "value": "123-456-789" } ], "status": "current", "type": { "coding": [ { "code": "AM010106", "system": "http://dvmd.de/fhir/CodeSystem/kdl", "display": "Rechnung ambulante/stationäre Behandlung" } ] }, "description": "Rechnung Reiseimpfung vom 10.01.2024", "subject": { "identifier": { "system": "http://fhir.de/sid/gkv/kvid-10", "value": "A000000000" } }, "content": [ { "format": { "code": "xrechnung" }, "attachment": { "contentType": "application/xml", "url": "[FD-endpunkt]/Binary/xrechnung" } } ] }
Verarbeitungsschritte im FD
Der FD MUSS aus dem Access-Token die KVNR extrahieren, falls es sich bei dem anfragenden System um ein DiPag FdV handelt. Der FD MUSS sicherstellen, dass nur DocumentReference-Ressourcen abgerufen werden können, in denen
DocumentReference.subjectauf einen Benutzer verweist, welcher durch die KVNR aus dem Access-Token identifiziert wird.Der FD MUSS sicherstellen, dass die Abfrage einer Binary-Ressource, welche unter
DocumentReference.content.attachment.urlreferenziert wird, nur erfolgen kann, wenn:- ein valides Access-Token mitgeliefert wird UND
DocumentReference.subjectzeigt auf einen Benutzeraccount mit einer KVNR, die identisch ist mit der KVNR aus dem Access-Token.
Es gelten die Festlegungen der FHIR-Kernspezifikation zur Handhabung von Binary-Ressourcen.