Hier dokumentiert die gematik die Nutzung der Schnittstellen rund um das E-Rezept aus Sicht des abgebenden Leistungserbringers.
- Anwendungsfall E-Rezept beliefern
- Profilierung
- E-Rezept abrufen
- E-Rezept erneut abrufen
- Qualifizierte Signatur des E-Rezepts prüfen
- E-Rezept Abgabe zeitnah dokumentieren
- E-Rezept-Abgabe vollziehen
- E-Rezept zurückweisen
- E-Rezept löschen
- Quittung erneut abrufen
- Beispiele für DataMatrix-Codes (inkl. Schadcodes)
Mit diesem UseCase beliefert ein Apotheker ein E-Rezept, das auf dem E-Rezept-Fachdienst bereitliegt. Eine Unterscheidung zwischen einer Filial- oder Versandapotheke ist dabei zweitrangig, da der Unterschied im Ablauf lediglich in der Übermittlung der Task-ID
und des AccessCodes
durch den Versicherten besteht.
Mit der Bekanntmachung der Task-ID
und des AccessCodes
durch den Versicherten mittels Präsentation eines 2D-Barcodes oder via Kommunikationsnachricht liegen im Apothekenverwaltungssystem (AVS) alle notwendigen Parameter für den Abruf des Rezepts vor.
Ist der Task inkl. des E-Rezept-Datensatzes heruntergeladen, prüft das AVS die Signatur des E-Rezept-Datensatzes mit Hilfe des Konnektors.
Ist das E-Rezept gültig signiert und das E-Rezept beliefert, erfolgt der Abschluss der Transaktion mit dem Bereitstellen der Dispensierinformationen für den Versicherten.
Der E-Rezept-Fachdienst erzeugt daraufhin eine Signatur als Quittung für den Apotheker und den Versicherten und beendet den Workflow.
ℹ️
|
Im Ablaufdiagramm sind zusätzliche Arbeitsschritte des Apothekenpersonals wie Securpharm-Scan und Zuzahlung des Patienten nicht berücksichtigt. |
Für diesen Anwendungsfall werden die FHIR-Resourcen "Task": http://hl7.org/fhir/R4/task.html und MedicationDispense https://www.hl7.org/fhir/medicationdispense.html profiliert. Die Profile können als JSON oder XML hier eingesehen werden: https://simplifier.net/erezept-workflow/gem_erp_pr_task bzw. https://simplifier.net/erezept-workflow/gem_erp_pr_medicationdispense
Die für diese Anwendung wichtigen Attribute und Besonderheiten durch die Profilierung der Ressourcen werden in der folgenden Tabelle kurz zusammengefasst:
Name |
Beschreibung |
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 |
extension:acceptDate |
Datum bis zu welchem die Krankenkasse spätestens die Kosten übernimmt |
extension:lastMedicationDispense |
Zeitpunkt der letzten Aktualisierung der Abgabeinformationen |
MedicationDispense |
|
identifier:PrescriptionID |
Rezept-ID; eindeutig für jedes Rezept |
status |
Status des E-Rezepts |
medication |
das dem Versicherten ausgehändigte Medikament |
subject:identifier |
Krankenversichertennummer |
performer |
Telematik-ID der Apotheke, die das E-Rezept beliefert hat |
whenHandedOver |
Datum der Übergabe bzw. Herausgabe an den Versicherten |
dosageInstruction |
Dosierungsinformationen des Medikaments, falls abweichend von der ärztlichen Verordnung |
Medication innerhalb MedicationDispense |
|
code |
Enthält je nach Rezepttyp die PZN und den Handelsnamen, Kennzeichnung als Wirkstoffverordnung oder eine Rezeptur |
form |
Darreichungsform (Tabletten, Kapseln, Salbe, etc.) |
ingredient |
Wirkstoff bei Wirkstoffverordnung |
batch |
Chargeninformation |
In den folgenden Kapiteln wird erläutert, wann und wie die Befüllung dieser Attribute erfolgt.
Ein Apotheker hat vom Versicherten mittels Abscannen eines 2D-Codes die Informationen https://erp.zentral.erp.splitdns.ti-dienste.de/Task/160.000.000.000.000.01/$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
|
HTTP/1.1 200 OK Content-Type: application/fhir+xml;charset=utf-8 Response
HTTP/1.1 200 OK
Content-Type: application/fhir+xml;charset=utf-8
<Bundle xmlns="http://hl7.org/fhir">
<id value="erp-abrufen-01-response-taskAccept"/>
<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/160.000.000.000.000.01/$accept/"/>
</link>
<entry>
<fullUrl value="https://erp.zentral.erp.splitdns.ti-dienste.de/Task/160.000.000.000.000.01"/>
<resource>
<Task>
<id value="160.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="160"/>
<display value="Muster 16 (Apothekenpflichtige Arzneimittel)"/>
</valueCoding>
</extension>
<extension url="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_AcceptDate">
<valueDate value="2025-02-12"/>
</extension>
<extension url="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_ExpiryDate">
<valueDate value="2025-04-15"/>
</extension>
<identifier>
<use value="official"/>
<system value="https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId"/>
<value value="160.000.000.000.000.01"/>
</identifier>
<identifier>
<use value="official"/>
<system value="https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_AccessCode"/>
<value value="777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea"/>
</identifier>
<identifier>
<use value="official"/>
<system value="https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_Secret"/>
<value value="c36ca26502892b371d252c99b496e31505ff449aca9bc69e231c58148f6233cf"/>
</identifier>
<status value="in-progress"/>
<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.54"/>
<display value="Öffentliche Apotheke"/>
</coding>
<text value="Öffentliche Apotheke"/>
</performerType>
<owner>
<identifier>
<system value="https://gematik.de/fhir/sid/telematik-id"/>
<value value="3-2-APO-XanthippeVeilchenblau01"/>
</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/281a985c-f25b-4aae-91a6-41ad744080b0"/>
</valueReference>
</input>
</Task>
</resource>
</entry>
<entry>
<fullUrl value="urn:uuid:281a985c-f25b-4aae-91a6-41ad744080b0"/>
<resource>
<Binary>
<id value="Inline-Instance-for-dffbfd6a-5712-4798-bdc8-07201eb77ab8-2"/>
<meta>
<versionId value="1"/>
<profile value="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Binary|1.4"/>
</meta>
<contentType value="application/pkcs7-mime"/>
<data value="RGllcyBpc3QgZWluIEJlaXNwaWVs"/>
</Binary>
</resource>
</entry>
</Bundle>
Wenn ein E-Rezept vom Workflow-type 200/209 abgerufen wird, liefert der E-Rezept-Fachdienst einen Consent zurück, wenn der Versicherte die Einwilligung über die Bereitstellung der Abrechnungsinformationen im Frontend des Versicherten erteilt hat.
Beispiel-Response für einen Consent in der Rückgabe (Klicken zum Ausklappen)
HTTP/1.1 200 OK Content-Type: application/fhir+xml;charset=utf-8
<Bundle xmlns="http://hl7.org/fhir">
<id value="erp-abrufen-02-response-taskAcceptWithConsent"/>
<type value="collection"/>
<timestamp value="2025-01-15T15:29:00.434+00:00"/>
<link>
<relation value="self"/>
<url value="https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Task/200.000.000.000.000.01/$accept/"/>
</link>
<entry>
<fullUrl value="https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Task/200.000.000.000.000.01"/>
<resource>
<Task>
<id value="200.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="200"/>
<display value="PKV (Apothekenpflichtige Arzneimittel)"/>
</valueCoding>
</extension>
<extension url="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_AcceptDate">
<valueDate value="2025-02-12"/>
</extension>
<extension url="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_ExpiryDate">
<valueDate value="2025-04-15"/>
</extension>
<identifier>
<use value="official"/>
<system value="https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId"/>
<value value="200.000.000.000.000.01"/>
</identifier>
<identifier>
<use value="official"/>
<system value="https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_AccessCode"/>
<value value="777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea"/>
</identifier>
<status value="in-progress"/>
<intent value="order"/>
<for>
<identifier>
<system value="http://fhir.de/sid/gkv/kvid-10"/>
<value value="P987654321"/>
</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.54"/>
<display value="Öffentliche Apotheke"/>
</coding>
<text value="Öffentliche Apotheke"/>
</performerType>
<input>
<type>
<coding>
<system value="https://gematik.de/fhir/erp/CodeSystem/GEM_ERP_CS_DocumentType"/>
<code value="1"/>
</coding>
</type>
<valueReference>
<reference value="Binary/c89c8312-0000-0000-0001-000000000000"/>
</valueReference>
</input>
</Task>
</resource>
</entry>
<entry>
<fullUrl value="urn:uuid:c89c8312-0000-0000-0001-000000000000"/>
<resource>
<Binary>
<id value="c89c8312-0000-0000-0001-000000000000"/>
<meta>
<versionId value="1"/>
<profile value="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Binary|1.4"/>
</meta>
<contentType value="application/pkcs7-mime"/>
<data value="MII6bAYJKoZIhvcNAQcCoII6XTCCOlkCAQExDTALBglghkgBZQMEAgEwgis9BgkqhkiG9w0BBwGggisuBIIrKjxCdW5kbGUgeG1sbnM9Imh0dHA6Ly9obDcub3JnL2ZoaXIiPjxpZCB2YWx1ZT0iMjYwMGQzNmEtY2JkZi00NWExLThiNmYtYWQ3ZjdiNzY3OGFiIi8+PG1ldGE+PGxhc3RVcGRhdGVkIHZhbHVlPSIyMDIzLTAzLTEwVDA4OjQ2OjQwLjYxOSswMTowMCIvPjxwcm9maWxlIHZhbHVlPSJodHRwczovL2ZoaXIua2J2LmRlL1N0cnVjdHVyZURlZmluaXRpb24vS0JWX1BSX0VSUF9CdW5kbGV8MS4xLjAiLz48L21ldGE+PGlkZW50aWZpZXI+PHN5c3RlbSB2YWx1ZT0iaHR0cHM6Ly9nZW1hdGlrLmRlL2ZoaXIvZXJwL05hbWluZ1N5c3RlbS9HRU1fRVJQX05TX1ByZXNjcmlwdGlvbklkIi8+PHZhbHVlIHZhbHVlPSIyMDAuMDAwLjAwMS4yMTMuMzQwLjczIi8+PC9pZGVudGlmaWVyPjx0eXBlIHZhbHVlPSJkb2N1bWVudCIvPjx0aW1lc3RhbXAgdmFsdWU9IjIwMjMtMDMtMTBUMDg6NDY6NDAuNjE5KzAxOjAwIi8+PGVudHJ5PjxmdWxsVXJsIHZhbHVlPSJodHRwczovL3B2cy5nZW1hdGlrLmRlL2ZoaXIvQ29tcG9zaXRpb24vZWExZGMxYzgtMGU3NS00NzM3LWEwMWQtMWU2OTVjNDM2NjllIi8+PHJlc291cmNlPjxDb21wb3NpdGlvbiB4bWxucz0iaHR0cDovL2hsNy5vcmcvZmhpciI+PGlkIHZhbHVlPSJlYTFkYzFjOC0wZTc1LTQ3MzctYTAxZC0xZTY5NWM0MzY2OWUiLz48bWV0YT48cHJvZmlsZSB2YWx1ZT0iaHR0cHM6Ly9maGlyLmtidi5kZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL0tCVl9QUl9FUlBfQ29tcG9zaXRpb258MS4xLjAiLz48L21ldGE+PGV4dGVuc2lvbiB1cmw9Imh0dHBzOi8vZmhpci5rYnYuZGUvU3RydWN0dXJlRGVmaW5pdGlvbi9LQlZfRVhfRk9SX1BLVl9UYXJpZmYiPjx2YWx1ZUNvZGluZz48c3lzdGVtIHZhbHVlPSJodHRwczovL2ZoaXIua2J2LmRlL0NvZGVTeXN0ZW0vS0JWX0NTX1NGSElSX0tCVl9QS1ZfVEFSSUZGIi8+PGNvZGUgdmFsdWU9IjAzIi8+PC92YWx1ZUNvZGluZz48L2V4dGVuc2lvbj48ZXh0ZW5zaW9uIHVybD0iaHR0cHM6Ly9maGlyLmtidi5kZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL0tCVl9FWF9GT1JfTGVnYWxfYmFzaXMiPjx2YWx1ZUNvZGluZz48c3lzdGVtIHZhbHVlPSJodHRwczovL2ZoaXIua2J2LmRlL0NvZGVTeXN0ZW0vS0JWX0NTX1NGSElSX0tCVl9TVEFUVVNLRU5OWkVJQ0hFTiIvPjxjb2RlIHZhbHVlPSIwMCIvPjwvdmFsdWVDb2Rpbmc+PC9leHRlbnNpb24+PHN0YXR1cyB2YWx1ZT0iZmluYWwiLz48dHlwZT48Y29kaW5nPjxzeXN0ZW0gdmFsdWU9Imh0dHBzOi8vZmhpci5rYnYuZGUvQ29kZVN5c3RlbS9LQlZfQ1NfU0ZISVJfS0JWX0ZPUk1VTEFSX0FSVCIvPjxjb2RlIHZhbHVlPSJlMTZBIi8+PC9jb2Rpbmc+PC90eXBlPjxzdWJqZWN0PjxyZWZlcmVuY2UgdmFsdWU9IlBhdGllbnQvZTYyNzRjMDUtZjYzYy00ZWExLTljM2ItMzgzNDBlY2JjYTZjIi8+PC9zdWJqZWN0PjxkYXRlIHZhbHVlPSIyMDIzLTAzLTEwVDA4OjQ2OjQwKzAxOjAwIi8+PGF1dGhvcj48cmVmZXJlbmNlIHZhbHVlPSJQcmFjdGl0aW9uZXIvODllMzY3MTItOWFiMS00Y2I2LWFhN2ItMjkxMjNjZDQ5OWUzIi8+PHR5cGUgdmFsdWU9IlByYWN0aXRpb25lciIvPjwvYXV0aG9yPjxhdXRob3I+PHR5cGUgdmFsdWU9IkRldmljZSIvPjxpZGVudGlmaWVyPjxzeXN0ZW0gdmFsdWU9Imh0dHBzOi8vZmhpci5rYnYuZGUvTmFtaW5nU3lzdGVtL0tCVl9OU19GT1JfUHJ1ZWZudW1tZXIiLz48dmFsdWUgdmFsdWU9IkdFTUFUSUsvNDEwLzIxMDkvMzYvMTIzIi8+PC9pZGVudGlmaWVyPjwvYXV0aG9yPjx0aXRsZSB2YWx1ZT0iZWxla3Ryb25pc2NoZSBBcnpuZWltaXR0ZWx2ZXJvcmRudW5nIi8+PGN1c3RvZGlhbj48cmVmZXJlbmNlIHZhbHVlPSJPcmdhbml6YXRpb24vOWVkOGY3MDYtNDc0NS00ZmU0LThlOGQtOTBjZjVmODkwOWMxIi8+PC9jdXN0b2RpYW4+PHNlY3Rpb24+PGNvZGU+PGNvZGluZz48c3lzdGVtIHZhbHVlPSJodHRwczovL2ZoaXIua2J2LmRlL0NvZGVTeXN0ZW0vS0JWX0NTX0VSUF9TZWN0aW9uX1R5cGUiLz48Y29kZSB2YWx1ZT0iQ292ZXJhZ2UiLz48L2NvZGluZz48L2NvZGU+PGVudHJ5PjxyZWZlcmVuY2UgdmFsdWU9IkNvdmVyYWdlLzBjYWE2YzVhLWUzYWUtNGIyNi1iNWI2LWU2ZDEyZjUzNWJlNiIvPjwvZW50cnk+PC9zZWN0aW9uPjxzZWN0aW9uPjxjb2RlPjxjb2Rpbmc+PHN5c3RlbSB2YWx1ZT0iaHR0cHM6Ly9maGlyLmtidi5kZS9Db2RlU3lzdGVtL0tCVl9DU19FUlBfU2VjdGlvbl9UeXBlIi8+PGNvZGUgdmFsdWU9IlByZXNjcmlwdGlvbiIvPjwvY29kaW5nPjwvY29kZT48ZW50cnk+PHJlZmVyZW5jZSB2YWx1ZT0iTWVkaWNhdGlvblJlcXVlc3QvNWMzZjNjNTAtZTg4Ny00OGJiLWFlOTItMTMxNDY3MGQ4MjljIi8+PC9lbnRyeT48L3NlY3Rpb24+PC9Db21wb3NpdGlvbj48L3Jlc291cmNlPjwvZW50cnk+PGVudHJ5PjxmdWxsVXJsIHZhbHVlPSJodHRwczovL3B2cy5nZW1hdGlrLmRlL2ZoaXIvTWVkaWNhdGlvblJlcXVlc3QvNWMzZjNjNTAtZTg4Ny00OGJiLWFlOTItMTMxNDY3MGQ4MjljIi8+PHJlc291cmNlPjxNZWRpY2F0aW9uUmVxdWVzdCB4bWxucz0iaHR0cDovL2hsNy5vcmcvZmhpciI+PGlkIHZhbHVlPSI1YzNmM2M1MC1lODg3LTQ4YmItYWU5Mi0xMzE0NjcwZDgyOWMiLz48bWV0YT48cHJvZmlsZSB2YWx1ZT0iaHR0cHM6Ly9maGlyLmtidi5kZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL0tCVl9QUl9FUlBfUHJlc2NyaXB0aW9ufDEuMS4wIi8+PC9tZXRhPjxleHRlbnNpb24gdXJsPSJodHRwczovL2ZoaXIua2J2LmRlL1N0cnVjdHVyZURlZmluaXRpb24vS0JWX0VYX0VSUF9CVkciPjx2YWx1ZUJvb2xlYW4gdmFsdWU9ImZhbHNlIi8+PC9leHRlbnNpb24+PGV4dGVuc2lvbiB1cmw9Imh0dHBzOi8vZmhpci5rYnYuZGUvU3RydWN0dXJlRGVmaW5pdGlvbi9LQlZfRVhfRVJQX0VtZXJnZW5jeVNlcnZpY2VzRmVlIj48dmFsdWVCb29sZWFuIHZhbHVlPSJmYWxzZSIvPjwvZXh0ZW5zaW9uPjxleHRlbnNpb24gdXJsPSJodHRwczovL2ZoaXIua2J2LmRlL1N0cnVjdHVyZURlZmluaXRpb24vS0JWX0VYX0VSUF9NdWx0aXBsZV9QcmVzY3JpcHRpb24iPjxleHRlbnNpb24gdXJsPSJLZW5uemVpY2hlbiI+PHZhbHVlQm9vbGVhbiB2YWx1ZT0iZmFsc2UiLz48L2V4dGVuc2lvbj48L2V4dGVuc2lvbj48ZXh0ZW5zaW9uIHVybD0iaHR0cHM6Ly9maGlyLmtidi5kZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL0tCVl9FWF9GT1JfU3RhdHVzQ29QYXltZW50Ij48dmFsdWVDb2Rpbmc+PHN5c3RlbSB2YWx1ZT0iaHR0cHM6Ly9maGlyLmtidi5kZS9Db2RlU3lzdGVtL0tCVl9DU19GT1JfU3RhdHVzQ29QYXltZW50Ii8+PGNvZGUgdmFsdWU9IjAiLz48L3ZhbHVlQ29kaW5nPjwvZXh0ZW5zaW9uPjxzdGF0dXMgdmFsdWU9ImFjdGl2ZSIvPjxpbnRlbnQgdmFsdWU9Im9yZGVyIi8+PG1lZGljYXRpb25SZWZlcmVuY2U+PHJlZmVyZW5jZSB2YWx1ZT0iTWVkaWNhdGlvbi8wODkzNGVmMS1jZDQzLTRiZGItYTY2YS02YTkzY2QwY2Q4YjQiLz48L21lZGljYXRpb25SZWZlcmVuY2U+PHN1YmplY3Q+PHJlZmVyZW5jZSB2YWx1ZT0iUGF0aWVudC9lNjI3NGMwNS1mNjNjLTRlYTEtOWMzYi0zODM0MGVjYmNhNmMiLz48L3N1YmplY3Q+PGF1dGhvcmVkT24gdmFsdWU9IjIwMjMtMDMtMTAiLz48cmVxdWVzdGVyPjxyZWZlcmVuY2UgdmFsdWU9IlByYWN0aXRpb25lci84OWUzNjcxMi05YWIxLTRjYjYtYWE3Yi0yOTEyM2NkNDk5ZTMiLz48L3JlcXVlc3Rlcj48aW5zdXJhbmNlPjxyZWZlcmVuY2UgdmFsdWU9IkNvdmVyYWdlLzBjYWE2YzVhLWUzYWUtNGIyNi1iNWI2LWU2ZDEyZjUzNWJlNiIvPjwvaW5zdXJhbmNlPjxkb3NhZ2VJbnN0cnVjdGlvbj48ZXh0ZW5zaW9uIHVybD0iaHR0cHM6Ly9maGlyLmtidi5kZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL0tCVl9FWF9FUlBfRG9zYWdlRmxhZyI+PHZhbHVlQm9vbGVhbiB2YWx1ZT0idHJ1ZSIvPjwvZXh0ZW5zaW9uPjx0ZXh0IHZhbHVlPSIxLTAtMC0wIi8+PC9kb3NhZ2VJbnN0cnVjdGlvbj48ZGlzcGVuc2VSZXF1ZXN0PjxxdWFudGl0eT48dmFsdWUgdmFsdWU9IjEiLz48c3lzdGVtIHZhbHVlPSJodHRwOi8vdW5pdHNvZm1lYXN1cmUub3JnIi8+PGNvZGUgdmFsdWU9IntQYWNrYWdlfSIvPjwvcXVhbnRpdHk+PC9kaXNwZW5zZVJlcXVlc3Q+PHN1YnN0aXR1dGlvbj48YWxsb3dlZEJvb2xlYW4gdmFsdWU9InRydWUiLz48L3N1YnN0aXR1dGlvbj48L01lZGljYXRpb25SZXF1ZXN0PjwvcmVzb3VyY2U+PC9lbnRyeT48ZW50cnk+PGZ1bGxVcmwgdmFsdWU9Imh0dHBzOi8vcHZzLmdlbWF0aWsuZGUvZmhpci9NZWRpY2F0aW9uLzA4OTM0ZWYxLWNkNDMtNGJkYi1hNjZhLTZhOTNjZDBjZDhiNCIvPjxyZXNvdXJjZT48TWVkaWNhdGlvbiB4bWxucz0iaHR0cDovL2hsNy5vcmcvZmhpciI+PGlkIHZhbHVlPSIwODkzNGVmMS1jZDQzLTRiZGItYTY2YS02YTkzY2QwY2Q4YjQiLz48bWV0YT48cHJvZmlsZSB2YWx1ZT0iaHR0cHM6Ly9maGlyLmtidi5kZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL0tCVl9QUl9FUlBfTWVkaWNhdGlvbl9QWk58MS4xLjAiLz48L21ldGE+PGV4dGVuc2lvbiB1cmw9Imh0dHBzOi8vZmhpci5rYnYuZGUvU3RydWN0dXJlRGVmaW5pdGlvbi9LQlZfRVhfQmFzZV9NZWRpY2F0aW9uX1R5cGUiPjx2YWx1ZUNvZGVhYmxlQ29uY2VwdD48Y29kaW5nPjxzeXN0ZW0gdmFsdWU9Imh0dHA6Ly9zbm9tZWQuaW5mby9zY3QiLz48dmVyc2lvbiB2YWx1ZT0iaHR0cDovL3Nub21lZC5pbmZvL3NjdC85MDAwMDAwMDAwMDAyMDcwMDgvdmVyc2lvbi8yMDIyMDMzMSIvPjxjb2RlIHZhbHVlPSI3NjMxNTgwMDMiLz48ZGlzcGxheSB2YWx1ZT0iTWVkaWNpbmFsIHByb2R1Y3QgKHByb2R1Y3QpIi8+PC9jb2Rpbmc+PC92YWx1ZUNvZGVhYmxlQ29uY2VwdD48L2V4dGVuc2lvbj48ZXh0ZW5zaW9uIHVybD0iaHR0cHM6Ly9maGlyLmtidi5kZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL0tCVl9FWF9FUlBfTWVkaWNhdGlvbl9DYXRlZ29yeSI+PHZhbHVlQ29kaW5nPjxzeXN0ZW0gdmFsdWU9Imh0dHBzOi8vZmhpci5rYnYuZGUvQ29kZVN5c3RlbS9LQlZfQ1NfRVJQX01lZGljYXRpb25fQ2F0ZWdvcnkiLz48Y29kZSB2YWx1ZT0iMDAiLz48L3ZhbHVlQ29kaW5nPjwvZXh0ZW5zaW9uPjxleHRlbnNpb24gdXJsPSJodHRwczovL2ZoaXIua2J2LmRlL1N0cnVjdHVyZURlZmluaXRpb24vS0JWX0VYX0VSUF9NZWRpY2F0aW9uX1ZhY2NpbmUiPjx2YWx1ZUJvb2xlYW4gdmFsdWU9ImZhbHNlIi8+PC9leHRlbnNpb24+PGV4dGVuc2lvbiB1cmw9Imh0dHA6Ly9maGlyLmRlL1N0cnVjdHVyZURlZmluaXRpb24vbm9ybWdyb2Vzc2UiPjx2YWx1ZUNvZGUgdmFsdWU9Ik5CIi8+PC9leHRlbnNpb24+PGNvZGU+PGNvZGluZz48c3lzdGVtIHZhbHVlPSJodHRwOi8vZmhpci5kZS9Db2RlU3lzdGVtL2lmYS9wem4iLz48Y29kZSB2YWx1ZT0iNTIxNjQ4MDgiLz48L2NvZGluZz48dGV4dCB2YWx1ZT0iU2NobWVyem1pdHRlbCIvPjwvY29kZT48Zm9ybT48Y29kaW5nPjxzeXN0ZW0gdmFsdWU9Imh0dHBzOi8vZmhpci5rYnYuZGUvQ29kZVN5c3RlbS9LQlZfQ1NfU0ZISVJfS0JWX0RBUlJFSUNIVU5HU0ZPUk0iLz48Y29kZSB2YWx1ZT0iVEFCIi8+PC9jb2Rpbmc+PC9mb3JtPjxhbW91bnQ+PG51bWVyYXRvcj48ZXh0ZW5zaW9uIHVybD0iaHR0cHM6Ly9maGlyLmtidi5kZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL0tCVl9FWF9FUlBfTWVkaWNhdGlvbl9QYWNrYWdpbmdTaXplIj48dmFsdWVTdHJpbmcgdmFsdWU9IjEiLz48L2V4dGVuc2lvbj48dW5pdCB2YWx1ZT0iU3RrIi8+PC9udW1lcmF0b3I+PGRlbm9taW5hdG9yPjx2YWx1ZSB2YWx1ZT0iMSIvPjwvZGVub21pbmF0b3I+PC9hbW91bnQ+PC9NZWRpY2F0aW9uPjwvcmVzb3VyY2U+PC9lbnRyeT48ZW50cnk+PGZ1bGxVcmwgdmFsdWU9Imh0dHBzOi8vcHZzLmdlbWF0aWsuZGUvZmhpci9QYXRpZW50L2U2Mjc0YzA1LWY2M2MtNGVhMS05YzNiLTM4MzQwZWNiY2E2YyIvPjxyZXNvdXJjZT48UGF0aWVudCB4bWxucz0iaHR0cDovL2hsNy5vcmcvZmhpciI+PGlkIHZhbHVlPSJlNjI3NGMwNS1mNjNjLTRlYTEtOWMzYi0zODM0MGVjYmNhNmMiLz48bWV0YT48cHJvZmlsZSB2YWx1ZT0iaHR0cHM6Ly9maGlyLmtidi5kZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL0tCVl9QUl9GT1JfUGF0aWVudHwxLjEuMCIvPjwvbWV0YT48aWRlbnRpZmllcj48dHlwZT48Y29kaW5nPjxzeXN0ZW0gdmFsdWU9Imh0dHA6Ly9maGlyLmRlL0NvZGVTeXN0ZW0vaWRlbnRpZmllci10eXBlLWRlLWJhc2lzIi8+PGNvZGUgdmFsdWU9IlBLViIvPjwvY29kaW5nPjwvdHlwZT48c3lzdGVtIHZhbHVlPSJodHRwOi8vZmhpci5kZS9zaWQvcGt2L2t2aWQtMTAiLz48dmFsdWUgdmFsdWU9IlgxMTA0NjU3NzAiLz48L2lkZW50aWZpZXI+PG5hbWU+PHVzZSB2YWx1ZT0ib2ZmaWNpYWwiLz48ZmFtaWx5IHZhbHVlPSJBbmdlcm3DpG5uIj48ZXh0ZW5zaW9uIHVybD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL2h1bWFubmFtZS1vd24tbmFtZSI+PHZhbHVlU3RyaW5nIHZhbHVlPSJBbmdlcm3DpG5uIi8+PC9leHRlbnNpb24+PC9mYW1pbHk+PGdpdmVuIHZhbHVlPSJHw7xudGhlciIvPjwvbmFtZT48YmlydGhEYXRlIHZhbHVlPSIyMDA0LTAxLTI5Ii8+PGFkZHJlc3M+PHR5cGUgdmFsdWU9ImJvdGgiLz48bGluZSB2YWx1ZT0iTHVyY2hlbndlZyAxNDgiPjxleHRlbnNpb24gdXJsPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vaXNvMjEwOTAtQURYUC1ob3VzZU51bWJlciI+PHZhbHVlU3RyaW5nIHZhbHVlPSIxNDgiLz48L2V4dGVuc2lvbj48ZXh0ZW5zaW9uIHVybD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL2lzbzIxMDkwLUFEWFAtc3RyZWV0TmFtZSI+PHZhbHVlU3RyaW5nIHZhbHVlPSJMdXJjaGVud2VnIi8+PC9leHRlbnNpb24+PC9saW5lPjxjaXR5IHZhbHVlPSJOb3JkIFBhdWxhIi8+PHBvc3RhbENvZGUgdmFsdWU9IjMzNDgxIi8+PGNvdW50cnkgdmFsdWU9IkQiLz48L2FkZHJlc3M+PC9QYXRpZW50PjwvcmVzb3VyY2U+PC9lbnRyeT48ZW50cnk+PGZ1bGxVcmwgdmFsdWU9Imh0dHBzOi8vcHZzLmdlbWF0aWsuZGUvZmhpci9Pcmdhbml6YXRpb24vOWVkOGY3MDYtNDc0NS00ZmU0LThlOGQtOTBjZjVmODkwOWMxIi8+PHJlc291cmNlPjxPcmdhbml6YXRpb24geG1sbnM9Imh0dHA6Ly9obDcub3JnL2ZoaXIiPjxpZCB2YWx1ZT0iOWVkOGY3MDYtNDc0NS00ZmU0LThlOGQtOTBjZjVmODkwOWMxIi8+PG1ldGE+PHByb2ZpbGUgdmFsdWU9Imh0dHBzOi8vZmhpci5rYnYuZGUvU3RydWN0dXJlRGVmaW5pdGlvbi9LQlZfUFJfRk9SX09yZ2FuaXphdGlvbnwxLjEuMCIvPjwvbWV0YT48aWRlbnRpZmllcj48dHlwZT48Y29kaW5nPjxzeXN0ZW0gdmFsdWU9Imh0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vdjItMDIwMyIvPjxjb2RlIHZhbHVlPSJCU05SIi8+PC9jb2Rpbmc+PC90eXBlPjxzeXN0ZW0gdmFsdWU9Imh0dHBzOi8vZmhpci5rYnYuZGUvTmFtaW5nU3lzdGVtL0tCVl9OU19CYXNlX0JTTlIiLz48dmFsdWUgdmFsdWU9IjgzMTUzMTE2OSIvPjwvaWRlbnRpZmllcj48bmFtZSB2YWx1ZT0iQXJ6dHByYXhpcyBTY2hyYcOfZXIiLz48dGVsZWNvbT48c3lzdGVtIHZhbHVlPSJwaG9uZSIvPjx2YWx1ZSB2YWx1ZT0iKDA5NTE5KSAwNDI1MTIyIi8+PC90ZWxlY29tPjx0ZWxlY29tPjxzeXN0ZW0gdmFsdWU9ImVtYWlsIi8+PHZhbHVlIHZhbHVlPSJicmlhbi5wZmzDvGduZXJAa3VtbWxlLm5ldCIvPjwvdGVsZWNvbT48YWRkcmVzcz48dHlwZSB2YWx1ZT0iYm90aCIvPjxsaW5lIHZhbHVlPSJIZWlucmljaC1Mw7xia2UtU3RyLiAwIj48ZXh0ZW5zaW9uIHVybD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL2lzbzIxMDkwLUFEWFAtaG91c2VOdW1iZXIiPjx2YWx1ZVN0cmluZyB2YWx1ZT0iMCIvPjwvZXh0ZW5zaW9uPjxleHRlbnNpb24gdXJsPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vaXNvMjEwOTAtQURYUC1zdHJlZXROYW1lIj48dmFsdWVTdHJpbmcgdmFsdWU9IkhlaW5yaWNoLUzDvGJrZS1TdHIuIi8+PC9leHRlbnNpb24+PC9saW5lPjxjaXR5IHZhbHVlPSJNaW50emxhZmZzY2hlaWQiLz48cG9zdGFsQ29kZSB2YWx1ZT0iMjYxNzAiLz48Y291bnRyeSB2YWx1ZT0iRCIvPjwvYWRkcmVzcz48L09yZ2FuaXphdGlvbj48L3Jlc291cmNlPjwvZW50cnk+PGVudHJ5PjxmdWxsVXJsIHZhbHVlPSJodHRwczovL3B2cy5nZW1hdGlrLmRlL2ZoaXIvQ292ZXJhZ2UvMGNhYTZjNWEtZTNhZS00YjI2LWI1YjYtZTZkMTJmNTM1YmU2Ii8+PHJlc291cmNlPjxDb3ZlcmFnZSB4bWxucz0iaHR0cDovL2hsNy5vcmcvZmhpciI+PGlkIHZhbHVlPSIwY2FhNmM1YS1lM2FlLTRiMjYtYjViNi1lNmQxMmY1MzViZTYiLz48bWV0YT48cHJvZmlsZSB2YWx1ZT0iaHR0cHM6Ly9maGlyLmtidi5kZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL0tCVl9QUl9GT1JfQ292ZXJhZ2V8MS4xLjAiLz48L21ldGE+PGV4dGVuc2lvbiB1cmw9Imh0dHA6Ly9maGlyLmRlL1N0cnVjdHVyZURlZmluaXRpb24vZ2t2L2Jlc29uZGVyZS1wZXJzb25lbmdydXBwZSI+PHZhbHVlQ29kaW5nPjxzeXN0ZW0gdmFsdWU9Imh0dHBzOi8vZmhpci5rYnYuZGUvQ29kZVN5c3RlbS9LQlZfQ1NfU0ZISVJfS0JWX1BFUlNPTkVOR1JVUFBFIi8+PGNvZGUgdmFsdWU9IjAwIi8+PC92YWx1ZUNvZGluZz48L2V4dGVuc2lvbj48ZXh0ZW5zaW9uIHVybD0iaHR0cDovL2ZoaXIuZGUvU3RydWN0dXJlRGVmaW5pdGlvbi9na3YvZG1wLWtlbm56ZWljaGVuIj48dmFsdWVDb2Rpbmc+PHN5c3RlbSB2YWx1ZT0iaHR0cHM6Ly9maGlyLmtidi5kZS9Db2RlU3lzdGVtL0tCVl9DU19TRkhJUl9LQlZfRE1QIi8+PGNvZGUgdmFsdWU9IjAwIi8+PC92YWx1ZUNvZGluZz48L2V4dGVuc2lvbj48ZXh0ZW5zaW9uIHVybD0iaHR0cDovL2ZoaXIuZGUvU3RydWN0dXJlRGVmaW5pdGlvbi9na3Yvd29wIj48dmFsdWVDb2Rpbmc+PHN5c3RlbSB2YWx1ZT0iaHR0cHM6Ly9maGlyLmtidi5kZS9Db2RlU3lzdGVtL0tCVl9DU19TRkhJUl9JVEFfV09QIi8+PGNvZGUgdmFsdWU9IjczIi8+PC92YWx1ZUNvZGluZz48L2V4dGVuc2lvbj48ZXh0ZW5zaW9uIHVybD0iaHR0cDovL2ZoaXIuZGUvU3RydWN0dXJlRGVmaW5pdGlvbi9na3YvdmVyc2ljaGVydGVuYXJ0Ij48dmFsdWVDb2Rpbmc+PHN5c3RlbSB2YWx1ZT0iaHR0cHM6Ly9maGlyLmtidi5kZS9Db2RlU3lzdGVtL0tCVl9DU19TRkhJUl9LQlZfVkVSU0lDSEVSVEVOU1RBVFVTIi8+PGNvZGUgdmFsdWU9IjEiLz48L3ZhbHVlQ29kaW5nPjwvZXh0ZW5zaW9uPjxzdGF0dXMgdmFsdWU9ImFjdGl2ZSIvPjx0eXBlPjxjb2Rpbmc+PHN5c3RlbSB2YWx1ZT0iaHR0cDovL2ZoaXIuZGUvQ29kZVN5c3RlbS92ZXJzaWNoZXJ1bmdzYXJ0LWRlLWJhc2lzIi8+PGNvZGUgdmFsdWU9IlBLViIvPjwvY29kaW5nPjwvdHlwZT48YmVuZWZpY2lhcnk+PHJlZmVyZW5jZSB2YWx1ZT0iUGF0aWVudC9lMDA3NzRmZC0yZTk4LTRhYTMtOGQ3My0wZWNlYWQzZGQ5NmUiLz48L2JlbmVmaWNpYXJ5PjxwYXlvcj48aWRlbnRpZmllcj48c3lzdGVtIHZhbHVlPSJodHRwOi8vZmhpci5kZS9zaWQvYXJnZS1pay9pa25yIi8+PHZhbHVlIHZhbHVlPSI2NzMzODAyNDciLz48L2lkZW50aWZpZXI+PGRpc3BsYXkgdmFsdWU9IktPQSBCZXJsaW4iLz48L3BheW9yPjwvQ292ZXJhZ2U+PC9yZXNvdXJjZT48L2VudHJ5PjxlbnRyeT48ZnVsbFVybCB2YWx1ZT0iaHR0cHM6Ly9wdnMuZ2VtYXRpay5kZS9maGlyL1ByYWN0aXRpb25lci84OWUzNjcxMi05YWIxLTRjYjYtYWE3Yi0yOTEyM2NkNDk5ZTMiLz48cmVzb3VyY2U+PFByYWN0aXRpb25lciB4bWxucz0iaHR0cDovL2hsNy5vcmcvZmhpciI+PGlkIHZhbHVlPSI4OWUzNjcxMi05YWIxLTRjYjYtYWE3Yi0yOTEyM2NkNDk5ZTMiLz48bWV0YT48cHJvZmlsZSB2YWx1ZT0iaHR0cHM6Ly9maGlyLmtidi5kZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL0tCVl9QUl9GT1JfUHJhY3RpdGlvbmVyfDEuMS4wIi8+PC9tZXRhPjxpZGVudGlmaWVyPjx0eXBlPjxjb2Rpbmc+PHN5c3RlbSB2YWx1ZT0iaHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS92Mi0wMjAzIi8+PGNvZGUgdmFsdWU9IkxBTlIiLz48L2NvZGluZz48L3R5cGU+PHN5c3RlbSB2YWx1ZT0iaHR0cHM6Ly9maGlyLmtidi5kZS9OYW1pbmdTeXN0ZW0vS0JWX05TX0Jhc2VfQU5SIi8+PHZhbHVlIHZhbHVlPSI3MTY2MDgzMDUiLz48L2lkZW50aWZpZXI+PG5hbWU+PHVzZSB2YWx1ZT0ib2ZmaWNpYWwiLz48ZmFtaWx5IHZhbHVlPSJTY2hyYcOfZXIiPjxleHRlbnNpb24gdXJsPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vaHVtYW5uYW1lLW93bi1uYW1lIj48dmFsdWVTdHJpbmcgdmFsdWU9IlNjaHJhw59lciIvPjwvZXh0ZW5zaW9uPjwvZmFtaWx5PjxnaXZlbiB2YWx1ZT0iRHIuIi8+PHByZWZpeCB2YWx1ZT0iRHIuIj48ZXh0ZW5zaW9uIHVybD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL2lzbzIxMDkwLUVOLXF1YWxpZmllciI+PHZhbHVlQ29kZSB2YWx1ZT0iQUMiLz48L2V4dGVuc2lvbj48L3ByZWZpeD48L25hbWU+PHF1YWxpZmljYXRpb24+PGNvZGU+PGNvZGluZz48c3lzdGVtIHZhbHVlPSJodHRwczovL2ZoaXIua2J2LmRlL0NvZGVTeXN0ZW0vS0JWX0NTX0ZPUl9RdWFsaWZpY2F0aW9uX1R5cGUiLz48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"/>
</Binary>
</resource>
</entry>
<entry>
<fullUrl value="https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Consent/CHARGCONS-P987654321"/>
<resource>
<Consent>
<id value="CHARGCONS-P987654321"/>
<meta>
<profile value="https://gematik.de/fhir/erpchrg/StructureDefinition/GEM_ERPCHRG_PR_Consent|1.0"/>
</meta>
<status value="active"/>
<scope>
<coding>
<system value="http://terminology.hl7.org/CodeSystem/consentscope"/>
<code value="patient-privacy"/>
<display value="Privacy Consent"/>
</coding>
</scope>
<category>
<coding>
<system value="https://gematik.de/fhir/erpchrg/CodeSystem/GEM_ERPCHRG_CS_ConsentType"/>
<code value="CHARGCONS"/>
<display value="Consent for saving electronic charge item"/>
</coding>
</category>
<patient>
<identifier>
<system value="http://fhir.de/sid/pkv/kvid-10"/>
<value value="P987654321"/>
</identifier>
</patient>
<dateTime value="2025-01-15T15:29:00+00:00"/>
<policyRule>
<coding>
<system value="http://terminology.hl7.org/CodeSystem/v3-ActCode"/>
<code value="OPTIN"/>
</coding>
</policyRule>
</Consent>
</resource>
</entry>
</Bundle>
ℹ️
|
Das generierte Secret stellt den Zugriffscode der abrufenden Apotheke dar und muss in allen folgenden Workflowschritten als <identifier><value value="*"/></identifier> angegeben werden, damit nicht eine fremde Apotheke den Prozess übernehmen kann.
|
ℹ️
|
Der Status des Tasks unter <status value="*"/> ist in Bearbeitung (in-progress )
|
ℹ️
|
Das Element <Binary> <data value="*"/></Binary> enthält den qualifiziert signierten Verordnungsdatensatz als PKCS#7-Datei in Base64-codierter Form. Innerhalb des Signaturobjekts ist das E-Rezept-Bundle enthalten (Enveloping-Signatur) und muss vom Apothekensystem für die Bearbeitung des E-Rezepts verarbeitet werden. Der codierte Base64-String ist hier aus Gründen der Lesbarkeit nicht vollständig dargestellt. Das vollständige Beispiel findet sich im Unterordner der Beispiele in der Datei 4fe2013d-ae94-441a-a1b1-78236ae65680_S_SECUN_secu_kon_4.8.2_4.1.3.p7
|
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 |
Beim initialen Abrufen eines E-Rezepts erhält die Apotheke ein eindeutiges Secret, das für alle weiteren Schritte benötigt wird. Es besteht das Risiko, dass dieses Secret bei der Übertragung der Response des E-Rezept-Fachdienstes verloren geht. In diesem Fall kann das E-Rezept erneut abgerufen werden, damit die Apotheke in Besitz des Secrets kommt.
Hierzu wird der Task mit den Informationen aus dem E-Rezept-Token erneut abgerufen. Der E-Rezept-Fachdienst überträgt daraufhin den Task mit Secret und das QES Verordnungsbundle an die Apotheke.
Dieser Aufruf ist nur erfolgreich, wenn die gleiche Apotheke den Task erneut abruft, die das E-Rezept ursprünglich abgerufen hat.
Request
URI |
|||
---|---|---|---|
Method |
GET |
||
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-abrufen-03-request-recovery-secret"/>
<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/160.000.000.000.000.01"/>
</link>
<entry>
<fullUrl value="https://erp-ref.zentral.erp.splitdns.ti-dienste.de/Task/160.000.000.000.000.01"/>
<resource>
<Task>
<id value="160.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="160"/>
<display value="Muster 16 (Apothekenpflichtige Arzneimittel)"/>
</valueCoding>
</extension>
<extension url="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_AcceptDate">
<valueDate value="2025-02-12"/>
</extension>
<extension url="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_ExpiryDate">
<valueDate value="2025-04-15"/>
</extension>
<identifier>
<use value="official"/>
<system value="https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId"/>
<value value="160.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="in-progress"/>
<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.54"/>
<display value="Öffentliche Apotheke"/>
</coding>
<text value="Öffentliche Apotheke"/>
</performerType>
<owner>
<identifier>
<system value="https://gematik.de/fhir/sid/telematik-id"/>
<value value="3-2-APO-XanthippeVeilchenblau01"/>
</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/281a985c-f25b-4aae-91a6-41ad744080b0"/>
</valueReference>
</input>
</Task>
</resource>
</entry>
<entry>
<fullUrl value="urn:uuid:281a985c-f25b-4aae-91a6-41ad744080b0"/>
<resource>
<Binary>
<id value="281a985c-f25b-4aae-91a6-41ad744080b0"/>
<meta>
<versionId value="1"/>
<profile value="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Binary|1.4"/>
</meta>
<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 |
412 |
Precondition Failed |
429 |
Too Many Requests |
500 |
Server Errors |
Im Apothekenverwaltungssystem liegen nach dem Abruf aus dem E-Rezept-Fachdienst der Task des Workflows und der qualifiziert signierte Verordnungsdatensatz vor. Die Rechtmäßigkeit der elektronischen Verordnung wird mittels Prüfung der QES durch den Konnektor verifiziert. Der E-Rezept-Fachdienst prüft die Signatur beim Einstellen des E-Rezepts. Die Apotheke kann sich auf diese Prüfung verlassen, hat aber auch die Möglichkeit die Signatur selbst zu prüfen. Für die Prüfung wird die soeben heruntergeladene PKCS#7-Datei in Base64-codierter Form an die SOAP-Schnittstelle der Signaturprüfung des Konnektors als http-POST-Operation geschickt.
Request
URI |
|||||
---|---|---|---|---|---|
Method |
POST |
||||
Requester |
|||||
Responder |
Konnektor |
||||
HTTP Header |
Content-Type: text/xml; charset=UTF-8 Content-Length: 1234 |
||||
Payload |
<?xml version='1.0' encoding='UTF-8'?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns3:VerifyDocument xmlns:ns2="urn:oasis:names:tc:dss:1.0:core:schema"
xmlns:ns3="http://ws.gematik.de/conn/SignatureService/v7.5"
xmlns:ns4="http://www.w3.org/2000/09/xmldsig#"
xmlns:ns5="urn:oasis:names:tc:dss-x:1.0:profiles:SignaturePolicy:schema#"
xmlns:ns6="http://ws.gematik.de/conn/ConnectorCommon/v5.0"
xmlns:ns7="http://ws.gematik.de/tel/error/v2.0"
xmlns:ns8="urn:oasis:names:tc:dss-x:1.0:profiles:verificationreport:schema#"
xmlns:ns9="http://uri.etsi.org/01903/v1.3.2#" xmlns:ns10="http://uri.etsi.org/02231/v2#"
xmlns:ns11="http://ws.gematik.de/conn/ConnectorContext/v2.0"
xmlns:ns12="http://ws.gematik.de/conn/CertificateServiceCommon/v2.0"
xmlns:ns13="urn:oasis:names:tc:SAML:1.0:assertion"
xmlns:ns14="urn:oasis:names:tc:SAML:2.0:assertion"
xmlns:ns15="http://www.w3.org/2001/04/xmlenc#">
<ns11:Context>
<ns6:MandantId>Mandant1</ns6:MandantId>
<ns6:ClientSystemId>CS1</ns6:ClientSystemId>
<ns6:WorkplaceId>AP1</ns6:WorkplaceId>
</ns11:Context>
<ns3:TvMode>NONE</ns3:TvMode>
<ns3:OptionalInputs>
<ns8:ReturnVerificationReport>
<ns8:IncludeVerifier>true</ns8:IncludeVerifier>
<ns8:IncludeCertificateValues>true</ns8:IncludeCertificateValues>
<ns8:IncludeRevocationValues>true</ns8:IncludeRevocationValues>
<ns8:ExpandBinaryValues>false</ns8:ExpandBinaryValues>
</ns8:ReturnVerificationReport>
</ns3:OptionalInputs>
<ns2:SignatureObject>
<ns2:Base64Signature Type="urn:ietf:rfc:5652">
MIJTfQYJKoZIhvcNAQcCoIJTbjCCU2oCAQUxDzANBglghkgBZQMEAg...</ns2:Base64Signature>
</ns2:SignatureObject>
<ns3:IncludeRevocationInfo>false</ns3:IncludeRevocationInfo>
</ns3:VerifyDocument>
</S:Body>
</S:Envelope>
|
ℹ️
|
Der Inhalt der Base64-codierten Signatur findet sich im Unterordner der Beispiele in der Datei 4fe2013d-ae94-441a-a1b1-78236ae65680_S_SECUN_secu_kon_4.8.2_4.1.3.p7 und kann mit einem ASN.1-Viewer eingesehen werden.
|
❗
|
Im Verzeichnis der Beispiele sind alle Kreuzkombinationen der verschiedenen Konnektorhersteller für Signaturerstellung und -Prüfung enthalten. Hier dargestellt ist die Prüfung durch eine Koco-Box einer durch einen Secunet-Konnektor erstellten QES in 4fe2013d-ae94-441a-a1b1-78236ae65680_S_SECUN_secu_kon_4.8.2_4.1.3_V_KOCOC_kocobox_3.6.0_2.3.24_req.xml .
|
❗
|
Im Verzeichnis HBA-gueltig-bis-24.4.2021 gibt es weitere Beispiele, wie die Signatur und Signaturprüfung aussieht, wenn ein HBA kurz vor dem Ablauf seiner kryptografischen Gültigkeit verwendet wurde. |
Response HTTP/1.1 200 OK Content-Type: text/xml;charset=utf-8
<?xml version='1.0' encoding='UTF-8'?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns4:VerifyDocumentResponse xmlns:ns16="http://ws.gematik.de/conn/SignatureService/v7.4"
xmlns:ns15="urn:oasis:names:tc:SAML:2.0:assertion"
xmlns:ns14="http://www.w3.org/2001/04/xmlenc#"
xmlns:ns13="http://ws.gematik.de/conn/CertificateServiceCommon/v2.0"
xmlns:ns12="urn:oasis:names:tc:SAML:1.0:assertion"
xmlns:ns11="urn:oasis:names:tc:dss-x:1.0:profiles:SignaturePolicy:schema#"
xmlns:ns10="http://uri.etsi.org/02231/v2#"
xmlns:ns9="http://uri.etsi.org/01903/v1.3.2#"
xmlns:ns8="urn:oasis:names:tc:dss-x:1.0:profiles:verificationreport:schema#"
xmlns:ns7="http://www.w3.org/2000/09/xmldsig#"
xmlns:ns6="urn:oasis:names:tc:dss:1.0:core:schema"
xmlns:ns5="http://ws.gematik.de/tel/error/v2.0"
xmlns:ns4="http://ws.gematik.de/conn/SignatureService/v7.5"
xmlns:ns3="http://ws.gematik.de/conn/ConnectorContext/v2.0"
xmlns:ns2="http://ws.gematik.de/conn/ConnectorCommon/v5.0">
<ns2:Status>
<ns2:Result>OK</ns2:Result>
</ns2:Status>
<ns4:VerificationResult>
<ns4:HighLevelResult>VALID</ns4:HighLevelResult>
<ns4:TimestampType>SIGNATURE_EMBEDDED_TIMESTAMP</ns4:TimestampType>
<ns4:Timestamp>2023-08-24T14:02:36.000Z</ns4:Timestamp>
</ns4:VerificationResult>
<ns4:OptionalOutputs>
<ns8:VerificationReport>
<ns6:VerificationTimeInfo>
<ns6:VerificationTime>2023-08-24T14:02:37.101Z</ns6:VerificationTime>
</ns6:VerificationTimeInfo>
<ns8:IndividualReport>
<ns8:SignedObjectIdentifier>
<ns8:SignedProperties>
<ns8:SignedSignatureProperties>
<ns9:SigningTime>2023-08-24T14:02:36.000Z</ns9:SigningTime>
</ns8:SignedSignatureProperties>
<ns8:Other>
<ns4:ReferenceToSignerCertificate>true</ns4:ReferenceToSignerCertificate>
<ns4:ShortText>a CMSDocument2Sign</ns4:ShortText>
<ns4:DisplayableAttributes>
<ns4:DisplayableAttribute>
<ns4:Key>0.4.0.1733.2.1</ns4:Key>
<ns4:Value>text/plain; charset=utf-8</ns4:Value>
</ns4:DisplayableAttribute>
<ns4:DisplayableAttribute>
<ns4:Key>1.2.840.113549.1.9.52</ns4:Key>
<ns4:Value>DER Sequence
ObjectIdentifier(1.2.840.113549.1.9.52)
Set
Sequence
Sequence
ObjectIdentifier(2.16.840.1.101.3.4.2.1)
NULL
Tagged [1] IMPLICIT
Sequence
ObjectIdentifier(1.2.840.113549.1.1.10)
Sequence
Tagged [0]
Sequence
ObjectIdentifier(2.16.840.1.101.3.4.2.1)
NULL
Tagged [1]
Sequence
ObjectIdentifier(1.2.840.113549.1.1.8)
Sequence
ObjectIdentifier(2.16.840.1.101.3.4.2.1)
NULL
Tagged [2]
Integer(32)
</ns4:Value>
</ns4:DisplayableAttribute>
<ns4:DisplayableAttribute>
<ns4:Key>1.2.840.113549.1.9.3</ns4:Key>
<ns4:Value>DER Sequence
ObjectIdentifier(1.2.840.113549.1.9.3)
Set
ObjectIdentifier(1.2.840.113549.1.7.1)
</ns4:Value>
</ns4:DisplayableAttribute>
<ns4:DisplayableAttribute>
<ns4:Key>1.2.840.113549.1.9.4</ns4:Key>
<ns4:Value>DER Sequence
ObjectIdentifier(1.2.840.113549.1.9.4)
Set
DER Octet String[32]
</ns4:Value>
</ns4:DisplayableAttribute>
</ns4:DisplayableAttributes>
</ns8:Other>
</ns8:SignedProperties>
<ns7:SignatureValue
Id="signature-value-84b04055-803a-4ef3-9ff0-11bb0f123383">
MIAGCSqGSIb3DQEHAqCAMIACAQExDTALBglghkgBZQMEAgEwgAYJKoZIhvcN...
</ns7:SignatureValue>
</ns8:SignedObjectIdentifier>
<ns6:Result>
<ns6:ResultMajor>urn:oasis:names:tc:dss:1.0:resultmajor:Success</ns6:ResultMajor>
<ns6:ResultMinor>
urn:oasis:names:tc:dss:1.0:resultminor:valid:signature:OnAllDocuments
</ns6:ResultMinor>
</ns6:Result>
<ns8:Details>
<ns8:DetailedSignatureReport>
<ns8:FormatOK>
<ns8:ResultMajor>urn:oasis:names:tc:dss:1.0:detail:valid</ns8:ResultMajor>
</ns8:FormatOK>
<ns8:SignatureOK>
<ns8:SigMathOK>
<ns8:ResultMajor>urn:oasis:names:tc:dss:1.0:detail:valid</ns8:ResultMajor>
</ns8:SigMathOK>
<ns8:SignatureAlgorithm>
<ns8:Algorithm>
http://www.w3.org/2007/05/xmldsig-more#sha256-rsa-MGF1
</ns8:Algorithm>
<ns8:Suitability>
<ns8:ResultMajor>urn:oasis:names:tc:dss:1.0:detail:valid</ns8:ResultMajor>
</ns8:Suitability>
</ns8:SignatureAlgorithm>
</ns8:SignatureOK>
<ns8:CertificatePathValidity>
<ns8:PathValiditySummary>
<ns8:ResultMajor>urn:oasis:names:tc:dss:1.0:detail:valid</ns8:ResultMajor>
</ns8:PathValiditySummary>
<ns8:CertificateIdentifier>
<ns7:X509IssuerName>CN=GEM.HBA-qCA24 TEST-ONLY,O=gematik
GmbH NOT-VALID,C=DE
</ns7:X509IssuerName>
<ns7:X509SerialNumber>893910701714956</ns7:X509SerialNumber>
</ns8:CertificateIdentifier>
<ns8:PathValidityDetail>
<ns8:CertificateValidity>
<ns8:CertificateIdentifier>
<ns7:X509IssuerName>CN=GEM.HBA-qCA24
TEST-ONLY,O=gematik GmbH
NOT-VALID,C=DE
</ns7:X509IssuerName>
<ns7:X509SerialNumber>893910701714956</ns7:X509SerialNumber>
</ns8:CertificateIdentifier>
<ns8:Subject>
C=DE,GIVENNAME=Bernd+SURNAME=Claudius+SERIALNUMBER=16.80276001011699910102+CN=Arzt
Bernd Claudius TEST-ONLY
</ns8:Subject>
<ns8:ChainingOK>
<ns8:ResultMajor>
urn:oasis:names:tc:dss:1.0:detail:valid
</ns8:ResultMajor>
</ns8:ChainingOK>
<ns8:ValidityPeriodOK>
<ns8:ResultMajor>
urn:oasis:names:tc:dss:1.0:detail:valid
</ns8:ResultMajor>
</ns8:ValidityPeriodOK>
<ns8:ExtensionsOK>
<ns8:ResultMajor>
urn:oasis:names:tc:dss:1.0:detail:valid
</ns8:ResultMajor>
</ns8:ExtensionsOK>
<ns8:CertificateValue>
MIIFFDCCA/ygAwIBAgIHAy0BzdYuDDANBgkqhkiG9w0BAQsFADBQMQswCQ...
</ns8:CertificateValue>
<ns8:SignatureOK>
<ns8:SigMathOK>
<ns8:ResultMajor>
urn:oasis:names:tc:dss:1.0:detail:valid
</ns8:ResultMajor>
</ns8:SigMathOK>
<ns8:SignatureAlgorithm>
<ns8:Algorithm>
http://www.w3.org/2001/04/xmldsig-more#rsa-sha256
</ns8:Algorithm>
<ns8:Suitability>
<ns8:ResultMajor>
urn:oasis:names:tc:dss:1.0:detail:valid
</ns8:ResultMajor>
</ns8:Suitability>
</ns8:SignatureAlgorithm>
</ns8:SignatureOK>
<ns8:CertificateStatus>
<ns8:CertStatusOK>
<ns8:ResultMajor>
urn:oasis:names:tc:dss:1.0:detail:valid
</ns8:ResultMajor>
</ns8:CertStatusOK>
</ns8:CertificateStatus>
</ns8:CertificateValidity>
<ns8:CertificateValidity>
<ns8:CertificateIdentifier>
<ns7:X509IssuerName>CN=GEM.qRCA2 TEST-ONLY,O=gematik
GmbH
NOT-VALID,C=DE
</ns7:X509IssuerName>
<ns7:X509SerialNumber>1098125583718924</ns7:X509SerialNumber>
</ns8:CertificateIdentifier>
<ns8:Subject>C=DE,O=gematik GmbH
NOT-VALID,CN=GEM.HBA-qCA24 TEST-ONLY
</ns8:Subject>
<ns8:ChainingOK>
<ns8:ResultMajor />
</ns8:ChainingOK>
<ns8:ValidityPeriodOK>
<ns8:ResultMajor>
urn:oasis:names:tc:dss:1.0:detail:valid
</ns8:ResultMajor>
</ns8:ValidityPeriodOK>
<ns8:ExtensionsOK>
<ns8:ResultMajor />
</ns8:ExtensionsOK>
<ns8:CertificateValue>
MIIENjCCAx6gAwIBAgIHA+a9SVYaDDAN...
</ns8:CertificateValue>
<ns8:SignatureOK>
<ns8:SigMathOK>
<ns8:ResultMajor />
</ns8:SigMathOK>
</ns8:SignatureOK>
<ns8:CertificateStatus>
<ns8:CertStatusOK>
<ns8:ResultMajor />
</ns8:CertStatusOK>
</ns8:CertificateStatus>
</ns8:CertificateValidity>
<ns8:TrustAnchor>
<ns8:ResultMajor>urn:oasis:names:tc:dss:1.0:detail:valid</ns8:ResultMajor>
<ns8:ResultMinor>
urn:oasis:names:tc:dss-x:1.0:profiles:verificationreport:trustanchor:certDataBase
</ns8:ResultMinor>
</ns8:TrustAnchor>
</ns8:PathValidityDetail>
</ns8:CertificatePathValidity>
</ns8:DetailedSignatureReport>
<ns6:VerificationTimeInfo>
<ns6:VerificationTime>2023-08-24T14:02:36.000Z</ns6:VerificationTime>
</ns6:VerificationTimeInfo>
</ns8:Details>
</ns8:IndividualReport>
</ns8:VerificationReport>
</ns4:OptionalOutputs>
</ns4:VerifyDocumentResponse>
</soap:Body>
</soap:Envelope>
ℹ️
|
Hier dargestellt ist die QES-Signaturvalidierung einer Koco-Box der durch einen Secunet-Konnektor erzeugten Signatur aus 4fe2013d-ae94-441a-a1b1-78236ae65680_S_SECUN_secu_kon_4.8.2_4.1.3_V_KOCOC_kocobox_3.6.0_2.3.24_resp.xml . Weitere Beispiele finden sich im Unterordner der Beispiele.
|
Code |
Type Success |
200 |
OK |
Code |
Type Error |
400 |
Bad Request |
Ein Apotheker hat ein E-Rezept abgerufen und beliefert den Patienten mit dem Medikament. Für den Apotheker ist es möglich, aufgrund vertraglicher Vereinbarungen, erst zum Ende des nächsten Werktages den Workflow für das E-Rezept abzuschließen (E-Rezept Abgabe vollziehen). Damit der Versicherte vorher darüber informiert werden kann, dass eine Abgabe erfolgte, können die Dispensierinformationen vor Abschluss des Workflows übermittelt werden. Der Apotheke erhält hierbei keine Quittung und der Status des Tasks verändert sich nicht.
ℹ️
|
Dadurch, dass die $dispense-Operation den Status des Tasks nicht beeinflusst ist die Verwendung dieses Endpunktes optional. |
Der Aufruf erfolgt als HTTP-POST-Operation mit der FHIR-Operation $dispense. Im HTTP-Request-Header muss das während der Authentifizierung 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 das ausgegebene Medikament an den Fachdienst übergeben. Wenn die Anfrage erfolgreich bearbeitet wurde gibt der Fachdienst keinen Inhalt im Response Body und gibt den Status 204 zurück.
Der Task ist um den Zeitstempel des Aufrufs des $dispense-Endpunktes ergänzt und steht für den Abruf des E-Rezept-FdV bereit.
ℹ️
|
Die maximale Dateigröße für die Kommunikation am E-Rezept-Fachdienst beträgt derzeit 1MB. Dies meint den kompletten Request, daher muss der innere VAU-Request etwas kleiner als 1MB sein. Für Verordnungen, die mehrere Abgaben erfordern ist darauf zu achten, dass für mehrere Abgaben einer Charge nur eine MedicationDispense erstellt wird. |
ℹ️
|
Hinweise zur Erstellung der Abgabeinformationen ab Profilversion 1.4 finden sich auf der Seite Angabe von Dosierinformationen. |
Request
URI |
https://erp.zentral.erp.splitdns.ti-dienste.de/Task/160.000.000.000.000.01/$dispense?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-abrufen-06-request-taskClose"/>
<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-abrufen-06-request-taskClose-medicationDispense"/>
<meta>
<profile value="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense|1.4"/>
</meta>
<identifier>
<system value="https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId"/>
<value value="160.000.000.000.000.01"/>
</identifier>
<status value="completed"/>
<medicationReference>
<reference value="Medication/SumatripanMedication"/>
</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="3-2-APO-XanthippeVeilchenblau01"/>
</identifier>
</actor>
</performer>
<quantity>
<value value="1"/>
<system value="http://unitsofmeasure.org"/>
<code value="{Package}"/>
</quantity>
<whenHandedOver value="2025-01-15"/>
<dosageInstruction>
<text value="1-0-1-0"/>
</dosageInstruction>
</MedicationDispense>
</resource>
</part>
<part>
<name value="medication"/>
<resource>
<Medication>
<id value="SumatripanMedication"/>
<meta>
<profile value="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Medication|1.4"/>
</meta>
<extension url="https://gematik.de/fhir/epa-medication/StructureDefinition/drug-category-extension">
<valueCoding>
<code value="00"/>
</valueCoding>
</extension>
<extension url="https://gematik.de/fhir/epa-medication/StructureDefinition/medication-id-vaccine-extension">
<valueBoolean value="false"/>
</extension>
<extension url="http://fhir.de/StructureDefinition/normgroesse">
<valueCode value="N1"/>
</extension>
<code>
<coding>
<system value="http://fhir.de/CodeSystem/ifa/pzn"/>
<code value="06313728"/>
</coding>
<text value="Sumatriptan-1a Pharma 100 mg Tabletten"/>
</code>
<form>
<coding>
<system value="https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM"/>
<code value="TAB"/>
<display value="Tabletten"/>
</coding>
</form>
<amount>
<numerator>
<extension url="https://gematik.de/fhir/epa-medication/StructureDefinition/medication-total-quantity-formulation-extension">
<valueString value="20"/>
</extension>
<unit value="St"/>
</numerator>
<denominator>
<value value="1"/>
</denominator>
</amount>
<ingredient>
<itemCodeableConcept>
<text value="Sumatriptan"/>
</itemCodeableConcept>
<strength>
<numerator>
<value value="100"/>
<unit value="mg"/>
<system>
<extension url="http://hl7.org/fhir/StructureDefinition/data-absent-reason">
<valueCode value="unknown"/>
</extension>
</system>
<code>
<extension url="http://hl7.org/fhir/StructureDefinition/data-absent-reason">
<valueCode value="unknown"/>
</extension>
</code>
</numerator>
<denominator>
<value value="1"/>
<system>
<extension url="http://hl7.org/fhir/StructureDefinition/data-absent-reason">
<valueCode value="unknown"/>
</extension>
</system>
<code>
<extension url="http://hl7.org/fhir/StructureDefinition/data-absent-reason">
<valueCode value="unknown"/>
</extension>
</code>
</denominator>
</strength>
</ingredient>
</Medication>
</resource>
</part>
</parameter>
</Parameters>
|
Für die Übertragung der Abgabeinformationen wird als Transportmedium die FHIR-Parameters Ressource genutzt. Darüber können auch mehrere Abgaben erfolgen. Hierzu werden weitere rxDispensation
-Parameter angegeben.
Beispiel für eine mehrfache Abgabe (Klicken zum Ausklappen)
<Parameters xmlns="http://hl7.org/fhir">
<id value="erp-abrufen-07-request-taskCloseMultiple"/>
<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="a3ddc2b1-826d-4b81-87b2-558834e00f50"/>
<meta>
<profile value="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense|1.4"/>
</meta>
<identifier>
<system value="https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId"/>
<value value="160.000.000.000.000.01"/>
</identifier>
<status value="completed"/>
<medicationReference>
<reference value="Medication/SumatripanMedication"/>
</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="3-2-APO-XanthippeVeilchenblau01"/>
</identifier>
</actor>
</performer>
<whenHandedOver value="2025-01-15"/>
</MedicationDispense>
</resource>
</part>
<part>
<name value="medication"/>
<resource>
<Medication>
<id value="SumatripanMedication"/>
<meta>
<profile value="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Medication|1.4"/>
</meta>
<extension url="https://gematik.de/fhir/epa-medication/StructureDefinition/drug-category-extension">
<valueCoding>
<code value="00"/>
</valueCoding>
</extension>
<extension url="https://gematik.de/fhir/epa-medication/StructureDefinition/medication-id-vaccine-extension">
<valueBoolean value="false"/>
</extension>
<extension url="http://fhir.de/StructureDefinition/normgroesse">
<valueCode value="N1"/>
</extension>
<code>
<coding>
<system value="http://fhir.de/CodeSystem/ifa/pzn"/>
<code value="06313728"/>
</coding>
<text value="Sumatriptan-1a Pharma 100 mg Tabletten"/>
</code>
<form>
<coding>
<system value="https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM"/>
<code value="TAB"/>
<display value="Tabletten"/>
</coding>
</form>
<amount>
<numerator>
<extension url="https://gematik.de/fhir/epa-medication/StructureDefinition/medication-total-quantity-formulation-extension">
<valueString value="20"/>
</extension>
<unit value="St"/>
</numerator>
<denominator>
<value value="1"/>
</denominator>
</amount>
<ingredient>
<itemCodeableConcept>
<text value="Sumatriptan"/>
</itemCodeableConcept>
<strength>
<numerator>
<value value="100"/>
<unit value="mg"/>
<system>
<extension url="http://hl7.org/fhir/StructureDefinition/data-absent-reason">
<valueCode value="unknown"/>
</extension>
</system>
<code>
<extension url="http://hl7.org/fhir/StructureDefinition/data-absent-reason">
<valueCode value="unknown"/>
</extension>
</code>
</numerator>
<denominator>
<value value="1"/>
<system>
<extension url="http://hl7.org/fhir/StructureDefinition/data-absent-reason">
<valueCode value="unknown"/>
</extension>
</system>
<code>
<extension url="http://hl7.org/fhir/StructureDefinition/data-absent-reason">
<valueCode value="unknown"/>
</extension>
</code>
</denominator>
</strength>
</ingredient>
</Medication>
</resource>
</part>
</parameter>
<parameter>
<name value="rxDispensation"/>
<part>
<name value="medicationDispense"/>
<resource>
<MedicationDispense>
<id value="854b6c62-8c8a-4ad6-b145-d5bac5f9f010"/>
<meta>
<profile value="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense|1.4"/>
</meta>
<identifier>
<system value="https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId"/>
<value value="160.000.000.000.000.02"/>
</identifier>
<status value="completed"/>
<medicationReference>
<reference value="Medication/FlusarionMedication"/>
</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="3-2-APO-XanthippeVeilchenblau01"/>
</identifier>
</actor>
</performer>
<whenHandedOver value="2025-01-15"/>
</MedicationDispense>
</resource>
</part>
<part>
<name value="medication"/>
<resource>
<Medication>
<id value="FlusarionMedication"/>
<meta>
<profile value="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Medication|1.4"/>
</meta>
<extension url="https://gematik.de/fhir/epa-medication/StructureDefinition/drug-category-extension">
<valueCoding>
<code value="00"/>
</valueCoding>
</extension>
<extension url="https://gematik.de/fhir/epa-medication/StructureDefinition/medication-id-vaccine-extension">
<valueBoolean value="false"/>
</extension>
<extension url="http://fhir.de/StructureDefinition/normgroesse">
<valueCode value="N1"/>
</extension>
<code>
<coding>
<system value="http://fhir.de/CodeSystem/ifa/pzn"/>
<code value="14186244"/>
</coding>
<text value="FLUSARION EH50/250UG/60 PC"/>
</code>
<form>
<coding>
<system value="https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM"/>
<code value="IHP"/>
</coding>
</form>
</Medication>
</resource>
</part>
</parameter>
</Parameters>
Response
Code |
Type Success |
204 |
No Content |
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 |
404 |
Not found |
405 |
Method Not Allowed |
408 |
Request Timeout |
409 |
Conflict |
410 |
Gone |
429 |
Too Many Requests |
500 |
Server Errors |
Ein Apotheker hat ein E-Rezept abgerufen und beliefert den Patienten mit dem Medikament. Beim Abschließen des Workflows muss der Rezept-Typ beachtet werden. Dieser wird durch das Element Task.extension.flowType bestimmt. Zum Abschluss des Worflows stellt der Apotheker dem Versicherten Informationen über das abgegebene Medikament bereit und erhält als Ergebnis eine signierte Quittung, die er in seinen Abrechnungsprozessen gegenüber dem Apothekenrechenzentrum bzw. der Krankenkasse als Nachweis des ordnungsgemäßen Abschlusses der Transaktion verwenden kann. Ist für das Element Task.extension.flowType.code "value=200" gesetzt, so handelt es sich hierbei um ein Rezept für eine privat versicherte Person. Hierbei muss der Apotheker dem Versicherten eine ausgedruckte Quittung übergeben, damit der Versicherte das Medikament gegenüber seiner Kostenstelle eigenständig abrechenen kann.
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 das ausgegebene Medikament an den 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 dem Apotheker gegenüber der Krankenkasse als Quittung dient.
ℹ️
|
Zurzeit kann die Signatur mit den Konnektor-Versionen PTV4, PTV4+ und PTV5 nicht geprüft werden. |
ℹ️
|
Die maximale Dateigröße für die Kommunikation am E-Rezept-Fachdienst beträgt derzeit 1MB. Dies meint den kompletten Request, daher muss der innere VAU-Request etwas kleiner als 1MB sein. Für Verordnungen, die mehrere Abgaben erfordern ist darauf zu achten, dass für mehrere Abgaben einer Charge nur eine MedicationDispense erstellt wird. |
ℹ️
|
Wenn mit der $dispense-Operation die Abgabendaten bereits erstellt wurden, kann die $close-Operation ohne Request Body durchgeführt werden. |
ℹ️
|
Hinweise zur Erstellung der Abgabeinformationen ab Profilversion 1.4 finden sich auf der Seite Angabe von Dosierinformationen. |
|
Wenn die $close-Operation aufgerufen wird und kein Request Body vorhanden ist, und die Abgabendaten nicht vorher mit einer $dispense-Operation erstellt wurden, kommt eine Fehlermeldung mit HttpStatus 403 und einem OperationOutcome mit der Meldung "Abschluss des Workflows konnte nicht durchgeführt werden. Dispensierinformationen wurden nicht bereitgestellt." zurück. |
Request
URI |
https://erp.zentral.erp.splitdns.ti-dienste.de/Task/160.000.000.000.000.01/$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-abrufen-06-request-taskClose"/>
<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-abrufen-06-request-taskClose-medicationDispense"/>
<meta>
<profile value="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense|1.4"/>
</meta>
<identifier>
<system value="https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId"/>
<value value="160.000.000.000.000.01"/>
</identifier>
<status value="completed"/>
<medicationReference>
<reference value="Medication/SumatripanMedication"/>
</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="3-2-APO-XanthippeVeilchenblau01"/>
</identifier>
</actor>
</performer>
<quantity>
<value value="1"/>
<system value="http://unitsofmeasure.org"/>
<code value="{Package}"/>
</quantity>
<whenHandedOver value="2025-01-15"/>
<dosageInstruction>
<text value="1-0-1-0"/>
</dosageInstruction>
</MedicationDispense>
</resource>
</part>
<part>
<name value="medication"/>
<resource>
<Medication>
<id value="SumatripanMedication"/>
<meta>
<profile value="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Medication|1.4"/>
</meta>
<extension url="https://gematik.de/fhir/epa-medication/StructureDefinition/drug-category-extension">
<valueCoding>
<code value="00"/>
</valueCoding>
</extension>
<extension url="https://gematik.de/fhir/epa-medication/StructureDefinition/medication-id-vaccine-extension">
<valueBoolean value="false"/>
</extension>
<extension url="http://fhir.de/StructureDefinition/normgroesse">
<valueCode value="N1"/>
</extension>
<code>
<coding>
<system value="http://fhir.de/CodeSystem/ifa/pzn"/>
<code value="06313728"/>
</coding>
<text value="Sumatriptan-1a Pharma 100 mg Tabletten"/>
</code>
<form>
<coding>
<system value="https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM"/>
<code value="TAB"/>
<display value="Tabletten"/>
</coding>
</form>
<amount>
<numerator>
<extension url="https://gematik.de/fhir/epa-medication/StructureDefinition/medication-total-quantity-formulation-extension">
<valueString value="20"/>
</extension>
<unit value="St"/>
</numerator>
<denominator>
<value value="1"/>
</denominator>
</amount>
<ingredient>
<itemCodeableConcept>
<text value="Sumatriptan"/>
</itemCodeableConcept>
<strength>
<numerator>
<value value="100"/>
<unit value="mg"/>
<system>
<extension url="http://hl7.org/fhir/StructureDefinition/data-absent-reason">
<valueCode value="unknown"/>
</extension>
</system>
<code>
<extension url="http://hl7.org/fhir/StructureDefinition/data-absent-reason">
<valueCode value="unknown"/>
</extension>
</code>
</numerator>
<denominator>
<value value="1"/>
<system>
<extension url="http://hl7.org/fhir/StructureDefinition/data-absent-reason">
<valueCode value="unknown"/>
</extension>
</system>
<code>
<extension url="http://hl7.org/fhir/StructureDefinition/data-absent-reason">
<valueCode value="unknown"/>
</extension>
</code>
</denominator>
</strength>
</ingredient>
</Medication>
</resource>
</part>
</parameter>
</Parameters>
|
Für die Übertragung der Abgabeinformationen wird als Transportmedium die FHIR-Parameters Ressource genutzt. Darüber können auch mehrere Abgaben erfolgen. Hierzu werden weitere rxDispensation
-Parameter angegeben.
Beispiel für eine mehrfache Abgabe (Klicken zum Ausklappen)
<Parameters xmlns="http://hl7.org/fhir">
<id value="erp-abrufen-07-request-taskCloseMultiple"/>
<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="a3ddc2b1-826d-4b81-87b2-558834e00f50"/>
<meta>
<profile value="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense|1.4"/>
</meta>
<identifier>
<system value="https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId"/>
<value value="160.000.000.000.000.01"/>
</identifier>
<status value="completed"/>
<medicationReference>
<reference value="Medication/SumatripanMedication"/>
</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="3-2-APO-XanthippeVeilchenblau01"/>
</identifier>
</actor>
</performer>
<whenHandedOver value="2025-01-15"/>
</MedicationDispense>
</resource>
</part>
<part>
<name value="medication"/>
<resource>
<Medication>
<id value="SumatripanMedication"/>
<meta>
<profile value="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Medication|1.4"/>
</meta>
<extension url="https://gematik.de/fhir/epa-medication/StructureDefinition/drug-category-extension">
<valueCoding>
<code value="00"/>
</valueCoding>
</extension>
<extension url="https://gematik.de/fhir/epa-medication/StructureDefinition/medication-id-vaccine-extension">
<valueBoolean value="false"/>
</extension>
<extension url="http://fhir.de/StructureDefinition/normgroesse">
<valueCode value="N1"/>
</extension>
<code>
<coding>
<system value="http://fhir.de/CodeSystem/ifa/pzn"/>
<code value="06313728"/>
</coding>
<text value="Sumatriptan-1a Pharma 100 mg Tabletten"/>
</code>
<form>
<coding>
<system value="https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM"/>
<code value="TAB"/>
<display value="Tabletten"/>
</coding>
</form>
<amount>
<numerator>
<extension url="https://gematik.de/fhir/epa-medication/StructureDefinition/medication-total-quantity-formulation-extension">
<valueString value="20"/>
</extension>
<unit value="St"/>
</numerator>
<denominator>
<value value="1"/>
</denominator>
</amount>
<ingredient>
<itemCodeableConcept>
<text value="Sumatriptan"/>
</itemCodeableConcept>
<strength>
<numerator>
<value value="100"/>
<unit value="mg"/>
<system>
<extension url="http://hl7.org/fhir/StructureDefinition/data-absent-reason">
<valueCode value="unknown"/>
</extension>
</system>
<code>
<extension url="http://hl7.org/fhir/StructureDefinition/data-absent-reason">
<valueCode value="unknown"/>
</extension>
</code>
</numerator>
<denominator>
<value value="1"/>
<system>
<extension url="http://hl7.org/fhir/StructureDefinition/data-absent-reason">
<valueCode value="unknown"/>
</extension>
</system>
<code>
<extension url="http://hl7.org/fhir/StructureDefinition/data-absent-reason">
<valueCode value="unknown"/>
</extension>
</code>
</denominator>
</strength>
</ingredient>
</Medication>
</resource>
</part>
</parameter>
<parameter>
<name value="rxDispensation"/>
<part>
<name value="medicationDispense"/>
<resource>
<MedicationDispense>
<id value="854b6c62-8c8a-4ad6-b145-d5bac5f9f010"/>
<meta>
<profile value="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense|1.4"/>
</meta>
<identifier>
<system value="https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId"/>
<value value="160.000.000.000.000.02"/>
</identifier>
<status value="completed"/>
<medicationReference>
<reference value="Medication/FlusarionMedication"/>
</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="3-2-APO-XanthippeVeilchenblau01"/>
</identifier>
</actor>
</performer>
<whenHandedOver value="2025-01-15"/>
</MedicationDispense>
</resource>
</part>
<part>
<name value="medication"/>
<resource>
<Medication>
<id value="FlusarionMedication"/>
<meta>
<profile value="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Medication|1.4"/>
</meta>
<extension url="https://gematik.de/fhir/epa-medication/StructureDefinition/drug-category-extension">
<valueCoding>
<code value="00"/>
</valueCoding>
</extension>
<extension url="https://gematik.de/fhir/epa-medication/StructureDefinition/medication-id-vaccine-extension">
<valueBoolean value="false"/>
</extension>
<extension url="http://fhir.de/StructureDefinition/normgroesse">
<valueCode value="N1"/>
</extension>
<code>
<coding>
<system value="http://fhir.de/CodeSystem/ifa/pzn"/>
<code value="14186244"/>
</coding>
<text value="FLUSARION EH50/250UG/60 PC"/>
</code>
<form>
<coding>
<system value="https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM"/>
<code value="IHP"/>
</coding>
</form>
</Medication>
</resource>
</part>
</parameter>
</Parameters>
Response HTTP/1.1 200 OK Content-Length: 3906 Content-Type: application/fhir+xml;charset=utf-8
<Bundle xmlns="http://hl7.org/fhir">
<id value="erp-abrufen-09-response-taskClose"/>
<meta>
<profile value="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Bundle|1.4"/>
</meta>
<identifier>
<system value="https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId"/>
<value value="160.000.000.000.000.01"/>
</identifier>
<type value="document"/>
<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/160.000.000.000.000.01/$close/"/>
</link>
<entry>
<fullUrl value="urn:uuid:c624cf47-e235-4624-af71-0a09dc9254dc"/>
<resource>
<Composition>
<id value="c624cf47-e235-4624-af71-0a09dc9254dc"/>
<meta>
<profile value="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Composition|1.4"/>
</meta>
<extension url="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_Beneficiary">
<valueIdentifier>
<system value="https://gematik.de/fhir/sid/telematik-id"/>
<value value="3-SMC-B-Testkarte-883110000129070"/>
</valueIdentifier>
</extension>
<status value="final"/>
<type>
<coding>
<system value="https://gematik.de/fhir/erp/CodeSystem/GEM_ERP_CS_DocumentType"/>
<code value="3"/>
<display value="Receipt"/>
</coding>
</type>
<date value="2025-01-15T15:29:00.434+00:00"/>
<author>
<reference value="urn:uuid:65ea903d-b3ea-4b5e-acbd-3e8c2c695542"/>
</author>
<title value="Quittung"/>
<event>
<period>
<start value="2025-01-15T15:29:00.434+00:00"/>
<end value="2025-01-15T16:29:00.434+00:00"/>
</period>
</event>
<section>
<entry>
<reference value="urn:uuid:073ef818-3d18-4cf0-a5b7-9321ec838f94"/>
</entry>
</section>
</Composition>
</resource>
</entry>
<entry>
<fullUrl value="urn:uuid:65ea903d-b3ea-4b5e-acbd-3e8c2c695542"/>
<resource>
<Device>
<id value="1"/>
<meta>
<profile value="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Device|1.4"/>
</meta>
<status value="active"/>
<serialNumber value="1.16.0"/>
<deviceName>
<name value="E-Rezept-Fachdienst"/>
<type value="user-friendly-name"/>
</deviceName>
<version>
<value value="1.16.0"/>
</version>
<contact>
<system value="email"/>
<value value="[email protected]"/>
</contact>
</Device>
</resource>
</entry>
<entry>
<fullUrl value="urn:uuid:073ef818-3d18-4cf0-a5b7-9321ec838f94"/>
<resource>
<Binary>
<id value="073ef818-3d18-4cf0-a5b7-9321ec838f94"/>
<meta>
<versionId value="1"/>
<profile value="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Digest|1.4"/>
</meta>
<contentType value="application/octet-stream"/>
<data value="tJg8c5ZtdhzEEhJ0ZpAsUVFx5dKuYgQFs5oKgthi17M="/>
</Binary>
</resource>
</entry>
<signature>
<type>
<system value="urn:iso-astm:E1762-95:2013"/>
<code value="1.2.840.10065.1.12.1.1"/>
</type>
<when value="2025-01-15T15:29:00.434+00:00"/>
<who>
<reference value="https://erp.zentral.erp.splitdns.ti-dienste.de/Device/1"/>
</who>
<sigFormat value="application/pkcs7-mime"/>
<data value="RGllcyBpc3QgZWluIEJlaXNwaWVs"/>
</signature>
</Bundle>
ℹ️
|
Im Ergebnis der Operation wird ein signiertes Bundle als Nachweis des ordnungsgemäßen Durchlaufs des E-Rezept-Workflows zurückgegeben. |
ℹ️
|
Das signierte Quittungs-Bundle enthält unter <identifier><value/> </identifier>` die Rezept-ID für eine eindeutige Zuordnung aller Artefakte des durchlaufenen Workflows
|
ℹ️
|
An der Stelle <Composition><valueIdentifier/></Composition> ist die Telematik-ID als Quittungsempfänger bzw. begünstigte Institution eingetragen, welche die Dispensierung des E-Rezepts vollzogen hat.
|
ℹ️
|
Das Startdatum in <period><start value="*"/></period> entspricht dem Abrufdatum des E-Rezepts durch die Apotheke (Statuswechsel des Task: ready → in-progress)
|
ℹ️
|
Signaturzeitpunkt der Quittung in <period><end value="*"/></period>, entspricht dem Statuswechsel des Task in-progress → completed |
ℹ️
|
Das als Device-Ressource eingebettete Device identifiziert den E-Rezept-Fachdienst als Aussteller der Quittung. |
ℹ️
|
Unter <Binary><data value="*"/></Binary> wird der base64-codierte Hashwert, über den die QES des Verordnungsdatensatzes erstellt wurde eingebettet.
|
ℹ️
|
Das Element <signature>*</signature> enthält die Signatur des Quittungs-Bundles über alle enthaltenen Objekte als Enveloping CAdES-Signatur in Base64-Codierung.
|
ℹ️
|
Die entries im Bundle werden durchgängig mit absoluter urn:uuid in der fullUrl angegeben. |
Code |
Type Success |
200 |
OK |
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 |
404 |
Not found |
405 |
Method Not Allowed |
408 |
Request Timeout |
409 |
Conflict |
410 |
Gone |
429 |
Too Many Requests |
500 |
Server Errors |
Apotheken haben die Möglichkeit, mit dem Abschluss eines E-Rezepts bis zum Ende des nächsten Werkstages zu warten. Dies kann automatisch in einem festgelegten Zeitfenster zwischen 18:00 und 22:00 Uhr als zeitgesteuerte Verarbeitung erfolgen. Um die betriebliche Stabilität zu sichern, sollte der Beginn dieser Verarbeitung durch einen Algorithmus zufällig festgelegt werden.
Der Algorithmus wird hierbei eine zufällige Zahl zwischen 0 und 14.400 generieren. Diese Zahl stellt die Sekundenanzahl nach 18:00 Uhr dar, zu welcher die zeitgesteuerte Verarbeitung starten soll. Während der Verarbeitung muss nach jedem 40. Aufruf der $close-Operation eine Wartezeit von 1000ms abgewartet werden.
Hinweis: Bitte verwenden Sie den kryptografischen Zufallsgenerator des Betriebssystems (zum Beispiel in .Net).
Beispielhafter Algorithmus zur Bestimmung eines zufälligen Zeitpunktes zwischen 18:00 und 22:00 Uhr (Klicken zum Ausklappen)
// Generiere einen zufälligen Offset zwischen 0 und 14.400 Sekunden, um die Zeit zwischen 18:00 und 22:00 zu repräsentieren
int vonWert = 0
int bisWert = 14400
int offset = random(vonWert, bisWert)
// Erhalte das aktuelle Datum und die aktuelle Uhrzeit
DateTime anfangsZeit= new DateTime()
// Setze die Uhrzeit auf 18:00 Uhr
anfangsZeit.setTime(18, 00)
// Füge den zufälligen Offset zur Startzeit hinzu
anfangsZeit.addSeconds(offset)
// Die Variable 'anfangsZeit' enthält jetzt DateTime mit der angepassten Anfangszeit
Ein Apotheker 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. in einer anderen Apotheke 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.
|
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 |
Ein Apotheker hat im vorherigen Schritt ein E-Rezept abgerufen und fachlich geprüft. Der Versicherte bittet ihn jedoch, das Rezept nicht zu beliefern sondern zu löschen, da er nicht über ein eigenes Gerät mit E-Rezept-App verfügt aber sein Recht auf informationelle Selbstbestimmung wahrnehmen möchte. Der Apotheker kommt diesem Wunsch nach und löscht das E-Rezept auf dem Fachdienst.
Der Aufruf erfolgt als http-POST-Operation mit der FHIR-Operation $abort
. 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/$abort?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 $abort-Operation wird der referenzierte Task gelöscht. Dementsprechend werden keine Daten an den aufrufenden Client zurückgegeben. |
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 |
409 |
Conflict |
410 |
Gone |
429 |
Too Many Requests |
500 |
Server Errors |
Als Apotheker kann es erforderlich sein, die Quittung für ein beliefertes E-Rezept erneut abzurufen (z.B. am Monatsende für Abrechnungszwecke, falls das Apothekenverwaltungssystem die Quittung nicht während der Belieferung gespeichert hat). Der Abruf ist möglich, solange das E-Rezept nicht automatisch und auch nicht durch den Versicherten gelöscht wurde.
Request
URI |
Zum Nachweis als berechtigte Apotheke, die das E-Rezept verarbeitet hat(te), muss im URL-Parameter |
||||
---|---|---|---|---|---|
Method |
GET |
||||
Requester |
|||||
Responder |
|||||
HTTP Header |
Authorization: Bearer eyJraWQ.ewogImL2pA10Qql22ddtutrvx4FsDlz.rHQjEmB1lLmpqn9J
|
Response
HTTP/1.1 200 OK
<Bundle xmlns="http://hl7.org/fhir">
<id value="erp-abrufen-10-response-taskGet"/>
<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/160.000.000.000.000.01"/>
</link>
<entry>
<fullUrl value="https://erp.zentral.erp.splitdns.ti-dienste.de/Task/160.000.000.000.000.01"/>
<resource>
<Task>
<id value="160.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="160"/>
<display value="Muster 16 (Apothekenpflichtige Arzneimittel)"/>
</valueCoding>
</extension>
<extension url="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_AcceptDate">
<valueDate value="2025-02-12"/>
</extension>
<extension url="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_ExpiryDate">
<valueDate value="2025-04-15"/>
</extension>
<extension url="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_LastMedicationDispense">
<valueInstant value="2025-01-15T16:29:00.434+00:00"/>
</extension>
<identifier>
<use value="official"/>
<system value="https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId"/>
<value value="160.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="completed"/>
<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.54"/>
<display value="Öffentliche Apotheke"/>
</coding>
<text value="Öffentliche Apotheke"/>
</performerType>
<owner>
<identifier>
<system value="https://gematik.de/fhir/sid/telematik-id"/>
<value value="3-2-APO-XanthippeVeilchenblau01"/>
</identifier>
</owner>
<input>
<type>
<coding>
<system value="https://gematik.de/fhir/erp/CodeSystem/GEM_ERP_CS_DocumentType"/>
<code value="2"/>
</coding>
</type>
<valueReference>
<reference value="a562d322-8b4f-449c-a88f-57ed2a8b96f7"/>
</valueReference>
</input>
</Task>
</resource>
</entry>
<entry>
<fullUrl value="urn:uuid:a562d322-8b4f-449c-a88f-57ed2a8b96f7"/>
<resource>
<Bundle>
<id value="a562d322-8b4f-449c-a88f-57ed2a8b96f7"/>
<meta>
<profile value="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Bundle|1.4"/>
</meta>
<identifier>
<system value="https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId"/>
<value value="160.000.000.000.000.01"/>
</identifier>
<type value="document"/>
<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/160.000.000.000.000.01/$close/"/>
</link>
<entry>
<fullUrl value="urn:uuid:c624cf47-e235-4624-af71-0a09dc9254dc"/>
<resource>
<Composition>
<id value="c624cf47-e235-4624-af71-0a09dc9254dc"/>
<meta>
<profile value="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Composition|1.4"/>
</meta>
<extension url="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_Beneficiary">
<valueIdentifier>
<system value="https://gematik.de/fhir/sid/telematik-id"/>
<value value="3-SMC-B-Testkarte-883110000129070"/>
</valueIdentifier>
</extension>
<status value="final"/>
<type>
<coding>
<system value="https://gematik.de/fhir/erp/CodeSystem/GEM_ERP_CS_DocumentType"/>
<code value="3"/>
<display value="Receipt"/>
</coding>
</type>
<date value="2025-01-15T15:29:00.434+00:00"/>
<author>
<reference value="urn:uuid:65ea903d-b3ea-4b5e-acbd-3e8c2c695542"/>
</author>
<title value="Quittung"/>
<event>
<period>
<start value="2025-01-15T15:29:00.434+00:00"/>
<end value="2025-01-15T16:29:00.434+00:00"/>
</period>
</event>
<section>
<entry>
<reference value="urn:uuid:073ef818-3d18-4cf0-a5b7-9321ec838f94"/>
</entry>
</section>
</Composition>
</resource>
</entry>
<entry>
<fullUrl value="urn:uuid:65ea903d-b3ea-4b5e-acbd-3e8c2c695542"/>
<resource>
<Device>
<id value="1"/>
<meta>
<profile value="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Device|1.4"/>
</meta>
<status value="active"/>
<serialNumber value="1.16.0"/>
<deviceName>
<name value="E-Rezept-Fachdienst"/>
<type value="user-friendly-name"/>
</deviceName>
<version>
<value value="1.16.0"/>
</version>
<contact>
<system value="email"/>
<value value="[email protected]"/>
</contact>
</Device>
</resource>
</entry>
<entry>
<fullUrl value="urn:uuid:073ef818-3d18-4cf0-a5b7-9321ec838f94"/>
<resource>
<Binary>
<id value="073ef818-3d18-4cf0-a5b7-9321ec838f94"/>
<meta>
<versionId value="1"/>
<profile value="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Digest|1.4"/>
</meta>
<contentType value="application/octet-stream"/>
<data value="tJg8c5ZtdhzEEhJ0ZpAsUVFx5dKuYgQFs5oKgthi17M="/>
</Binary>
</resource>
</entry>
<signature>
<type>
<system value="urn:iso-astm:E1762-95:2013"/>
<code value="1.2.840.10065.1.12.1.1"/>
</type>
<when value="2025-01-15T15:29:00.434+00:00"/>
<who>
<reference value="https://erp.zentral.erp.splitdns.ti-dienste.de/Device/1"/>
</who>
<sigFormat value="application/pkcs7-mime"/>
<data value="RGllcyBpc3QgZWluIEJlaXNwaWVs"/>
</signature>
</Bundle>
</resource>
</entry>
</Bundle>
In <resource><Bundle/></resource>
wird die Quittung wird als Objekt zusammen mit dem Task zurückgegeben
Code |
Type Success |
200 |
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 |
AVS-Systeme müssen im Feld mit einer Vielzahl von Varianten in den von Patienten vorgelegten DataMatrix-Codes rechnen. Die meisten werden von geprüften, zertifizierten Primärsystemen generiert, da der Markt aber offen ist und ebenso mit "Angriffen" zu rechnen ist, zeigt die folgende Liste einige reale Beispiele.
❗
|
Always sanitize user inputs. |