eRg FdV als Akteur

R5: Abruf von Rechnungen (Rechnungsempfänger)

Die nachfolgende Interaktion ist relevant für den FD als Server, sowie für das eRg FdV als Client. Anwendungsfall AF_10138 MUSS durch den FD über die spezifizierte API umgesetzt werden. Die Vorgaben aus "Tabelle 18: Use Case Abruf von Rechnungen (Rechnungsempfänger)" des Feature-Dokumentes MÜSSEN eingehalten werden durch den FD.

HTTP-Methode GET
Endpunkt /DocumentReference
Suchparameter _tag Kardinalität: 0..1
E-Rechnungsstatus
Type: token
Der FD MUSS den Modifier :not unterstützen.
Suchparameter subject:text Kardinalität: 0..1
Name Rechnungsempfänger/Behandelte Person
Type: string
Der Suchparameter MUSS durch den Client mit dem Modifier :text verwendet werden. Dieser Suchmodifier ermöglicht eine Suche auf DocumentReference.subject.display.
Suchparameter author:text Kardinalität: 0..1
Name des Leistungserbringer
Type: string
Der Suchparameter MUSS durch den Client mit dem Modifier :text verwendet werden. Dieser Suchmodifier ermöglicht eine Suche auf DocumentReference.author.display.
Suchparameter type Kardinalität: 0..1
Dokumententyp (z.B. Rechnung)
Type: token
Der FD MUSS den Modifier :not unterstützen.
Suchparameter ergpkv-makierung Kardinalität: 0..1
Manuelle Markierungen
Type: token
Suchresultatparameter _sort Als Sortierkriterien können die oben genannten Suchparameter inkl. Custom SearchParameter verwendet werden für die Inhalte die als Sortierkriterien in Tabelle 18: Use Case Abruf von Rechnungen (Rechnungsempfänger) - Feature-Dokument E-Rechnung genannt sind
Suchresultatparameter _count Durch den Client gewünschte Page-Size, der FD KANN Vorgaben für die Maximale Page-Size definieren
User-Kontext KVNR Kardinalität: 1..1
Hinweis: Die KVNR ist aus dem Claim urn:telematik:claims:id des mitzusendenen Access-Token zu extrahieren.
API-Zustand HTTP-Status-Code
Erfolgsfall 200 - OK
Weitere Parameter in HTTP-Anfrage enthalten 400 - Bad Request
Syntax für Parameter ist nicht korrekt oder Kardinalitäten werden nicht eingehalten 400 - Bad Request
Kein valides Access-Token wird mitgesendet 401 - Unauthorized
Autorisierter Benutzer verfügt über keine ausreichende Berechtigung die Interaktion auszuführen 403 - Forbidden
Andere HTTP-Methode wird verwendet 405 - Method Not Allowed

Als Antwort MUSS der FD ein FHIR-SearchSet-Bundle zurückliefern, welches eingegrenzt ist auf die, durch den Client übermittelten Suchparameter.

Beispiele

Suche anhand der Art des Dokumentes (nur Rechnungen):

HTTP GET [fachdienst-endpunkt]/DocumentReference?type=ABRE

und/oder anhand des Status

HTTP GET [fachdienst-endpunkt]/DocumentReference?date=gt2024-01-01&_tag=offen

HTTP GET [fachdienst-endpunkt]/DocumentReference?date=gt2024-01-01&_tag:not=papierkorb

Antwort des Endpunktes im Erfolgsfall:

HTTP 200 OK

mit Body:

