Skip to content

Latest commit

 

History

History
362 lines (330 loc) · 13.3 KB

erp_consent.adoc

File metadata and controls

362 lines (330 loc) · 13.3 KB

E-Rezept API-Dokumentation für die PKV-Einwilligung gematik logo

Zielgruppe: FdV green

Hier dokumentiert die gematik die Nutzung der Schnittstellen rund um das E-Rezept für die Einwilligung zur elektronischen Verarbeitung und Speicherung von Abrechnungsinformationen für PKV-Versicherte.

Profilierung

Für diesen Anwendungsfall wird die FHIR-Ressource "Consent": http://hl7.org/fhir/R4/consent.html profiliert. Die Profile können als JSON- oder XML-Datei hier eingesehen werden: https://simplifier.net/erezept-patientenrechnung/gem_erpchrg_pr_consent

Die für diese Anwendung wichtigen Attribute und Besonderheiten durch die Profilierung der Ressourcen werden in der folgenden Tabelle kurz zusammengefasst:

Name

Beschreibung

Consent

status

Status der Einwilligung. Festgesetzt auf "active"

scope

Art der Einwilligung.

scope.coding.code

Festgelegt auf "patient-privacy"

category

Art der Einwilligung, festgelegt durch ein von der gematik erstelltes Codesystem.

patient

Identifier des Patienten, zu welchem die Einwilligung zugeordnet wird. GKV- und PKV-Profile sind möglich.

dateTime

Zeitstempel der Erstellung der Einwilligung

policyRule

Angabe des Types einer Einwilligung

In den folgenden Kapiteln wird erläutert, wann und wie die Befüllung dieser Attribute erfolgt.

Anwendungsfall Einwilligung zum Speichern der Abrechnungsinformationen durch den Versicherten erteilen

Als Versicherter möchte ich eine Einwilligung zur elektronischen Speicherung meiner Abrechnungsinformationen erstellen und dem Fachdienst übermitteln. Die Einwilligung wird über die FHIR-Ressource "Consent" abgebildet.

Der Aufruf erfolgt als http-POST-Operation auf die Ressource /Consent. Im Aufruf muss das während der Authentisierung erhaltene ACCESS_TOKEN im http-Request-Header Authorization übergeben werden.

Request

URI

Method

POST

Requester

FdV green

Responder

eRp—​FD blue

HTTP Header

Authorization: Bearer eyJraWQ.ewogImL2pA10Qql22ddtutrvx4FsDlz.rHQjEmB1lLmpqn9J
X-AccessCode: 777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea
ℹ️
Mit dem ACCESS_TOKEN im Authorization-Header weist sich der Zugreifende als Versicherter aus, im Token ist seine Versichertennummer enthalten. Die Base64-Darstellung des Tokens ist stark gekürzt.

Payload

{
  "resourceType": "Consent",
  "id": "erp-consent-01-request-PostConsent",
  "meta": {
    "profile": [
      "https://gematik.de/fhir/erpchrg/StructureDefinition/GEM_ERPCHRG_PR_Consent|1.0"
    ]
  },
  "status": "active",
  "scope": {
    "coding": [
      {
        "code": "patient-privacy",
        "system": "http://terminology.hl7.org/CodeSystem/consentscope",
        "display": "Privacy Consent"
      }
    ]
  },
  "category": [
    {
      "coding": [
        {
          "code": "CHARGCONS",
          "system": "https://gematik.de/fhir/erpchrg/CodeSystem/GEM_ERPCHRG_CS_ConsentType",
          "display": "Consent for saving electronic charge item"
        }
      ]
    }
  ],
  "policyRule": {
    "coding": [
      {
        "code": "OPTIN",
        "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode"
      }
    ]
  },
  "patient": {
    "identifier": {
      "value": "P987654321",
      "system": "http://fhir.de/sid/pkv/kvid-10"
    }
  },
  "dateTime": "2025-01-15T15:29:00+00:00"
}

Response

HTTP/1.1 201 Created
Content-Type: application/fhir+json;charset=utf-8

