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
<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.

CanonicalStatusVersionBasis
https://gematik.de/fhir/erg/StructureDefinition/erg-patientactive1.1.0-RC1http://hl7.org/fhir/StructureDefinition/Patient

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeS Σ I1..1CodeableConceptBindingPattern
systemS Σ1..1uriFixed Value
valueS Σ I1..1string
periodΣ0..1Period
id0..1string
extensionI0..*Extension
referenceΣ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeS Σ1..1CodeableConceptBindingPattern
systemS Σ1..1uriFixed Value
valueS Σ I1..1string
periodΣ0..1Period
assignerΣ0..1Reference(Organization)
displayΣ0..1string
activeΣ ?!0..1boolean
id0..1string
extensionI0..*Extension
useS Σ ?!0..1codeBinding
textS Σ0..1string
id0..1string
namenszusatzS I0..1Extension(string)
nachnameS I0..1Extension(string)
vorsatzwortS I0..1Extension(string)
value0..1System.String
givenS Σ0..*string
id0..1string
prefix-qualifierS I0..1Extension(code)
value0..1System.String
suffixΣ0..*string
periodΣ0..1Period
telecomΣ0..*ContactPoint
genderΣ0..1codeBinding
birthDateS Σ0..1date
deceasedBooleanboolean
deceasedDateTimedateTime
id0..1string
StadtteilI0..1Extension(string)
useΣ ?!0..1codeBinding
typeS Σ0..1codeBindingPattern
textΣ0..1string
id0..1string
StrasseS I0..1Extension(string)
HausnummerS I0..1Extension(string)
AdresszusatzS I0..1Extension(string)
PostfachI0..0Extension(string)
value0..1System.String
cityS Σ0..1string
districtΣ0..0string
stateΣ0..1stringBinding
postalCodeS Σ0..1string
countryS Σ0..1stringBinding
periodΣ0..1Period
id0..1string
StadtteilI0..1Extension(string)
useΣ ?!0..1codeBinding
typeS Σ0..1codeBindingPattern
textΣ0..1string
id0..1string
StrasseI0..0Extension(string)
HausnummerI0..0Extension(string)
AdresszusatzI0..0Extension(string)
PostfachS I0..1Extension(string)
value0..1System.String
cityS Σ0..1string
districtΣ0..0string
stateΣ0..1stringBinding
postalCodeS Σ0..1string
countryS Σ0..1stringBinding
periodΣ0..1Period
maritalStatus0..1CodeableConceptBinding
multipleBirthBooleanboolean
multipleBirthIntegerinteger
photo0..*Attachment
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
relationship0..*CodeableConceptBinding
name0..1HumanName
telecom0..*ContactPoint
address0..1Address
gender0..1codeBinding
organizationI0..1Reference(Organization)
period0..1Period
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
language1..1CodeableConceptBinding
preferred0..1boolean
generalPractitioner0..*Reference(Organization | Practitioner | PractitionerRole)
managingOrganizationΣ0..1Reference(Organization)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
otherΣ1..1Reference(Patient | RelatedPerson)
typeΣ1..1codeBinding


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.