Implementation Guide
ePA Medication Service
Version 1.0.5-1 - release

## Query API: MedicationRequest (Verschreibung)

Die Query API: MedicationRequest ermöglicht den Abruf von Verschreibungsdaten eines Versicherten im Medication Service.

### Nachricht

Die Nachricht zum Abruf von Verschreibungsdaten wird als HTTP GET-Anfrage an den Medication Service gesendet, um eine Liste der hinterlegten MedicationRequest-Instanzen abzurufen.

#### Auslösung

Wenn das ePA-Client-System eine Suche nach Verschreibungsdaten durchführen und dazu die korrespondierenden MedicationRequest-Ressourcen ermitteln möchte, sendet es eine Query API: MedicationRequest-Nachricht an den Medication Service. Das ePA-Client-System verarbeitet die Antwort und bringt sie zur Anzeige.

#### Resource API

Anfragen an die MedicationRequest-Ressource können über die RESTful API mittels HTTP GET-Anfragen durchgeführt werden. Dabei können spezifische Suchparameter genutzt werden, um die Anfragen zu verfeinern. Zum Beispiel:

- Suche nach Verschreibungen, die an einem bestimmten Tag ausgestellt wurden: `?authoredon=2025-01-15`
- Suche nach Verschreibungen, die innerhalb eines Datumsbereichs ausgestellt wurden: `?authoredon=ge2025-01-15&amp;authoredon=le2025-01-31`
- Suche nach Verschreibungen, die vor oder nach einem bestimmten Datum ausgestellt wurden: `?authoredon=gt2025-02-01` (nach dem 1. Februar 2025)
- Suche nach aktiven Verschreibungen: `?status=active`
- Suche nach abgeschlossenen Verschreibungen: `?status=completed`

Bei Anfragen an die QueryAPI für die MedicationRequest-Ressource wird die Antwort als ein FHIR Bundle des Typs searchset zurückgegeben. Dieses Bundle enthält eine Sammlung von Einträgen, die jeweils eine Instanz der MedicationRequest-Ressource oder weiteren Ressourcen im Zusammenhang mit der Abfrage enthalten können.

contentTypes: - "application/fhir+json" headerParams: - name: "x-insurantid" expectation: "MUSS" type: "string" description: "Health Record Identifier" - name: "x-useragent" expectation: "MUSS" type: "string" description: "User Agent Information" - name: "X-Request-ID" expectation: "MUSS" type: "string" description: "UUID der Nachricht" responses: - statusCode: '200' description: "Successful operation" errorCode: "-" note: "-" - statusCode: '400' description: "Unknown search parameter" errorCode: "-" note: "EPAOperationOutcome" - statusCode: '400' description: "Invalid query parameter(s)" errorCode: "-" note: "EPAOperationOutcome" - statusCode: '400' description: "Invalid request" errorCode: "-" note: "EPAOperationOutcome" - statusCode: '404' description: "Unknown resource type" errorCode: "-" note: "EPAOperationOutcome" responses: - statusCode: '200' description: "Successful operation" errorCode: "-" note: "-" - statusCode: '400' description: "Invalid request" errorCode: "malformedRequest" note: "-" - statusCode: '400' description: "Invalid request" errorCode: "-" note: "EPAOperationOutcome" - statusCode: '404' description: "Unknown resource type" errorCode: "-" note: "EPAOperationOutcome" - statusCode: '404' description: "Resource is not known" errorCode: "-" note: "EPAOperationOutcome" base: "[base]" paths: /epa/medication/api/v1/fhir/MedicationRequest: get: include: - "#default-api" - "#query-responses" operationId: "listMedicationRequests_MedicationSvc" fhir: capabilityStatement: url: "CapabilityStatement-epa-medication-service-server.json" forResourceType: "MedicationRequest" responseExamples: - name: "application/fhir+json" type: JSON url: './Bundle-example-searchset-medicationrequest.json' Der Medication Service MUSS die Suchparameter der Ressource MedicationRequest verarbeiten können, wie sie im CapabilityStatement mit dem Namen EPAMedicationServiceServer festgelegt sind. Die Standardsortierung des Medication Service für die Ressource MedicationRequest MUSS anhand des Attributs _lastUpdated erfolgen.

#### Instance API

Um spezifische Details zu einem einzelnen MedicationRequest mittels der RESTful API zu erhalten, wird die MedicationRequest Instance API verwendet, indem eine HTTP GET-Anfrage an den Endpunkt /MedicationRequest/[id] gestellt wird.

base: "[base]" paths: /epa/medication/api/v1/fhir/MedicationRequest/[id]: get: include: - "#default-api" - "#instance-responses" operationId: "getMedicationRequestById_MedicationSvc"

#### Verarbeitung

Der Medication Service verarbeitet die Anfrage, um die MedicationRequest-Einträge zu ermitteln, die den angegebenen Suchparametern entsprechen. Darüber hinaus gibt er einen zur Verarbeitung passenden HTTP Status Code sowie ein FHIR Bundle der passenden MedicationRequest-Ressourcen zurück.

### Sicherheitsanforderungen

Generelle Sicherheitsanforderungen werden hier festgehalten.