Bundle
<Bundle xmlns="http://hl7.org/fhir">
    <id value="ExampleR5Bundle" />
    <type value="searchset" />
    <total value="1" />
    <entry>
        <resource>
            <DocumentReference>
                <id value="ExampleR5DocumentReference" />
                <meta>
                    <profile value="https://gematik.de/fhir/erg/StructureDefinition/erg-dokumentenmetadaten" />
                    <tag>
                        <system value="https://gematik.de/fhir/erg/CodeSystem/erg-rechnungsstatus-cs" />
                        <code value="offen" />
                        <display value="Offen" />
                    </tag>
                </meta>
                <extension url="https://gematik.de/fhir/erg/StructureDefinition/erg-documentreference-rechnungsdatum">
                    <valueDateTime value="2023-09-28T13:00:00.123+02:00" />
                </extension>
                <extension url="https://gematik.de/fhir/erg/StructureDefinition/erg-documentreference-zahlungszieldatum">
                    <valueDateTime value="2023-10-28T13:00:00.123+02:00" />
                </extension>
                <extension url="https://gematik.de/fhir/erg/StructureDefinition/erg-documentreference-gesamtbetrag">
                    <valueMoney>
                        <value value="16.2" />
                        <currency value="EUR" />
                    </valueMoney>
                </extension>
                <identifier>
                    <system value="http://example.com/fhir/identifiers" />
                    <value value="123456789" />
                </identifier>
                <status value="current" />
                <type>
                    <coding>
                        <system value="http://dvmd.de/fhir/CodeSystem/kdl" />
                        <code value="AM010106" />
                        <display value="Rechnung ambulante/station&#228;re Behandlung" />
                    </coding>
                </type>
                <subject>
                    <display value="Max Mustermann" />
                </subject>
                <author>
                    <identifier>
                        <system value="https://gematik.de/fhir/sid/telematik-id" />
                        <value value="987654321" />
                    </identifier>
                    <display value="Dr. Hausarzt" />
                </author>
                <description value="Laborbefund vom 28.9.2023" />
                <content>
                    <attachment>
                        <contentType value="application/pdf" />
                        <data value="DIESISTNUREINBEISPIELDIESISTKEINVALIDESPDF00" />
                        <url value="http://example.com/fhir/binary/123" />
                    </attachment>
                    <format>
                        <system value="https://gematik.de/fhir/erg/CodeSystem/erg-attachment-format-cs" />
                        <code value="erechnung" />
                    </format>
                </content>
                <content>
                    <attachment>
                        <contentType value="application/pdf" />
                        <url value="http://example.com/fhir/binary/456" />
                    </attachment>
                    <format>
                        <system value="https://gematik.de/fhir/erg/CodeSystem/erg-attachment-format-cs" />
                        <code value="angereichertesPDF" />
                    </format>
                </content>
                <content>
                    <attachment>
                        <contentType value="application/json" />
                        <data value="DIESISTNUREINBEISPIELDIESISTKEINVALIDESPDF00" />
                        <url value="http://example.com/fhir/binary/789" />
                    </attachment>
                    <format>
                        <system value="https://gematik.de/fhir/erg/CodeSystem/erg-attachment-format-cs" />
                        <code value="rechnungsinhalt" />
                    </format>
                </content>
                <content>
                    <attachment>
                        <contentType value="application/pdf" />
                        <data value="DIESISTNUREINBEISPIELDIESISTKEINVALIDESPDF00" />
                        <url value="http://example.com/fhir/binary/101112" />
                    </attachment>
                    <format>
                        <system value="https://gematik.de/fhir/erg/CodeSystem/erg-attachment-format-cs" />
                        <code value="rechnungsanhang" />
                    </format>
                </content>
            </DocumentReference>
        </resource>
        <search>
            <mode value="match" />
        </search>
    </entry>
</Bundle>
{
    "resourceType": "Bundle",
    "id": "ExampleR5Bundle",
    "type": "searchset",
    "total": 1,
    "entry":  [
        {
            "resource": {
                "resourceType": "DocumentReference",
                "id": "ExampleR5DocumentReference",
                "meta": {
                    "tag":  [
                        {
                            "code": "offen",
                            "system": "https://gematik.de/fhir/erg/CodeSystem/erg-rechnungsstatus-cs",
                            "display": "Offen"
                        }
                    ],
                    "profile":  [
                        "https://gematik.de/fhir/erg/StructureDefinition/erg-dokumentenmetadaten"
                    ]
                },
                "status": "current",
                "type": {
                    "coding":  [
                        {
                            "system": "http://dvmd.de/fhir/CodeSystem/kdl",
                            "code": "AM010106",
                            "display": "Rechnung ambulante/stationäre Behandlung"
                        }
                    ]
                },
                "extension":  [
                    {
                        "url": "https://gematik.de/fhir/erg/StructureDefinition/erg-documentreference-rechnungsdatum",
                        "valueDateTime": "2023-09-28T13:00:00.123+02:00"
                    },
                    {
                        "url": "https://gematik.de/fhir/erg/StructureDefinition/erg-documentreference-zahlungszieldatum",
                        "valueDateTime": "2023-10-28T13:00:00.123+02:00"
                    },
                    {
                        "url": "https://gematik.de/fhir/erg/StructureDefinition/erg-documentreference-gesamtbetrag",
                        "valueMoney": {
                            "value": 16.2,
                            "currency": "EUR"
                        }
                    }
                ],
                "author":  [
                    {
                        "identifier": {
                            "system": "https://gematik.de/fhir/sid/telematik-id",
                            "value": "987654321"
                        },
                        "display": "Dr. Hausarzt"
                    }
                ],
                "content":  [
                    {
                        "format": {
                            "code": "erechnung",
                            "system": "https://gematik.de/fhir/erg/CodeSystem/erg-attachment-format-cs"
                        },
                        "attachment": {
                            "contentType": "application/pdf",
                            "data": "DIESISTNUREINBEISPIELDIESISTKEINVALIDESPDF00",
                            "url": "http://example.com/fhir/binary/123"
                        }
                    },
                    {
                        "format": {
                            "code": "angereichertesPDF",
                            "system": "https://gematik.de/fhir/erg/CodeSystem/erg-attachment-format-cs"
                        },
                        "attachment": {
                            "contentType": "application/pdf",
                            "url": "http://example.com/fhir/binary/456"
                        }
                    },
                    {
                        "format": {
                            "code": "rechnungsinhalt",
                            "system": "https://gematik.de/fhir/erg/CodeSystem/erg-attachment-format-cs"
                        },
                        "attachment": {
                            "contentType": "application/json",
                            "data": "DIESISTNUREINBEISPIELDIESISTKEINVALIDESPDF00",
                            "url": "http://example.com/fhir/binary/789"
                        }
                    },
                    {
                        "format": {
                            "code": "rechnungsanhang",
                            "system": "https://gematik.de/fhir/erg/CodeSystem/erg-attachment-format-cs"
                        },
                        "attachment": {
                            "contentType": "application/pdf",
                            "data": "DIESISTNUREINBEISPIELDIESISTKEINVALIDESPDF00",
                            "url": "http://example.com/fhir/binary/101112"
                        }
                    }
                ],
                "identifier":  [
                    {
                        "system": "http://example.com/fhir/identifiers",
                        "value": "123456789"
                    }
                ],
                "description": "Laborbefund vom 28.9.2023",
                "subject": {
                    "display": "Max Mustermann"
                }
            },
            "search": {
                "mode": "match"
            }
        }
    ]
}

