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" } ] } } ] }
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.