Implementation Guide
ePA Medication Service
Version 1.0.5-ballot.1 - draft

Generelle Prinzipien

Dieser Leitfaden 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.

Der Medication Service MUSS als Ausprägung eines FHIR Data Service sämtliche Anforderungen aus ePA Common berücksichtigen.

Schnittstellenadressierung

Der Medication Service MUSS sämtliche FHIR-Schnittstellen unter den folgenden Pfaden verfügbar machen:

  • [base]/epa/medication/api/v1/fhir/
  • [base]/epa/medication/render/
wobei [base] einem gültigen Pfadnamen eines VAU-Kanals nach folgendem Schema entsprechen muss: http://epa4all

Schnittstellenimplementierung

Der Medication Service MUSS die in diesem Leitfaden definierten Schnittstellen (d.h. Query API, Operation API und Render API) implementieren und dabei die Vorgaben der FHIR-Spezifikation berücksichtigen. Der Anbieter des ePA-Aktensystems MUSS die Konformität in einem Zulassungsverfahren nachweisen.

FHIR-spezifische Anforderungen

Server-spezifische Festlegungen

Die folgenden Rahmenbedingungen hinsichtlich der FHIR-Spezifikation sind für den Medication Service festgelegt.

  • Der E-Rezept-Fachdienst muss sich bei jeder Übertragung in den Medication Service auf einen bestimmten Patienten beziehen. Dazu böte es sich an, eine im Medication Service hinterlegte FHIR Patient-Ressourceninstanz direkt zu referenzieren. Aufgrund der gesetzlich intendierten, fehlenden Leseberechtigung des E-Rezept-Fachdienstes ist das jedoch nicht möglich, sodass stattdessen lediglich ein KVNR-Identifier für die Zuordnung zu einem bestimmten Patienten (Versicherten) übertragen wird. Konkret MÜSSEN E-Rezept-Fachdienst sowie Medication Service deshalb sicherstellen, dass die FHIR-Elemente MedicationRequest.subject.identifier sowie MedicationDispense.subject.identifier an den von HL7 Deutschland e.V. definierten Datentyp Identifier für Patient gebunden ist.
  • Das Löschen von Verschreibungsdaten oder Dispensierinformationen innerhalb des E-Rezept-Fachdienstes wird im Medication Service über ein Ändern des Status (d.h. Status = “cancelled”) der jeweiligen Ressourceninstanz umgesetzt.
  • Für die FHIR Operations ist es erforderlich, dass eine Referenzierung der Ressourcen innerhalb der Parameter-Instanz möglich ist.

De-Duplizierung

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:

Der Medication Service MUSS für jede MedicationRequest-, MedicationDispense- und Medication-Ressource einen RxPrescriptionProcessIdentifier erzeugen und dieser hinzufügen. Der RxPrescriptionProcessIdentifier MUSS nach dem Schema (E-Prescription-ID + "_" + authoredOn[YYYYMMDD]) generiert werden. Die Erzeugung dieses Identifiers MUSS durch den Medication Service erfolgen.

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"
    }
  ],
Der Medication Service MUSS für jede MedicationRequest-, MedicationDispense- und Medication-Ressource einen RxOriginatorProcessIdentifier erzeugen und dieser hinzufügen. Der RxOriginatorProcessIdentifier MUSS nach dem Schema (Resource-ID + "_" + Prescription-ID) generiert werden. Dieser Identifier MUSS jede Prescription-ID mit der ursprünglichen Resource-ID des Erstellungssystems verknüpfen, um eine präzise Nachverfolgung und Koordination der Arzneimitteldaten zu gewährleisten. Die Erzeugung dieses Identifiers MUSS durch den Medication Service erfolgen.

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"
    }
  ],
Anforderungen an den EPAMedicationUniqueIdentifier

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.

Die Erzeugung des EPAMedicationUniqueIdentifier MUSS für jede Medication beim Einstellen in den Medication Service durch die Geschäftslogik der entsprechenden FHIR-Operation generiert und der entsprechenden Medication hinzugefügt werden. Falls beim Hinzufügen einer Medication in den Medication Service ein Wert für den EPAMedicationUniqueIdentifier vorhanden ist, MUSS dieser durch den Medication Service ersetzt werden. Die Generierung des Hashes MUSS mittels des SHA-256 Algorithmus erfolgen.

Beispiel

  "identifier" : [
    {
      "system" : "https://gematik.de/fhir/epa-medication/sid/epa-medication-unique-identifier",
      "value" : "A632B2AB4232C9787E0731E3824942350070FB492EB1005A4AFA00F4BACD8AA1"
    }
  ],
Beispielimplementierung

Eine Beispielimplementierung für die Generierung eines SHA-256-basierten Hash-Werts ist auf GitHub veröffentlicht und steht als Referenz zur Verfügung.

Rückgabewerte

Der Medication Service MUSS die Funktion GET [base]/epa/medication/api/v1/fhir/metadata implementieren. Diese Funktionalität stellt sicher, dass bei einem Aufruf von /metadata das FHIR CapabilityStatement des Servers mit dem Namen EPAMedicationServiceServer zurückgegeben wird. Dieses Capability Statement bietet eine detaillierte Beschreibung der Fähigkeiten des ePA Medication Service und ist entscheidend für das Verständnis der unterstützten FHIR-Funktionalitäten. Der Medication Service MUSS bei der Verarbeitung von FHIR-Operationen spezifische Fehlermeldungen im Format EPAOperationOutcome bereitstellen. Diese Fehlermeldungen MÜSSEN dem CodeSystem epa-operation-outcome-codes-cs entsprechen und in den folgenden Fällen ausgegeben werden:

  • MEDICATIONSVC_NO_VALID_STRUCTURE – Ungültige Datenstruktur im Medication Service.
  • MEDICATIONSVC_PRESCRIPTION_NO_EXIST – Verschreibung nicht im Medication Service vorhanden.
  • MEDICATIONSVC_PRESCRIPTION_DUPLICATE – Doppelte Verschreibung im Medication Service erkannt.
  • MEDICATIONSVC_PRESCRIPTION_STATUS – Operation für den aktuellen Verschreibungsstatus nicht zulässig.
  • MEDICATIONSVC_DISPENSATION_NO_EXIST – Dispensierung nicht im Medication Service vorhanden.
  • MEDICATIONSVC_DISPENSATION_STATUS – Operation für den aktuellen Dispensierungsstatus nicht zulässig.
  • MEDICATIONSVC_OPERATION_SUCCESS – Operation erfolgreich im Medication Service abgeschlossen.
  • MEDICATIONSVC_PARAMETERS_REFERENCE_NO_EXIST – Nicht auflösbare Referenz in den übergebenen Parametern.
Der Medication Service MUSS sicherstellen, dass diese Fehlermeldungen in einer konsistenten und maschinenlesbaren Form ausgegeben werden, um eine eindeutige Fehlerbehandlung zu ermöglichen.