TIFlow - Abrechnungsinformationen
Version 2.0.0-ballot.1 - ci-build

## FD-Anforderungen: Consent-Query

Diese Seite beschreibt Anforderungen am TI-Flow-Fachdienst zur Nutzung der `Consent`-Query-Endpunkte.

### Anforderungen aus der Core Spezifikation

Diese Seite enthält die normativen Anforderungen an den TI-Flow-Fachdienst für den Consent-Endpunkt.

Der TI-Flow-Fachdienst MUSS alle Zugriffe auf die Ressource Consent mittels der HTTP-Operationen PUT, PATCH, oder HEAD unterbinden und mit mit dem HTTP-Code "405 - Method Not Allowed" abbrechen, damit keine unzulässigen Operationen ausgeführt werden können.

#### POST /Consent

Der TI-Flow-Fachdienst MUSS beim Aufruf der HTTP-POST-Operation auf den Endpunkt /Consent die zeta-user-info.professionOID des Nutzers bestimmen und sicherstellen, dass ausschließlich Nutzer in der Rolle

- oid_versicherter

die Operation am TI-Flow-Fachdienst aufrufen, und bei Abweichungen die Operation mit dem folgenden Fehler:

HTTP-Code | 403 - Forbidden
Severity | error
Code | invalid
Details Code | TIFLOW_AUTH_ROLE_NOT_ALLOWED
Details Text | Der Nutzer ist nicht berechtigt, die aufgerufene Operation anzufordern

abbrechen, damit eine Einwilligung nicht durch Unberechtigte erteilt werden kann. Der TI-Flow-Fachdienst MUSS beim Aufruf der HTTP-POST-Operation auf den Endpunkt /Consent sicherstellen, dass der zeta-user-info.identifier des Nutzers (KVNR) und die KVNR in Consent.patient.identifier übereinstimmen und im Fehlerfall die Operation mit dem folgenden Fehler:

HTTP-Code | 403 - Forbidden
Severity | error
Code | invalid
Details Code | SVC_IDENTITY_MISMATCH
Details Text | FHIR Profile Validation Failed

abbrechen, damit eine Einwilligung für einen Versicherten nicht durch Dritte erteilt werden kann. Der TI-Flow-Fachdienst MUSS die im HTTP-POST-Operation auf die Ressource Consent übertragene Consent Ressource gegen das FHIR-Profil Consent prüfen und bei Nicht-Konformität die Operation mit dem folgenden Fehler:

HTTP-Code | 400 - Bad Request
Severity | error
Code | invalid
Details Code | SVC_VALIDATION_FAILED
Details Text | FHIR Profile Validation Failed

abbrechen, damit nur FHIR-valide Ressourcen in den TI-Flow-Fachdienst hochgeladen werden. Der TI-Flow-Fachdienst MUSS beim Aufruf der HTTP-POST-Operation auf den Endpunkt /Consent sicherstellen, dass noch keine Consent Ressource für den zeta-user-info.identifier des Nutzers (KVNR) und Consent.category.coding.code = <Einwilligungstyp> aus URL-Parameter category gespeichert ist und im Fehlerfall die Operation mit dem folgenden Fehler:

HTTP-Code | 409 - Conflict
Severity | error
Code | invalid
Details Code | TIFLOW_CONSENT_ALREADY_EXISTS
Details Text | -

abbrechen, um maximal eine Einwilligung für den Versicherten für jeden Einwilligungstypen zu speichern. Der TI-Flow-Fachdienst MUSS beim Aufruf der HTTP-POST-Operation auf den Endpunkt /Consent den Zeitpunkt des erfolgreichen Operationsaufrufs in der Consent-Ressource unter .dateTime mit Sekundengenauigkeit hinterlegen. Der TI-Flow-Fachdienst MUSS beim Aufruf der HTTP-POST-Operation auf den Endpunkt /Consent - falls bei den Prüfungen keine Fehler aufgetreten sind, welche zum Abbruch der Operation führen - die übermittelte Ressource persistieren. Der TI-Flow-Fachdienst MUSS beim Aufruf der HTTP-POST-Operation auf den Endpunkt /Consent, falls bei den Prüfungen keine Fehler aufgetreten sind, welche zum Abbruch der Operation führen, die übermittelte Ressource persistieren.

#### GET /Consent