Verarbeitungsschritte im FD

  • Der FD MUSS die Suche auf DocumentReference-Ressourcen begrenzen die unter DocumentReference.related auf einen Benutzer verweisen welcher durch die KVNR aus dem Access-Token identifiziert wird, um sicherzustellen, dass nur DocumentReference-Ressourcen aus dem Postfach des angemeldeten Rechnungsempfängers zurückgegeben werden.

  • Der FD MUSS die Signatur-Extension (DocumentReference.extension:docRef-signature) vor der Rückgabe an den Client entfernen.

  • Falls es sich bei der DocumentReference um ein Rechnungsdokument handelt, MUSS der FD das Content-Element für das Rechnungspdf entfernen, sodass nur die Content-Elemente für das angereicherte PDF/A, sowie die strukturierten Rechnungsinhalte zurückgegeben werden.

  • Der FD MUSS sicherstellen, dass die Abfrage einer Binary-Ressource, welche unter DocumentReference.content.attachment.url referenziert wird, nur erfolgen kann, wenn:

    • ein valides Access-Token mitgeliefert wird UND
    • DocumentReference.subject zeigt auf einen Benutzeraccount mit einer KVNR, die identisch ist mit der KVNR aus dem Access-Token.
  • Es gelten die Festlegungen der FHIR-Kernspezifikation zur Handhabung von Binary-Ressourcen.

  • Der FD MUSS unter DocumentReference.context.related:anhaenge Referenzen auf alle Anhänge zurückgeben die im Kontext der initialen Einreichung (vgl. R1: Rechnung mit Dokumenten validieren und versenden) übergeben wurden an den FD. Die Anhänge MÜSSEN als DocumentReference-Ressourcen im SearchResult-Bundle zurückgegeben werden mit einem Hinweis, dass diese zusätzlich inkludiert wurden (Bundle.entry.search.mode = include).


R6: Abfrage von Daten zu Rechnungen und Dokumenten per Token (Rechnungsempfänger)

Die nachfolgende Interaktion ist relevant für den FD als Server, sowie für das eRg FdV als Client. Anwendungsfall AF_10262 MUSS durch den FD über die spezifizierte API umgesetzt werden. Die Vorgaben aus "Tabelle 19: Use Case Abfrage von Daten zu Rechnungen und Dokumenten per Token (Rechnungsempfänger)" des Feature-Dokumentes MÜSSEN eingehalten werden durch den FD.

HTTP-Methode POST oder GET
Endpunkt /DocumentReference/$retrieve

Die Input- und Output-Parameter werden durch die OperationDefinition https://gematik.de/fhir/erg/OperationDefinition/Retrieve beschrieben.

Invocations

URL: [base]/DocumentReference/$retrieve

This operation does NOT change content

Parameters (In)

NameCardinalityTypeDocumentation
token1..1string

Dokumentoken zur Identifikation des Dokuments, welches abgerufen werden soll

strukturierterRechnungsinhalt0..1boolean

