Implementation Guide
ePA Medication Service
Version 1.0.5-1 - release

## Query API: Organization

Die Query API: Organization ermöglicht den Abruf von Daten zu Leistungserbringerinstitutionen wie Praxen oder Apotheken im Medication Service.

### Nachricht

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

#### Auslösung

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

#### Resource API

Anfragen an die Organization-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.

Bei Anfragen an die QueryAPI für die Organization-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 Organization-Ressource oder weitere 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/Organization: get: include: - "#default-api" - "#query-responses" operationId: "listOrganizations_MedicationSvc" fhir: capabilityStatement: url: "CapabilityStatement-epa-medication-service-server.json" forResourceType: "Organization" Der Medication Service MUSS die Suchparameter der Ressource Organization verarbeiten können, wie sie im CapabilityStatement mit dem Namen EPAMedicationServiceServer festgelegt sind. Die Standardsortierung des Medication Service für die Ressource Organization MUSS anhand des Attributs _lastUpdated erfolgen.

#### Instance API

Um spezifische Details zu einer einzelnen Organization-Instanz mittels der RESTful API zu erhalten, kann die Organization Instance API verwendet werden, sodass eine HTTP GET-Anfrage an den Endpunkt /Organization/[id] gerichtet wird.

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

#### Verarbeitung

Der Medication Service verarbeitet die Anfrage, um die Organization-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 Organization-Ressourcen zurück.

### Sicherheitsanforderungen

Generelle Sicherheitsanforderungen werden hier festgehalten.