{
  "resourceType": "Consent",
  "id": "erp-consent-02-response-PostConsent",
  "meta": {
    "profile": [
      "https://gematik.de/fhir/erpchrg/StructureDefinition/GEM_ERPCHRG_PR_Consent|1.0"
    ]
  },
  "status": "active",
  "scope": {
    "coding": [
      {
        "code": "patient-privacy",
        "system": "http://terminology.hl7.org/CodeSystem/consentscope",
        "display": "Privacy Consent"
      }
    ]
  },
  "category": [
    {
      "coding": [
        {
          "code": "CHARGCONS",
          "system": "https://gematik.de/fhir/erpchrg/CodeSystem/GEM_ERPCHRG_CS_ConsentType",
          "display": "Consent for saving electronic charge item"
        }
      ]
    }
  ],
  "policyRule": {
    "coding": [
      {
        "code": "OPTIN",
        "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode"
      }
    ]
  },
  "patient": {
    "identifier": {
      "value": "P987654321",
      "system": "http://fhir.de/sid/pkv/kvid-10"
    }
  },
  "dateTime": "2025-01-15T15:29:00+00:00"
}

Code

Type Success

201

Created
Die Anfrage wurde erfolgreich bearbeitet. Die Response enthält die angefragten Daten.

Code

Type Warning

253

Die ID einer Ressource und die ID ihrer zugehörigen fullUrl stimmen nicht überein.
Hinweis: Es ist vorgesehen, dass zu einem späteren Zeitpunkt die fehlerhafte Validierung einer Ressource-ID zu einem Fehler statt zu einer Warnung führt.

254

Format der fullUrl ist ungültig.
Hinweis: Es ist vorgesehen, dass zu einem späteren Zeitpunkt das ungültige Format der fullUrl zu einem Fehler anstatt einem Warning führt.

Code

Type Error

400

Bad Request
Die Anfrage-Nachricht war fehlerhaft aufgebaut.

401

Unauthorized
Die Anfrage kann nicht ohne gültige Authentifizierung durchgeführt werden. Wie die Authentifizierung durchgeführt werden soll, wird im "WWW-Authenticate"-Header-Feld der Antwort übermittelt.

403

Forbidden
Die Anfrage wurde mangels Berechtigung des Clients nicht durchgeführt, bspw. weil der authentifizierte Benutzer nicht berechtigt ist.

405

Method Not Allowed
Die Anfrage darf nur mit anderen HTTP-Methoden (zum Beispiel GET statt POST) gestellt werden. Gültige Methoden für die betreffende Ressource werden im "Allow"-Header-Feld der Antwort übermittelt.

408

Request Timeout
Innerhalb der vom Server erlaubten Zeitspanne wurde keine vollständige Anfrage des Clients empfangen.

409

Conflict
[small]#Die Anfrage wurde unter falschen Annahmen gestellt, bspw. weil bereits eine Einwilligung mit der Kategorie Consent.category.coding.code = CHARGCONS vorhanden ist.

429

Too Many Requests
Der Client hat zu viele Anfragen in einem bestimmten Zeitraum gesendet.

500

Server Errors
Unerwarteter Serverfehler

Anwendungsfall Einwilligung zum Speichern der Abrechnungsinformationen durch den Versicherten einsehen

Als Versicherter möchte ich meine erteilte Einwilligung zur elektronischen Speicherung meiner Abrechnungsinformationen einsehen.

Der Aufruf erfolgt als http-GET-Operation auf die Ressource /Consent. Im Aufruf muss das während der Authentisierung erhaltene ACCESS_TOKEN im http-Request-Header Authorization übergeben werden, der Fachdienst filtert die Consent-Einträge nach der im ACCESS_TOKEN enthaltenen KVNR des Versicherten.

Request

URI

Method

GET

Requester

FdV green

Responder

eRp—​FD blue

HTTP Header

Authorization: Bearer eyJraWQ.ewogImL2pA10Qql22ddtutrvx4FsDlz.rHQjEmB1lLmpqn9J
X-AccessCode: 777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea
ℹ️
Mit dem ACCESS_TOKEN im Authorization-Header weist sich der Zugreifende als Versicherter aus, im Token ist seine Versichertennummer enthalten. Die Base64-Darstellung des Tokens ist stark gekürzt.

Payload

Response

HTTP/1.1 200 OK
Content-Type: application/fhir+json;charset=utf-8