Angabe, ob die strukturierten Rechnungsinhalte neben dem angereicherten Rechnungsdokument zurückgegeben werden sollen als 'content'-Element. Default: false

originaleRechnung0..1boolean

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)

NameCardinalityTypeDocumentation
dokument1..1DocumentReference

DocumentReference-Ressource die das angefragte Rechnungsdokument, sowie die strukturierten Rechnungsinhalte enthält (in Abhängigkeit vom strukturierterRechnungsinhalt- und originaleRechnung-Parameter).

API-Zustand HTTP-Status-Code
Erfolgsfall 200 - OK
Weitere Parameter in HTTP-Anfrage enthalten 400 - Bad Request
Syntax für Parameter ist nicht korrekt oder Kardinalitäten werden nicht eingehalten 400 - Bad Request
Kein valides Access-Token wird mitgesendet 401 - Unauthorized
Autorisierter Benutzer verfügt über keine ausreichende Berechtigung die Interaktion auszuführen 403 - Forbidden
Fehlende Berechtigung für den Leistungserbringer das Dokument abzurufen (z.B. falls ein invalides Rechnungstoken verwendet wird) 404 - Not Found
Dokumnent kann anhand des Rechnungstokens nicht gefunden werden 404 - Not Found
Andere HTTP-Methode wird verwendet 405 - Method Not Allowed

Anhand des übermittelten Dokumententokens MUSS der FD die entsprechende DocumentReference suchen. Das originale Rechnungsdokument MUSS durch den FD unter DocumentReference.content:rechnungspdf ausgeblendet werden, in Abhänigkeit des originaleRechnung-Parameter. Dies gilt ebenfalls für die Signatur-Extension.

Die DocumentReference-Ressource KANN direkt an den Client zurückgegeben werden ohne, dass diese in eine Parameter-Ressource eingebettet wird.

Beispiele

HTTP GET [fachdienst-endpunkt]/DocumentReference/$retrieve
Parameters
<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
<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&#228;re Behandlung" />
        </coding>
    </type>
    <subject>
        <identifier>
            <system value="http://fhir.de/sid/gkv/kvid-10" />
            <value value="A000000000" />
        </identifier>
    </subject>
    <description value="Rechnung Reiseimpfung vom 10.01.2024" />
    <content>
        <attachment>
            <contentType value="application/xml" />
            <url value="[FD-endpunkt]/Binary/xrechnung" />
        </attachment>
        <format>
            <code value="xrechnung" />
        </format>
    </content>
</DocumentReference>
{
    "resourceType": "DocumentReference",
    "id": "BeispielDocumentReferenceRechnungRetrieve",
    "identifier":  [
        {
            "system": "https://gematik.de/fhir/sid/erg-token",
            "value": "123-456-789"
        }
    ],
    "status": "current",
    "type": {
        "coding":  [
            {
                "code": "AM010106",
                "system": "http://dvmd.de/fhir/CodeSystem/kdl",
                "display": "Rechnung ambulante/stationäre Behandlung"
            }
        ]
    },
    "description": "Rechnung Reiseimpfung vom 10.01.2024",
    "subject": {
        "identifier": {
            "system": "http://fhir.de/sid/gkv/kvid-10",
            "value": "A000000000"
        }
    },
    "content":  [
        {
            "format": {
                "code": "xrechnung"
            },
            "attachment": {
                "contentType": "application/xml",
                "url": "[FD-endpunkt]/Binary/xrechnung"
            }
        }
    ]
}

Verarbeitungsschritte im FD

  • Der FD MUSS aus dem Access-Token die KVNR extrahieren, falls es sich bei dem anfragenden System um ein eRg FdV handelt. Der FD MUSS sicherstellen, dass nur DocumentReference-Ressourcen abgerufen werden können, in denen DocumentReference.subject auf einen Benutzer verweist, welcher durch die KVNR aus dem Access-Token identifiziert wird.

  • Der FD MUSS sicherstellen, dass die Abfrage einer Binary-Ressource, welche unter DocumentReference.content.attachment.url referenziert wird, nur erfolgen kann, wenn:

    • ein valides Access-Token mitgeliefert wird UND
    • DocumentReference.subject zeigt auf einen Benutzeraccount mit einer KVNR, die identisch ist mit der KVNR aus dem Access-Token.
  • Es gelten die Festlegungen der FHIR-Kernspezifikation zur Handhabung von Binary-Ressourcen.


R7: Manuelles Ändern des Bearbeitungsstatus von Rechnungen

