RE-PS als Akteur
Folgende Interaktionen können durch das RE-PS als Akteur ausgeführt werden, um eine Rechnung zu validieren und in den E-Rechnungsfachdienst einzustellen.
R0: Abfrage des Rechnungsempfängers und dessen Einwilligung zum Rechnungsversand
Die nachfolgende Interaktion ist relevant für den FD als Server, sowie für das RE-PS als Client. Anforderung AF_10132 MUSS durch den FD über die spezifizierte API umgesetzt werden. Die Vorgaben aus "Tabelle 14: Use Case Abfrage des Rechnungsempfängers und dessen Einwilligung zum Rechnungsversand" des Feature-Dokumentes MÜSSEN eingehalten werden durch den FD.
Abfrage des Rechnungsempfängers (Behandelter ist Rechnungsempfänger)
HTTP-Methode | GET |
Endpunkt | /Patient |
Suchparameter identifier |
Kardinalität: 1..1 Type: Token Hinweis: Hierbei handelt es sich immer um eine KVNR, das System http://fhir.de/sid/gkv/kvid-10 MUSS durch den FD ergänzt werden, falls der Client dies nicht mitliefert. |
Suchparameter birthdate |
Kardinalität: 1..1 Type: date Das Geburtsdatum MUSS taggenau übergeben werden. Such-Modifier, wie z.B. 'le', 'ge' sind in diesem Kontext nicht vorgesehen. |
User-Kontext Telematik-ID |
Kardinalität: 1..1 Hinweis: Die Telematik-ID ist aus dem Claim idNummer 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 FHIR-Suchanfrage ist nicht korrekt oder Kardinalitäten werden nicht eingehalten | 400 - Bad Request |
KVNR ist syntaktisch nicht korrekt | 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 |
Rechnungsempfänger hat dem Rechnungsversand durch diesen Rechnungsersteller widersprochen | 404 - Not Found . In diesem Fall: OperationOutcome mit Hinweis, dass Einwilligung nicht vorliegt oder Benutzer nicht vorhanden ist. |
Mehr als ein Postfach unter Angabe der Suchparameter gefunden. | 404 - Not Found . Dies stellt einen internen Fehler bei der Verwaltung der Postfächer dar. |
Rechnungsempfänger verfügt über kein Konto | 404 - Not Found . In diesem Fall: OperationOutcome mit Hinweis, dass Einwilligung nicht vorliegt oder Benutzer nicht vorhanden ist |
Plausibilisierung zwischen Geburtsdatum und KVNR schlägt fehl | 404 - Not Found |
Andere HTTP-Methode wird verwendet | 405 - Method Not Allowed |
Beispiele
HTTP GET [fachdienst-endpunkt]/Patient?identifier=A000000000&birthdate=1970-01-01
Antwort des Endpunktes im Erfolgsfall:
HTTP 200 OK
mit Body:
Bundle |
id : PatientenBundle |
type : searchset |
total : 1 |
entry |
resource |
id : PatientVater |
identifier |
type |
coding |
system : http://fhir.de/CodeSystem/identifier-type-de-basis |
code : KVZ10 |
system : http://fhir.de/sid/gkv/kvid-10 |
value : A000000000 |
active : True |
name |
family : Mustermann |
given : Manfred |
gender : male |
birthDate : 1970-01-01 |
search |
mode : match |
<Bundle xmlns="http://hl7.org/fhir"> <id value="PatientenBundle" /> <type value="searchset" /> <total value="1" /> <entry> <resource> <Patient> <id value="PatientVater" /> <identifier> <type> <coding> <system value="http://fhir.de/CodeSystem/identifier-type-de-basis" /> <code value="KVZ10" /> </coding> </type> <system value="http://fhir.de/sid/gkv/kvid-10" /> <value value="A000000000" /> </identifier> <active value="true" /> <name> <family value="Mustermann" /> <given value="Manfred" /> </name> <gender value="male" /> <birthDate value="1970-01-01" /> </Patient> </resource> <search> <mode value="match" /> </search> </entry> </Bundle>
{ "resourceType": "Bundle", "id": "PatientenBundle", "type": "searchset", "total": 1, "entry": [ { "resource": { "resourceType": "Patient", "id": "PatientVater", "active": true, "name": [ { "given": [ "Manfred" ], "family": "Mustermann" } ], "identifier": [ { "type": { "coding": [ { "code": "KVZ10", "system": "http://fhir.de/CodeSystem/identifier-type-de-basis" } ] }, "system": "http://fhir.de/sid/gkv/kvid-10", "value": "A000000000" } ], "gender": "male", "birthDate": "1970-01-01" }, "search": { "mode": "match" } } ] }
Es MUSS durch den FD sichergestellt werden, dass die zurückgegebene Patient-Ressourcen eine stabile id besitzten.
Die zurückgegebene Patient-Ressource MUSS valide gegen das Profil ERGPatient
sein.
Canonical | Status | Version | Basis |
---|---|---|---|
https://gematik.de/fhir/erg/StructureDefinition/erg-patient | active | 1.1.0-RC1 | http://hl7.org/fhir/StructureDefinition/Patient |
ERGPatient (Patient) | I | Patient | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
modifierExtension | ?! I | 0..* | Extension |
identifier | S Σ | 0..* | Identifier |
KVNR | S Σ | 0..1 | IdentifierKvid10Pattern |
id | 0..1 | string | |
extension | I | 0..* | Extension |
use | Σ ?! | 0..1 | codeBinding |
type | S Σ I | 1..1 | CodeableConceptBindingPattern |
system | S Σ | 1..1 | uriFixed Value |
value | S Σ I | 1..1 | string |
period | Σ | 0..1 | Period |
assigner | S Σ | 0..1 | Reference(Organization) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
reference | Σ I | 0..1 | string |
type | Σ | 0..1 | uriBinding |
identifier | S Σ | 0..1 | IdentifierIknr |
id | 0..1 | string | |
extension | I | 0..* | Extension |
use | Σ ?! | 0..1 | codeBinding |
type | S Σ | 1..1 | CodeableConceptBindingPattern |
system | S Σ | 1..1 | uriFixed Value |
value | S Σ I | 1..1 | string |
period | Σ | 0..1 | Period |
assigner | Σ | 0..1 | Reference(Organization) |
display | Σ | 0..1 | string |
active | Σ ?! | 0..1 | boolean |
name | S Σ I | 0..* | HumannameDeBasis |
id | 0..1 | string | |
extension | I | 0..* | Extension |
use | S Σ ?! | 0..1 | codeBinding |
text | S Σ | 0..1 | string |
family | S Σ | 0..1 | string |
id | 0..1 | string | |
extension | I | 0..* | Extension |
namenszusatz | S I | 0..1 | Extension(string) |
nachname | S I | 0..1 | Extension(string) |
vorsatzwort | S I | 0..1 | Extension(string) |
value | 0..1 | System.String | |
given | S Σ | 0..* | string |
prefix | S Σ | 0..* | string |
id | 0..1 | string | |
extension | I | 0..* | Extension |
prefix-qualifier | S I | 0..1 | Extension(code) |
value | 0..1 | System.String | |
suffix | Σ | 0..* | string |
period | Σ | 0..1 | Period |
telecom | Σ | 0..* | ContactPoint |
gender | Σ | 0..1 | codeBinding |
birthDate | S Σ | 0..1 | date |
deceased[x] | Σ ?! | 0..1 | |
deceasedBoolean | boolean | ||
deceasedDateTime | dateTime | ||
address | S Σ | 0..* | Address |
Strassenanschrift | S Σ I | 0..* | AddressDeBasisPattern |
id | 0..1 | string | |
extension | I | 0..* | Extension |
Stadtteil | I | 0..1 | Extension(string) |
use | Σ ?! | 0..1 | codeBinding |
type | S Σ | 0..1 | codeBindingPattern |
text | Σ | 0..1 | string |
line | S Σ | 0..3 | string |
id | 0..1 | string | |
extension | I | 0..* | Extension |
Strasse | S I | 0..1 | Extension(string) |
Hausnummer | S I | 0..1 | Extension(string) |
Adresszusatz | S I | 0..1 | Extension(string) |
Postfach | I | 0..0 | Extension(string) |
value | 0..1 | System.String | |
city | S Σ | 0..1 | string |
district | Σ | 0..0 | string |
state | Σ | 0..1 | stringBinding |
postalCode | S Σ | 0..1 | string |
country | S Σ | 0..1 | stringBinding |
period | Σ | 0..1 | Period |
Postfach | S Σ I | 0..* | AddressDeBasisPattern |
id | 0..1 | string | |
extension | I | 0..* | Extension |
Stadtteil | I | 0..1 | Extension(string) |
use | Σ ?! | 0..1 | codeBinding |
type | S Σ | 0..1 | codeBindingPattern |
text | Σ | 0..1 | string |
line | S Σ | 0..3 | string |
id | 0..1 | string | |
extension | I | 0..* | Extension |
Strasse | I | 0..0 | Extension(string) |
Hausnummer | I | 0..0 | Extension(string) |
Adresszusatz | I | 0..0 | Extension(string) |
Postfach | S I | 0..1 | Extension(string) |
value | 0..1 | System.String | |
city | S Σ | 0..1 | string |
district | Σ | 0..0 | string |
state | Σ | 0..1 | stringBinding |
postalCode | S Σ | 0..1 | string |
country | S Σ | 0..1 | stringBinding |
period | Σ | 0..1 | Period |
maritalStatus | 0..1 | CodeableConceptBinding | |
multipleBirth[x] | 0..1 | ||
multipleBirthBoolean | boolean | ||
multipleBirthInteger | integer | ||
photo | 0..* | Attachment | |
contact | I | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
relationship | 0..* | CodeableConceptBinding | |
name | 0..1 | HumanName | |
telecom | 0..* | ContactPoint | |
address | 0..1 | Address | |
gender | 0..1 | codeBinding | |
organization | I | 0..1 | Reference(Organization) |
period | 0..1 | Period | |
communication | 0..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
language | 1..1 | CodeableConceptBinding | |
preferred | 0..1 | boolean | |
generalPractitioner | 0..* | Reference(Organization | Practitioner | PractitionerRole) | |
managingOrganization | Σ | 0..1 | Reference(Organization) |
link | Σ ?! | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
other | Σ | 1..1 | Reference(Patient | RelatedPerson) |
type | Σ | 1..1 | codeBinding |
Folgende Implementierungshinweise sind zu beachten:
Patient.identifier | Die KVNR MUSS vorkommen, wenn eine Person die Rolle des 'Rechnungsempfänger' inne hat. |
Patient.identifier.system | Das System des KVZ10 Code MUSS vorhanden sein. |
Patient.identifier.assigner.identifier | Bei GKV-Versicherten Personen MUSS die IK-Nummer der Krankenkasse angegeben werden. |
Patient.identifier.assigner.identifier.system | Das System der IK-Nummer MUSS vorhanden sein. |
Patient.name | Der Name SOLL vorhanden sein. |
Patient.name.text | Die Anrede SOLLEN vorhanden sein. |
Patient.name.family | Der Nachname MUSS in der Rolle einer 'Behandelte Person' vorhanden sein. Der Nachname SOLL in der Rolle eines 'Rechnungsempfänger' vorhanden sein. Die Extensions zur strukurierten Erfassung KÖNNEN vorhanden sein. |
Patient.name.family.extension | Die Extension zur strukurierten Erfassung des Namenszusatz KANN vorhanden sein. |
Patient.name.family.extension | Die Extension zur strukurierten Erfassung des Nachnamen KANN vorhanden sein. |
Patient.name.family.extension | Die Extension zur strukurierten Erfassung des Vorsatzwort KANN vorhanden sein. |
Patient.name.given | Der Vorname MUSS in der Rolle einer 'Behandelte Person' vorhanden sein. Der Vorname SOLL in der Rolle eines 'Rechnungsempfänger' vorhanden sein. |
Patient.name.prefix | Der Titel SOLL vorhanden sein, die Extension zur Qualifizierung KANN vorhanden sein. |
Patient.name.prefix.extension | Die Extension zur Qualifizierung des Titeks KANN vorhanden sein. |
Patient.birthDate | Das Geburtsdatum SOLL vorhanden sein. |
Patient.address | Die Strassenanschrift SOLL vorhanden sein. |
Patient.address.line | Straße und Hausnummer SOLLEN angegeben werden, die Extensions zur strukurierten Erfassung KÖNNEN vorhanden sein. |
Patient.address.line.extension | Die Extension zur strukurierten Erfassung der Straße KANN vorhanden sein. |
Patient.address.line.extension | Die Extension zur strukurierten Erfassung der Hausnummer KANN vorhanden sein. |
Patient.address.line.extension | Die Extension zur strukurierten Erfassung des Adresszusatz KANN vorhanden sein. |
Patient.address.city | Der Ort SOLL vorhanden sein. |
Patient.address.postalCode | Die Postleitzahl SOLL vorhanden sein. |
Patient.address.country | Das Länderkennzeichen KANN vorhanden sein. |
Patient.address | Das Postfach SOLL vorhanden sein. |
Patient.address.line | Die Postfach-Angabe SOLL angegeben werden, die Extensions zur strukurierten Erfassung KANN vorhanden sein. |
Patient.address.line.extension | Die Extension zur strukurierten Erfassung des Postfach KANN vorhanden sein. |
Patient.address.city | Der Ort SOLL vorhanden sein. |
Patient.address.postalCode | Die Postleitzahl SOLL vorhanden sein. |
Patient.address.country | Das Länderkennzeichen KANN vorhanden sein. |
R1: Rechnung mit Dokumenten validieren und versenden
Die nachfolgende Interaktion ist relevant für den FD als Server, sowie für das RE-PS als Client. Anwendungsfall AF_10136 MUSS durch den FD über die spezifizierte API umgesetzt werden. Die Vorgaben aus "Tabelle 15: Use Case Rechnung mit Dokumenten validieren und versenden" des Feature-Dokumentes MÜSSEN eingehalten werden durch den FD.
HTTP-Methode | POST |
Endpunkt | /Patient/[id-des-ermittelten-Rechnungsempfängers] |
Die Input- und Output-Parameter werden durch die OperationDefinition https://gematik.de/fhir/erg/OperationDefinition/Submit
beschrieben. Die ID des Rechnungsempfängers ist zuvor per R0: Abfrage des Rechnungsempfängers und dessen Einwilligung zum Rechnungsversand zu ermitteln.
Invocations
URL: [base]/Patient/[id]/$erechnung-submit
This operation changes content
Parameters (In)
Name | Cardinality | Type | Binding | Documentation |
rechnung | 1..1 | DocumentReference | Vollständige E-Rechnung mit verschiedenen Attachments: 1) Rechnungs-PDF 2) Strukturierte Daten OHNE Signatur. | |
anhang | 0..* | DocumentReference | Weitere Anhänge zur E-Rechnung als PDF. | |
modus | 0..1 | code | ERGRechnungSubmitModusVS (required) | Verarbeitungshinweis für die E-Rechnung. Default: normal. |
angereichertesPDF | 0..1 | boolean | Indikation ob nur das durch den FD erstellte Dokumententoken zurückgegeben werden soll oder das gesamte PDF inkl. Dokumententoken. Default: false. |
Return Values (Out)
Name | Cardinality | Type | Documentation |
token | 0..* | Token(s) zur eineindeutigen Identifizierung der Rechnungsdokumente/-anhänge (unabhängig von returnTokenPDF). Dieser Parameter ist NUR optional falls modus = 'test'. | |
token.id | 1..1 | id | Randomisiertes Token zur Identifikation eines Dokumentes. |
token.docRef | 1..1 | Identifier | Eindeutiger Identifikatior der Rechnung und Anhänge auf welche sich das Token bezieht. |
token.angereichertesPDF | 0..1 | Binary | PDF mit eingebetteten Token und strukturierten Daten, in Abhängigkeit vom angereichertesPDF-Parameter. Vgl. 4.1 Einreichung per Post des Feature-Dokumentes E-Rechnung. |
warnungen | 0..1 | OperationOutcome | Warnhinweise und Fehlern zur Validierung der E-Rechnung. Diese MÜSSEN in jedem Verarbeitungsmodus ausgegeben werden. |
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 |
Gravierende Fehler treten während der Validierung auf - Mode = 'normal' | 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 Postfach zu verwenden | 404 - Not Found In diesem Fall: OperationOutcome mit Hinweis, dass Einwilligung nicht vorliegt oder Benutzer nicht vorhanden ist |
Andere HTTP-Methode wird verwendet | 405 - Method Not Allowed |
Dokumentenvalidierung
Der FD muss die syntaktischen und semantischen Prüfungen der Rechnung durchführen welche in AF_10136 unter 'Ablauf' beschrieben sind. Bei der Verarbeitung einer Rechnungen mit einer bereits im FD bekannten Signatur MUSS eine Validierungswarnung durch den FD herausgegeben werden. Zudem MÜSSEN die übermittelten Dokumente ein valides PDF/A sein. Andernfalls ist der Request mit 400 - Bad Request
abzulehnen.
Signatur
Die Signatur wird durch den FD über die Konkatenation aller Base64-kodierten Inhalte der Rechnung (d.h. Rechnungrepräsentation in PDF/A-Form und den strukturierten Rechnungsinhalten) gebildet werden, in der Reihenfolge:
- Attachment mit contentType = application/pdf
- Attachment mit contentType = application/fhir+xml
- Attachment mit contentType = application/fhir+json
Weitere Details zur Signatur, siehe TODO.
Rechnungsrepräsentation
Die DocumentReference-Ressourcen welche über die Parameter rechnung
und anhang
übermittelt werden MÜSSEN dem Profil https://gematik.de/fhir/StructureDefinition/erg-dokumentenmetadaten
entsprechen.
Canonical | Status | Version | Basis |
---|---|---|---|
https://gematik.de/fhir/erg/StructureDefinition/erg-dokumentenmetadaten | active | 1.1.0-RC1 | http://hl7.org/fhir/StructureDefinition/DocumentReference |
ERGDokumentenmetadaten (DocumentReference) | I | DocumentReference | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
id | 0..1 | string | |
extension | S I | 0..* | Extension |
markierung | S I | 0..* | Extension(Complex) |
versionId | Σ | 0..1 | id |
lastUpdated | Σ | 0..1 | instant |
source | Σ | 0..1 | uri |
profile | Σ | 0..* | canonical(StructureDefinition) |
security | Σ | 0..* | CodingBinding |
tag | S Σ | 0..* | Coding |
erg-rechnungsstatus | S Σ | 0..1 | CodingBinding |
id | 0..1 | string | |
extension | I | 0..* | Extension |
system | S Σ | 1..1 | uri |
version | Σ | 0..1 | string |
code | S Σ | 1..1 | code |
display | Σ | 0..1 | string |
userSelected | Σ | 0..1 | boolean |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | S I | 0..* | Extension |
docRef-signature | S I | 0..1 | Extension(Signature) |
rechnungsdatum | S I | 0..1 | Extension(dateTime) |
zahlungszieldatum | S I | 0..1 | Extension(dateTime) |
gesamtbetrag | S I | 0..1 | Extension(Money) |
fachrichtung | S I | 0..1 | Extension(Coding) |
leistungsart | S I | 0..1 | Extension(Coding) |
behandlungsart | S I | 0..1 | Extension(Coding) |
modifierExtension | ?! I | 0..* | Extension |
masterIdentifier | Σ | 0..1 | Identifier |
identifier | S Σ | 1..* | Identifier |
id | 0..1 | string | |
extension | I | 0..* | Extension |
use | Σ ?! | 0..1 | codeBinding |
type | Σ | 0..1 | CodeableConceptBinding |
system | S Σ | 1..1 | uri |
value | S Σ | 1..1 | string |
period | Σ | 0..1 | Period |
assigner | Σ | 0..1 | Reference(Organization) |
status | S Σ ?! | 1..1 | codeBindingPattern |
docStatus | Σ | 0..1 | codeBinding |
type | S Σ | 1..1 | CodeableConceptBinding |
id | 0..1 | string | |
extension | I | 0..* | Extension |
coding | Σ | 1..* | Coding |
DokumentenKlassifizierung | S Σ | 0..1 | CodingBindingPattern |
id | 0..1 | string | |
extension | I | 0..* | Extension |
system | S Σ | 1..1 | uriPattern |
version | Σ | 0..1 | string |
code | S Σ | 1..1 | code |
display | S Σ | 1..1 | string |
userSelected | Σ | 0..1 | boolean |
Rechnungstyp | S Σ | 0..1 | CodingPattern |
text | Σ | 0..1 | string |
category | Σ | 0..* | CodeableConcept |
subject | S Σ | 1..1 | Reference(Patient | Practitioner | Group | Device) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
reference | Σ I | 0..1 | string |
type | Σ | 0..1 | uriBinding |
identifier | Σ | 0..1 | Identifier |
display | S Σ | 1..1 | string |
date | Σ | 0..1 | instant |
author | S Σ | 0..* | Reference(Practitioner | PractitionerRole | Organization | Device | Patient | RelatedPerson) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
reference | Σ I | 0..1 | string |
type | Σ | 0..1 | uriBinding |
identifier | S Σ | 1..1 | IdentifierTelematikId |
display | S Σ | 1..1 | string |
authenticator | 0..1 | Reference(Practitioner | PractitionerRole | Organization) | |
custodian | 0..1 | Reference(Organization) | |
relatesTo | Σ | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
code | Σ | 1..1 | codeBinding |
target | Σ | 1..1 | Reference(DocumentReference) |
description | S Σ | 1..1 | string |
securityLabel | Σ | 0..* | CodeableConceptBinding |
content | S Σ | 1..* | BackboneElement |
(All Slices) | |||
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
attachment | Σ | 1..1 | Attachment |
id | 0..1 | string | |
extension | I | 0..* | Extension |
contentType | Σ | 0..1 | codeBinding |
language | Σ | 0..1 | codeBinding |
data | 0..1 | base64Binary | |
url | Σ | 0..1 | url |
size | Σ | 0..1 | unsignedInt |
hash | Σ | 0..1 | base64Binary |
title | Σ | 0..1 | string |
creation | Σ | 0..1 | dateTime |
format | Σ | 0..1 | CodingBinding |
rechnungspdf | S Σ | 0..1 | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
attachment | S Σ | 1..1 | Attachment |
id | 0..1 | string | |
extension | I | 0..* | Extension |
contentType | S Σ | 1..1 | codeBindingPattern |
language | Σ | 0..1 | codeBinding |
data | S | 1..1 | base64Binary |
url | S Σ | 0..1 | url |
size | Σ | 0..1 | unsignedInt |
hash | Σ | 0..1 | base64Binary |
title | Σ | 0..1 | string |
creation | Σ | 0..1 | dateTime |
format | S Σ | 1..1 | CodingBindingPattern |
angereicherteRechnung | S Σ | 0..1 | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
attachment | S Σ | 1..1 | Attachment |
id | 0..1 | string | |
extension | I | 0..* | Extension |
contentType | S Σ | 1..1 | codeBindingPattern |
language | Σ | 0..1 | codeBinding |
data | 0..0 | base64Binary | |
url | S Σ | 0..1 | url |
size | Σ | 0..1 | unsignedInt |
hash | Σ | 0..1 | base64Binary |
title | Σ | 0..1 | string |
creation | Σ | 0..1 | dateTime |
format | S Σ | 1..1 | CodingBindingPattern |
strukturierterRechnungsinhalt | S Σ | 0..1 | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
attachment | S Σ | 1..1 | Attachment |
id | 0..1 | string | |
extension | I | 0..* | Extension |
contentType | S Σ | 1..1 | codeBinding |
language | Σ | 0..1 | codeBinding |
data | S | 1..1 | base64Binary |
url | S Σ | 0..1 | url |
size | Σ | 0..1 | unsignedInt |
hash | Σ | 0..1 | base64Binary |
title | Σ | 0..1 | string |
creation | Σ | 0..1 | dateTime |
format | S Σ | 1..1 | CodingBindingPattern |
anhang | S Σ | 0..1 | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
attachment | S Σ | 1..1 | Attachment |
id | 0..1 | string | |
extension | I | 0..* | Extension |
contentType | S Σ | 1..1 | codeBindingPattern |
language | Σ | 0..1 | codeBinding |
data | S | 1..1 | base64Binary |
url | S Σ | 0..1 | url |
size | Σ | 0..1 | unsignedInt |
hash | Σ | 0..1 | base64Binary |
title | Σ | 0..1 | string |
creation | Σ | 0..1 | dateTime |
format | S Σ | 1..1 | CodingBindingPattern |
context | S Σ | 0..1 | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
encounter | 0..* | Reference(Encounter | EpisodeOfCare) | |
event | 0..* | CodeableConcept | |
period | Σ | 0..1 | Period |
facilityType | 0..1 | CodeableConcept | |
practiceSetting | 0..1 | CodeableConcept | |
sourcePatientInfo | 0..1 | Reference(Patient) | |
related | S | 1..* | Reference(Resource) |
patient | S | 1..1 | Reference(Patient) |
anhaenge | S | 0..* | Reference(DocumentReference) |
Folgende Implementierungshinweise sind zu beachten:
DocumentReference.meta.extension:markierung | Vgl. Abschnitt '4.4.2 Markierungen' des Feature-Dokuments E-Rechnung |
DocumentReference.meta.tag | Metaangaben zur E-Rechnung die sich auf das Rechnungsdokument als Ganzes beziehen und nicht Teil des durch den RE-PS erstellten Dokuments sind. |
DocumentReference.meta.tag:erg-rechnungsstatus | Vgl. Abschnitt 4.4.1 Workflow einer Rechnung des Feature-Dokuments E-Rechnung |
DocumentReference.extension:rechnungsdatum | Siehe Abschnitt '4.8.1.1 Rechnung' des Feature-Dokuments E-Rechnung |
DocumentReference.extension:zahlungszieldatum | Siehe Abschnitt '4.8.1.1 Rechnung' des Feature-Dokuments E-Rechnung |
DocumentReference.extension:gesamtbetrag | Siehe Abschnitt '4.8.1.1 Rechnung' des Feature-Dokuments E-Rechnung |
DocumentReference.identifier | Eindeutiger Identifikator vergeben durch das RE-PS (z.B. Interne Dokumentennummer). Das System MUSS eindeutig pro Leistungserbringer:in vergeben werden. |
DocumentReference.status | Versionierung von Dokumenten ist nicht unterstützt. Nur jeweils die aktuelle Version des Dokumentes wird akzeptiert. |
DocumentReference.type | Kodierung des Dokumentes als 'Rechnung', sowie darüber hinausgehende Klassifizierung per KDL |
DocumentReference.subject | Vollständiger Name der behandelten Person. Siehe Abschnitt '4.8.1.1 Rechnung' des Feature-Dokuments E-Rechnung. |
DocumentReference.author | Der Fachdienst verknüpft alle Rechnungsdokumente mit der Telematik-ID des einreichenden Akteurs. |
DocumentReference.description | Menschenlesbarer Titel des Dokumentes, der dem Versicherten in der UI angezeigt wird. Der Titel kann manuell erfasst oder vom Dateinamen/Metadaten abgeleitet werden. z.B. "Laborbefund vom 28.9.2023". |
DocumentReference.content.attachment.url | Der FD muss die Base64-kodierten Daten aus attachment.data extrahieren und in eine Binary-Ressource auslagern. |
DocumentReference.content:rechnungspdf.attachment.contentType | Zum Zeitpunkt der Veröffentlichung werden nur PDF-Dokumente als Rechnung seitens der Leistungserbringer:in unterstützt. |
DocumentReference.content:rechnungspdf.attachment.data | Base64-kodiertes PDF. Dieses Feld muss durch die Applikation der Leistungserbringer:in gefüllt werden. |
DocumentReference.content:angereicherteRechnung.attachment.contentType | Zum Zeitpunkt der Veröffentlichung werden nur PDF-Dokumente als Rechnung seitens der Leistungserbringer:in unterstützt. |
DocumentReference.content:angereicherteRechnung.attachment.data | Die angereicherte Rechnung wird durch den FD direkt als Binary-Ressource unter attachment.url referenziert. |
DocumentReference.content:strukturierterRechnungsinhalt.attachment.contentType | Strukturierte Rechnungsinhalte können seitens der Leistungserbringer:in sowohl als JSON als auch XML übergeben werden. |
DocumentReference.content:strukturierterRechnungsinhalt.attachment.data | Base64-kodierte Repräsentation der Rechnungsinhalte. Dieses Feld muss durch die Applikation der Leistungserbringer:in gefüllt werden. |
DocumentReference.content:anhang.attachment.contentType | Zum Zeitpunkt der Veröffentlichung werden nur PDF-Dokumente als Rechnungsanhänge seitens der Leistungserbringer:in unterstützt. |
DocumentReference.content:anhang.attachment.data | Base64-kodiertes PDF. Dieses Feld muss durch die Applikation der Leistungserbringer:in gefüllt werden. |
DocumentReference.context.related | Der Fachdienst verknüpft alle Rechnungsdokumente mit der Rechnungsempfänger:in. |
Beispiele
DocumentReference |
id : BeispielDocumentReferenceRechnung3-LE |
extension |
url : http://example.org/StructureDefinition/signatur |
value |
type |
system : urn:iso-astm:E1762-95:2013 |
code : 1.2.840.10065.1.12.1.1 |
display : Author's Signature |
when : 2015-02-07T13:28:17.239+02:00 |
who |
display : Arzt |
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/pdf |
data : DIESISTNUREINBEISPIELDIESISTKEINVALIDESPDF00 |
content |
attachment |
contentType : application/xml |
data : DIESISTNUREINBEISPIELDIESISTKEINVALIDESXML00 |
format |
code : xrechnung |
content |
attachment |
contentType : application/fhir+xml |
data : DIESISTNUREINBEISPIELDIESISTKEINVALIDESXML00 |
format |
code : gematik-erechnung |
<DocumentReference xmlns="http://hl7.org/fhir"> <id value="BeispielDocumentReferenceRechnung3-LE" /> <extension url="http://example.org/StructureDefinition/signatur"> <valueSignature> <type> <system value="urn:iso-astm:E1762-95:2013" /> <code value="1.2.840.10065.1.12.1.1" /> <display value="Author's Signature" /> </type> <when value="2015-02-07T13:28:17.239+02:00" /> <who> <display value="Arzt" /> </who> </valueSignature> </extension> <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/pdf" /> <data value="DIESISTNUREINBEISPIELDIESISTKEINVALIDESPDF00" /> </attachment> </content> <content> <attachment> <contentType value="application/xml" /> <data value="DIESISTNUREINBEISPIELDIESISTKEINVALIDESXML00" /> </attachment> <format> <code value="xrechnung" /> </format> </content> <content> <attachment> <contentType value="application/fhir+xml" /> <data value="DIESISTNUREINBEISPIELDIESISTKEINVALIDESXML00" /> </attachment> <format> <code value="gematik-erechnung" /> </format> </content> </DocumentReference>
{ "resourceType": "DocumentReference", "id": "BeispielDocumentReferenceRechnung3-LE", "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": [ { "attachment": { "contentType": "application/pdf", "data": "DIESISTNUREINBEISPIELDIESISTKEINVALIDESPDF00" } }, { "format": { "code": "xrechnung" }, "attachment": { "contentType": "application/xml", "data": "DIESISTNUREINBEISPIELDIESISTKEINVALIDESXML00" } }, { "format": { "code": "gematik-erechnung" }, "attachment": { "contentType": "application/fhir+xml", "data": "DIESISTNUREINBEISPIELDIESISTKEINVALIDESXML00" } } ], "extension": [ { "url": "http://example.org/StructureDefinition/signatur", "valueSignature": { "type": [ { "code": "1.2.840.10065.1.12.1.1", "system": "urn:iso-astm:E1762-95:2013", "display": "Author's Signature" } ], "when": "02/07/2015 11:28:17", "who": { "display": "Arzt" } } } ] }
HTTP POST [fachdienst-endpunkt]/Patient/[id-des-ermittelten-Rechnungsempfängers]/$submit
Parameters |
id : BeispielParameterSubmitInput3-LE |
parameter |
name : rechnung |
resource |
id : BeispielDocumentReferenceRechnung3-LE |
extension |
url : http://example.org/StructureDefinition/signatur |
value |
type |
system : urn:iso-astm:E1762-95:2013 |
code : 1.2.840.10065.1.12.1.1 |
display : Author's Signature |
when : 2015-02-07T13:28:17.239+02:00 |
who |
display : Arzt |
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/pdf |
data : DIESISTNUREINBEISPIELDIESISTKEINVALIDESPDF00 |
content |
attachment |
contentType : application/xml |
data : DIESISTNUREINBEISPIELDIESISTKEINVALIDESXML00 |
format |
code : xrechnung |
content |
attachment |
contentType : application/fhir+xml |
data : DIESISTNUREINBEISPIELDIESISTKEINVALIDESXML00 |
format |
code : gematik-erechnung |
parameter |
name : anhang |
resource |
id : BeispielDocumentReferenceSonstigesDokument3-LE |
status : current |
type |
coding |
system : http://dvmd.de/fhir/CodeSystem/kdl |
code : PT130102 |
display : Molekularpathologiebefund |
subject |
reference : Patient/BeispielPatient3-FD |
description : Molekularpathologiebefund vom 31.12.21 |
content |
attachment |
contentType : application/pdf |
data : DIESISTNUREINBEISPIELDIESISTKEINVALIDESPDF00 |
<Parameters xmlns="http://hl7.org/fhir"> <id value="BeispielParameterSubmitInput3-LE" /> <parameter> <name value="rechnung" /> <resource> <DocumentReference> <id value="BeispielDocumentReferenceRechnung3-LE" /> <extension url="http://example.org/StructureDefinition/signatur"> <valueSignature> <type> <system value="urn:iso-astm:E1762-95:2013" /> <code value="1.2.840.10065.1.12.1.1" /> <display value="Author's Signature" /> </type> <when value="2015-02-07T13:28:17.239+02:00" /> <who> <display value="Arzt" /> </who> </valueSignature> </extension> <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/pdf" /> <data value="DIESISTNUREINBEISPIELDIESISTKEINVALIDESPDF00" /> </attachment> </content> <content> <attachment> <contentType value="application/xml" /> <data value="DIESISTNUREINBEISPIELDIESISTKEINVALIDESXML00" /> </attachment> <format> <code value="xrechnung" /> </format> </content> <content> <attachment> <contentType value="application/fhir+xml" /> <data value="DIESISTNUREINBEISPIELDIESISTKEINVALIDESXML00" /> </attachment> <format> <code value="gematik-erechnung" /> </format> </content> </DocumentReference> </resource> </parameter> <parameter> <name value="anhang" /> <resource> <DocumentReference> <id value="BeispielDocumentReferenceSonstigesDokument3-LE" /> <status value="current" /> <type> <coding> <system value="http://dvmd.de/fhir/CodeSystem/kdl" /> <code value="PT130102" /> <display value="Molekularpathologiebefund" /> </coding> </type> <subject> <reference value="Patient/BeispielPatient3-FD" /> </subject> <description value="Molekularpathologiebefund vom 31.12.21" /> <content> <attachment> <contentType value="application/pdf" /> <data value="DIESISTNUREINBEISPIELDIESISTKEINVALIDESPDF00" /> </attachment> </content> </DocumentReference> </resource> </parameter> </Parameters>
{ "resourceType": "Parameters", "id": "BeispielParameterSubmitInput3-LE", "parameter": [ { "name": "rechnung", "resource": { "resourceType": "DocumentReference", "id": "BeispielDocumentReferenceRechnung3-LE", "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": [ { "attachment": { "contentType": "application/pdf", "data": "DIESISTNUREINBEISPIELDIESISTKEINVALIDESPDF00" } }, { "format": { "code": "xrechnung" }, "attachment": { "contentType": "application/xml", "data": "DIESISTNUREINBEISPIELDIESISTKEINVALIDESXML00" } }, { "format": { "code": "gematik-erechnung" }, "attachment": { "contentType": "application/fhir+xml", "data": "DIESISTNUREINBEISPIELDIESISTKEINVALIDESXML00" } } ], "extension": [ { "url": "http://example.org/StructureDefinition/signatur", "valueSignature": { "type": [ { "code": "1.2.840.10065.1.12.1.1", "system": "urn:iso-astm:E1762-95:2013", "display": "Author's Signature" } ], "when": "02/07/2015 11:28:17", "who": { "display": "Arzt" } } } ] } }, { "name": "anhang", "resource": { "resourceType": "DocumentReference", "id": "BeispielDocumentReferenceSonstigesDokument3-LE", "status": "current", "type": { "coding": [ { "code": "PT130102", "system": "http://dvmd.de/fhir/CodeSystem/kdl", "display": "Molekularpathologiebefund" } ] }, "description": "Molekularpathologiebefund vom 31.12.21", "subject": { "reference": "Patient/BeispielPatient3-FD" }, "content": [ { "attachment": { "contentType": "application/pdf", "data": "DIESISTNUREINBEISPIELDIESISTKEINVALIDESPDF00" } } ] } } ] }
Antwort des Fachdienstes im Erfolgsfall:
Rückgabe von Rechung und Anhang jeweils mit aufgebrachtem Token und separiertem Inhalt. Bei Verwendung des Parameters "returnTokenPDF" werden die Binaries mit den PDF/A-Dokumenten (incl. Token-Barcode) als Parameter direkt mit ausgegeben.
HTTP 200 OK
mit Body:
Parameters |
id : BeispielParameterSubmitOutput3-FD |
parameter |
name : rechnung |
resource |
id : BeispielDocumentReferenceRechnung3-FD |
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 |
relatesTo |
code : transforms |
target |
reference : DocumentReference/BeispielDocumentReferenceRechnung3-LE |
description : Rechnung Reiseimpfung vom 10.01.2024 |
content |
attachment |
contentType : application/pdf |
url : [FD-endpunkt]/Binary/pdf-mit-token-barcode |
content |
attachment |
contentType : application/xml |
url : [FD-endpunkt]/Binary/xrechnung |
format |
code : xrechnung |
content |
attachment |
contentType : application/fhir+xml |
url : [FD-endpunkt]/Binary/invoice |
format |
code : gematik-erechnung |
parameter |
name : anhang |
resource |
id : BeispielDocumentReferenceSonstigesDokument3-FD |
identifier |
system : https://gematik.de/fhir/sid/erg-token |
value : 987-654-321 |
status : current |
type |
coding |
system : http://dvmd.de/fhir/CodeSystem/kdl |
code : PT130102 |
display : Molekularpathologiebefund |
subject |
reference : Patient/BeispielPatient3-FD |
relatesTo |
code : transforms |
target |
reference : DocumentReference/BeispielDocumentReferenceSonstigesDokument3-LE |
description : Molekularpathologiebefund vom 31.12.21 |
content |
attachment |
contentType : application/pdf |
url : [FD-endpunkt]/Binary/patho-mit-token-barcode |
<Parameters xmlns="http://hl7.org/fhir"> <id value="BeispielParameterSubmitOutput3-FD" /> <parameter> <name value="rechnung" /> <resource> <DocumentReference> <id value="BeispielDocumentReferenceRechnung3-FD" /> <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> <relatesTo> <code value="transforms" /> <target> <reference value="DocumentReference/BeispielDocumentReferenceRechnung3-LE" /> </target> </relatesTo> <description value="Rechnung Reiseimpfung vom 10.01.2024" /> <content> <attachment> <contentType value="application/pdf" /> <url value="[FD-endpunkt]/Binary/pdf-mit-token-barcode" /> </attachment> </content> <content> <attachment> <contentType value="application/xml" /> <url value="[FD-endpunkt]/Binary/xrechnung" /> </attachment> <format> <code value="xrechnung" /> </format> </content> <content> <attachment> <contentType value="application/fhir+xml" /> <url value="[FD-endpunkt]/Binary/invoice" /> </attachment> <format> <code value="gematik-erechnung" /> </format> </content> </DocumentReference> </resource> </parameter> <parameter> <name value="anhang" /> <resource> <DocumentReference> <id value="BeispielDocumentReferenceSonstigesDokument3-FD" /> <identifier> <system value="https://gematik.de/fhir/sid/erg-token" /> <value value="987-654-321" /> </identifier> <status value="current" /> <type> <coding> <system value="http://dvmd.de/fhir/CodeSystem/kdl" /> <code value="PT130102" /> <display value="Molekularpathologiebefund" /> </coding> </type> <subject> <reference value="Patient/BeispielPatient3-FD" /> </subject> <relatesTo> <code value="transforms" /> <target> <reference value="DocumentReference/BeispielDocumentReferenceSonstigesDokument3-LE" /> </target> </relatesTo> <description value="Molekularpathologiebefund vom 31.12.21" /> <content> <attachment> <contentType value="application/pdf" /> <url value="[FD-endpunkt]/Binary/patho-mit-token-barcode" /> </attachment> </content> </DocumentReference> </resource> </parameter> </Parameters>
{ "resourceType": "Parameters", "id": "BeispielParameterSubmitOutput3-FD", "parameter": [ { "name": "rechnung", "resource": { "resourceType": "DocumentReference", "id": "BeispielDocumentReferenceRechnung3-FD", "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": [ { "attachment": { "contentType": "application/pdf", "url": "[FD-endpunkt]/Binary/pdf-mit-token-barcode" } }, { "format": { "code": "xrechnung" }, "attachment": { "contentType": "application/xml", "url": "[FD-endpunkt]/Binary/xrechnung" } }, { "format": { "code": "gematik-erechnung" }, "attachment": { "contentType": "application/fhir+xml", "url": "[FD-endpunkt]/Binary/invoice" } } ], "relatesTo": [ { "code": "transforms", "target": { "reference": "DocumentReference/BeispielDocumentReferenceRechnung3-LE" } } ] } }, { "name": "anhang", "resource": { "resourceType": "DocumentReference", "id": "BeispielDocumentReferenceSonstigesDokument3-FD", "identifier": [ { "system": "https://gematik.de/fhir/sid/erg-token", "value": "987-654-321" } ], "status": "current", "type": { "coding": [ { "code": "PT130102", "system": "http://dvmd.de/fhir/CodeSystem/kdl", "display": "Molekularpathologiebefund" } ] }, "description": "Molekularpathologiebefund vom 31.12.21", "subject": { "reference": "Patient/BeispielPatient3-FD" }, "content": [ { "attachment": { "contentType": "application/pdf", "url": "[FD-endpunkt]/Binary/patho-mit-token-barcode" } } ], "relatesTo": [ { "code": "transforms", "target": { "reference": "DocumentReference/BeispielDocumentReferenceSonstigesDokument3-LE" } } ] } } ] }
Verarbeitungsschritte im FD
Bei der Entgegennahme der Dokumente MÜSSEN durch den FD die nachfolgenden Schritte durchgeführt werden. Es ist zu beachten, dass dies asynchron durchgeführt werden kann durch den FD. Lediglich MUSS der FD sicherstellen, dass dieser Prozess vor dem Abruf der Dokumente durch das eRg FdV oder dem RE-PS abgearbeitet wurde.
DocumentReference.attachment.data
muss aus der übermittelten DocumentReference herausgelöst werden. Der Inhalt MUSS in einer durch den FD neu angelegten Binary-Ressource gespeichert werden. Die Binary-Ressource MUSS unterattachment.url
mit einer absoluten URL referenziert werden.DocumentReference.attachment.data
ist anschließend zu löschen. Dies gilt für alle durch den Client übermittelte Dokumente.Die originale Rechnung (
DocumentReference.type = IHEXDStypeCode#ABRE
) MUSS angereichert werden mit den strukturierten Rechnungsinhalten. Der FD MUSS die Inhalte strukturiert im FHIR-Format innerhalb eines PDF/A einbetten.Das neu erzeugte PDF/A muss als Binary nach den Vorgaben von
DocumentReference.content:angereicherteRechnung
aus dem oben aufgeführten Profil hinterlegt werden.Für jedes PDF/A-Dokument MUSS der FD ein Token unter Einhaltung einer ausreichenden Entropie erstellen. Der FD MUSS zusätzlich einen Barcode auf dem Rechnungs- oder Anhangdokument unterbringen welcher das Dokumententoken kodiert enthält. Die Lesbarkeit der Inhalte des Dokumtes darf hierdurch nicht eingeschränkt werden. Die Zugehörigkeit eines Tokens zu einem Dokument MUSS gespeichert werden, um den Abruf eines Dokumentes mit diesem Token zu ermöglichen.
DocumentReference.context.related
MUSS durch den FD auf die ID des ermittelten Rechnungsempfängers gesetzt werden.DocumentReference.author.identifier
MUSS durch den FD auf die im Access-Token enthaltene Telematik-ID gesetzt werden. Durch den Client übermittelte Angaben in DocumentReference.author sind zu überschreiben.Hinweis: In der FHIR-Repräsentation erfolgt keine Differenzierung zwischen dem Datenobjekt für die Rechnungsdokumente und dem Rechnungsworkflow. Der Workflowstatus wird somit innerhalb der DocumentReference abgebildet.
DocumentReference.meta.tag:erg-rechnungsstatus
MUSS durch den FD auf "Offen" gesetzt werden beim Empfang der Rechnung.
Hinweise zur Abbildung des Workflow-Objektes (fachliches Datenmodell)
Im fachlichen Datenmodell des Feature-Dokuments E-Rechnung ist dargestellt, dass jede Rechnung,sowie jedes ergänzende Dokument mit einem Rechnungsworkflow-Objekt verbunden ist. Dieses Workflow-Objekt bündelt das Rechnungsdokument sowie die Anhänge zusammen und gibt diesen Dokumenten einen gemeinsamen Status. Zur Vereinfachung der Implementierung seitens des FD und des eRg FDV wird in der FHIR-Repräsentation kein weiteres Datenobjekt hierfür verwendet. Hingegen enthält das Profil 'ERGDokumentenmetadaten' eine Extension 'erg-rechnungsstatus' für diesen Zweck. Der Status zusammenhängender Dokumente MUSS stets synchron gehalten werden. Diese Extension gilt für das Rechnungsdokument sowie alle Anhänge, die innerhalb einer Submit-Operation im gleichen Kontext übermittelt worden sind wie die Rechnung. Der FD MUSS den Zusammenhang zwischen diesen Dokumenten in der Verarbeitungslogik vorhalten.
Beispiele
Beispiel: Rechnungsdokument nach Verarbeitung auf Server
DocumentReference |
id : BeispielDocumentReferenceRechnung3-FD |
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 |
relatesTo |
code : transforms |
target |
reference : DocumentReference/BeispielDocumentReferenceRechnung3-LE |
description : Rechnung Reiseimpfung vom 10.01.2024 |
content |
attachment |
contentType : application/pdf |
url : [FD-endpunkt]/Binary/pdf-mit-token-barcode |
content |
attachment |
contentType : application/xml |
url : [FD-endpunkt]/Binary/xrechnung |
format |
code : xrechnung |
content |
attachment |
contentType : application/fhir+xml |
url : [FD-endpunkt]/Binary/invoice |
format |
code : gematik-erechnung |
<DocumentReference xmlns="http://hl7.org/fhir"> <id value="BeispielDocumentReferenceRechnung3-FD" /> <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> <relatesTo> <code value="transforms" /> <target> <reference value="DocumentReference/BeispielDocumentReferenceRechnung3-LE" /> </target> </relatesTo> <description value="Rechnung Reiseimpfung vom 10.01.2024" /> <content> <attachment> <contentType value="application/pdf" /> <url value="[FD-endpunkt]/Binary/pdf-mit-token-barcode" /> </attachment> </content> <content> <attachment> <contentType value="application/xml" /> <url value="[FD-endpunkt]/Binary/xrechnung" /> </attachment> <format> <code value="xrechnung" /> </format> </content> <content> <attachment> <contentType value="application/fhir+xml" /> <url value="[FD-endpunkt]/Binary/invoice" /> </attachment> <format> <code value="gematik-erechnung" /> </format> </content> </DocumentReference>
{ "resourceType": "DocumentReference", "id": "BeispielDocumentReferenceRechnung3-FD", "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": [ { "attachment": { "contentType": "application/pdf", "url": "[FD-endpunkt]/Binary/pdf-mit-token-barcode" } }, { "format": { "code": "xrechnung" }, "attachment": { "contentType": "application/xml", "url": "[FD-endpunkt]/Binary/xrechnung" } }, { "format": { "code": "gematik-erechnung" }, "attachment": { "contentType": "application/fhir+xml", "url": "[FD-endpunkt]/Binary/invoice" } } ], "relatesTo": [ { "code": "transforms", "target": { "reference": "DocumentReference/BeispielDocumentReferenceRechnung3-LE" } } ] }
Beispiel: sonstiges Dokument nach Verarbeitung auf Server
DocumentReference |
id : BeispielDocumentReferenceSonstigesDokument3-FD |
identifier |
system : https://gematik.de/fhir/sid/erg-token |
value : 987-654-321 |
status : current |
type |
coding |
system : http://dvmd.de/fhir/CodeSystem/kdl |
code : PT130102 |
display : Molekularpathologiebefund |
subject |
reference : Patient/BeispielPatient3-FD |
relatesTo |
code : transforms |
target |
reference : DocumentReference/BeispielDocumentReferenceSonstigesDokument3-LE |
description : Molekularpathologiebefund vom 31.12.21 |
content |
attachment |
contentType : application/pdf |
url : [FD-endpunkt]/Binary/patho-mit-token-barcode |
<DocumentReference xmlns="http://hl7.org/fhir"> <id value="BeispielDocumentReferenceSonstigesDokument3-FD" /> <identifier> <system value="https://gematik.de/fhir/sid/erg-token" /> <value value="987-654-321" /> </identifier> <status value="current" /> <type> <coding> <system value="http://dvmd.de/fhir/CodeSystem/kdl" /> <code value="PT130102" /> <display value="Molekularpathologiebefund" /> </coding> </type> <subject> <reference value="Patient/BeispielPatient3-FD" /> </subject> <relatesTo> <code value="transforms" /> <target> <reference value="DocumentReference/BeispielDocumentReferenceSonstigesDokument3-LE" /> </target> </relatesTo> <description value="Molekularpathologiebefund vom 31.12.21" /> <content> <attachment> <contentType value="application/pdf" /> <url value="[FD-endpunkt]/Binary/patho-mit-token-barcode" /> </attachment> </content> </DocumentReference>
{ "resourceType": "DocumentReference", "id": "BeispielDocumentReferenceSonstigesDokument3-FD", "identifier": [ { "system": "https://gematik.de/fhir/sid/erg-token", "value": "987-654-321" } ], "status": "current", "type": { "coding": [ { "code": "PT130102", "system": "http://dvmd.de/fhir/CodeSystem/kdl", "display": "Molekularpathologiebefund" } ] }, "description": "Molekularpathologiebefund vom 31.12.21", "subject": { "reference": "Patient/BeispielPatient3-FD" }, "content": [ { "attachment": { "contentType": "application/pdf", "url": "[FD-endpunkt]/Binary/patho-mit-token-barcode" } } ], "relatesTo": [ { "code": "transforms", "target": { "reference": "DocumentReference/BeispielDocumentReferenceSonstigesDokument3-LE" } } ] }
R2: Rechnung validieren/einreichen (Bulk)
Die nachfolgende Interaktion ist relevant für den FD als Server, sowie für das RE-PS als Client. Anwendungsfall AF_10136 MUSS durch den FD über die spezifizierte API umgesetzt werden. Die Vorgaben aus "Tabelle 15: Use Case Rechnung mit Dokumenten validieren und versenden" des Feature-Dokumentes MÜSSEN eingehalten werden durch den FD.
HTTP-Methode | POST |
Endpunkt | /Patient/[id-des-ermittelten-Rechnungsempfängers] |
Die Input- und Output-Parameter werden durch die OperationDefinition https://gematik.de/fhir/erg/OperationDefinition/Submit
beschrieben. Die ID des Rechnungsempfängers ist zuvor per R0: Abfrage des Rechnungsempfängers und dessen Einwilligung zum Rechnungsversand zu ermitteln.
Invocations
URL: [base]/Patient/[id]/$erechnung-submit
This operation changes content
Parameters (In)
Name | Cardinality | Type | Binding | Documentation |
rechnung | 1..1 | DocumentReference | Vollständige E-Rechnung mit verschiedenen Attachments: 1) Rechnungs-PDF 2) Strukturierte Daten OHNE Signatur. | |
anhang | 0..* | DocumentReference | Weitere Anhänge zur E-Rechnung als PDF. | |
modus | 0..1 | code | ERGRechnungSubmitModusVS (required) | Verarbeitungshinweis für die E-Rechnung. Default: normal. |
angereichertesPDF | 0..1 | boolean | Indikation ob nur das durch den FD erstellte Dokumententoken zurückgegeben werden soll oder das gesamte PDF inkl. Dokumententoken. Default: false. |
Return Values (Out)
Name | Cardinality | Type | Documentation |
token | 0..* | Token(s) zur eineindeutigen Identifizierung der Rechnungsdokumente/-anhänge (unabhängig von returnTokenPDF). Dieser Parameter ist NUR optional falls modus = 'test'. | |
token.id | 1..1 | id | Randomisiertes Token zur Identifikation eines Dokumentes. |
token.docRef | 1..1 | Identifier | Eindeutiger Identifikatior der Rechnung und Anhänge auf welche sich das Token bezieht. |
token.angereichertesPDF | 0..1 | Binary | PDF mit eingebetteten Token und strukturierten Daten, in Abhängigkeit vom angereichertesPDF-Parameter. Vgl. 4.1 Einreichung per Post des Feature-Dokumentes E-Rechnung. |
warnungen | 0..1 | OperationOutcome | Warnhinweise und Fehlern zur Validierung der E-Rechnung. Diese MÜSSEN in jedem Verarbeitungsmodus ausgegeben werden. |
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 |
Gravierende Fehler treten während der Validierung auf - Mode = 'normal' | 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 Postfach zu verwenden | 404 - Not Found In diesem Fall: OperationOutcome mit Hinweis, dass Einwilligung nicht vorliegt oder Benutzer nicht vorhanden ist |
Andere HTTP-Methode wird verwendet | 405 - Method Not Allowed |
Dokumentenvalidierung
Der FD muss die syntaktischen und semantischen Prüfungen der Rechnung durchführen welche in AF_10136 unter 'Ablauf' beschrieben sind. Bei der Verarbeitung einer Rechnungen mit einer bereits im FD bekannten Signatur MUSS eine Validierungswarnung durch den FD herausgegeben werden. Zudem MÜSSEN die übermittelten Dokumente ein valides PDF/A sein. Andernfalls ist der Request mit 400 - Bad Request
abzulehnen.
Signatur
Die Signatur wird durch den FD über die Konkatenation aller Base64-kodierten Inhalte der Rechnung (d.h. Rechnungrepräsentation in PDF/A-Form und den strukturierten Rechnungsinhalten) gebildet werden, in der Reihenfolge:
- Attachment mit contentType = application/pdf
- Attachment mit contentType = application/fhir+xml
- Attachment mit contentType = application/fhir+json
Weitere Details zur Signatur, siehe TODO.
Rechnungsrepräsentation
Die DocumentReference-Ressourcen welche über die Parameter rechnung
und anhang
übermittelt werden MÜSSEN dem Profil https://gematik.de/fhir/StructureDefinition/erg-dokumentenmetadaten
entsprechen.
Canonical | Status | Version | Basis |
---|---|---|---|
https://gematik.de/fhir/erg/StructureDefinition/erg-dokumentenmetadaten | active | 1.1.0-RC1 | http://hl7.org/fhir/StructureDefinition/DocumentReference |
ERGDokumentenmetadaten (DocumentReference) | I | DocumentReference | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
id | 0..1 | string | |
extension | S I | 0..* | Extension |
markierung | S I | 0..* | Extension(Complex) |
versionId | Σ | 0..1 | id |
lastUpdated | Σ | 0..1 | instant |
source | Σ | 0..1 | uri |
profile | Σ | 0..* | canonical(StructureDefinition) |
security | Σ | 0..* | CodingBinding |
tag | S Σ | 0..* | Coding |
erg-rechnungsstatus | S Σ | 0..1 | CodingBinding |
id | 0..1 | string | |
extension | I | 0..* | Extension |
system | S Σ | 1..1 | uri |
version | Σ | 0..1 | string |
code | S Σ | 1..1 | code |
display | Σ | 0..1 | string |
userSelected | Σ | 0..1 | boolean |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | S I | 0..* | Extension |
docRef-signature | S I | 0..1 | Extension(Signature) |
rechnungsdatum | S I | 0..1 | Extension(dateTime) |
zahlungszieldatum | S I | 0..1 | Extension(dateTime) |
gesamtbetrag | S I | 0..1 | Extension(Money) |
fachrichtung | S I | 0..1 | Extension(Coding) |
leistungsart | S I | 0..1 | Extension(Coding) |
behandlungsart | S I | 0..1 | Extension(Coding) |
modifierExtension | ?! I | 0..* | Extension |
masterIdentifier | Σ | 0..1 | Identifier |
identifier | S Σ | 1..* | Identifier |
id | 0..1 | string | |
extension | I | 0..* | Extension |
use | Σ ?! | 0..1 | codeBinding |
type | Σ | 0..1 | CodeableConceptBinding |
system | S Σ | 1..1 | uri |
value | S Σ | 1..1 | string |
period | Σ | 0..1 | Period |
assigner | Σ | 0..1 | Reference(Organization) |
status | S Σ ?! | 1..1 | codeBindingPattern |
docStatus | Σ | 0..1 | codeBinding |
type | S Σ | 1..1 | CodeableConceptBinding |
id | 0..1 | string | |
extension | I | 0..* | Extension |
coding | Σ | 1..* | Coding |
DokumentenKlassifizierung | S Σ | 0..1 | CodingBindingPattern |
id | 0..1 | string | |
extension | I | 0..* | Extension |
system | S Σ | 1..1 | uriPattern |
version | Σ | 0..1 | string |
code | S Σ | 1..1 | code |
display | S Σ | 1..1 | string |
userSelected | Σ | 0..1 | boolean |
Rechnungstyp | S Σ | 0..1 | CodingPattern |
text | Σ | 0..1 | string |
category | Σ | 0..* | CodeableConcept |
subject | S Σ | 1..1 | Reference(Patient | Practitioner | Group | Device) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
reference | Σ I | 0..1 | string |
type | Σ | 0..1 | uriBinding |
identifier | Σ | 0..1 | Identifier |
display | S Σ | 1..1 | string |
date | Σ | 0..1 | instant |
author | S Σ | 0..* | Reference(Practitioner | PractitionerRole | Organization | Device | Patient | RelatedPerson) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
reference | Σ I | 0..1 | string |
type | Σ | 0..1 | uriBinding |
identifier | S Σ | 1..1 | IdentifierTelematikId |
display | S Σ | 1..1 | string |
authenticator | 0..1 | Reference(Practitioner | PractitionerRole | Organization) | |
custodian | 0..1 | Reference(Organization) | |
relatesTo | Σ | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
code | Σ | 1..1 | codeBinding |
target | Σ | 1..1 | Reference(DocumentReference) |
description | S Σ | 1..1 | string |
securityLabel | Σ | 0..* | CodeableConceptBinding |
content | S Σ | 1..* | BackboneElement |
(All Slices) | |||
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
attachment | Σ | 1..1 | Attachment |
id | 0..1 | string | |
extension | I | 0..* | Extension |
contentType | Σ | 0..1 | codeBinding |
language | Σ | 0..1 | codeBinding |
data | 0..1 | base64Binary | |
url | Σ | 0..1 | url |
size | Σ | 0..1 | unsignedInt |
hash | Σ | 0..1 | base64Binary |
title | Σ | 0..1 | string |
creation | Σ | 0..1 | dateTime |
format | Σ | 0..1 | CodingBinding |
rechnungspdf | S Σ | 0..1 | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
attachment | S Σ | 1..1 | Attachment |
id | 0..1 | string | |
extension | I | 0..* | Extension |
contentType | S Σ | 1..1 | codeBindingPattern |
language | Σ | 0..1 | codeBinding |
data | S | 1..1 | base64Binary |
url | S Σ | 0..1 | url |
size | Σ | 0..1 | unsignedInt |
hash | Σ | 0..1 | base64Binary |
title | Σ | 0..1 | string |
creation | Σ | 0..1 | dateTime |
format | S Σ | 1..1 | CodingBindingPattern |
angereicherteRechnung | S Σ | 0..1 | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
attachment | S Σ | 1..1 | Attachment |
id | 0..1 | string | |
extension | I | 0..* | Extension |
contentType | S Σ | 1..1 | codeBindingPattern |
language | Σ | 0..1 | codeBinding |
data | 0..0 | base64Binary | |
url | S Σ | 0..1 | url |
size | Σ | 0..1 | unsignedInt |
hash | Σ | 0..1 | base64Binary |
title | Σ | 0..1 | string |
creation | Σ | 0..1 | dateTime |
format | S Σ | 1..1 | CodingBindingPattern |
strukturierterRechnungsinhalt | S Σ | 0..1 | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
attachment | S Σ | 1..1 | Attachment |
id | 0..1 | string | |
extension | I | 0..* | Extension |
contentType | S Σ | 1..1 | codeBinding |
language | Σ | 0..1 | codeBinding |
data | S | 1..1 | base64Binary |
url | S Σ | 0..1 | url |
size | Σ | 0..1 | unsignedInt |
hash | Σ | 0..1 | base64Binary |
title | Σ | 0..1 | string |
creation | Σ | 0..1 | dateTime |
format | S Σ | 1..1 | CodingBindingPattern |
anhang | S Σ | 0..1 | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
attachment | S Σ | 1..1 | Attachment |
id | 0..1 | string | |
extension | I | 0..* | Extension |
contentType | S Σ | 1..1 | codeBindingPattern |
language | Σ | 0..1 | codeBinding |
data | S | 1..1 | base64Binary |
url | S Σ | 0..1 | url |
size | Σ | 0..1 | unsignedInt |
hash | Σ | 0..1 | base64Binary |
title | Σ | 0..1 | string |
creation | Σ | 0..1 | dateTime |
format | S Σ | 1..1 | CodingBindingPattern |
context | S Σ | 0..1 | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
encounter | 0..* | Reference(Encounter | EpisodeOfCare) | |
event | 0..* | CodeableConcept | |
period | Σ | 0..1 | Period |
facilityType | 0..1 | CodeableConcept | |
practiceSetting | 0..1 | CodeableConcept | |
sourcePatientInfo | 0..1 | Reference(Patient) | |
related | S | 1..* | Reference(Resource) |
patient | S | 1..1 | Reference(Patient) |
anhaenge | S | 0..* | Reference(DocumentReference) |
Folgende Implementierungshinweise sind zu beachten:
DocumentReference.meta.extension:markierung | Vgl. Abschnitt '4.4.2 Markierungen' des Feature-Dokuments E-Rechnung |
DocumentReference.meta.tag | Metaangaben zur E-Rechnung die sich auf das Rechnungsdokument als Ganzes beziehen und nicht Teil des durch den RE-PS erstellten Dokuments sind. |
DocumentReference.meta.tag:erg-rechnungsstatus | Vgl. Abschnitt 4.4.1 Workflow einer Rechnung des Feature-Dokuments E-Rechnung |
DocumentReference.extension:rechnungsdatum | Siehe Abschnitt '4.8.1.1 Rechnung' des Feature-Dokuments E-Rechnung |
DocumentReference.extension:zahlungszieldatum | Siehe Abschnitt '4.8.1.1 Rechnung' des Feature-Dokuments E-Rechnung |
DocumentReference.extension:gesamtbetrag | Siehe Abschnitt '4.8.1.1 Rechnung' des Feature-Dokuments E-Rechnung |
DocumentReference.identifier | Eindeutiger Identifikator vergeben durch das RE-PS (z.B. Interne Dokumentennummer). Das System MUSS eindeutig pro Leistungserbringer:in vergeben werden. |
DocumentReference.status | Versionierung von Dokumenten ist nicht unterstützt. Nur jeweils die aktuelle Version des Dokumentes wird akzeptiert. |
DocumentReference.type | Kodierung des Dokumentes als 'Rechnung', sowie darüber hinausgehende Klassifizierung per KDL |
DocumentReference.subject | Vollständiger Name der behandelten Person. Siehe Abschnitt '4.8.1.1 Rechnung' des Feature-Dokuments E-Rechnung. |
DocumentReference.author | Der Fachdienst verknüpft alle Rechnungsdokumente mit der Telematik-ID des einreichenden Akteurs. |
DocumentReference.description | Menschenlesbarer Titel des Dokumentes, der dem Versicherten in der UI angezeigt wird. Der Titel kann manuell erfasst oder vom Dateinamen/Metadaten abgeleitet werden. z.B. "Laborbefund vom 28.9.2023". |
DocumentReference.content.attachment.url | Der FD muss die Base64-kodierten Daten aus attachment.data extrahieren und in eine Binary-Ressource auslagern. |
DocumentReference.content:rechnungspdf.attachment.contentType | Zum Zeitpunkt der Veröffentlichung werden nur PDF-Dokumente als Rechnung seitens der Leistungserbringer:in unterstützt. |
DocumentReference.content:rechnungspdf.attachment.data | Base64-kodiertes PDF. Dieses Feld muss durch die Applikation der Leistungserbringer:in gefüllt werden. |
DocumentReference.content:angereicherteRechnung.attachment.contentType | Zum Zeitpunkt der Veröffentlichung werden nur PDF-Dokumente als Rechnung seitens der Leistungserbringer:in unterstützt. |
DocumentReference.content:angereicherteRechnung.attachment.data | Die angereicherte Rechnung wird durch den FD direkt als Binary-Ressource unter attachment.url referenziert. |
DocumentReference.content:strukturierterRechnungsinhalt.attachment.contentType | Strukturierte Rechnungsinhalte können seitens der Leistungserbringer:in sowohl als JSON als auch XML übergeben werden. |
DocumentReference.content:strukturierterRechnungsinhalt.attachment.data | Base64-kodierte Repräsentation der Rechnungsinhalte. Dieses Feld muss durch die Applikation der Leistungserbringer:in gefüllt werden. |
DocumentReference.content:anhang.attachment.contentType | Zum Zeitpunkt der Veröffentlichung werden nur PDF-Dokumente als Rechnungsanhänge seitens der Leistungserbringer:in unterstützt. |
DocumentReference.content:anhang.attachment.data | Base64-kodiertes PDF. Dieses Feld muss durch die Applikation der Leistungserbringer:in gefüllt werden. |
DocumentReference.context.related | Der Fachdienst verknüpft alle Rechnungsdokumente mit der Rechnungsempfänger:in. |
Beispiele
DocumentReference |
id : BeispielDocumentReferenceRechnung3-LE |
extension |
url : http://example.org/StructureDefinition/signatur |
value |
type |
system : urn:iso-astm:E1762-95:2013 |
code : 1.2.840.10065.1.12.1.1 |
display : Author's Signature |
when : 2015-02-07T13:28:17.239+02:00 |
who |
display : Arzt |
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/pdf |
data : DIESISTNUREINBEISPIELDIESISTKEINVALIDESPDF00 |
content |
attachment |
contentType : application/xml |
data : DIESISTNUREINBEISPIELDIESISTKEINVALIDESXML00 |
format |
code : xrechnung |
content |
attachment |
contentType : application/fhir+xml |
data : DIESISTNUREINBEISPIELDIESISTKEINVALIDESXML00 |
format |
code : gematik-erechnung |
<DocumentReference xmlns="http://hl7.org/fhir"> <id value="BeispielDocumentReferenceRechnung3-LE" /> <extension url="http://example.org/StructureDefinition/signatur"> <valueSignature> <type> <system value="urn:iso-astm:E1762-95:2013" /> <code value="1.2.840.10065.1.12.1.1" /> <display value="Author's Signature" /> </type> <when value="2015-02-07T13:28:17.239+02:00" /> <who> <display value="Arzt" /> </who> </valueSignature> </extension> <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/pdf" /> <data value="DIESISTNUREINBEISPIELDIESISTKEINVALIDESPDF00" /> </attachment> </content> <content> <attachment> <contentType value="application/xml" /> <data value="DIESISTNUREINBEISPIELDIESISTKEINVALIDESXML00" /> </attachment> <format> <code value="xrechnung" /> </format> </content> <content> <attachment> <contentType value="application/fhir+xml" /> <data value="DIESISTNUREINBEISPIELDIESISTKEINVALIDESXML00" /> </attachment> <format> <code value="gematik-erechnung" /> </format> </content> </DocumentReference>
{ "resourceType": "DocumentReference", "id": "BeispielDocumentReferenceRechnung3-LE", "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": [ { "attachment": { "contentType": "application/pdf", "data": "DIESISTNUREINBEISPIELDIESISTKEINVALIDESPDF00" } }, { "format": { "code": "xrechnung" }, "attachment": { "contentType": "application/xml", "data": "DIESISTNUREINBEISPIELDIESISTKEINVALIDESXML00" } }, { "format": { "code": "gematik-erechnung" }, "attachment": { "contentType": "application/fhir+xml", "data": "DIESISTNUREINBEISPIELDIESISTKEINVALIDESXML00" } } ], "extension": [ { "url": "http://example.org/StructureDefinition/signatur", "valueSignature": { "type": [ { "code": "1.2.840.10065.1.12.1.1", "system": "urn:iso-astm:E1762-95:2013", "display": "Author's Signature" } ], "when": "02/07/2015 11:28:17", "who": { "display": "Arzt" } } } ] }
HTTP POST [fachdienst-endpunkt]/Patient/[id-des-ermittelten-Rechnungsempfängers]/$submit
Parameters |
id : BeispielParameterSubmitInput3-LE |
parameter |
name : rechnung |
resource |
id : BeispielDocumentReferenceRechnung3-LE |
extension |
url : http://example.org/StructureDefinition/signatur |
value |
type |
system : urn:iso-astm:E1762-95:2013 |
code : 1.2.840.10065.1.12.1.1 |
display : Author's Signature |
when : 2015-02-07T13:28:17.239+02:00 |
who |
display : Arzt |
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/pdf |
data : DIESISTNUREINBEISPIELDIESISTKEINVALIDESPDF00 |
content |
attachment |
contentType : application/xml |
data : DIESISTNUREINBEISPIELDIESISTKEINVALIDESXML00 |
format |
code : xrechnung |
content |
attachment |
contentType : application/fhir+xml |
data : DIESISTNUREINBEISPIELDIESISTKEINVALIDESXML00 |
format |
code : gematik-erechnung |
parameter |
name : anhang |
resource |
id : BeispielDocumentReferenceSonstigesDokument3-LE |
status : current |
type |
coding |
system : http://dvmd.de/fhir/CodeSystem/kdl |
code : PT130102 |
display : Molekularpathologiebefund |
subject |
reference : Patient/BeispielPatient3-FD |
description : Molekularpathologiebefund vom 31.12.21 |
content |
attachment |
contentType : application/pdf |
data : DIESISTNUREINBEISPIELDIESISTKEINVALIDESPDF00 |
<Parameters xmlns="http://hl7.org/fhir"> <id value="BeispielParameterSubmitInput3-LE" /> <parameter> <name value="rechnung" /> <resource> <DocumentReference> <id value="BeispielDocumentReferenceRechnung3-LE" /> <extension url="http://example.org/StructureDefinition/signatur"> <valueSignature> <type> <system value="urn:iso-astm:E1762-95:2013" /> <code value="1.2.840.10065.1.12.1.1" /> <display value="Author's Signature" /> </type> <when value="2015-02-07T13:28:17.239+02:00" /> <who> <display value="Arzt" /> </who> </valueSignature> </extension> <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/pdf" /> <data value="DIESISTNUREINBEISPIELDIESISTKEINVALIDESPDF00" /> </attachment> </content> <content> <attachment> <contentType value="application/xml" /> <data value="DIESISTNUREINBEISPIELDIESISTKEINVALIDESXML00" /> </attachment> <format> <code value="xrechnung" /> </format> </content> <content> <attachment> <contentType value="application/fhir+xml" /> <data value="DIESISTNUREINBEISPIELDIESISTKEINVALIDESXML00" /> </attachment> <format> <code value="gematik-erechnung" /> </format> </content> </DocumentReference> </resource> </parameter> <parameter> <name value="anhang" /> <resource> <DocumentReference> <id value="BeispielDocumentReferenceSonstigesDokument3-LE" /> <status value="current" /> <type> <coding> <system value="http://dvmd.de/fhir/CodeSystem/kdl" /> <code value="PT130102" /> <display value="Molekularpathologiebefund" /> </coding> </type> <subject> <reference value="Patient/BeispielPatient3-FD" /> </subject> <description value="Molekularpathologiebefund vom 31.12.21" /> <content> <attachment> <contentType value="application/pdf" /> <data value="DIESISTNUREINBEISPIELDIESISTKEINVALIDESPDF00" /> </attachment> </content> </DocumentReference> </resource> </parameter> </Parameters>
{ "resourceType": "Parameters", "id": "BeispielParameterSubmitInput3-LE", "parameter": [ { "name": "rechnung", "resource": { "resourceType": "DocumentReference", "id": "BeispielDocumentReferenceRechnung3-LE", "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": [ { "attachment": { "contentType": "application/pdf", "data": "DIESISTNUREINBEISPIELDIESISTKEINVALIDESPDF00" } }, { "format": { "code": "xrechnung" }, "attachment": { "contentType": "application/xml", "data": "DIESISTNUREINBEISPIELDIESISTKEINVALIDESXML00" } }, { "format": { "code": "gematik-erechnung" }, "attachment": { "contentType": "application/fhir+xml", "data": "DIESISTNUREINBEISPIELDIESISTKEINVALIDESXML00" } } ], "extension": [ { "url": "http://example.org/StructureDefinition/signatur", "valueSignature": { "type": [ { "code": "1.2.840.10065.1.12.1.1", "system": "urn:iso-astm:E1762-95:2013", "display": "Author's Signature" } ], "when": "02/07/2015 11:28:17", "who": { "display": "Arzt" } } } ] } }, { "name": "anhang", "resource": { "resourceType": "DocumentReference", "id": "BeispielDocumentReferenceSonstigesDokument3-LE", "status": "current", "type": { "coding": [ { "code": "PT130102", "system": "http://dvmd.de/fhir/CodeSystem/kdl", "display": "Molekularpathologiebefund" } ] }, "description": "Molekularpathologiebefund vom 31.12.21", "subject": { "reference": "Patient/BeispielPatient3-FD" }, "content": [ { "attachment": { "contentType": "application/pdf", "data": "DIESISTNUREINBEISPIELDIESISTKEINVALIDESPDF00" } } ] } } ] }
Antwort des Fachdienstes im Erfolgsfall:
Rückgabe von Rechung und Anhang jeweils mit aufgebrachtem Token und separiertem Inhalt. Bei Verwendung des Parameters "returnTokenPDF" werden die Binaries mit den PDF/A-Dokumenten (incl. Token-Barcode) als Parameter direkt mit ausgegeben.
HTTP 200 OK
mit Body:
Parameters |
id : BeispielParameterSubmitOutput3-FD |
parameter |
name : rechnung |
resource |
id : BeispielDocumentReferenceRechnung3-FD |
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 |
relatesTo |
code : transforms |
target |
reference : DocumentReference/BeispielDocumentReferenceRechnung3-LE |
description : Rechnung Reiseimpfung vom 10.01.2024 |
content |
attachment |
contentType : application/pdf |
url : [FD-endpunkt]/Binary/pdf-mit-token-barcode |
content |
attachment |
contentType : application/xml |
url : [FD-endpunkt]/Binary/xrechnung |
format |
code : xrechnung |
content |
attachment |
contentType : application/fhir+xml |
url : [FD-endpunkt]/Binary/invoice |
format |
code : gematik-erechnung |
parameter |
name : anhang |
resource |
id : BeispielDocumentReferenceSonstigesDokument3-FD |
identifier |
system : https://gematik.de/fhir/sid/erg-token |
value : 987-654-321 |
status : current |
type |
coding |
system : http://dvmd.de/fhir/CodeSystem/kdl |
code : PT130102 |
display : Molekularpathologiebefund |
subject |
reference : Patient/BeispielPatient3-FD |
relatesTo |
code : transforms |
target |
reference : DocumentReference/BeispielDocumentReferenceSonstigesDokument3-LE |
description : Molekularpathologiebefund vom 31.12.21 |
content |
attachment |
contentType : application/pdf |
url : [FD-endpunkt]/Binary/patho-mit-token-barcode |
<Parameters xmlns="http://hl7.org/fhir"> <id value="BeispielParameterSubmitOutput3-FD" /> <parameter> <name value="rechnung" /> <resource> <DocumentReference> <id value="BeispielDocumentReferenceRechnung3-FD" /> <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> <relatesTo> <code value="transforms" /> <target> <reference value="DocumentReference/BeispielDocumentReferenceRechnung3-LE" /> </target> </relatesTo> <description value="Rechnung Reiseimpfung vom 10.01.2024" /> <content> <attachment> <contentType value="application/pdf" /> <url value="[FD-endpunkt]/Binary/pdf-mit-token-barcode" /> </attachment> </content> <content> <attachment> <contentType value="application/xml" /> <url value="[FD-endpunkt]/Binary/xrechnung" /> </attachment> <format> <code value="xrechnung" /> </format> </content> <content> <attachment> <contentType value="application/fhir+xml" /> <url value="[FD-endpunkt]/Binary/invoice" /> </attachment> <format> <code value="gematik-erechnung" /> </format> </content> </DocumentReference> </resource> </parameter> <parameter> <name value="anhang" /> <resource> <DocumentReference> <id value="BeispielDocumentReferenceSonstigesDokument3-FD" /> <identifier> <system value="https://gematik.de/fhir/sid/erg-token" /> <value value="987-654-321" /> </identifier> <status value="current" /> <type> <coding> <system value="http://dvmd.de/fhir/CodeSystem/kdl" /> <code value="PT130102" /> <display value="Molekularpathologiebefund" /> </coding> </type> <subject> <reference value="Patient/BeispielPatient3-FD" /> </subject> <relatesTo> <code value="transforms" /> <target> <reference value="DocumentReference/BeispielDocumentReferenceSonstigesDokument3-LE" /> </target> </relatesTo> <description value="Molekularpathologiebefund vom 31.12.21" /> <content> <attachment> <contentType value="application/pdf" /> <url value="[FD-endpunkt]/Binary/patho-mit-token-barcode" /> </attachment> </content> </DocumentReference> </resource> </parameter> </Parameters>
{ "resourceType": "Parameters", "id": "BeispielParameterSubmitOutput3-FD", "parameter": [ { "name": "rechnung", "resource": { "resourceType": "DocumentReference", "id": "BeispielDocumentReferenceRechnung3-FD", "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": [ { "attachment": { "contentType": "application/pdf", "url": "[FD-endpunkt]/Binary/pdf-mit-token-barcode" } }, { "format": { "code": "xrechnung" }, "attachment": { "contentType": "application/xml", "url": "[FD-endpunkt]/Binary/xrechnung" } }, { "format": { "code": "gematik-erechnung" }, "attachment": { "contentType": "application/fhir+xml", "url": "[FD-endpunkt]/Binary/invoice" } } ], "relatesTo": [ { "code": "transforms", "target": { "reference": "DocumentReference/BeispielDocumentReferenceRechnung3-LE" } } ] } }, { "name": "anhang", "resource": { "resourceType": "DocumentReference", "id": "BeispielDocumentReferenceSonstigesDokument3-FD", "identifier": [ { "system": "https://gematik.de/fhir/sid/erg-token", "value": "987-654-321" } ], "status": "current", "type": { "coding": [ { "code": "PT130102", "system": "http://dvmd.de/fhir/CodeSystem/kdl", "display": "Molekularpathologiebefund" } ] }, "description": "Molekularpathologiebefund vom 31.12.21", "subject": { "reference": "Patient/BeispielPatient3-FD" }, "content": [ { "attachment": { "contentType": "application/pdf", "url": "[FD-endpunkt]/Binary/patho-mit-token-barcode" } } ], "relatesTo": [ { "code": "transforms", "target": { "reference": "DocumentReference/BeispielDocumentReferenceSonstigesDokument3-LE" } } ] } } ] }
Verarbeitungsschritte im FD
Bei der Entgegennahme der Dokumente MÜSSEN durch den FD die nachfolgenden Schritte durchgeführt werden. Es ist zu beachten, dass dies asynchron durchgeführt werden kann durch den FD. Lediglich MUSS der FD sicherstellen, dass dieser Prozess vor dem Abruf der Dokumente durch das eRg FdV oder dem RE-PS abgearbeitet wurde.
DocumentReference.attachment.data
muss aus der übermittelten DocumentReference herausgelöst werden. Der Inhalt MUSS in einer durch den FD neu angelegten Binary-Ressource gespeichert werden. Die Binary-Ressource MUSS unterattachment.url
mit einer absoluten URL referenziert werden.DocumentReference.attachment.data
ist anschließend zu löschen. Dies gilt für alle durch den Client übermittelte Dokumente.Die originale Rechnung (
DocumentReference.type = KDL#AM010106
) MUSS angereichert werden mit den strukturierten Rechnungsinhalten. Der FD MUSS die Inhalte strukturiert im FHIR-Format innerhalb eines PDF/A einbetten.Das neu erzeugte PDF/A muss als Binary nach den Vorgaben von
DocumentReference.content:angereicherteRechnung
aus dem oben aufgeführten Profil hinterlegt werden.Für jedes PDF/A-Dokument MUSS der FD ein Token unter Einhaltung einer ausreichenden Entropie erstellen. Der FD MUSS zusätzlich einen Barcode auf dem Rechnungs- oder Anhangdokument unterbringen welcher das Dokumententoken kodiert enthält. Die Lesbarkeit der Inhalte des Dokumtes darf hierdurch nicht eingeschränkt werden. Die Zugehörigkeit eines Tokens zu einem Dokument MUSS gespeichert werden, um den Abruf eines Dokumentes mit diesem Token zu ermöglichen.
DocumentReference.context.related
MUSS durch den FD auf die ID des ermittelten Rechnungsempfängers gesetzt werden.DocumentReference.author.identifier
MUSS durch den FD auf die im Access-Token enthaltene Telematik-ID gesetzt werden. Durch den Client übermittelte Angaben in DocumentReference.author sind zu überschreiben.Hinweis: In der FHIR-Repräsentation erfolgt keine Differenzierung zwischen dem Datenobjekt für die Rechnungsdokumente und dem Rechnungsworkflow. Der Workflowstatus wird somit innerhalb der DocumentReference abgebildet.
DocumentReference.meta.tag:erg-rechnungsstatus
MUSS durch den FD auf "Offen" gesetzt werden beim Empfang der Rechnung.
Hinweise zur Abbildung des Workflow-Objektes (fachliches Datenmodell)
Im fachlichen Datenmodell des Feature-Dokuments E-Rechnung ist dargestellt, dass jede Rechnung,sowie jedes ergänzende Dokument mit einem Rechnungsworkflow-Objekt verbunden ist. Dieses Workflow-Objekt bündelt das Rechnungsdokument sowie die Anhänge zusammen und gibt diesen Dokumenten einen gemeinsamen Status. Zur Vereinfachung der Implementierung seitens des FD und des eRg FDV wird in der FHIR-Repräsentation kein weiteres Datenobjekt hierfür verwendet. Hingegen enthält das Profil 'ERGDokumentenmetadaten' eine Extension 'erg-rechnungsstatus' für diesen Zweck. Der Status zusammenhängender Dokumente MUSS stets synchron gehalten werden. Diese Extension gilt für das Rechnungsdokument sowie alle Anhänge, die innerhalb einer Submit-Operation im gleichen Kontext übermittelt worden sind wie die Rechnung. Der FD MUSS den Zusammenhang zwischen diesen Dokumenten in der Verarbeitungslogik vorhalten.
Beispiele
Beispiel: Rechnungsdokument nach Verarbeitung auf Server
DocumentReference |
id : BeispielDocumentReferenceRechnung3-FD |
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 |
relatesTo |
code : transforms |
target |
reference : DocumentReference/BeispielDocumentReferenceRechnung3-LE |
description : Rechnung Reiseimpfung vom 10.01.2024 |
content |
attachment |
contentType : application/pdf |
url : [FD-endpunkt]/Binary/pdf-mit-token-barcode |
content |
attachment |
contentType : application/xml |
url : [FD-endpunkt]/Binary/xrechnung |
format |
code : xrechnung |
content |
attachment |
contentType : application/fhir+xml |
url : [FD-endpunkt]/Binary/invoice |
format |
code : gematik-erechnung |
<DocumentReference xmlns="http://hl7.org/fhir"> <id value="BeispielDocumentReferenceRechnung3-FD" /> <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> <relatesTo> <code value="transforms" /> <target> <reference value="DocumentReference/BeispielDocumentReferenceRechnung3-LE" /> </target> </relatesTo> <description value="Rechnung Reiseimpfung vom 10.01.2024" /> <content> <attachment> <contentType value="application/pdf" /> <url value="[FD-endpunkt]/Binary/pdf-mit-token-barcode" /> </attachment> </content> <content> <attachment> <contentType value="application/xml" /> <url value="[FD-endpunkt]/Binary/xrechnung" /> </attachment> <format> <code value="xrechnung" /> </format> </content> <content> <attachment> <contentType value="application/fhir+xml" /> <url value="[FD-endpunkt]/Binary/invoice" /> </attachment> <format> <code value="gematik-erechnung" /> </format> </content> </DocumentReference>
{ "resourceType": "DocumentReference", "id": "BeispielDocumentReferenceRechnung3-FD", "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": [ { "attachment": { "contentType": "application/pdf", "url": "[FD-endpunkt]/Binary/pdf-mit-token-barcode" } }, { "format": { "code": "xrechnung" }, "attachment": { "contentType": "application/xml", "url": "[FD-endpunkt]/Binary/xrechnung" } }, { "format": { "code": "gematik-erechnung" }, "attachment": { "contentType": "application/fhir+xml", "url": "[FD-endpunkt]/Binary/invoice" } } ], "relatesTo": [ { "code": "transforms", "target": { "reference": "DocumentReference/BeispielDocumentReferenceRechnung3-LE" } } ] }
Beispiel: sonstiges Dokument nach Verarbeitung auf Server
DocumentReference |
id : BeispielDocumentReferenceSonstigesDokument3-FD |
identifier |
system : https://gematik.de/fhir/sid/erg-token |
value : 987-654-321 |
status : current |
type |
coding |
system : http://dvmd.de/fhir/CodeSystem/kdl |
code : PT130102 |
display : Molekularpathologiebefund |
subject |
reference : Patient/BeispielPatient3-FD |
relatesTo |
code : transforms |
target |
reference : DocumentReference/BeispielDocumentReferenceSonstigesDokument3-LE |
description : Molekularpathologiebefund vom 31.12.21 |
content |
attachment |
contentType : application/pdf |
url : [FD-endpunkt]/Binary/patho-mit-token-barcode |
<DocumentReference xmlns="http://hl7.org/fhir"> <id value="BeispielDocumentReferenceSonstigesDokument3-FD" /> <identifier> <system value="https://gematik.de/fhir/sid/erg-token" /> <value value="987-654-321" /> </identifier> <status value="current" /> <type> <coding> <system value="http://dvmd.de/fhir/CodeSystem/kdl" /> <code value="PT130102" /> <display value="Molekularpathologiebefund" /> </coding> </type> <subject> <reference value="Patient/BeispielPatient3-FD" /> </subject> <relatesTo> <code value="transforms" /> <target> <reference value="DocumentReference/BeispielDocumentReferenceSonstigesDokument3-LE" /> </target> </relatesTo> <description value="Molekularpathologiebefund vom 31.12.21" /> <content> <attachment> <contentType value="application/pdf" /> <url value="[FD-endpunkt]/Binary/patho-mit-token-barcode" /> </attachment> </content> </DocumentReference>
{ "resourceType": "DocumentReference", "id": "BeispielDocumentReferenceSonstigesDokument3-FD", "identifier": [ { "system": "https://gematik.de/fhir/sid/erg-token", "value": "987-654-321" } ], "status": "current", "type": { "coding": [ { "code": "PT130102", "system": "http://dvmd.de/fhir/CodeSystem/kdl", "display": "Molekularpathologiebefund" } ] }, "description": "Molekularpathologiebefund vom 31.12.21", "subject": { "reference": "Patient/BeispielPatient3-FD" }, "content": [ { "attachment": { "contentType": "application/pdf", "url": "[FD-endpunkt]/Binary/patho-mit-token-barcode" } } ], "relatesTo": [ { "code": "transforms", "target": { "reference": "DocumentReference/BeispielDocumentReferenceSonstigesDokument3-LE" } } ] }
R3: Abfrage von angereicherten PDF/A per Token (Rechnungsersteller)
Die nachfolgende Interaktion ist relevant für den FD als Server, sowie für das RE-PS als Client. Anwendungsfall AF_10271 MUSS durch den FD über die spezifizierte API umgesetzt werden. Die Vorgaben aus "Tabelle 17: Use Case Abfrage von angereicherten PDF/A per Token (Rechnungsersteller)" 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. 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.
Das Abrufen eines Rechnungsdokumentes durch ein RE-PS hat keine Auswirkungen auf den Rechnungsstatus (DocumentReference.meta.tag:ergpkv-status
) des Dokumentes.
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 Telematik-ID extrahieren falls es sich bei dem anfragenden System um ein RE-PS handelt. Der FD MUSS sicherstellen, dass nur DocumentReference-Ressourcen abgerufen werden können in denen
DocumentReference.author.identifier
auf die zugehörige Telematik-ID verweist.Der FD MUSS sicherstellen, dass bei einer Abfrage einer Binary-Ressource welche unter
DocumentReference.content.attachment.url
referenziert wird nur erfolgen kann, wenn ein valides Access-Token mitgeliefert wird und das Binary in einer DocumentReference referenziert wird in derDocumentReference.author.identifier
identisch ist mit der Telematik-ID aus dem Access-Token.Es gelten die Festlegungen der FHIR-Kernspezifikation zur Handhabung von Binary-Ressourcen.
R4: Abfrage von angereicherten PDF/A per Token (Rechnungsersteller) (Bulk)
Die nachfolgende Interaktion ist relevant für den FD als Server, sowie für das RE-PS als Client. Anwendungsfall AF_10271 MUSS durch den FD über die spezifizierte API umgesetzt werden. Die Vorgaben aus "Tabelle 17: Use Case Abfrage von angereicherten PDF/A per Token (Rechnungsersteller)" des Feature-Dokumentes MÜSSEN eingehalten werden durch den FD.
HTTP-Methode | POST |
Endpunkt | / (Root-Endpunkt) |
Für die Ausführung der Operation gelten die gleichen Vorgaben wie aus R1: Rechnung mit Dokumenten validieren und versenden. Die Operation $retrieve
kann für innerhalb eines Batch-Bundles mehrfach, auch für unterschiedliche Dokumente aufgerufen werden. Es gelten die entsprechenden Vorgaben aus der FHIR-Kernspezifikation.
Beispiel
HTTP GET [fachdienst-endpunkt]/
Bundle |
id : BulkRetrieveExampleInput |
type : transaction |
entry |
resource |
id : BeispielParameterRetrieveInput |
parameter |
name : token |
value : 123-456-789 |
parameter |
name : strukturierterRechnungsinhalt |
value : False |
parameter |
name : originaleRechnung |
value : False |
request |
method : POST |
url : $retrieve |
entry |
resource |
id : BeispielParameterRetrieveInput2 |
parameter |
name : token |
value : 123-456-123 |
request |
method : POST |
url : $retrieve |
<Bundle xmlns="http://hl7.org/fhir"> <id value="BulkRetrieveExampleInput" /> <type value="transaction" /> <entry> <resource> <Parameters> <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> </resource> <request> <method value="POST" /> <url value="$retrieve" /> </request> </entry> <entry> <resource> <Parameters> <id value="BeispielParameterRetrieveInput2" /> <parameter> <name value="token" /> <valueString value="123-456-123" /> </parameter> </Parameters> </resource> <request> <method value="POST" /> <url value="$retrieve" /> </request> </entry> </Bundle>
{ "resourceType": "Bundle", "id": "BulkRetrieveExampleInput", "type": "transaction", "entry": [ { "request": { "method": "POST", "url": "$retrieve" }, "resource": { "resourceType": "Parameters", "id": "BeispielParameterRetrieveInput", "parameter": [ { "name": "token", "valueString": "123-456-789" }, { "name": "strukturierterRechnungsinhalt", "valueBoolean": false }, { "name": "originaleRechnung", "valueBoolean": false } ] } }, { "request": { "method": "POST", "url": "$retrieve" }, "resource": { "resourceType": "Parameters", "id": "BeispielParameterRetrieveInput2", "parameter": [ { "name": "token", "valueString": "123-456-123" } ] } } ] }
Antwort des Fachdienstes im Erfolgsfall:
HTTP 200 OK
mit Body:
Bundle |
id : BulkRetrieveExampleOutput |
type : transaction-response |
entry |
fullUrl : [FD-endpunkt]/DocumentReference/BeispielDocumentReferenceRechnungRetrieve |
resource |
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 |
entry |
fullUrl : [FD-endpunkt]/DocumentReference/BeispielDocumentReferenceRechnungRetrieve2 |
resource |
id : BeispielDocumentReferenceRechnungRetrieve2 |
identifier |
system : https://gematik.de/fhir/sid/erg-token |
value : 123-456-123 |
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 11.01.2024 |
content |
attachment |
contentType : application/xml |
url : [FD-endpunkt]/Binary/xrechnung |
format |
code : xrechnung |
<Bundle xmlns="http://hl7.org/fhir"> <id value="BulkRetrieveExampleOutput" /> <type value="transaction-response" /> <entry> <fullUrl value="[FD-endpunkt]/DocumentReference/BeispielDocumentReferenceRechnungRetrieve" /> <resource> <DocumentReference> <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> </resource> </entry> <entry> <fullUrl value="[FD-endpunkt]/DocumentReference/BeispielDocumentReferenceRechnungRetrieve2" /> <resource> <DocumentReference> <id value="BeispielDocumentReferenceRechnungRetrieve2" /> <identifier> <system value="https://gematik.de/fhir/sid/erg-token" /> <value value="123-456-123" /> </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 11.01.2024" /> <content> <attachment> <contentType value="application/xml" /> <url value="[FD-endpunkt]/Binary/xrechnung" /> </attachment> <format> <code value="xrechnung" /> </format> </content> </DocumentReference> </resource> </entry> </Bundle>
{ "resourceType": "Bundle", "id": "BulkRetrieveExampleOutput", "type": "transaction-response", "entry": [ { "fullUrl": "[FD-endpunkt]/DocumentReference/BeispielDocumentReferenceRechnungRetrieve", "resource": { "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" } } ] } }, { "fullUrl": "[FD-endpunkt]/DocumentReference/BeispielDocumentReferenceRechnungRetrieve2", "resource": { "resourceType": "DocumentReference", "id": "BeispielDocumentReferenceRechnungRetrieve2", "identifier": [ { "system": "https://gematik.de/fhir/sid/erg-token", "value": "123-456-123" } ], "status": "current", "type": { "coding": [ { "code": "AM010106", "system": "http://dvmd.de/fhir/CodeSystem/kdl", "display": "Rechnung ambulante/stationäre Behandlung" } ] }, "description": "Rechnung Reiseimpfung vom 11.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" } } ] } } ] }