Seiteninhalt:
Dieser Implementation Guide verwendet die Schlüsselwörter MUSS, DARF NICHT, SOLL NICHT und KANN als deutsche Pendants des [RFC 2119], um Anforderungen als Ausdruck normativer Festlegungen zu kennzeichnen. Anforderungen werden im Implementation Guide wie folgt dargestellt:
<IG-ID-Version> - <Titel der Anforderung>
Text / Beschreibung
[<=]
Der Medication Service berücksichtigt als Ausprägung eines FHIR Data Service allgemeingültige [gemIG_TI_Common#Medication] und ePA-spezifische [gemIG_ePA_Basic#Medication] Anforderungen.
[base]/epa/medication/api/v1/fhir/[base]/epa/medication/render/[base] einem gültigen Pfadnamen eines VAU-Kanals nach folgendem Schema entsprechen muss:
http://epa4all
| Code | Beschreibung | Error Code | Anmerkung |
|---|---|---|---|
| 423 | If the insurant objected to the medication process or objected to the submission of prescription and dispensation data into the ePA system, the Medication Service is locked. | locked |
Das heißt, dass potentielle “Nachkommastellen” mit einem Komma und insbesondere nicht mit einem Punkt abgetrennt werden sollen. Ein entsprechender Hinweis kann in einer Hilfeseite unter der Eingabezeile oder auf anderem Wege angebracht werden, der sich gut in die Ergonomie des Primärsystems integriert.
Die folgenden Rahmenbedingungen hinsichtlich der FHIR-Spezifikation sind für den Medication Service festgelegt.
Wichtig: Gelöschte Instanzen bleiben über die FHIR-Versionshistorie weiterhin abrufbar, da keine physikalische Löschung erfolgt.
Hinweis: Dies betrifft Situationen, in denen Daten, die die Repräsentation einer Dezimalzahl darstellen, als Text ausgegeben werden. Dezimalzahlen in Freitextfeldern sind davon nicht betroffen.
Die zentrale De-Duplizierung bei inhaltlich identischen Ressourcen im Medication Service ist von entscheidender Bedeutung, um sowohl den Nutzen als auch die Qualität der Daten im Medication Service zu gewährleisten. Durch den nachstehenden Ansatz wird vermieden, dass ePA-Clients eigene, möglicherweise unterschiedliche Aggregierungsalgorithmen dezentral implementieren, was zu Inkonsistenzen in den Daten des Medication Service führen könnte. Zusätzlich verbessert eine zentrale De-Duplizierung die Verknüpfbarkeit und Integration der vorhandenen FHIR-Ressourcen.
Zur eindeutigen Identifizierung werden im Rahmen einer Verschreibung und ihr zugeordnete Dispensierinformationen die folgenden Identifier erzeugt und den notwendigen FHIR-Ressourcen hinzugefügt:
Beispiel-Extension für die Ressourcen Medication und MedicationDispense
"extension" : [
{
"url" : "https://gematik.de/fhir/epa-medication/StructureDefinition/rx-prescription-process-identifier-extension",
"valueIdentifier" : {
"system" : "https://gematik.de/fhir/epa-medication/sid/rx-prescription-process-identifier",
"value" : "160.153.303.257.459_20250122"
}
}
],
Beispiel-Identifier für die Ressource MedicationRequest
"identifier" : [
{
"system" : "https://gematik.de/fhir/epa-medication/sid/rx-prescription-process-identifier",
"value" : "160.153.303.257.459_20250122"
}
],
Beispiel
"identifier" : [
{
"system" : "https://gematik.de/fhir/epa-medication/sid/rx-originator-process-identifier",
"value" : "dc810e53-c26b-47bc-8c78-c7f79ea5f7ae_160.153.303.257.459"
}
],
Dieser im Medication Service erzeugte Identifier an Medication-Ressourcen stellt die Eindeutigkeit anhand von Hashwerten über Pharmazentralnummer (PZN), Wirkstoff oder Freitext sicher. Von der Hashwertbildung ausgenommen sind die FHIR-Elemente id, identifier, meta, amount, batch sowie status.
Beispiel
"identifier" : [
{
"system" : "https://gematik.de/fhir/epa-medication/sid/epa-medication-unique-identifier",
"value" : "A632B2AB4232C9787E0731E3824942350070FB492EB1005A4AFA00F4BACD8AA1"
}
],
Eine Beispielimplementierung für die Generierung eines SHA-256-basierten Hash-Werts ist auf [Medication_Unique_Identifier_Tool] veröffentlicht und steht als Referenz zur Verfügung.
GET [base]/epa/medication/api/v1/fhir/metadata implementieren. Diese Funktionalität stellt sicher, dass bei einem Aufruf von /metadata das FHIR CapabilityStatement des Medication Service mit dem Namen EPAMedicationServiceServer zurückgegeben wird.
Hinweis: Das Capability Statement bietet eine detaillierte Beschreibung der Fähigkeiten des Medication Service und ist entscheidend für das Verständnis der unterstützten FHIR-Funktionalitäten. Der Abruf und Zugriff des Capability Statement unterliegt nicht den gesetzlichen Zugriffsbestimmungen bzw. der Legal Policy, da hier aus Client-Sicht ein technisches Spezifikationsartefakt gelesen wird und keine medizinischen Daten ausgetauscht oder anderweitig in Erfahrung gebracht werden. Dies legitimiert bspw. auch den E-Rezept-Fachdienst, das Capability Statement abzufragen.
| Operation API | OperationId |
|---|---|
| Operation API: Verschreibungsdaten einstellen | providePrescription_MedicationSvc |
| Operation API: Verschreibungsdaten stornieren | cancelPrescription_MedicationSvc |
| Operation API: Dispensierinformationen einstellen | provideDispensation_MedicationSvc |
| Operation API: Dispensierinformationen stornieren | cancelDispensation_MedicationSvc |
Beispiel für die Nutzung von OperationOutcome.issue.diagnostics zur Beschreibung des Validierungsfehlers
{
"resourceType" : "OperationOutcome",
"id" : "0a30eb5d-289f-44cf-a0bd-ec4ec38edaa8",
"meta" : {
"profile" : [
🔗 "https://gematik.de/fhir/epa-medication/StructureDefinition/epa-ms-operation-outcome|1.0.6-2"
]
},
"issue" : [
{
"severity" : "error",
"code" : "structure",
"details" : {
"coding" : [
{
"system" : "https://gematik.de/fhir/epa-medication/CodeSystem/epa-ms-operation-outcome-details",
"code" : "MEDSVC_NO_VALID_STRUCTURE",
"display" : "Invalid Data Structure in Medication Service"
}
]
},
"diagnostics" : "Parameters.parameter[0] | Slice 'Parameters.parameter:rxPrescription.part:authoredOn': minimum required = 1, but only found 0 (from https://gematik.de/fhir/epa-medication/StructureDefinition/epa-op-provide-prescription-erp-input-parameters|1.1.5);\nParameters.parameter[0] | Parameters.parameter:rxPrescription.part: minimum required = 6, but only found 5 (from https://gematik.de/fhir/epa-medication/StructureDefinition/epa-op-provide-prescription-erp-input-parameters|1.1.5);"
}
]
}
<OperationOutcome xmlns="http://hl7.org/fhir">
<id value="0a30eb5d-289f-44cf-a0bd-ec4ec38edaa8"/>
<meta>
<profile
value="https://gematik.de/fhir/epa-medication/StructureDefinition/epa-ms-operation-outcome|1.0.6-2"/>
</meta>
<issue>
<severity value="error"/>
<code value="structure"/>
<details>
<coding>
<system
value="https://gematik.de/fhir/epa-medication/CodeSystem/epa-ms-operation-outcome-details"/>
<code value="MEDSVC_NO_VALID_STRUCTURE"/>
<display value="Invalid Data Structure in Medication Service"/>
</coding>
</details>
<diagnostics
value="Parameters.parameter[0] | Slice 'Parameters.parameter:rxPrescription.part:authoredOn': minimum required = 1, but only found 0 (from https://gematik.de/fhir/epa-medication/StructureDefinition/epa-op-provide-prescription-erp-input-parameters|1.1.5);
Parameters.parameter[0] | Parameters.parameter:rxPrescription.part: minimum required = 6, but only found 5 (from https://gematik.de/fhir/epa-medication/StructureDefinition/epa-op-provide-prescription-erp-input-parameters|1.1.5);"/>
</issue>
</OperationOutcome>
| Operation API | OperationId |
|---|---|
| Operation API: Verschreibungsdaten einstellen | providePrescription_MedicationSvc |
| Operation API: Verschreibungsdaten stornieren | cancelPrescription_MedicationSvc |
| Operation API: Dispensierinformationen einstellen | provideDispensation_MedicationSvc |
| Operation API: Dispensierinformationen stornieren | cancelDispensation_MedicationSvc |
Hinweis: Gemäß der Anforderung [gemIG_ePA_Basic#IG-EPA74597GNF] schreibt der Medication Service nach Validierung und Ausführung der entsprechenden Geschäftslogik das FHIR-Element meta.profile selbst.
Hinweis: Die vom E-Rezept-Fachdienst übergebenen Ressourcen von MedicationRequest und MedicationDispense sollen nicht validiert werden, da die Korrektheit der aufbereiteten Dosierungsdarstellung bereits vom E-Rezept-Fachdienst sichergestellt wird.
Beispiel für OperationOutcome bei Verstoß gegen DosageDgMP-Textregeln
{
"resourceType" : "OperationOutcome",
"id" : "1a5a1db0-7bab-4d25-a43d-3ad1efb29cb5",
"meta" : {
"profile" : [
🔗 "https://gematik.de/fhir/epa-medication/StructureDefinition/epa-ms-operation-outcome|1.0.6-2"
]
},
"issue" : [
{
"severity" : "error",
"code" : "structure",
"details" : {
"coding" : [
{
"system" : "https://gematik.de/fhir/epa-medication/CodeSystem/epa-ms-operation-outcome-details",
"code" : "MEDSVC_DOSAGE_INVALID",
"display" : "Invalid dosage structure or content"
}
]
}
}
]
}
<OperationOutcome xmlns="http://hl7.org/fhir">
<id value="1a5a1db0-7bab-4d25-a43d-3ad1efb29cb5"/>
<meta>
<profile
value="https://gematik.de/fhir/epa-medication/StructureDefinition/epa-ms-operation-outcome|1.0.6-2"/>
</meta>
<issue>
<severity value="error"/>
<code value="structure"/>
<details>
<coding>
<system
value="https://gematik.de/fhir/epa-medication/CodeSystem/epa-ms-operation-outcome-details"/>
<code value="MEDSVC_DOSAGE_INVALID"/>
<display value="Invalid dosage structure or content"/>
</coding>
</details>
</issue>
</OperationOutcome>