Die nachfolgende Interaktion ist relevant für den FD als Server, sowie für das eRg FdV als Client. Anwendungsfall AF_10245 MUSS durch den FD über die spezifizierte API umgesetzt werden. Die Vorgaben aus "Tabelle 22: Use Case Manuelles Ändern des Bearbeitungsstatus von Rechnungen" des Feature-Dokumentes MÜSSEN eingehalten werden durch den FD.

HTTP-Methode POST
Endpunkt /DocumentReference/[id]/$change-status
API-Zustand HTTP-Status-Code
Erfolgsfall 200 - OK
Weitere Parameter in HTTP-Anfrage enthalten 400 - Bad Request
Syntax für Parameter ist nicht korrekt oder Kardinalitäten werden nicht eingehalten 400 - Bad Request
Kein valides Access-Token wird mitgesendet 401 - Unauthorized
Autorisierter Benutzer verfügt über keine ausreichende Berechtigung die Interaktion auszuführen 403 - Forbidden
Fehlende Berechtigung für den Rechnungsempfänger den Dokumentenstatus zu verändern 404 - Not Found
Operation wird auf nicht existierender DocumentReference-Ressource aufgerufen 404 - Not Found
Andere HTTP-Methode wird verwendet 405 - Method Not Allowed
Unerlaubter Statusübergang wird versucht auszuführen 412 - Precondition Failed
Statusübergang wird auf einer DocumentReference die einen Anhang repräsentiert aufgerufen 412 - Precondition Failed

Die Input- und Output-Parameter werden durch die OperationDefinition https://gematik.de/fhir/erg/OperationDefinition/ChangeStatus beschrieben.

Invocations

URL: [base]/DocumentReference/[id]/$change-status

This operation changes content

Parameters (In)

NameCardinalityTypeDocumentation
tag1..1code

Valider Code aus CodeSystem ERGARechnungsstatus

Return Values (Out)

NameCardinalityTypeDocumentation
meta1..1Meta

Geänderte Meta-Element der geänderten DocumentReference

Alle erlaubten Statusübergänge sind in AF_10245 beschrieben.

Beispiele

HTTP GET [fachdienst-endpunkt]/DocumentReference/[id]/$change-status
Parameters
<Parameters xmlns="http://hl7.org/fhir">
    <id value="BeispielParameterChangeStatusInput" />
    <parameter>
        <name value="tag" />
        <valueCode value="erledigt" />
    </parameter>
</Parameters>
{
    "resourceType": "Parameters",
    "id": "BeispielParameterChangeStatusInput",
    "parameter":  [
        {
            "name": "tag",
            "valueCode": "erledigt"
        }
    ]
}

Antwort des Fachdienstes im Erfolgsfall:

HTTP 200 OK

mit Body:

Parameters
<Parameters xmlns="http://hl7.org/fhir">
    <id value="BeispielParameterChangeStatusOutput" />
    <parameter>
        <name value="meta" />
        <valueMeta>
            <versionId value="1" />
            <lastUpdated value="2024-05-11T13:00:00.123+02:00" />
            <tag>
                <system value="https://gematik.de/fhir/erg/CodeSystem/erg-rechnungsstatus-cs" />
                <code value="erledigt" />
            </tag>
        </valueMeta>
    </parameter>
</Parameters>
{
    "resourceType": "Parameters",
    "id": "BeispielParameterChangeStatusOutput",
    "parameter":  [
        {
            "name": "meta",
            "valueMeta": {
                "versionId": "1",
                "lastUpdated": "2024-05-11T13:00:00.123+02:00",
                "tag":  [
                    {
                        "system": "https://gematik.de/fhir/erg/CodeSystem/erg-rechnungsstatus-cs",
                        "code": "erledigt"
                    }
                ]
            }
        }
    ]
}

R8: Manuelles Markieren von Rechnungen und Dokumenten

Die nachfolgende Interaktion ist relevant für den FD als Server, sowie für das eRg FdV als Client. Anwendungsfall AF_10160 MUSS durch den FD über die spezifizierte API umgesetzt werden. Die Vorgaben aus "Tabelle 24: Use Case Manuelles Markieren von Rechnungen und Dokumenten" des Feature-Dokumentes MÜSSEN eingehalten werden durch den FD.

HTTP-Methode POST
Endpunkt /DocumentReference/[id]/$process-flag
API-Zustand HTTP-Status-Code
Erfolgsfall 200 - OK
Weitere Parameter in HTTP-Anfrage enthalten 400 - Bad Request
Syntax für Parameter ist nicht korrekt oder Kardinalitäten werden nicht eingehalten 400 - Bad Request
Kein valides Access-Token wird mitgesendet 401 - Unauthorized
Autorisierter Benutzer verfügt über keine ausreichende Berechtigung die Interaktion auszuführen 403 - Forbidden
Fehlende Berechtigung für den Rechnungsempfänger die Dokumentenmarkierung zu verändern 404 - Not Found
Operation wird auf nicht existierender DocumentReference-Ressource aufgerufen 404 - Not Found
Andere HTTP-Methode wird verwendet 405 - Method Not Allowed