{
  "resourceType": "Bundle",
  "id": "erp-consent-03-response-GetConsent",
  "type": "searchset",
  "timestamp": "2025-01-15T15:29:00.434+00:00",
  "total": 1,
  "entry": [
    {
      "fullUrl": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Consent/CHARGCONS-X234567890",
      "resource": {
        "resourceType": "Consent",
        "id": "CHARGCONS-X234567890",
        "meta": {
          "profile": [
            "https://gematik.de/fhir/erpchrg/StructureDefinition/GEM_ERPCHRG_PR_Consent|1.0"
          ]
        },
        "status": "active",
        "scope": {
          "coding": [
            {
              "code": "patient-privacy",
              "system": "http://terminology.hl7.org/CodeSystem/consentscope",
              "display": "Privacy Consent"
            }
          ]
        },
        "category": [
          {
            "coding": [
              {
                "code": "CHARGCONS",
                "system": "https://gematik.de/fhir/erpchrg/CodeSystem/GEM_ERPCHRG_CS_ConsentType",
                "display": "Consent for saving electronic charge item"
              }
            ]
          }
        ],
        "policyRule": {
          "coding": [
            {
              "code": "OPTIN",
              "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode"
            }
          ]
        },
        "patient": {
          "identifier": {
            "value": "P987654321",
            "system": "http://fhir.de/sid/pkv/kvid-10"
          }
        },
        "dateTime": "2025-01-15T15:29:00+00:00"
      }
    }
  ]
}

Code

Type Success

200

OK
Die Anfrage wurde erfolgreich bearbeitet. Die angeforderte Ressource wird im ResponseBody bereitgestellt.

Code

Type Error

400

Bad Request
Die Anfrage-Nachricht war fehlerhaft aufgebaut.

401

Unauthorized
Die Anfrage kann nicht ohne gültige Authentifizierung durchgeführt werden. Wie die Authentifizierung durchgeführt werden soll, wird im "WWW-Authenticate"-Header-Feld der Antwort übermittelt.

403

Forbidden
Die Anfrage wurde mangels Berechtigung des Clients nicht durchgeführt, bspw. weil der authentifizierte Benutzer nicht berechtigt ist.

404

Not found
Die adressierte Ressource wurde nicht gefunden, die übergebene ID ist ungültig.

405

Method Not Allowed
Die Anfrage darf nur mit anderen HTTP-Methoden (zum Beispiel GET statt POST) gestellt werden. Gültige Methoden für die betreffende Ressource werden im "Allow"-Header-Feld der Antwort übermittelt.

429

Too Many Requests
Der Client hat zu viele Anfragen in einem bestimmten Zeitraum gesendet.

500

Server Errors
Unerwarteter Serverfehler

Anwendungsfall Einwilligung zum Speichern der Abrechnungsinformationen durch den Versicherten widerrufen

Als Versicherter möchte ich meine erteilte Einwilligung zur elektronischen Speicherung meiner Abrechnungsinformationen widerrufen. Mit dem Widerruf der Einwilligung werden bereits gespeicherte Abrechnungsinformationen gelöscht.

Der Aufruf erfolgt als http-DELETE-Operation auf die Ressource /Consent. Im Aufruf muss das während der Authentisierung erhaltene ACCESS_TOKEN im http-Request-Header Authorization übergeben werden, der Fachdienst filtert die Consent-Einträge nach der im ACCESS_TOKEN enthaltenen KVNR des Versicherten.

Request

URI

Method

DELETE

Requester

FdV green

Responder

eRp—​FD blue

HTTP Header

Authorization: Bearer eyJraWQ.ewogImL2pA10Qql22ddtutrvx4FsDlz.rHQjEmB1lLmpqn9J
X-AccessCode: 777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea
ℹ️
Mit dem ACCESS_TOKEN im Authorization-Header weist sich der Zugreifende als Versicherter aus, im Token ist seine Versichertennummer enthalten. Die Base64-Darstellung des Tokens ist stark gekürzt.

Payload

Response

HTTP/1.1 204 No Content

Code

Type Success

204

No Content
Die Anfrage wurde erfolgreich bearbeitet. Die Response enthält jedoch keine Daten.

Code

Type Error

400

Bad Request
Die Anfrage-Nachricht war fehlerhaft aufgebaut.

401

Unauthorized
Die Anfrage kann nicht ohne gültige Authentifizierung durchgeführt werden. Wie die Authentifizierung durchgeführt werden soll, wird im "WWW-Authenticate"-Header-Feld der Antwort übermittelt.

403

Forbidden
Die Anfrage wurde mangels Berechtigung des Clients nicht durchgeführt, bspw. weil der authentifizierte Benutzer nicht berechtigt ist.

404

Not found
Die adressierte Ressource wurde nicht gefunden, die übergebene ID ist ungültig.

405

Method Not Allowed
Die Anfrage darf nur mit anderen HTTP-Methoden (zum Beispiel GET statt POST) gestellt werden. Gültige Methoden für die betreffende Ressource werden im "Allow"-Header-Feld der Antwort übermittelt.

429

Too Many Requests
Der Client hat zu viele Anfragen in einem bestimmten Zeitraum gesendet.

500

Server Errors
Unerwarteter Serverfehler