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

Operation API: Medikationsliste abrufen (eML)

Die Query-Operation Medikationsliste abrufen (eML) liefert die elektronische Medikationsliste (eML) in Form eines FHIR searchSet-Bundles. In der eML werden ausschließlich nicht stornierte Instanzen von Verschreibungsdaten (MedicationRequest) und Dispensierdaten (MedicationDispense) angezeigt.

Für eine vollständige historische Einsicht, einschließlich stornierter Einträge, können die entsprechenden Query APIs genutzt werden. Zusätzlich ermöglicht die optionale Eingabe eines Datumsbereichs eine verlaufsbasierte Ansicht auf relevante Medikationen.

Nachricht

Die Nachricht zum Abruf der FHIR-Instanzen der elektronischen Medikationsliste (eML) wird als HTTP GET-Anfrage an den Medication Service gesendet.

Auslösung

Wenn das ePA-Client-System die elektronische Medikationsliste (eML) als strukturierte FHIR-Daten abrufen möchte, sendet es eine Operation API: Medikationsliste abrufen (eML)-Anfrage an den Medication Service. Der Medication Service verarbeitet die Anfrage und stellt die Medikationsliste zur Verfügung, damit sie im ePA-Client-System angezeigt werden kann.

FHIR Query Operation API

Der Medication Service MUSS die Operation API: Medikationsliste abrufen (eML) gemäß der FHIR OperationDefinition Get Medication List ausführen. Der Medication Service MUSS in der Operation Medikationsliste abrufen (eML) die Paginierung unterstützen.

In der Operation Medikationsliste abrufen (eML) können neben den Standardpaginierungsparametern wie _count und _offset weitere Parameter enthalten sein, die die Paginierung erleichtern. Ein Beispiel hierfür ist der Parameter stateid, der den aktuellen Zustand der Ergebnisliste repräsentiert. Dies ermöglicht es dem Medication Service, die Navigation durch die Ergebnisse effizient zu verwalten, indem der Kontext oder Zustand der Suche erhalten bleibt.

Zusätzlich ermöglicht der Parameter date die Eingrenzung eines Datumsbereichs, indem obere und untere Grenzen definiert werden. So können gezielt Medikations-, Verschreibungs- und Dispensierdaten innerhalb eines bestimmten Zeitraums abgerufen werden

Beispiel für eine Datumsfilterung:

GET [base]/epa/medication/api/v1/fhir$medication-list&date=le2025-12-24&date=ge2025-01-01

Geschäftslogik

Der Medication Service MUSS bei Angabe eines Datum-Parameters (date)
  • Alle Medication-Instanzen abrufen, die von MedicationRequest-Instanzen mit authoredOn innerhalb des angegebenen Datumsbereichs referenziert werden, unter Ausschluss stornierter Instanzen
  • Alle Medication-Instanzen abrufen, die von MedicationDispense-Instanzen mit whenHandedOver innerhalb des angegebenen Datumsbereichs referenziert werden, unter Ausschluss stornierter Instanzen
  • Alle MedicationRequest- und MedicationDispense-Instanzen abrufen, unter Ausschluss stornierter Instanzen
Der Medication Service MUSS, wenn kein Datum-Parameter (date) in den Input-Parametern angegeben ist
  • Alle Medication-Instanzen abrufen, die von MedicationDispense- und MedicationRequest-Instanzen referenziert werden, unter Ausschluss stornierter Instanzen.
  • Alle MedicationRequest- und MedicationDispense-Instanzen abrufen, unter Ausschluss stornierter Instanzen

Ablaufdiagramm der Geschäftslogik

Das folgende Aktivitätsdiagramm illustriert die Geschäftslogik der Operation Medikationsliste abrufen (eML) im Medication Service.

/$medication-listdatein Input-ParametersyesnoGet allMedications that are referenced by anyMedicationRequestwithauthoredOnfitting the providing date (range),excluding cancelled instancesGet allMedications that are referenced by anyMedicationDispensewithwhenHandedOverfitting the providing date (range),excluding cancelled instancesGet all referencedMedicationRequests andMedicationDispenses,excluding cancelled instancesGet allMedications that are referenced by anyMedicationDispenseandMedicationRequest,excluding cancelled instancesGet all referencedMedicationRequestsandMedicationDispenses,excluding cancelled instancesGet allPractitionerRoles andOrganizationsreferenced byMedicationRequestandMedicationDispenseGet allPractitioners andOrganizationsreferenced byPractitionerRolesRemove first_offsetth entriesyes_offsetin Input-ParametersCreate empty searchsetBundle_countin Input-ParametersyesAdd first_countentries toBundleAdd all entries toBundleReturnBundle
Abbildung: Geschäftslogik des Medication Service für die Operation Medikationsliste abrufen (eML)

Sicherheitsanforderungen

Generelle Sicherheitsanforderungen werden hier festgehalten.