Die Input- und Output-Parameter werden durch die OperationDefinition https://gematik.de/fhir/erg/OperationDefinition/ProcessFlag beschrieben.

Invocations

URL: [base]/DocumentReference/[id]/$process-flag

This operation changes content

Parameters (In)

NameCardinalityTypeDocumentation
markierung1..1Coding

Name der Markierung

zeitpunkt1..1dateTime

Optionaler Zeitpunkt der Markierung

details1..1string

Optionale Details als Freitext zur Markierung

gelesen1..1boolean

Gelesen-Status falls Markierung vom Typ 'gelesen' ist

artDerArchivierung1..1Coding

Details zur Art der Archivierung falls Markierung vom Typ 'archiviert' ist

Return Values (Out)

NameCardinalityTypeDocumentation
meta1..1Meta

Vollständiges Meta-Element des Rechnungsdokuments / des Anhangs inkl. Extension (siehe ERGDocumentReferenceMarkierung) zur Erfassung der Zusatzinformationen der Markierung

Beispiele

HTTP GET [fachdienst-endpunkt]/DocumentReference/[id]/$change-status
Parameters
<Parameters xmlns="http://hl7.org/fhir">
    <id value="BeispielParameterProcessFlagInput" />
    <parameter>
        <name value="markierung" />
        <valueCoding>
            <system value="https://gematik.de/fhir/erg/CodeSystem/erg-rechnung-markierung-cs" />
            <code value="bezahlt" />
        </valueCoding>
    </parameter>
    <parameter>
        <name value="zeitpunkt" />
        <valueDateTime value="2024-05-30T13:00:00.001+02:00" />
    </parameter>
    <parameter>
        <name value="details" />
        <valueString value="Bezahlt mit falschem Betreff" />
    </parameter>
</Parameters>
{
    "resourceType": "Parameters",
    "id": "BeispielParameterProcessFlagInput",
    "parameter":  [
        {
            "name": "markierung",
            "valueCoding": {
                "system": "https://gematik.de/fhir/erg/CodeSystem/erg-rechnung-markierung-cs",
                "code": "bezahlt"
            }
        },
        {
            "name": "zeitpunkt",
            "valueDateTime": "2024-05-30T13:00:00.001+02:00"
        },
        {
            "name": "details",
            "valueString": "Bezahlt mit falschem Betreff"
        }
    ]
}

Antwort des Fachdienstes im Erfolgsfall:

HTTP 200 OK

mit Body:

Parameters
<Parameters xmlns="http://hl7.org/fhir">
    <id value="BeispielParameterProcessFlagOutput" />
    <parameter>
        <name value="meta" />
        <valueMeta>
            <extension url="https://gematik.de/fhir/erg/StructureDefinition/erg-documentreference-markierung">
                <extension url="markierung">
                    <valueCoding>
                        <system value="https://gematik.de/fhir/erg/CodeSystem/erg-rechnung-markierung-cs" />
                        <code value="bezahlt" />
                    </valueCoding>
                </extension>
                <extension url="zeitpunkt">
                    <valueDateTime value="2024-05-30T13:00:00.123+02:00" />
                </extension>
                <extension url="details">
                    <valueString value="Bezahlt mit falschem Betreff" />
                </extension>
            </extension>
            <versionId value="2" />
            <lastUpdated value="2024-05-31T13:00:00.123+02:00" />
            <tag>
                <system value="https://gematik.de/fhir/erg/CodeSystem/erg-rechnungsstatus-cs" />
                <code value="erledigt" />
            </tag>
        </valueMeta>
    </parameter>
</Parameters>
{
    "resourceType": "Parameters",
    "id": "BeispielParameterProcessFlagOutput",
    "parameter":  [
        {
            "name": "meta",
            "valueMeta": {
                "versionId": "2",
                "lastUpdated": "2024-05-31T13:00:00.123+02:00",
                "tag":  [
                    {
                        "system": "https://gematik.de/fhir/erg/CodeSystem/erg-rechnungsstatus-cs",
                        "code": "erledigt"
                    }
                ],
                "extension":  [
                    {
                        "url": "https://gematik.de/fhir/erg/StructureDefinition/erg-documentreference-markierung",
                        "extension":  [
                            {
                                "url": "markierung",
                                "valueCoding": {
                                    "system": "https://gematik.de/fhir/erg/CodeSystem/erg-rechnung-markierung-cs",
                                    "code": "bezahlt"
                                }
                            },
                            {
                                "url": "zeitpunkt",
                                "valueDateTime": "2024-05-30T13:00:00.123+02:00"
                            },
                            {
                                "url": "details",
                                "valueString": "Bezahlt mit falschem Betreff"
                            }
                        ]
                    }
                ]
            }
        }
    ]
}