Der TI-Flow-Fachdienst MUSS beim Aufruf der HTTP-GET-Operation auf den Endpunkt /Consent die zeta-user-info.professionOID des Nutzers bestimmen und sicherstellen, dass ausschließlich Nutzer in der Rolle

- oid_versicherter

die Operation am TI-Flow-Fachdienst aufrufen, und bei Abweichungen die Operation mit dem folgenden Fehler:

HTTP-Code | 403 - Forbidden
Severity | error
Code | invalid
Details Code | TIFLOW_AUTH_ROLE_NOT_ALLOWED
Details Text | Der Nutzer ist nicht berechtigt, die aufgerufene Operation anzufordern

abbrechen, damit die Information zur Einwilligung nicht durch Unberechtigte ausgelesen werden kann. Der TI-Flow-Fachdienst MUSS beim Aufruf der HTTP-GET-Operation auf den Endpunkt /Consent die dem Versicherten zugeordneten Consent-Ressourcen anhand des zeta-user-info.identifier des Nutzers (KVNR) identifizieren und in den Response aufnehmen, die in Consent.Patient.identifier die entsprechende KVNR des Versicherten referenziert haben, damit ausschließlich Versicherte ihre eigenen Information zu Einwilligungen einsehen können.

#### DELETE /Consent

Der TI-Flow-Fachdienst MUSS beim Aufruf der HTTP-Operation DELETE auf den Endpunkt /Consent prüfen, dass der URL-Parameter ?category angegeben ist und bei Abweichung die Operation mit dem folgenden Fehler:

HTTP-Code | 405 - Method Not Allowed
Severity | error
Code | invalid
Details Code | TIFLOW_CONSENT_CATEGORY_REQUIRED
Details Text | -

abbrechen, um das Löschen mehrerer Ressourcen über einen Request zu verhindern. Der TI-Flow-Fachdienst MUSS beim Aufruf der HTTP-Operation DELETE auf den Endpunkt /Consent die zeta-user-info.professionOID des Nutzers bestimmen und sicherstellen, dass ausschließlich Nutzer in der Rolle

- oid_versicherter

die Operation am TI-Flow-Fachdienst aufrufen und bei Abweichungen die Operation mit dem folgenden Fehler:

HTTP-Code | 403 - Forbidden
Severity | error
Code | invalid
Details Code | TIFLOW_AUTH_ROLE_NOT_ALLOWED
Details Text | Der Nutzer ist nicht berechtigt, die aufgerufene Operation anzufordern

abbrechen, damit die Information zur Einwilligung nicht durch Unberechtigte gelöscht werden kann. Der TI-Flow-Fachdienst MUSS beim Aufruf der HTTP-Operation DELETE auf den Endpunkt /Consent prüfen, dass der für ?category angegebene Wert in den CodeSystemen

- https://gematik.de/fhir/erpchrg/CodeSystem/GEM_ERPCHRG_CS_ConsentType
- https://gematik.de/fhir/erp-eu/CodeSystem/GEM_ERPEU_CS_ConsentType

enthalten ist und bei fehlerhafter Prüfung die Operation mit dem folgenden Fehler:

HTTP-Code | 400 - Bad Request
Severity | error
Code | invalid
Details Code | TIFLOW_CONSENT_CATEGORY_INVALID
Details Text | -

abbrechen, damit nur Löschrequests für definierte Consent Typen ausgeführt werden.

Es bestehen anwendungsfall-spezifische Anforderungen, welche Inhalte beim Widerruf einer Einwilligung zu löschen sind.

Der TI-Flow-Fachdienst MUSS beim Aufruf der HTTP-Operation DELETE auf den Endpunkt /Consent die Ressource löschen, bei der Consent.patient.identifier dem zeta-user-info.identifier des Nutzers (KVNR) sowie Consent.category.coding.code dem in ?category übermittelten Wert entspricht.

### Modulspezifische Anforderungen

#### DELETE /Consent (Einwilligung widerrufen)

Der TI-Flow-Fachdienst MUSS beim Aufruf der HTTP-Operation DELETE auf den Endpunkt /Consent mit ?category=CHARGCONS alle dem Versicherten zugeordneten ChargeItem-Ressourcen (ChargeItem.subject.identifier) anhand des zeta-user-info.identifier des Nutzers (KVNR) identifizieren und löschen.