Hier dokumentiert die gematik die Nutzung der Schnittstellen rund um das E-Rezept aus Sicht der verordnenden Primärsysteme, Kostenträger und Frontends der Versicherten für die Bearbeitung von DiGA-Verordnungen.
- Beschreibung Anwendungsfall DiGA Verordnung beliefern
- Profilierung
- Anwendungsfälle DiGA für Primärsysteme verordnender LEI
- Anwendungsfälle DiGA für Frontend des Versicherten
- Anwendungsfälle DiGA für Kostenträger
Mit diesem UseCase stellt ein verordnendes Primärsystem eine DiGA-Verordnung aus und stellt eine QES-signierte Verordnung im E-Rezept Fachdienst ein. Der Versicherte kann die Verordnung abrufen und muss sie dann aktiv seiner Krankenkasse, zum Erhalt eines Freischaltcodes, zuweisen. Das E-Rezept-FdV lädt das E-Rezept vom E-Rezept-Fachdienst herunter, ermittelt die Telematik-ID des Kostenträgers des Versicherten und weist die Verordnung dem Kostenträger zu. Damit werden Task-ID und AccessCode dem Kostenträger zur Bearbeitung bereitgestellt. Mit der Bekanntmachung der Task-ID und des AccessCodes durch den Versicherten mittels Kommunikationsnachricht liegen im Clientsystem des Kostenträgers alle notwendigen Parameter für den Abruf der Verordnung vor. Ist der Task inkl. des DiGA-Verordnungsdatensatzes heruntergeladen, kann das Clientsystem des Kostenträgers die Signatur des Datensatzes überprüfen. Ist die DiGA-Verordnung gültig signiert und die DiGA bereitgestellt, erfolgt der Abschluss der Transaktion mit dem Bereitstellen eines Abgabedatensatzes inklusive Freischaltcode der DiGA für den Versicherten. Der E-Rezept-Fachdienst erzeugt daraufhin eine Signatur als Quittung für den Kostenträger und beendet den Workflow. Falls kein Freischaltcode erzeugt werden konnte, erhält der Versicherte über die Abgabeinformationen eine entsprechende Begründung.
Für diesen Anwendungsfall werden die FHIR-Resourcen Task und MedicationDispense profiliert.
Die Profile können als JSON oder XML hier eingesehen werden:
Die für diese Anwendung wichtigen Attribute und Besonderheiten durch die Profilierung der Ressourcen werden in der folgenden Tabelle kurz zusammengefasst:
Name |
Beschreibung |
GEM_ERP_PR_Task |
|
identifier:PrescriptionID |
Rezept-ID; eindeutig für jedes Rezept |
identifier:AccessCode |
vom E-Rezept-Fachdienst generierter Berechtigungs-Code |
identifier:Secret |
vom E-Rezept-Fachdienst generierter Berechtigungs-Code |
status |
Status des E-Rezepts |
intent |
Intension des Tasks. Fixer Wert="order" |
for |
Krankenversichertennummer |
authoredOn |
Erstellungszeitpunkt des Tasks |
lastModified |
letzte Änderung am Task |
performerType |
Institution, in der das Rezept eingelöst werden soll |
input |
Verweis auf die für den Patienten und den Leistungserbringer gedachten Bundle |
output |
Verweis auf das Quittungs-Bundle |
extension:flowType |
gibt den Typ des Rezeptes an |
extension:expiryDate |
Verfallsdatum, 90 Tage nach Ausstellung der Verordnung |
extension:lastMedicationDispense |
Zeitpunkt der letzten Aktualisierung der Abgabeinformationen |
GEM_ERP_PR_MedicationDispense_DiGA |
|
identifier:PrescriptionID |
Rezept-ID; eindeutig für jedes Rezept |
status |
Status des E-Rezepts |
medicationReference |
Angaben zur DiGA |
medicationReference.identifier.value |
Eindeutiger Code der Verordnungseinheit |
medicationReference.display |
Name der Verordnungseinheit |
subject:identifier |
Krankenversichertennummer |
performer |
Telematik-ID des Kostenträgers, die das E-Rezept beliefert hat |
whenHandedOver |
Datum der Übergabe bzw. Herausgabe an den Versicherten |
Analog zum Anwendungsfall "E-Rezept erstellen" muss das Primärsystem der Verordnenden LEI die Task-ID für eine DiGA Verordnung vom E-Rezept-Fachdienst abfragen.
Hierfür wird eine Abfrage für einen neuen Task mit WorkflowType '162' erstellt.
Request
URI |
|||||
---|---|---|---|---|---|
Method |
POST |
||||
Requester |
|||||
Responder |
|||||
HTTP Header |
Content-Type: application/fhir+xml; charset=UTF-8 Authorization: Bearer eyJraWQ.ewogImL2pA10Qql22ddtutrvx4FsDlz.rHQjEmB1lLmpqn9J
|
||||
Payload |
<Parameters xmlns="http://hl7.org/fhir">
<parameter>
<name value="workflowType"/>
<valueCoding>
<system value="https://gematik.de/fhir/erp/CodeSystem/GEM_ERP_CS_FlowType"/>
<code value="162"/>
</valueCoding>
</parameter>
</Parameters> |
Response
HTTP/1.1 201 Created
Content-Type: application/fhir+xml; charset=UTF-8
<Task xmlns="http://hl7.org/fhir">
<id value="162.000.000.000.000.01"/>
<meta>
<profile value="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Task|1.4"/>
</meta>
<extension url="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_PrescriptionType">
<valueCoding>
<system value="https://gematik.de/fhir/erp/CodeSystem/GEM_ERP_CS_FlowType"/>
<code value="162"/>
<display value="Muster 16 (Digitale Gesundheitsanwendungen)"/>
</valueCoding>
</extension>
<extension url="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_AcceptDate">
<valueDate value="2025-04-25"/>
</extension>
<extension url="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_ExpiryDate">
<valueDate value="2025-04-25"/>
</extension>
<identifier>
<use value="official"/>
<system value="https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId"/>
<value value="162.000.000.000.000.01"/>
</identifier>
<status value="draft"/>
<intent value="order"/>
<for>
<identifier>
<system value="http://fhir.de/sid/gkv/kvid-10"/>
<value value="X123456789"/>
</identifier>
</for>
<authoredOn value="2025-01-15T15:29:00+00:00"/>
<lastModified value="2025-01-15T15:29:00.434+00:00"/>
<performerType>
<coding>
<system value="https://gematik.de/fhir/erp/CodeSystem/GEM_ERP_CS_OrganizationType"/>
<code value="urn:oid:1.2.276.0.76.4.59"/>
<display value="Kostenträger"/>
</coding>
<text value="Kostenträger"/>
</performerType>
</Task>
ℹ️
|
Der Wert urn:oid:1.2.276.0.76.4.59 entspricht dem intendierten Institutionstyp, in welchen der Versicherte für die Einlösung des Rezepts gelenkt werden soll (Kostenträger für Workflow 162 ).
|
Code |
Type Success |
201 |
Created |
Code |
Type Error |
400 |
Bad Request |
401 |
Unauthorized |
403 |
Forbidden |
405 |
Method Not Allowed |
408 |
Request Timeout |
429 |
Too Many Requests |
500 |
Server Errors |
Nach Bereitstellung des Tasks für die DiGA-Verordnung muss das Primärsystem der Verordnenden LEI den Verordnungsdatensatz für die DiGA bereitstellen. Hierfür sind die Profile der KBV für die DiGA Verordnung zu verwenden.
Der Datensatz ist analog zum Arzneimittelkontext qualifiziert zu signieren und dann via POST am E-Rezept-Fachdienst einzustellen.
Ein Beispielhafter Aufruf kann auf der Seite "E-Rezept vervollständigen und Task aktivieren" eingesehen werden.
Wie im Kontext der Arzneimittelverordnung kann der Versicherte die DiGA-Verordnung abrufen. Siehe hierzu den Anwendungsfall "Alle E-Rezepte ansehen" und "Ein einzelnes E-Rezept abrufen".
Hier exemplarisch ein Aufruf von eines DiGA-E-Rezeptes im Status "offen":
Exemplarischer Abruf einer DiGA Verordnung des FdV (Klicken zum Ausklappen)
Request
URI |
|||
---|---|---|---|
Method |
GET |
||
Requester |
|||
Responder |
|||
HTTP Header |
Authorization: Bearer eyJraWQ.ewogImL2pA10Qql22ddtutrvx4FsDlz.rHQjEmB1lLmpqn9J X-AccessCode: 777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea
|
||
Payload |
- |
Response HTTP/1.1 200 OK Content-Type: application/fhir+json;charset=utf-8
{
"resourceType": "Bundle",
"id": "erp-diga-02-response-taskGetSingle",
"meta": {
"lastUpdated": "2025-01-15T15:29:00.434+00:00"
},
"type": "collection",
"link": [
{
"relation": "self",
"url": "https://erp.app.ti-dienste.de/Task/162.000.000.000.000.01"
}
],
"entry": [
{
"fullUrl": "https://erp.app.ti-dienste.de/Task/162.000.000.000.000.01",
"resource": {
"resourceType": "Task",
"id": "162.000.000.000.000.01",
"meta": {
"profile": [
"https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Task|1.4"
]
},
"intent": "order",
"extension": [
{
"url": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_PrescriptionType",
"valueCoding": {
"code": "162",
"system": "https://gematik.de/fhir/erp/CodeSystem/GEM_ERP_CS_FlowType",
"display": "Muster 16 (Digitale Gesundheitsanwendungen)"
}
},
{
"url": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_AcceptDate",
"valueDate": "2025-04-25"
},
{
"url": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_ExpiryDate",
"valueDate": "2025-04-25"
}
],
"identifier": [
{
"use": "official",
"system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId",
"value": "162.000.000.000.000.01"
},
{
"system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_AccessCode",
"use": "official",
"value": "777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea"
}
],
"for": {
"identifier": {
"system": "http://fhir.de/sid/gkv/kvid-10",
"value": "X123456789"
}
},
"status": "ready",
"authoredOn": "2025-01-15T15:29:00+00:00",
"lastModified": "2025-01-15T15:29:00.434+00:00",
"performerType": [
{
"coding": [
{
"code": "urn:oid:1.2.276.0.76.4.59",
"system": "https://gematik.de/fhir/erp/CodeSystem/GEM_ERP_CS_OrganizationType",
"display": "Kostenträger"
}
],
"text": "Kostenträger"
}
],
"input": [
{
"type": {
"coding": [
{
"code": "2",
"system": "https://gematik.de/fhir/erp/CodeSystem/GEM_ERP_CS_DocumentType"
}
]
},
"valueReference": {
"reference": "3ebd56b4-5cdf-42bc-b26a-738d0b08068a"
}
}
]
}
},
{
"fullUrl": "urn:uuid:3ebd56b4-5cdf-42bc-b26a-738d0b08068a",
"resource": {
"resourceType": "Bundle",
"id": "3ebd56b4-5cdf-42bc-b26a-738d0b08068a",
"meta": {
"profile": [
"https://fhir.kbv.de/StructureDefinition/KBV_PR_EVDGA_Bundle|1.1"
]
},
"type": "document",
"identifier": {
"system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId",
"value": "162.000.000.000.000.01"
},
"timestamp": "2025-01-15T15:29:00.434+00:00",
"entry": [
{
"fullUrl": "http://pvs.praxis-topp-gluecklich.local/fhir/Composition/55eb2cd5-27f0-46ef-87d1-1ffc30e85fd9",
"resource": {
"resourceType": "Composition",
"id": "55eb2cd5-27f0-46ef-87d1-1ffc30e85fd9",
"meta": {
"profile": [
"https://fhir.kbv.de/StructureDefinition/KBV_PR_EVDGA_Composition|1.1"
]
},
"status": "final",
"title": "elektronische Verordnung digitaler Gesundheitsanwendungen",
"author": [
{
"type": "Practitioner",
"reference": "Practitioner/1228772e-1c72-493b-8b5c-5ae54d25843d"
},
{
"type": "Device",
"identifier": {
"system": "https://fhir.kbv.de/NamingSystem/KBV_NS_FOR_Pruefnummer",
"value": "Y/450/2501/36/523"
}
}
],
"type": {
"coding": [
{
"system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_FORMULAR_ART",
"code": "e16D"
}
]
},
"section": [
{
"code": {
"coding": [
{
"system": "https://fhir.kbv.de/CodeSystem/KBV_CS_EVDGA_Section_Type",
"code": "Prescription"
}
]
},
"entry": [
{
"reference": "DeviceRequest/a1533e28-4631-4afa-b5e6-f233fad87f53"
}
]
},
{
"code": {
"coding": [
{
"system": "https://fhir.kbv.de/CodeSystem/KBV_CS_EVDGA_Section_Type",
"code": "HealthInsurance"
}
]
},
"entry": [
{
"reference": "Coverage/2d3a92c2-c93c-47ad-8ab5-49b275be97ee"
}
]
}
],
"extension": [
{
"url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_Legal_basis",
"valueCoding": {
"code": "00",
"system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_STATUSKENNZEICHEN"
}
}
],
"subject": {
"reference": "Patient/40acd463-b25d-4ede-8b1f-2b0994f29aa5"
},
"date": "2025-01-15T15:29:00.434+00:00",
"custodian": {
"reference": "Organization/b87b9d90-c8db-4660-93eb-fed916caa2da"
}
}
},
{
"fullUrl": "http://pvs.praxis-topp-gluecklich.local/fhir/DeviceRequest/a1533e28-4631-4afa-b5e6-f233fad87f53",
"resource": {
"resourceType": "DeviceRequest",
"id": "a1533e28-4631-4afa-b5e6-f233fad87f53",
"meta": {
"profile": [
"https://fhir.kbv.de/StructureDefinition/KBV_PR_EVDGA_HealthAppRequest|1.1"
]
},
"status": "active",
"intent": "order",
"extension": [
{
"url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_EVDGA_SER",
"valueBoolean": false
}
],
"codeCodeableConcept": {
"coding": [
{
"system": "http://fhir.de/CodeSystem/ifa/pzn",
"code": "19205615"
}
],
"text": "Vantis KHK und Herzinfarkt 001"
},
"subject": {
"reference": "Patient/40acd463-b25d-4ede-8b1f-2b0994f29aa5"
},
"authoredOn": "2025-01-15",
"requester": {
"reference": "Practitioner/1228772e-1c72-493b-8b5c-5ae54d25843d"
},
"insurance": [
{
"reference": "Coverage/2d3a92c2-c93c-47ad-8ab5-49b275be97ee"
}
]
}
},
{
"fullUrl": "http://pvs.praxis-topp-gluecklich.local/fhir/Patient/40acd463-b25d-4ede-8b1f-2b0994f29aa5",
"resource": {
"resourceType": "Patient",
"id": "40acd463-b25d-4ede-8b1f-2b0994f29aa5",
"meta": {
"profile": [
"https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.1.0"
]
},
"identifier": [
{
"type": {
"coding": [
{
"system": "http://fhir.de/CodeSystem/identifier-type-de-basis",
"code": "GKV"
}
]
},
"system": "http://fhir.de/sid/gkv/kvid-10",
"value": "X234567890"
}
],
"name": [
{
"use": "official",
"family": "Ludger Königsstein",
"_family": {
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name",
"valueString": "Königsstein"
}
]
},
"given": [
"Ludger"
]
}
],
"address": [
{
"type": "both",
"line": [
"Musterstr. 1"
],
"_line": [
{
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber",
"valueString": "1"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName",
"valueString": "Musterstr."
}
]
}
],
"city": "Berlin",
"postalCode": "10623"
}
],
"birthDate": "1935-06-22"
}
},
{
"fullUrl": "http://pvs.praxis-topp-gluecklich.local/fhir/Practitioner/1228772e-1c72-493b-8b5c-5ae54d25843d",
"resource": {
"resourceType": "Practitioner",
"id": "1228772e-1c72-493b-8b5c-5ae54d25843d",
"meta": {
"profile": [
"https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Practitioner|1.1.0"
]
},
"name": [
{
"use": "official",
"family": "Meier",
"_family": {
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name",
"valueString": "Meier"
}
]
},
"given": [
"Jörgen"
]
}
],
"qualification": [
{
"code": {
"coding": [
{
"system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Qualification_Type",
"code": "00"
}
]
}
},
{
"code": {
"coding": [
{
"system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Berufsbezeichnung",
"code": "Berufsbezeichnung"
}
],
"text": "Hausarzt"
}
}
],
"identifier": [
{
"type": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v2-0203",
"code": "LANR"
}
]
},
"system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_ANR",
"value": "838382210"
}
]
}
},
{
"fullUrl": "http://pvs.praxis-topp-gluecklich.local/fhir/Organization/b87b9d90-c8db-4660-93eb-fed916caa2da",
"resource": {
"resourceType": "Organization",
"id": "b87b9d90-c8db-4660-93eb-fed916caa2da",
"meta": {
"profile": [
"https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Organization|1.1.0"
]
},
"telecom": [
{
"system": "phone",
"value": "0301234567"
}
],
"address": [
{
"type": "both",
"line": [
"Musterstr. 2"
],
"_line": [
{
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber",
"valueString": "2"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName",
"valueString": "Musterstr."
}
]
}
],
"city": "Berlin",
"postalCode": "10623"
}
],
"identifier": [
{
"type": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v2-0203",
"code": "BSNR"
}
]
},
"system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_BSNR",
"value": "031234567"
}
],
"name": "Hausarztpraxis Dr. Topp-Glücklich"
}
},
{
"fullUrl": "http://pvs.praxis-topp-gluecklich.local/fhir/Coverage/2d3a92c2-c93c-47ad-8ab5-49b275be97ee",
"resource": {
"resourceType": "Coverage",
"id": "2d3a92c2-c93c-47ad-8ab5-49b275be97ee",
"meta": {
"profile": [
"https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Coverage|1.1.0"
]
},
"status": "active",
"payor": [
{
"identifier": {
"system": "http://fhir.de/sid/arge-ik/iknr",
"value": "104212059"
},
"display": "AOK Rheinland/Hamburg"
}
],
"extension": [
{
"url": "http://fhir.de/StructureDefinition/gkv/besondere-personengruppe",
"valueCoding": {
"code": "00",
"system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PERSONENGRUPPE"
}
},
{
"url": "http://fhir.de/StructureDefinition/gkv/dmp-kennzeichen",
"valueCoding": {
"code": "00",
"system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DMP"
}
},
{
"url": "http://fhir.de/StructureDefinition/gkv/wop",
"valueCoding": {
"code": "03",
"system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_ITA_WOP"
}
},
{
"url": "http://fhir.de/StructureDefinition/gkv/versichertenart",
"valueCoding": {
"code": "1",
"system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_VERSICHERTENSTATUS"
}
}
],
"type": {
"coding": [
{
"code": "GKV",
"system": "http://fhir.de/CodeSystem/versicherungsart-de-basis"
}
]
},
"beneficiary": {
"reference": "Patient/9774f67f-a238-4daf-b4e6-Pat-GKV"
}
}
}
]
}
}
]
}
Folgende Quellen dienen zur Unterstützung der Interpretation des Datensatzes:
Der Versicherte muss die Telematik-ID des Kostenträgers ermitteln, um die Verordnung dem Kostenträger zuweisen zu können.
Folgender Ablauf ist für die Bestimmung vorgesehen:
-
Ermitteln der IKNR des Kostenträgers des Versicherten
-
Anfrage an den FHIR Verzeichnisdienst der TI zur Ermittlung der Telematik-ID des Kostenträgers
-
Die Telematik-ID liegt vor und kann zur Zuweisung der Verordnung genutzt werden
Das E-Rezept-FdV ermittelt das IKNR des Versicherten aus den Authentifizierungsverfahren.
Im ACCESS_TOKEN des Versicherten ist die IKNR des Versicherten enthalten. Dies gilt für die Authentifizierung via zentralem IDP Dienst der TI, sowie über den Sektoralen IDP.
Die IKNR ist in beiden Fällen im claim organizationIK
enthalten
Der FHIR-Verzeichnisdienst der TI stellt die Organisationen und deren HealthCareServices bereit. Als Entwicklungsunterstüztung kann der Implementation Guide für die Suche und die FHIR-Profile des FHIR-VZD eingesehen werden.
Um die Telematik-ID des Kostenträgers zu ermitteln ist die folgende Suchoperation durchzuführen:
-
Abfrage der Ressource "HealthcareService"HealthcareServices, deren Organisation aktiv sind
-
HealthcareServices, deren Organisation den Typ-oid "1.2.276.0.76.4.59" haben
-
HealthcareServices, deren Organisation einen Identifier vom Typ "IKNR" haben
-
HealthcareServices, deren Organisation eine IKNR mit IKNR aus dem ACCESS_TOKEN enthält
-
HealthcareServices, deren Organisation einen Identifier vom Typ "Telematik-ID" haben
-
Einbeziehen der Organisation in das Rückgabeergebnis
Das Ergebnis liefert genau eine Organisation und HealthCare Ressource.
Request
URI |
|
---|---|
Method |
GET |
Requester |
|
Responder |
FHIR-VZD |
HTTP Header |
Authorization: Bearer eyJhbGciOiJCUDI1NlIxIiwidHlwIjoiSldUIn0.eyJpc3MiOiJodHRwczovL2ZoaXItZGlyZWN0b3J5LXJlZi52emQudGktZGllbnN0ZS5kZS90aW0tYXV0aGVudGljYXRlIiwiYXVkIjoiaHR0cHM6Ly9maGlyLWRpcmVjdG9yeS1yZWYudnpkLnRpLWRpZW5zdGUuZGUvc2VhcmNoIiwiZXhwIjoxNzE0NzU2OTMwLCJpYXQiOjE3MTQ2NzA1MzB9.P88pE2mjEfWe8s0V9ia9Cj2su0eQbCJS_8moso5ZgxZV_MkAyr2QXuvbRzgdCq--HZkmVV9u8CP37isxy1FaXw |
Response HTTP/1.1 200 OK Content-Length: 3906 Content-Type: application/fhir+xml;charset=utf-8
{
"resourceType": "Bundle",
"id": "erp-diga-02-response-fhir-vzd",
"meta": {
"lastUpdated": "2025-01-15T16:29:00.434+00:00"
},
"type": "searchset",
"total": 2,
"entry": [
{
"fullUrl": "https://fhir-directory-ref.vzd.ti-dienste.de/search/HealthcareService/f86e1f95-08f1-4651-aed5-dfd82ce2b05e",
"resource": {
"resourceType": "HealthcareService",
"id": "f86e1f95-08f1-4651-aed5-dfd82ce2b05e",
"meta": {
"tag": [
{
"system": "https://gematik.de/fhir/directory/CodeSystem/Origin",
"code": "ldap",
"display": "Synchronized from LDAP Directory",
"userSelected": false
}
],
"versionId": "4",
"profile": [
"https://gematik.de/fhir/directory/StructureDefinition/HealthcareServiceDirectory"
]
},
"identifier": [
{
"system": "https://gematik.de/fhir/directory/CodeSystem/ldapUID",
"value": "6f01ba0b-5d78-4bb1-a789-9a8be7f30ca3"
}
],
"providedBy": {
"reference": "Organization/235f4997-acea-41b3-85db-c54c4ffd2fc2"
},
"location": [
{
"reference": "Location/6ac29f34-f531-4fc2-b530-c1a9f143b1d1"
}
]
},
"search": {
"mode": "match"
}
},
{
"fullUrl": "https://fhir-directory-ref.vzd.ti-dienste.de/search/Organization/235f4997-acea-41b3-85db-c54c4ffd2fc2",
"resource": {
"resourceType": "Organization",
"id": "235f4997-acea-41b3-85db-c54c4ffd2fc2",
"meta": {
"tag": [
{
"system": "https://gematik.de/fhir/directory/CodeSystem/Origin",
"code": "ldap",
"display": "Synchronized from LDAP Directory",
"userSelected": false
}
],
"versionId": "2",
"lastUpdated": "2025-01-15T15:29:00.434+00:00",
"source": "#2WkZQ3ZhfsTF9vgi",
"profile": [
"https://gematik.de/fhir/directory/StructureDefinition/OrganizationDirectory"
]
},
"identifier": [
{
"system": "https://gematik.de/fhir/sid/telematik-id",
"value": "8-01-0000000232"
},
{
"system": "http://fhir.de/sid/arge-ik/iknr",
"value": "107815761"
}
],
"active": true,
"type": [
{
"coding": [
{
"code": "1.2.276.0.76.4.59",
"system": "https://gematik.de/fhir/directory/CodeSystem/OrganizationProfessionOID",
"display": "Betriebsstätte Kostenträger"
}
]
}
],
"name": "AOK Baden-Württemberg",
"alias": [
"AOK Baden-Württemberg NOT-VALID"
]
},
"search": {
"mode": "include"
}
}
]
}
ℹ️
|
Im Ergebnis ist die Telematik-ID des Kostenträgers '8-01-0000000232' unter Organization.identifier mit identifier.type == 'PRN' enthalten. |
Für die Zuweisung einer Verordnung wird, wie auch im Arzneimittelkontext das Profil GEM_ERP_PR_Communication_DispReq verwendet und der Anwendungsfall analog zu "Anwendungsfall Ein E-Rezept verbindlich einer Apotheke zuweisen" durchgeführt.
Für diesen Anwendungsfall gibt es Abweichungen vom Arzneimittelprozess, die das E-Rezept-FdV beachten muss:
-
Es ist verpflichtend der WorkflowType anzugeben. Für DiGA Verordnungen ist das der Wert '162'
-
Wenn der Wert '162' angegeben ist, muss keine JSON-Payload unter .payload.contentString bereitgestellt werden
Es wird nur der E-Rezept-Token bereitgestellt, der es dem Kostenträger ermöglicht, die Verordnung abzurufen.
Ein Beispiel einer Zuweisung an einen Kostenträger:
{
"resourceType": "Communication",
"id": "erp-diga-03-communication-zuweisung-diga",
"meta": {
"profile": [
"https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Communication_DispReq|1.4"
]
},
"status": "unknown",
"extension": [
{
"url": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_PrescriptionType",
"valueCoding": {
"code": "162",
"system": "https://gematik.de/fhir/erp/CodeSystem/GEM_ERP_CS_FlowType"
}
}
],
"recipient": [
{
"identifier": {
"system": "https://gematik.de/fhir/sid/telematik-id",
"value": "8-SMC-B-Testkarte-883110000116873"
}
}
],
"basedOn": [
{
"reference": "Task/162.000.000.000.000.01/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea"
}
]
}
Zum Einsehen des Freischaltcodes ruft das E-Rezept-FdV die Abgabedaten analog zum Arzneimittelkontext ab. Siehe hierzu den Anwendungsfall "Abgabeinformationen abrufen".
Unter MedicationDispense.extension:redeemCode.valueString ist der Freischaltcode enthalten:
{
"resourceType": "MedicationDispense",
"id": "erp-diga-04-medication-dispense-diga",
"meta": {
"profile": [
"https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense_DiGA|1.4"
]
},
"identifier": [
{
"system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId",
"value": "162.000.000.000.000.01"
}
],
"status": "completed",
"medicationReference": {
"identifier": {
"system": "http://fhir.de/CodeSystem/ifa/pzn",
"value": "12345678"
},
"display": "Gematico Diabetestherapie"
},
"subject": {
"identifier": {
"system": "http://fhir.de/sid/gkv/kvid-10",
"value": "X123456789"
}
},
"performer": [
{
"actor": {
"identifier": {
"system": "https://gematik.de/fhir/sid/telematik-id",
"value": "8-SMC-B-Testkarte-883110000116873"
}
}
}
],
"extension": [
{
"url": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_RedeemCode",
"valueString": "DE12345678901234"
}
],
"whenHandedOver": "2024-04-03"
}
Der Empfang von Zuweisungen erfolgt via Abrufen von Communications am E-Rezept-Fachdienst. Dies erfolgt analog zu abgebenden LEI. Dabei kann ein "Subscription Service" genutzt werden, um über neue Zuweisungen informiert zu werden. Alternativ ist auch ein manuelles "Abfragen der Communications" möglich.
Der E-Rezept-Token, welcher die Task-ID und den AccessCode enthält ist in der Communication unter .basedOn.reference enthalten.
Ein Kostenträger hat vom Versicherten mittels Zuweisung die Informationen https://erp.zentral.erp.splitdns.ti-dienste.de/Task/162.123.456.789.123.58/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea
für den Abruf eines E-Rezepts vom E-Rezept-Fachdienst erhalten.
Der Aufruf erfolgt als http-POST-Operation mit der FHIR-Operation $accept
. Im http-Request-Header Authorization
muss das während der Authentisierung erhaltene ACCESS_TOKEN übergeben werden. Als URL-Parameter ?ac=…
muss der beim Erzeugen des Tasks generierte AccessCode
für die Berechtigungsprüfung übergeben werden.
Im http-ResponseBody wird der referenzierte Task sowie das qualifiziert signierte E-Rezept als E-Rezept-Datensatz zurückgegeben, wobei im Task das secret
als zusätzliches Geheimnis in einem Task.identifier generiert wird, das in allen folgenden Zugriffen durch den Apotheker mitgeteilt werden muss.
Request
URI |
|||
---|---|---|---|
Method |
POST |
||
Requester |
|||
Responder |
|||
HTTP Header |
Content-Type: application/fhir+xml; charset=UTF-8 Authorization: Bearer eyJraWQ.ewogImL2pA10Qql22ddtutrvx4FsDlz.rHQjEmB1lLmpqn9J
|
Response
<Bundle xmlns="http://hl7.org/fhir">
<id value="erp-diga-05-response-accept"/>
<type value="collection"/>
<timestamp value="2025-01-15T15:29:00.434+00:00"/>
<link>
<relation value="self"/>
<url value="https://erp-ref.zentral.erp.splitdns.ti-dienste.de/Task/162.000.000.000.000.01/$accept/"/>
</link>
<entry>
<fullUrl value="https://erp-ref.zentral.erp.splitdns.ti-dienste.de/Task/162.000.000.000.000.01"/>
<resource>
<Task>
<id value="162.000.000.000.000.01"/>
<meta>
<profile value="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Task|1.4"/>
</meta>
<extension url="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_PrescriptionType">
<valueCoding>
<system value="https://gematik.de/fhir/erp/CodeSystem/GEM_ERP_CS_FlowType"/>
<code value="162"/>
<display value="Muster 16 (Digitale Gesundheitsanwendungen)"/>
</valueCoding>
</extension>
<extension url="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_AcceptDate">
<valueDate value="2025-04-25"/>
</extension>
<extension url="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_ExpiryDate">
<valueDate value="2025-04-25"/>
</extension>
<identifier>
<use value="official"/>
<system value="https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId"/>
<value value="162.000.000.000.000.01"/>
</identifier>
<identifier>
<use value="official"/>
<system value="https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_Secret"/>
<value value="c36ca26502892b371d252c99b496e31505ff449aca9bc69e231c58148f6233cf"/>
</identifier>
<status value="ready"/>
<intent value="order"/>
<for>
<identifier>
<system value="http://fhir.de/sid/gkv/kvid-10"/>
<value value="X123456789"/>
</identifier>
</for>
<authoredOn value="2025-01-15T15:29:00+00:00"/>
<lastModified value="2025-01-15T15:29:00.434+00:00"/>
<performerType>
<coding>
<system value="https://gematik.de/fhir/erp/CodeSystem/GEM_ERP_CS_OrganizationType"/>
<code value="urn:oid:1.2.276.0.76.4.59"/>
<display value="Kostenträger"/>
</coding>
<text value="Kostenträger"/>
</performerType>
<owner>
<identifier>
<system value="https://gematik.de/fhir/sid/telematik-id"/>
<value value="8-SMC-B-Testkarte-883110000116873"/>
</identifier>
</owner>
<input>
<type>
<coding>
<system value="https://gematik.de/fhir/erp/CodeSystem/GEM_ERP_CS_DocumentType"/>
<code value="1"/>
</coding>
</type>
<valueReference>
<reference value="Binary/aed2e8ed-6dd6-4e94-80f4-3ab9e418513a"/>
</valueReference>
</input>
</Task>
</resource>
</entry>
<entry>
<fullUrl value="urn:uuid:aed2e8ed-6dd6-4e94-80f4-3ab9e418513a"/>
<resource>
<Binary>
<id value="aed2e8ed-6dd6-4e94-80f4-3ab9e418513a"/>
<contentType value="application/pkcs7-mime"/>
<data value="RGllcyBpc3QgZWluIEJlaXNwaWVs"/>
</Binary>
</resource>
</entry>
</Bundle>
Code |
Type Success |
200 |
OK |
Code |
Type Error |
400 |
Bad Request |
401 |
Unauthorized |
403 |
Forbidden |
404 |
Not found |
405 |
Method Not Allowed |
408 |
Request Timeout |
409 |
Conflict |
410 |
Gone |
429 |
Too Many Requests |
500 |
Server Errors |
Nach bearbeiten des E-Rezeptes im Clientsystems des Kostenträgers erfolgt die Bereitstellung des Freischaltcodes des Versichten in den Abgabeinformationen des E-Rezeptes. Der Kostenträger erstellt eine Instanz des Profils GEM_ERP_PR_MedicationDispense_DiGA und stellt die Abgabeinformationen inklusive des Freischaltcodes via der $close-Operation bereit.
Der Aufruf erfolgt als http-POST-Operation mit der FHIR-Operation $close
. Im http-Request-Header Authorization
muss das während der Authentisierung erhaltene ACCESS_TOKEN übergeben werden. Als URL-Parameter ?secret=…
muss das beim Abrufen des E-Rezepts im Task generierte Secret
für die Berechtigungsprüfung übergeben werden. Zusätzlich werden Informationen über die DiGA, für die ein Freischaltcode bereitgestellt wurde, an den E-Rezept-Fachdienst übergeben.
Im http-ResponseBody wird die serverseitig über den Task und das E-Rezept-Bundle erzeugte Signatur als Quittungs-Bundle
-Ressource zurückgegeben, die bestätigt, dass der Workflow erfolgreich abgeschlossen wurde.
In dem Falle, dass die Bearbeitung des E-Rezeptes ergibt, dass die Bereitstellung eines Freischaltcodes abgelehnt wird, kann der Workflow via $close abgeschlossen werden, ohne dass ein Freischaltcode bereitgestellt wird. In diesem Fall muss in MedicationDispense.note eine Begründung für die Ablehnung hinterlegt werden.
Request
URI |
https://erp.zentral.erp.splitdns.ti-dienste.de/Task/162.123.456.789.123.58/$close?secret=c36ca26502892b371d252c99b496e31505ff449aca9bc69e231c58148f6233cf |
||||||
---|---|---|---|---|---|---|---|
Method |
POST |
||||||
Requester |
|||||||
Responder |
|||||||
HTTP Header |
Content-Type: application/fhir+xml; charset=UTF-8 Authorization: Bearer eyJraWQ.ewogImL2pA10Qql22ddtutrvx4FsDlz.rHQjEmB1lLmpqn9J
|
||||||
Payload |
<Parameters xmlns="http://hl7.org/fhir">
<id value="erp-diga-06-medication-dispense-diga"/>
<meta>
<profile value="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_PAR_CloseOperation_Input|1.4"/>
</meta>
<parameter>
<name value="rxDispensation"/>
<part>
<name value="medicationDispense"/>
<resource>
<MedicationDispense>
<id value="erp-diga-06-medication-dispense-medicationDispense"/>
<meta>
<profile value="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense_DiGA|1.4"/>
</meta>
<extension url="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_RedeemCode">
<valueString value="DE12345678901234"/>
</extension>
<identifier>
<system value="https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId"/>
<value value="162.000.000.000.000.01"/>
</identifier>
<status value="completed"/>
<medicationReference>
<identifier>
<system value="http://fhir.de/CodeSystem/ifa/pzn"/>
<value value="12345678"/>
</identifier>
<display value="Gematico Diabetestherapie"/>
</medicationReference>
<subject>
<identifier>
<system value="http://fhir.de/sid/gkv/kvid-10"/>
<value value="X123456789"/>
</identifier>
</subject>
<performer>
<actor>
<identifier>
<system value="https://gematik.de/fhir/sid/telematik-id"/>
<value value="8-SMC-B-Testkarte-883110000116873"/>
</identifier>
</actor>
</performer>
<whenHandedOver value="2024-04-03"/>
</MedicationDispense>
</resource>
</part>
</parameter>
</Parameters>
|
Ein Kostenträger hat im vorherigen Schritt ein E-Rezept abgerufen und fachlich geprüft. Er kommt zu dem Schluss, das E-Rezept nicht zu beliefern und möchte nun das E-Rezept zurückweisen, damit der Versicherte das E-Rezept ggfs. bei einem anderen Kostenträger einlösen kann.
Der Aufruf erfolgt als http-POST-Operation mit der FHIR-Operation $reject
. Im http-Request-Header Authorization
muss das während der Authentisierung erhaltene ACCESS_TOKEN übergeben werden. Als URL-Parameter ?secret=…
muss das beim Abrufen des E-Rezepts im Task generierte Secret
für die Berechtigungsprüfung übergeben werden.
Request
URI |
https://erp.zentral.erp.splitdns.ti-dienste.de/Task/160.000.000.000.000.01/$reject?secret=c36ca26502892b371d252c99b496e31505ff449aca9bc69e231c58148f6233cf |
||||
---|---|---|---|---|---|
Method |
POST |
||||
Requester |
|||||
Responder |
|||||
HTTP Header |
Content-Type: application/fhir+xml; charset=UTF-8; Authorization: Bearer eyJraWQ.ewogImL2pA10Qql22ddtutrvx4FsDlz.rHQjEmB1lLmpqn9J
|
Response
HTTP/1.1 204 No Content
ℹ️
|
Im Ergebnis der $reject-Operation wird der referenzierte Task auf den aktiven Status ready zurückgesetzt und das Secret gelöscht. Dementsprechend werden keine Daten an den aufrufenden Client zurückgegeben.
|
ℹ️
|
Ein Löschen des E-Rezeptes seitens des Kostenträgers ist nicht möglich. |
Code |
Type Success |
204 |
No Content |
Code |
Type Error |
400 |
Bad Request |
401 |
Unauthorized |
403 |
Forbidden |
404 |
Not found |
405 |
Method Not Allowed |
408 |
Request Timeout |
410 |
Gone |
429 |
Too Many Requests |
500 |
Server Errors |
Als Kostenträger möchte ich dem Versicherten eine Nachricht über den Bearbeitungsstand oder die Gründe für eine Rückgabe des E-Rezeptes senden.
Der Aufruf erfolgt als http-POST
-Operation. Im Aufruf muss das während der Authentisierung erhaltene ACCESS_TOKEN im http-Request-Header Authorization
übergeben werden. Im http-RequestBody wird die zu verschickende Nachricht als Communication-Ressource übergeben. Der Server prüft den Inhalt auf Zulässigkeit (z.B. um die Verbreitung von Viren und Schadcode zu unterbinden) und ergänzt Metainformationen wie den Sendezeitpunkt und die Angaben des Absenders aus dessen ACCESS_TOKEN.
Die Nachricht steht nun zum Abruf durch den Empfänger bereit, der seine Nachrichten über eine GET-Abfrage herunterladen kann.
ℹ️
|
Die Validierung der JSON-payload wird nach folgendem Schema durchgeführt Reply JSON-Schema. Daher muss im Feld "supplyOptionsType" verpflichtend ein Wert angegeben werden. Als default sollte "delivery" gesetzt werden. FdV’s SOLLEN diesen Wert ignorieren. |
|
Nach Aufruf der $close Operation werden alle Communications zu einem Task gelöscht. |
Request
URI |
|||||
---|---|---|---|---|---|
Method |
POST |
||||
Requester |
|||||
Responder |
|||||
HTTP Header |
Content-Type: application/fhir+xml; charset=UTF-8 Authorization: Bearer eyJraWQ.ewogImL2pA10Qql22ddtutrvx4FsDlz.rHQjEmB1lLmpqn9J
|
||||
Payload |
<Communication xmlns="http://hl7.org/fhir">
<id value="erp-diga-07-communication-to-patient"/>
<meta>
<profile value="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Communication_Reply|1.4"/>
</meta>
<basedOn>
<reference value="Task/162.000.000.000.000.01"/>
</basedOn>
<status value="unknown"/>
<recipient>
<identifier>
<system value="http://fhir.de/sid/gkv/kvid-10"/>
<value value="X123456789"/>
</identifier>
</recipient>
<payload>
<contentString value="{"version": 1, "supplyOptionsType": "delivery", "info_text": "Die Anfrage zur Ausstellung eines Freischaltcodes für die DiGA wurde abgwiesen, da Sie nicht bei der Gematik-KK versichert sind."}"/>
</payload>
</Communication>
|
Response
HTTP/1.1 201 Created
Content-Type: application/fhir+xml;charset=utf-8
<Communication xmlns="http://hl7.org/fhir">
<id value="erp-diga-07-communication-to-patient-response"/>
<meta>
<profile value="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Communication_Reply|1.4"/>
</meta>
<basedOn>
<reference value="Task/162.000.000.000.000.01"/>
</basedOn>
<status value="unknown"/>
<sent value="2025-01-15T15:29:00.434+00:00"/>
<recipient>
<identifier>
<system value="http://fhir.de/sid/gkv/kvid-10"/>
<value value="X123456789"/>
</identifier>
</recipient>
<sender>
<identifier>
<system value="https://gematik.de/fhir/sid/telematik-id"/>
<value value="8-SMC-B-Testkarte-883110000116873"/>
</identifier>
</sender>
<payload>
<contentString value="{"version": 1, "supplyOptionsType": "delivery", "info_text": "Die Anfrage zur Ausstellung eines Freischaltcodes für die DiGA wurde abgwiesen, da Sie nicht bei der Gematik-KK versichert sind."}"/>
</payload>
</Communication>
ℹ️
|
Der Server übernimmt beim Absenden der Nachricht den Sendezeitpunkt in Communication.sent
|
ℹ️
|
Die Informationen zum Absender werden aus dem im Request übergebenen ACCESS_TOKEN übernommen, in diesem Fall die Telematik-ID des Kostenträgers in ` <sender>` als Absender der Nachricht. |
Code |
Type Success |
201 |
Created |
Code |
Type Warning |
253 |
Die ID einer Ressource und die ID ihrer zugehörigen fullUrl stimmen nicht überein. |
254 |
Format der fullUrl ist ungültig. |
Code |
Type Error |
400 |
Bad Request |
401 |
Unauthorized |
403 |
Forbidden |
405 |
Method Not Allowed |
408 |
Request Timeout |
429 |
Too Many Requests |
500 |
Server Errors |