Verarbeitungsschritte im FD

  • Falls während eines Aufrufs der FD feststellt, dass das eRg FdV versucht eine Markierung hinzuzufügen die bereits existiert, so ist diese Markierung zu ignorieren. HTTP 200 - OK wird in diesem Fall zurückgegeben.

  • Der FD MUSS anhand der übergebenen Parameter die Extension 'ERGDocumentReferenceMarkierung' auf der DokumentReference erstellen und aktualisieren.


R9: Löschen eines Rechnungsvorganges

Die nachfolgende Interaktion ist relevant für den FD als Server, sowie für das eRg FdV als Client. Anwendungsfall AF_10245 MUSS durch den FD über die spezifizierte API umgesetzt werden. Die Vorgaben aus "Tabelle 27: Use Case Automatisches endgültiges Löschen von Rechnungen" des Feature-Dokumentes MÜSSEN eingehalten werden durch den FD.

HTTP-Methode POST
Endpunkt /DocumentReference/[id]/$erase
API-Zustand HTTP-Status-Code
Erfolgsfall 200 - OK
Weitere Parameter in HTTP-Anfrage enthalten 400 - Bad Request
Syntax für Parameter ist nicht korrekt oder Kardinalitäten werden nicht eingehalten 400 - Bad Request
Kein valides Access-Token wird mitgesendet 401 - Unauthorized
Autorisierter Benutzer verfügt über keine ausreichende Berechtigung die Interaktion auszuführen 403 - Forbidden
Fehlende Berechtigung für den Rechnungsempfänger den Dokumentenstatus permanent zu löschen 404 - Not Found
Operation wird auf nicht existierender DocumentReference-Ressource aufgerufen 404 - Not Found
Andere HTTP-Methode wird verwendet 405 - Method Not Allowed
Operation wird auf einer DocumentReference-Ressource aufgerufen die sich nicht im Bearbeitungsstatus 'Papierkorb' befindet 412 - Precondition Failed

Die Input- und Output-Parameter werden durch die OperationDefinition https://gematik.de/fhir/erg/OperationDefinition/Erase beschrieben. In der derzeitgen Version der Operation exisieren jedoch keine Input- oder Output-Parameter.

Invocations

URL: [base]/DocumentReference/[id]/$erase

This operation changes content

Beispiele

HTTP POST [fachdienst-endpunkt]/DocumentReference/123456/$erase

Antwort des Endpunktes im Erfolgsfall:

HTTP 200 OK

Verarbeitungsschritte im FD

  • Der FD MUSS die DocumentReference-Ressource und alle dazugehörigen Binary-Ressourcen permanent und unverzüglich löschen. Die entsprechenden Dokumententokens verlieren permanent ihre Gültigkeit.

R10: Nutzerprotokoll einsehen

Die nachfolgende Interaktion ist relevant für den FD als Server, sowie für das eRg FdV als Client. Anwendungsfall AF_10203 MUSS durch den FD über die spezifizierte API umgesetzt werden. Die Vorgaben aus "Tabelle 39: Use Case Nutzerprotokoll einsehen" des Feature-Dokumentes MÜSSEN eingehalten werden durch den FD.

HTTP-Methode GET
Endpunkt /AuditEvent
Suchparameter agent:text Kardinalität: 0..1
Name Rechnungsersteller/Kostenträger/FachdienstVersicherte Person
Hinweis: Alle Akteure werden mit unterschiedlichen Rollen als agent erfasst
Type: string
Suchparameter date Kardinalität: 0..1
Type: date
Suchresultatparameter _sort Als Sortierkriterien können die oben genannten Suchparameter verwendet werden für die Inhalte die als Sortierkriterien in Tabelle 39: Use Case Nutzerprotokoll einsehen - Feature-Dokument E-Rechnung genannt sind
Suchresultatparameter _count Durch den Client gewünschte Page-Size, der FD KANN Vorgaben für die Maximale Page-Size definieren
User-Kontext KVNR Kardinalität: 1..1
Hinweis: Die KVNR ist aus dem Claim urn:telematik:claims:id des mitzusendenen Access-Token zu extrahieren.

ToDo: Custom SearchParameter definieren

