R5: Abruf von Rechnungen (Rechnungsempfänger)
Die nachfolgende Interaktion ist relevant für den FD als Server, sowie für das eRg FdV als Client. Anwendungsfall AF_10138 MUSS durch den FD über die spezifizierte API umgesetzt werden. Die Vorgaben aus "Tabelle 18: Use Case Abruf von Rechnungen (Rechnungsempfänger)" des Feature-Dokumentes MÜSSEN eingehalten werden durch den FD.
HTTP-Methode | GET |
Endpunkt | /DocumentReference |
Suchparameter _tag |
Kardinalität: 0..1 E-Rechnungsstatus Type: token Der FD MUSS den Modifier :not unterstützen. |
Suchparameter subject:text |
Kardinalität: 0..1 Name Rechnungsempfänger/Behandelte Person Type: string Der Suchparameter MUSS durch den Client mit dem Modifier :text verwendet werden. Dieser Suchmodifier ermöglicht eine Suche auf DocumentReference.subject.display. |
Suchparameter author:text |
Kardinalität: 0..1 Name des Leistungserbringer Type: string Der Suchparameter MUSS durch den Client mit dem Modifier :text verwendet werden. Dieser Suchmodifier ermöglicht eine Suche auf DocumentReference.author.display. |
Suchparameter type |
Kardinalität: 0..1 Dokumententyp (z.B. Rechnung) Type: token Der FD MUSS den Modifier :not unterstützen. |
Suchparameter ergpkv-makierung |
Kardinalität: 0..1 Manuelle Markierungen Type: token |
Suchresultatparameter _sort |
Als Sortierkriterien können die oben genannten Suchparameter inkl. Custom SearchParameter verwendet werden für die Inhalte die als Sortierkriterien in Tabelle 18: Use Case Abruf von Rechnungen (Rechnungsempfänger) - Feature-Dokument E-Rechnung genannt sind |
Suchresultatparameter _count |
Durch den Client gewünschte Page-Size, der FD KANN Vorgaben für die Maximale Page-Size definieren |
User-Kontext KVNR |
Kardinalität: 1..1 Hinweis: Die KVNR ist aus dem Claim urn:telematik:claims:id des mitzusendenen Access-Token zu extrahieren. |
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 |
Andere HTTP-Methode wird verwendet | 405 - Method Not Allowed |
Als Antwort MUSS der FD ein FHIR-SearchSet-Bundle zurückliefern, welches eingegrenzt ist auf die, durch den Client übermittelten Suchparameter.
Beispiele
Suche anhand der Art des Dokumentes (nur Rechnungen):
HTTP GET [fachdienst-endpunkt]/DocumentReference?type=ABRE
und/oder anhand des Status
HTTP GET [fachdienst-endpunkt]/DocumentReference?_tag=offen
HTTP GET [fachdienst-endpunkt]/DocumentReference?_tag:not=papierkorb
Antwort des Endpunktes im Erfolgsfall:
HTTP 200 OK
mit Body:
Bundle |
id : ExampleR5Bundle |
type : searchset |
total : 1 |
entry |
resource |
id : ExampleR5DocumentReference |
meta |
profile : https://gematik.de/fhir/erg/StructureDefinition/erg-dokumentenmetadaten |
tag |
system : https://gematik.de/fhir/erg/CodeSystem/erg-rechnungsstatus-cs |
code : offen |
display : Offen |
extension |
url : https://gematik.de/fhir/erg/StructureDefinition/erg-documentreference-rechnungsdatum |
value : 2023-09-28T13:00:00.123+02:00 |
extension |
url : https://gematik.de/fhir/erg/StructureDefinition/erg-documentreference-zahlungszieldatum |
value : 2023-10-28T13:00:00.123+02:00 |
extension |
url : https://gematik.de/fhir/erg/StructureDefinition/erg-documentreference-gesamtbetrag |
value |
value : 16.2 |
currency : EUR |
identifier |
system : http://example.com/fhir/identifiers |
value : 123456789 |
status : current |
type |
coding |
system : http://dvmd.de/fhir/CodeSystem/kdl |
code : AM010106 |
display : Rechnung ambulante/stationäre Behandlung |
subject |
display : Max Mustermann |
author |
identifier |
system : https://gematik.de/fhir/sid/telematik-id |
value : 987654321 |
display : Dr. Hausarzt |
description : Laborbefund vom 28.9.2023 |
content |
attachment |
contentType : application/pdf |
data : DIESISTNUREINBEISPIELDIESISTKEINVALIDESPDF00 |
url : http://example.com/fhir/binary/123 |
format |
system : https://gematik.de/fhir/erg/CodeSystem/erg-attachment-format-cs |
code : erechnung |
content |
attachment |
contentType : application/pdf |
url : http://example.com/fhir/binary/456 |
format |
system : https://gematik.de/fhir/erg/CodeSystem/erg-attachment-format-cs |
code : angereichertesPDF |
content |
attachment |
contentType : application/json |
data : DIESISTNUREINBEISPIELDIESISTKEINVALIDESPDF00 |
url : http://example.com/fhir/binary/789 |
format |
system : https://gematik.de/fhir/erg/CodeSystem/erg-attachment-format-cs |
code : rechnungsinhalt |
content |
attachment |
contentType : application/pdf |
data : DIESISTNUREINBEISPIELDIESISTKEINVALIDESPDF00 |
url : http://example.com/fhir/binary/101112 |
format |
system : https://gematik.de/fhir/erg/CodeSystem/erg-attachment-format-cs |
code : rechnungsanhang |
search |
mode : match |
<Bundle xmlns="http://hl7.org/fhir"> <id value="ExampleR5Bundle" /> <type value="searchset" /> <total value="1" /> <entry> <resource> <DocumentReference> <id value="ExampleR5DocumentReference" /> <meta> <profile value="https://gematik.de/fhir/erg/StructureDefinition/erg-dokumentenmetadaten" /> <tag> <system value="https://gematik.de/fhir/erg/CodeSystem/erg-rechnungsstatus-cs" /> <code value="offen" /> <display value="Offen" /> </tag> </meta> <extension url="https://gematik.de/fhir/erg/StructureDefinition/erg-documentreference-rechnungsdatum"> <valueDateTime value="2023-09-28T13:00:00.123+02:00" /> </extension> <extension url="https://gematik.de/fhir/erg/StructureDefinition/erg-documentreference-zahlungszieldatum"> <valueDateTime value="2023-10-28T13:00:00.123+02:00" /> </extension> <extension url="https://gematik.de/fhir/erg/StructureDefinition/erg-documentreference-gesamtbetrag"> <valueMoney> <value value="16.2" /> <currency value="EUR" /> </valueMoney> </extension> <identifier> <system value="http://example.com/fhir/identifiers" /> <value value="123456789" /> </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> <display value="Max Mustermann" /> </subject> <author> <identifier> <system value="https://gematik.de/fhir/sid/telematik-id" /> <value value="987654321" /> </identifier> <display value="Dr. Hausarzt" /> </author> <description value="Laborbefund vom 28.9.2023" /> <content> <attachment> <contentType value="application/pdf" /> <data value="DIESISTNUREINBEISPIELDIESISTKEINVALIDESPDF00" /> <url value="http://example.com/fhir/binary/123" /> </attachment> <format> <system value="https://gematik.de/fhir/erg/CodeSystem/erg-attachment-format-cs" /> <code value="erechnung" /> </format> </content> <content> <attachment> <contentType value="application/pdf" /> <url value="http://example.com/fhir/binary/456" /> </attachment> <format> <system value="https://gematik.de/fhir/erg/CodeSystem/erg-attachment-format-cs" /> <code value="angereichertesPDF" /> </format> </content> <content> <attachment> <contentType value="application/json" /> <data value="DIESISTNUREINBEISPIELDIESISTKEINVALIDESPDF00" /> <url value="http://example.com/fhir/binary/789" /> </attachment> <format> <system value="https://gematik.de/fhir/erg/CodeSystem/erg-attachment-format-cs" /> <code value="rechnungsinhalt" /> </format> </content> <content> <attachment> <contentType value="application/pdf" /> <data value="DIESISTNUREINBEISPIELDIESISTKEINVALIDESPDF00" /> <url value="http://example.com/fhir/binary/101112" /> </attachment> <format> <system value="https://gematik.de/fhir/erg/CodeSystem/erg-attachment-format-cs" /> <code value="rechnungsanhang" /> </format> </content> </DocumentReference> </resource> <search> <mode value="match" /> </search> </entry> </Bundle>
{ "resourceType": "Bundle", "id": "ExampleR5Bundle", "type": "searchset", "total": 1, "entry": [ { "resource": { "resourceType": "DocumentReference", "id": "ExampleR5DocumentReference", "meta": { "tag": [ { "code": "offen", "system": "https://gematik.de/fhir/erg/CodeSystem/erg-rechnungsstatus-cs", "display": "Offen" } ], "profile": [ "https://gematik.de/fhir/erg/StructureDefinition/erg-dokumentenmetadaten" ] }, "status": "current", "type": { "coding": [ { "system": "http://dvmd.de/fhir/CodeSystem/kdl", "code": "AM010106", "display": "Rechnung ambulante/stationäre Behandlung" } ] }, "extension": [ { "url": "https://gematik.de/fhir/erg/StructureDefinition/erg-documentreference-rechnungsdatum", "valueDateTime": "09/28/2023 11:00:00" }, { "url": "https://gematik.de/fhir/erg/StructureDefinition/erg-documentreference-zahlungszieldatum", "valueDateTime": "10/28/2023 11:00:00" }, { "url": "https://gematik.de/fhir/erg/StructureDefinition/erg-documentreference-gesamtbetrag", "valueMoney": { "value": 16.2, "currency": "EUR" } } ], "author": [ { "identifier": { "system": "https://gematik.de/fhir/sid/telematik-id", "value": "987654321" }, "display": "Dr. Hausarzt" } ], "content": [ { "format": { "code": "erechnung", "system": "https://gematik.de/fhir/erg/CodeSystem/erg-attachment-format-cs" }, "attachment": { "contentType": "application/pdf", "data": "DIESISTNUREINBEISPIELDIESISTKEINVALIDESPDF00", "url": "http://example.com/fhir/binary/123" } }, { "format": { "code": "angereichertesPDF", "system": "https://gematik.de/fhir/erg/CodeSystem/erg-attachment-format-cs" }, "attachment": { "contentType": "application/pdf", "url": "http://example.com/fhir/binary/456" } }, { "format": { "code": "rechnungsinhalt", "system": "https://gematik.de/fhir/erg/CodeSystem/erg-attachment-format-cs" }, "attachment": { "contentType": "application/json", "data": "DIESISTNUREINBEISPIELDIESISTKEINVALIDESPDF00", "url": "http://example.com/fhir/binary/789" } }, { "format": { "code": "rechnungsanhang", "system": "https://gematik.de/fhir/erg/CodeSystem/erg-attachment-format-cs" }, "attachment": { "contentType": "application/pdf", "data": "DIESISTNUREINBEISPIELDIESISTKEINVALIDESPDF00", "url": "http://example.com/fhir/binary/101112" } } ], "identifier": [ { "system": "http://example.com/fhir/identifiers", "value": "123456789" } ], "description": "Laborbefund vom 28.9.2023", "subject": { "display": "Max Mustermann" } }, "search": { "mode": "match" } } ] }
Verarbeitungsschritte im FD
Der FD MUSS die Suche auf DocumentReference-Ressourcen begrenzen die unter DocumentReference.related auf einen Benutzer verweisen welcher durch die KVNR aus dem Access-Token identifiziert wird, um sicherzustellen, dass nur DocumentReference-Ressourcen aus dem Postfach des angemeldeten Rechnungsempfängers zurückgegeben werden.
Der FD MUSS die Signatur-Extension (DocumentReference.extension:docRef-signature) vor der Rückgabe an den Client entfernen.
Falls es sich bei der DocumentReference um ein Rechnungsdokument handelt, MUSS der FD das Content-Element für das Rechnungspdf entfernen, sodass nur die Content-Elemente für das angereicherte PDF/A, sowie die strukturierten Rechnungsinhalte zurückgegeben werden.
Der FD MUSS sicherstellen, dass die Abfrage einer Binary-Ressource, welche unter
DocumentReference.content.attachment.url
referenziert wird, nur erfolgen kann, wenn:- ein valides Access-Token mitgeliefert wird UND
DocumentReference.subject
zeigt 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.
Der FD MUSS unter DocumentReference.context.related:anhaenge Referenzen auf alle Anhänge zurückgeben die im Kontext der initialen Einreichung (vgl. R1: Rechnung mit Dokumenten validieren und versenden) übergeben wurden an den FD. Die Anhänge MÜSSEN als DocumentReference-Ressourcen im SearchResult-Bundle zurückgegeben werden mit einem Hinweis, dass diese zusätzlich inkludiert wurden (Bundle.entry.search.mode = include).