Implementation Guide
ePA Medication Service
Version 1.0.5-1 - release

## Render API: Medikationsliste abrufen

Der Medication Service unterstützt die aufbereitete Generierung einer elektronische Medikationsliste (eML) in den Datenformaten XHTML und PDF/A (d.h. hier kommt kein FHIR zum Einsatz).

### Nachricht

Die Nachricht zum Abruf der eML wird als HTTP GET-Anfrage an den Medication Service gesendet, um die Liste im Format PDF/A oder XHTML zu erhalten.

#### Auslösung

Wenn das ePA-Client-System die aufbereitete eML im Format PDF/A oder XHTML abrufen möchte, sendet es eine Render API: Medikationsliste abrufen-Nachricht an den Medication Service.

Das ePA-FdV MUSS es dem Nutzer ermöglichen, die Medikationsliste für sein Aktenkonto oder für das Aktenkonto des zu Vertretenden unter Verwendung von Render API: Medikationsliste abrufen anzuzeigen.

#### Render API

Ein ePA-Client kann über die folgenden URL-Aufrufe die o.g. Formate anfordern:

XHTML

`GET [base]/epa/medication/render/v1/eml/xhtml`

OperationId: renderMedicationListToHTML_MedicationSvc

PDF/A

`GET [base]/epa/medication/render/v1/eml/pdf`

OperationId: renderMedicationListToPDF_MedicationSvc

#### Rückgabeformate

Der Medication Service MUSS die Media Types (Content-Types) text/html und application/pdf setzen, um eine erfolgreiche Ausgabe der aufbereiteten, elektronischen Medikationsliste zu gewährleisten. Der Medication Service MUSS für die Render API: Medikationsliste abrufen die folgenden HTTP Status Codes zurückgeben, um den Erfolg oder mögliche Fehler bei der Verarbeitung einer Anfrage klar zu kommunizieren:

Status Code | Bedingung | Error Code | Anmerkung
--- | --- | --- | ---
200 | Successful operation |  |
400 | Unknown or invalid search parameter(s) |  |
404 | Rendering led to empty list | noEntries |

Tabelle: HTTP Status Codes für die Antwortnachricht

#### Schematischer Aufbau

Zur Generierung der aufbereiteten eML in den Formaten PDF/A und XHTML MUSS der Medication Service die Verordnungs- und Dispensierdaten aus den FHIR-Ressourcen der letzten 12 Monate, sortiert nach Verordnungsdatum heranziehen. Diese Daten sollten entsprechend der definierten Logik aggregiert und strukturiert aufbereitet werden. Die Medikationsliste wird in beiden Ausgabeformaten vom Medication Service generiert. Verbindliche Vorgaben für den schematischen Aufbau und die Benennung der Datenherkunft innerhalb des Medication Service erfolgt nachstehend. Liegen substituierte Arzneimittel vor, MÜSSEN diese pro Substitution als Listeneintrag für die Quelle herangezogen werden.

Spaltenkopf | FHIR-Profil FHIR Element-ID | Bemerkung
--- | --- | ---
Verordnungsdatum | EPAMedicationRequest `MedicationRequest.authoredOn` |
Dispensierdatum | EPAMedicationDispense `MedicationDispense.whenHandedOver` |
Wirkstoffname | Wenn vorhanden, dann wie folgt zu belegen: EPAMedication `Medication.ingredient.item[x]:itemCodeableConcept.text` | Das von der Apotheke abgegebene Arzneimittel aus dem Dispensierdatensatz MUSS anstelle des Arzneimittels aus der Verordnung angegeben werden.
Wirkstärke | Wenn vorhanden, dann wie folgt zu belegen: EPAMedication `Medication.ingredient.strength` | Das von der Apotheke abgegebene Arzneimittel aus dem Dispensierdatensatz MUSS anstelle des Arzneimittels aus der Verordnung angegeben werden.
Arzneimittelbezeichnung | Wenn vorhanden, dann bei Nicht-Wirkstoffverordnungen wie folgt zu belegen: EPAMedication `Medication.code.text` | Das von der Apotheke abgegebene Arzneimittel aus dem Dispensierdatensatz MUSS anstelle des Arzneimittels aus der Verordnung angegeben werden.
Form | Wenn vorhanden, dann wie folgt zu belegen: EPAMedication `Medication.form.coding` | Das von der Apotheke abgegebene Arzneimittel aus dem Dispensierdatensatz MUSS anstelle des Arzneimittels aus der Verordnung angegeben werden.
Dosierangabe/ Gebrauchsanweisung | Wenn vorhanden, dann wie folgt zu belegen: EPAMedicationDispense `MedicationDispense.dosageInstruction.text` sonst, wenn vorhanden: EPAMedicationRequest `MedicationRequest.dosageInstruction.text` | Das von der Apotheke abgegebene Arzneimittel aus dem Dispensierdatensatz MUSS anstelle des Arzneimittels aus der Verordnung angegeben werden.
PZN | Bei PZN-Verordnung wie folgt zu belegen: EPAMedication `Medication.code.coding:pznCode` Bei PZN-basierter Abgabe zu einer Rezepturverordnung wie folgt zu belegen: EPAMedication `Medication.ingredient.item[x]:itemCodeableConcept.coding:pznCode.code` | Das von der Apotheke abgegebene Arzneimittel aus dem Dispensierdatensatz MUSS anstelle des Arzneimittels aus der Verordnung angegeben werden.
Verordner | Beide Datenquellen aus der Verordnung sind zu verknüpfen: PractitionerDirectory bzw. OrganizationDirectory `Practitioner.name` + “ “ + `Organization.name` |
abgebende Apotheke | EPAMedicationDispense bzw. OrganizationDirectory `Organization.name in MedicationDispense.performer.actor` |

Tabelle: Schematischer Aufbau und Datenherkunft der generierten elektronischen Medikationsliste (eML)

### Sicherheitsanforderungen

Generelle Sicherheitsanforderungen werden hier festgehalten.