API-Zustand HTTP-Status-Code
Erfolgsfall 200 - OK
Weitere Parameter in HTTP-Anfrage enthalten 400 - Bad Request
Syntax für Parameter ist nicht korrekt oder Kardinalitäten werden nicht eingehalten 400 - Bad Request
Kein valides Access-Token wird mitgesendet 401 - Unauthorized
Autorisierter Benutzer verfügt über keine ausreichende Berechtigung die Interaktion auszuführen 403 - Forbidden
Andere HTTP-Methode wird verwendet 405 - Method Not Allowed

Als Antwort MUSS der FD ein FHIR-SearchSet-Bundle zurückliefern welches eingegrenzt ist auf die durch den Client übermittelten Suchparameter.

Beispiele

HTTP GET [fachdienst-endpunkt]/AuditEvent?agent:text=11223344

Antwort des Fachdienstes im Erfolgsfall:

HTTP 200 OK

mit Body:

Bundle
<Bundle xmlns="http://hl7.org/fhir">
    <id value="BeispielNutzungsprotokollResultBundle" />
    <type value="searchset" />
    <total value="1" />
    <entry>
        <fullUrl value="[fachdienst-endpunkt]/AuditEvent/BeispielNutzungsprotokoll" />
        <resource>
            <AuditEvent>
                <id value="BeispielNutzungsprotokoll" />
                <meta>
                    <profile value="https://gematik.de/fhir/erg/StructureDefinition/erg-nutzungsprotokoll" />
                </meta>
                <type>
                    <code value="rest" />
                </type>
                <subtype>
                    <code value="erechnung-submit" />
                </subtype>
                <action value="C" />
                <recorded value="2024-05-29T11:25:54.123456+00:02" />
                <outcome value="0" />
                <agent>
                    <type>
                        <coding>
                            <code value="humanuser" />
                        </coding>
                    </type>
                    <who>
                        <identifier>
                            <type>
                                <coding>
                                    <system value="http://terminology.hl7.org/CodeSystem/v2-0203" />
                                    <code value="PRN" />
                                </coding>
                            </type>
                            <system value="https://gematik.de/fhir/sid/telematik-id" />
                            <value value="11223344" />
                        </identifier>
                        <display value="Beispiel Leistungsempf&#228;nmger" />
                    </who>
                    <requestor value="true" />
                </agent>
                <source>
                    <observer>
                        <display value="FdV" />
                    </observer>
                </source>
                <entity>
                    <what>
                        <reference value="DocumentReference/BeispielDocumentReferenceRechnungRetrieve" />
                    </what>
                </entity>
            </AuditEvent>
        </resource>
        <search>
            <mode value="match" />
        </search>
    </entry>
</Bundle>
{
    "resourceType": "Bundle",
    "id": "BeispielNutzungsprotokollResultBundle",
    "type": "searchset",
    "total": 1,
    "entry":  [
        {
            "fullUrl": "[fachdienst-endpunkt]/AuditEvent/BeispielNutzungsprotokoll",
            "resource": {
                "resourceType": "AuditEvent",
                "id": "BeispielNutzungsprotokoll",
                "meta": {
                    "profile":  [
                        "https://gematik.de/fhir/erg/StructureDefinition/erg-nutzungsprotokoll"
                    ]
                },
                "type": {
                    "code": "rest"
                },
                "subtype":  [
                    {
                        "code": "erechnung-submit"
                    }
                ],
                "action": "C",
                "recorded": "2024-05-29T11:25:54.123456+00:02",
                "outcome": "0",
                "agent":  [
                    {
                        "type": {
                            "coding":  [
                                {
                                    "code": "humanuser"
                                }
                            ]
                        },
                        "who": {
                            "identifier": {
                                "type": {
                                    "coding":  [
                                        {
                                            "code": "PRN",
                                            "system": "http://terminology.hl7.org/CodeSystem/v2-0203"
                                        }
                                    ]
                                },
                                "system": "https://gematik.de/fhir/sid/telematik-id",
                                "value": "11223344"
                            },
                            "display": "Beispiel Leistungsempfänmger"
                        },
                        "requestor": true
                    }
                ],
                "source": {
                    "observer": {
                        "display": "FdV"
                    }
                },
                "entity":  [
                    {
                        "what": {
                            "reference": "DocumentReference/BeispielDocumentReferenceRechnungRetrieve"
                        }
                    }
                ]
            },
            "search": {
                "mode": "match"
            }
        }
    ]
}

Verarbeitungsschritte im FD

  • Der FD MUSS die Suche auf AuditEvent-Ressourcen begrenzen die unter AuditEvent.agent.who auf einen Benutzer verweisen, welcher durch die KVNR aus dem Access-Token identifiziert wird, um sicherzustellen, dass nur persönliche AuditEvent-Ressourcen des angemeldeten Rechnungsempfänger zurückgegeben werden.