eRg FdV als Akteur
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).
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 eRg 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/erg/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/erg-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/erg-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/erg-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 eRg FdV handelt. Der FD MUSS sicherstellen, dass nur DocumentReference-Ressourcen abgerufen werden können, in denen
DocumentReference.subject
auf 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.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.
R7: Manuelles Ändern des Bearbeitungsstatus von Rechnungen
Die nachfolgende Interaktion ist relevant für den FD als Server, sowie für das eRg FdV als Client. Anwendungsfall AF_10245 MUSS durch den FD über die spezifizierte API umgesetzt werden. Die Vorgaben aus "Tabelle 22: Use Case Manuelles Ändern des Bearbeitungsstatus von Rechnungen" des Feature-Dokumentes MÜSSEN eingehalten werden durch den FD.
HTTP-Methode | POST |
Endpunkt | /DocumentReference/[id]/$change-status |
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 Rechnungsempfänger den Dokumentenstatus zu verändern | 404 - Not Found |
Operation wird auf nicht existierender DocumentReference-Ressource aufgerufen | 404 - Not Found |
Andere HTTP-Methode wird verwendet | 405 - Method Not Allowed |
Unerlaubter Statusübergang wird versucht auszuführen | 412 - Precondition Failed |
Statusübergang wird auf einer DocumentReference die einen Anhang repräsentiert aufgerufen | 412 - Precondition Failed |
Die Input- und Output-Parameter werden durch die OperationDefinition https://gematik.de/fhir/erg/OperationDefinition/ChangeStatus
beschrieben.
Invocations
URL: [base]/DocumentReference/[id]/$change-status
This operation changes content
Parameters (In)
Name | Cardinality | Type | Documentation |
tag | 1..1 | code | Valider Code aus CodeSystem ERGARechnungsstatus |
Return Values (Out)
Name | Cardinality | Type | Documentation |
meta | 1..1 | Meta | Geänderte Meta-Element der geänderten DocumentReference |
Alle erlaubten Statusübergänge sind in AF_10245 beschrieben.
Beispiele
HTTP GET [fachdienst-endpunkt]/DocumentReference/[id]/$change-status
Parameters |
id : BeispielParameterChangeStatusInput |
parameter |
name : tag |
value : erledigt |
<Parameters xmlns="http://hl7.org/fhir"> <id value="BeispielParameterChangeStatusInput" /> <parameter> <name value="tag" /> <valueCode value="erledigt" /> </parameter> </Parameters>
{ "resourceType": "Parameters", "id": "BeispielParameterChangeStatusInput", "parameter": [ { "name": "tag", "valueCode": "erledigt" } ] }
Antwort des Fachdienstes im Erfolgsfall:
HTTP 200 OK
mit Body:
Parameters |
id : BeispielParameterChangeStatusOutput |
parameter |
name : meta |
value |
versionId : 1 |
lastUpdated : 2024-05-11T13:00:00.123+02:00 |
tag |
system : https://gematik.de/fhir/erg/CodeSystem/erg-rechnungsstatus-cs |
code : erledigt |
<Parameters xmlns="http://hl7.org/fhir"> <id value="BeispielParameterChangeStatusOutput" /> <parameter> <name value="meta" /> <valueMeta> <versionId value="1" /> <lastUpdated value="2024-05-11T13:00:00.123+02:00" /> <tag> <system value="https://gematik.de/fhir/erg/CodeSystem/erg-rechnungsstatus-cs" /> <code value="erledigt" /> </tag> </valueMeta> </parameter> </Parameters>
{ "resourceType": "Parameters", "id": "BeispielParameterChangeStatusOutput", "parameter": [ { "name": "meta", "valueMeta": { "versionId": "1", "lastUpdated": "05/11/2024 11:00:00", "tag": [ { "system": "https://gematik.de/fhir/erg/CodeSystem/erg-rechnungsstatus-cs", "code": "erledigt" } ] } } ] }
Verarbeitungsschritte im FD
Falls während eines Aufrufs der FD feststellt, dass das eRg FdV versucht, den Status des Dokuments in denselben Status zu ändern, in dem es sich bereits befindet, so ist diese Statusänderung zu ignorieren.
HTTP 200 - OK
wird in diesem Fall zurückgegeben.Der FD MUSS anhand der übergebenen Parameter den Meta-Tag 'erg-rechnungsstatus' auf der DokumentReference aktualisieren.
R8: Manuelles Markieren von Rechnungen und Dokumenten
Die nachfolgende Interaktion ist relevant für den FD als Server, sowie für das eRg FdV als Client. Anwendungsfall AF_10160 MUSS durch den FD über die spezifizierte API umgesetzt werden. Die Vorgaben aus "Tabelle 24: Use Case Manuelles Markieren von Rechnungen und Dokumenten" des Feature-Dokumentes MÜSSEN eingehalten werden durch den FD.
HTTP-Methode | POST |
Endpunkt | /DocumentReference/[id]/$process-flag |
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 Rechnungsempfänger die Dokumentenmarkierung zu verändern | 404 - Not Found |
Operation wird auf nicht existierender DocumentReference-Ressource aufgerufen | 404 - Not Found |
Andere HTTP-Methode wird verwendet | 405 - Method Not Allowed |
Die Input- und Output-Parameter werden durch die OperationDefinition https://gematik.de/fhir/erg/OperationDefinition/ProcessFlag
beschrieben.
Invocations
URL: [base]/DocumentReference/[id]/$process-flag
This operation changes content
Parameters (In)
Name | Cardinality | Type | Documentation |
markierung | 1..1 | Coding | Name der Markierung |
zeitpunkt | 1..1 | dateTime | Optionaler Zeitpunkt der Markierung |
details | 1..1 | string | Optionale Details als Freitext zur Markierung |
gelesen | 1..1 | boolean | Gelesen-Status falls Markierung vom Typ 'gelesen' ist |
artDerArchivierung | 1..1 | Coding | Details zur Art der Archivierung falls Markierung vom Typ 'archiviert' ist |
Return Values (Out)
Name | Cardinality | Type | Documentation |
meta | 1..1 | Meta | Vollständiges Meta-Element des Rechnungsdokuments / des Anhangs inkl. Extension (siehe ERGDocumentReferenceMarkierung) zur Erfassung der Zusatzinformationen der Markierung |
Beispiele
HTTP GET [fachdienst-endpunkt]/DocumentReference/[id]/$process-flag
Parameters |
id : BeispielParameterProcessFlagInput |
parameter |
name : markierung |
value |
system : https://gematik.de/fhir/erg/CodeSystem/erg-rechnung-markierung-cs |
code : bezahlt |
parameter |
name : zeitpunkt |
value : 2024-05-30T13:00:00.001+02:00 |
parameter |
name : details |
value : Bezahlt mit falschem Betreff |
<Parameters xmlns="http://hl7.org/fhir"> <id value="BeispielParameterProcessFlagInput" /> <parameter> <name value="markierung" /> <valueCoding> <system value="https://gematik.de/fhir/erg/CodeSystem/erg-rechnung-markierung-cs" /> <code value="bezahlt" /> </valueCoding> </parameter> <parameter> <name value="zeitpunkt" /> <valueDateTime value="2024-05-30T13:00:00.001+02:00" /> </parameter> <parameter> <name value="details" /> <valueString value="Bezahlt mit falschem Betreff" /> </parameter> </Parameters>
{ "resourceType": "Parameters", "id": "BeispielParameterProcessFlagInput", "parameter": [ { "name": "markierung", "valueCoding": { "system": "https://gematik.de/fhir/erg/CodeSystem/erg-rechnung-markierung-cs", "code": "bezahlt" } }, { "name": "zeitpunkt", "valueDateTime": "05/30/2024 11:00:00" }, { "name": "details", "valueString": "Bezahlt mit falschem Betreff" } ] }
Antwort des Fachdienstes im Erfolgsfall:
HTTP 200 OK
mit Body:
Parameters |
id : BeispielParameterProcessFlagOutput |
parameter |
name : meta |
value |
extension |
extension |
url : markierung |
value |
system : https://gematik.de/fhir/erg/CodeSystem/erg-rechnung-markierung-cs |
code : bezahlt |
extension |
url : zeitpunkt |
value : 2024-05-30T13:00:00.123+02:00 |
extension |
url : details |
value : Bezahlt mit falschem Betreff |
url : https://gematik.de/fhir/erg/StructureDefinition/erg-documentreference-markierung |
versionId : 2 |
lastUpdated : 2024-05-31T13:00:00.123+02:00 |
tag |
system : https://gematik.de/fhir/erg/CodeSystem/erg-rechnungsstatus-cs |
code : erledigt |
<Parameters xmlns="http://hl7.org/fhir"> <id value="BeispielParameterProcessFlagOutput" /> <parameter> <name value="meta" /> <valueMeta> <extension url="https://gematik.de/fhir/erg/StructureDefinition/erg-documentreference-markierung"> <extension url="markierung"> <valueCoding> <system value="https://gematik.de/fhir/erg/CodeSystem/erg-rechnung-markierung-cs" /> <code value="bezahlt" /> </valueCoding> </extension> <extension url="zeitpunkt"> <valueDateTime value="2024-05-30T13:00:00.123+02:00" /> </extension> <extension url="details"> <valueString value="Bezahlt mit falschem Betreff" /> </extension> </extension> <versionId value="2" /> <lastUpdated value="2024-05-31T13:00:00.123+02:00" /> <tag> <system value="https://gematik.de/fhir/erg/CodeSystem/erg-rechnungsstatus-cs" /> <code value="erledigt" /> </tag> </valueMeta> </parameter> </Parameters>
{ "resourceType": "Parameters", "id": "BeispielParameterProcessFlagOutput", "parameter": [ { "name": "meta", "valueMeta": { "versionId": "2", "lastUpdated": "05/31/2024 11:00:00", "tag": [ { "system": "https://gematik.de/fhir/erg/CodeSystem/erg-rechnungsstatus-cs", "code": "erledigt" } ], "extension": [ { "url": "https://gematik.de/fhir/erg/StructureDefinition/erg-documentreference-markierung", "extension": [ { "url": "markierung", "valueCoding": { "system": "https://gematik.de/fhir/erg/CodeSystem/erg-rechnung-markierung-cs", "code": "bezahlt" } }, { "url": "zeitpunkt", "valueDateTime": "05/30/2024 11:00:00" }, { "url": "details", "valueString": "Bezahlt mit falschem Betreff" } ] } ] } } ] }
Verarbeitungsschritte im FD
Falls während eines Aufrufs der FD feststellt, dass das eRg FdV versucht eine Markierung hinzuzufügen die bereits existiert, so ist diese Markierung zu ignorieren.
HTTP 200 - OK
wird in diesem Fall zurückgegeben.Der FD MUSS anhand der übergebenen Parameter die Extension 'ERGDocumentReferenceMarkierung' auf der DokumentReference erstellen und aktualisieren.
R9: Löschen eines Rechnungsvorganges
Die nachfolgende Interaktion ist relevant für den FD als Server, sowie für das eRg FdV als Client. Anwendungsfall AF_10245 MUSS durch den FD über die spezifizierte API umgesetzt werden. Die Vorgaben aus "Tabelle 27: Use Case Automatisches endgültiges Löschen von Rechnungen" des Feature-Dokumentes MÜSSEN eingehalten werden durch den FD.
HTTP-Methode | POST |
Endpunkt | /DocumentReference/[id]/$erase |
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 Rechnungsempfänger den Dokumentenstatus permanent zu löschen | 404 - Not Found |
Operation wird auf nicht existierender DocumentReference-Ressource aufgerufen | 404 - Not Found |
Andere HTTP-Methode wird verwendet | 405 - Method Not Allowed |
Operation wird auf einer DocumentReference-Ressource aufgerufen die sich nicht im Bearbeitungsstatus 'Papierkorb' befindet | 412 - Precondition Failed |
Die Input- und Output-Parameter werden durch die OperationDefinition https://gematik.de/fhir/erg/OperationDefinition/Erase
beschrieben. In der derzeitgen Version der Operation exisieren jedoch keine Input- oder Output-Parameter.
Invocations
URL: [base]/DocumentReference/[id]/$erase
This operation changes content
Beispiele
HTTP POST [fachdienst-endpunkt]/DocumentReference/123456/$erase
Antwort des Endpunktes im Erfolgsfall:
HTTP 200 OK
Verarbeitungsschritte im FD
- Der FD MUSS die DocumentReference-Ressource und alle dazugehörigen Binary-Ressourcen permanent und unverzüglich löschen. Die entsprechenden Dokumententokens verlieren permanent ihre Gültigkeit.
R10: Nutzerprotokoll einsehen
Die nachfolgende Interaktion ist relevant für den FD als Server, sowie für das eRg FdV als Client. Anwendungsfall AF_10203 MUSS durch den FD über die spezifizierte API umgesetzt werden. Die Vorgaben aus "Tabelle 39: Use Case Nutzerprotokoll einsehen" des Feature-Dokumentes MÜSSEN eingehalten werden durch den FD.
HTTP-Methode | GET |
Endpunkt | /AuditEvent |
Suchparameter agent:text |
Kardinalität: 0..1 Name Rechnungsersteller/Kostenträger/FachdienstVersicherte Person Hinweis: Alle Akteure werden mit unterschiedlichen Rollen als agent erfasstType: string |
Suchparameter date |
Kardinalität: 0..1 Type: date |
Suchresultatparameter _sort |
Als Sortierkriterien können die oben genannten Suchparameter verwendet werden für die Inhalte die als Sortierkriterien in Tabelle 39: Use Case Nutzerprotokoll einsehen - 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
HTTP GET [fachdienst-endpunkt]/AuditEvent?agent:text=11223344
Antwort des Fachdienstes im Erfolgsfall:
HTTP 200 OK
mit Body:
Bundle |
id : BeispielNutzungsprotokollResultBundle |
type : searchset |
total : 1 |
entry |
fullUrl : [fachdienst-endpunkt]/AuditEvent/BeispielNutzungsprotokoll |
resource |
id : BeispielNutzungsprotokoll |
meta |
profile : https://gematik.de/fhir/erg/StructureDefinition/erg-nutzungsprotokoll |
type |
code : rest |
subtype |
code : erechnung-submit |
action : C |
recorded : 2024-05-29T11:25:54.123456+00:02 |
outcome : 0 |
agent |
type |
coding |
code : humanuser |
who |
identifier |
type |
coding |
system : http://terminology.hl7.org/CodeSystem/v2-0203 |
code : PRN |
system : https://gematik.de/fhir/sid/telematik-id |
value : 11223344 |
display : Beispiel Leistungsempfänmger |
requestor : True |
source |
observer |
display : FdV |
entity |
what |
reference : DocumentReference/BeispielDocumentReferenceRechnungRetrieve |
search |
mode : match |
<Bundle xmlns="http://hl7.org/fhir"> <id value="BeispielNutzungsprotokollResultBundle" /> <type value="searchset" /> <total value="1" /> <entry> <fullUrl value="[fachdienst-endpunkt]/AuditEvent/BeispielNutzungsprotokoll" /> <resource> <AuditEvent> <id value="BeispielNutzungsprotokoll" /> <meta> <profile value="https://gematik.de/fhir/erg/StructureDefinition/erg-nutzungsprotokoll" /> </meta> <type> <code value="rest" /> </type> <subtype> <code value="erechnung-submit" /> </subtype> <action value="C" /> <recorded value="2024-05-29T11:25:54.123456+00:02" /> <outcome value="0" /> <agent> <type> <coding> <code value="humanuser" /> </coding> </type> <who> <identifier> <type> <coding> <system value="http://terminology.hl7.org/CodeSystem/v2-0203" /> <code value="PRN" /> </coding> </type> <system value="https://gematik.de/fhir/sid/telematik-id" /> <value value="11223344" /> </identifier> <display value="Beispiel Leistungsempfänmger" /> </who> <requestor value="true" /> </agent> <source> <observer> <display value="FdV" /> </observer> </source> <entity> <what> <reference value="DocumentReference/BeispielDocumentReferenceRechnungRetrieve" /> </what> </entity> </AuditEvent> </resource> <search> <mode value="match" /> </search> </entry> </Bundle>
{ "resourceType": "Bundle", "id": "BeispielNutzungsprotokollResultBundle", "type": "searchset", "total": 1, "entry": [ { "fullUrl": "[fachdienst-endpunkt]/AuditEvent/BeispielNutzungsprotokoll", "resource": { "resourceType": "AuditEvent", "id": "BeispielNutzungsprotokoll", "meta": { "profile": [ "https://gematik.de/fhir/erg/StructureDefinition/erg-nutzungsprotokoll" ] }, "type": { "code": "rest" }, "subtype": [ { "code": "erechnung-submit" } ], "action": "C", "recorded": "05/29/2024 11:23:54", "outcome": "0", "agent": [ { "type": { "coding": [ { "code": "humanuser" } ] }, "who": { "identifier": { "type": { "coding": [ { "code": "PRN", "system": "http://terminology.hl7.org/CodeSystem/v2-0203" } ] }, "system": "https://gematik.de/fhir/sid/telematik-id", "value": "11223344" }, "display": "Beispiel Leistungsempfänmger" }, "requestor": true } ], "source": { "observer": { "display": "FdV" } }, "entity": [ { "what": { "reference": "DocumentReference/BeispielDocumentReferenceRechnungRetrieve" } } ] }, "search": { "mode": "match" } } ] }
Verarbeitungsschritte im FD
- Der FD MUSS die Suche auf AuditEvent-Ressourcen begrenzen die unter
AuditEvent.agent.who
auf einen Benutzer verweisen, welcher durch die KVNR aus dem Access-Token identifiziert wird, um sicherzustellen, dass nur persönliche AuditEvent-Ressourcen des angemeldeten Rechnungsempfänger zurückgegeben werden.