Query API: MedicationStatement (Medikamentzusatzinformation)
Profile: EPAMedicationStatement
Voraussetzungen
Dem Medication Service MÜSSEN zur Auswertung in Operationen für jede Aktivität die folgenden Informationen bereitstehen:
- Name des Nutzers
- Nutzergruppe/Rolle ((profession-)oid)
- Kennung (Telematik-ID oder KVNR)
- Hinweis auf eine gültige Befugnis des aktuellen Benutzers (requestor)
HTTP Header-Parameter
Ein ePA-Client MUSS die folgenden HTTP Header bei einer Anfrage an den Medication Service setzen:
Name | Anforderung | Datentyp | Beschreibung |
---|---|---|---|
x-insurantid | MUSS | String | Health Record Identifier |
x-useragent | KANN | String | User Agent Information |
X-Request-ID | MUSS | String | UUID der Nachricht |
Wiederholungsintervalle
Die folgenden Wiederholungsintervalle werden im Falle einer Fehlerantwort definiert:
- '409' Conflict (statusMismatch)
- etwa 24 Stunden
- '500' Internal Error
- etwa 10 Minuten
Erlaubte Nutzergruppen
professionOID |
---|
oid_versicherter |
oid_praxis_arzt |
oid_krankenhaus |
oid_institution |
oid_krankenhaus |
oid_institution-vorsorge-reha |
oid_zahnarztpraxis |
oid_praxis_psychotherapeut |
oid_institution-oegd |
oid_öffentliche_apotheke |
oid_institution-pflege |
oid_institution-geburtshilfe |
oid_praxis-physiotherapeut |
oid_institution-arbeitsmedizin |
Interaktion (Query MedicationStatement)
GET [base]/epa/medication/api/v1/fhir/MedicationStatement
OperationId: listMedicationStatements_MedicationSvc
Anfragen an die MedicationStatement-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 Medikamentzusatzinformationen, die an einem bestimmten Tag erfasst wurden:
?effective=2025-07-15
- Suche nach Medikamentzusatzinformationen, die innerhalb eines Datumsbereichs erfasst wurden:
?effective=ge2025-07-15&effective=le2025-07-31
- Suche nach Medikamentzusatzinformationen, die vor oder nach einem bestimmten Datum erfasst wurden:
?effective=gt2025-07-15
(nach dem 15. Juli 2025) - Suche nach aktiven Medikationen:
?status=active
- Suche nach abgeschlossenen Medikationen:
?status=completed
- Um bei der Suche auch alle verlinkten Verschreibungsdaten zu bekommen:
?_revinclude=MedicationRequest:linked-statement
Bei Anfragen an die QueryAPI für die MedicationStatement-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 MedicationStatement-Ressource oder weiteren Ressourcen im Zusammenhang mit der Abfrage enthalten können.
Suchparameter
Parameter | Type | Definition | Beschreibung | Anforderung |
---|---|---|---|---|
_id | token | http://hl7.org/fhir/SearchParameter/Resource-id | Resource.id | MUSS |
_lastUpdated | date | http://hl7.org/fhir/SearchParameter/Resource-lastUpdated | Resource.meta.lastUpdated | MUSS |
identifier | token | http://hl7.org/fhir/SearchParameter/clinical-identifier | MedicationStatement.identifier | MUSS |
status | token | http://hl7.org/fhir/SearchParameter/medications-status | MedicationStatement.status | MUSS |
effective | date | http://hl7.org/fhir/SearchParameter/MedicationStatement-effective | MedicationStatement.effective | MUSS |
medication | reference | http://hl7.org/fhir/SearchParameter/medications-medication | MedicationStatement.medication as Reference | MUSS |
Suche per Include oder RevInclude
Include |
---|
MedicationStatement.medication |
MedicationStatement.source |
RevInclude |
---|
Provenance.target |
MedicationRequest.linked-statement |
Beispielantworten
{ "resourceType": "Bundle", "id": "example-searchset-medicationstatement", "type": "searchset", "total": 100, "link": [ { "relation": "self", "url": "/epa/medication/api/v1/fhir/MedicationStatement?_offset=20&_count=10" }, { "relation": "previous", "url": "/epa/medication/api/v1/fhir/MedicationStatement?_offset=10&_count=10" }, { "relation": "next", "url": "/epa/medication/api/v1/fhir/MedicationStatement?_offset=30&_count=10" } ], "entry": [ { "fullUrl": "https://epa-as-0.prod.epa4all.de/vau-cid-1234/epa/medication/api/v1/fhir/MedicationStatement/0b152eb2-6d0a-48e9-839b-5ee3023f2ad4", "resource": { "resourceType": "MedicationStatement", "id": "0b152eb2-6d0a-48e9-839b-5ee3023f2ad4", "meta": { "versionId": "1", "lastUpdated": "2025-07-22T14:43:33.244Z", "profile": [ "https://gematik.de/fhir/epa-medication/StructureDefinition/epa-medication-statement-planning" ] }, "subject": { "identifier": { "system": "http://fhir.de/sid/gkv/kvid-10", "value": "X110411319" } }, "status": "active", "medicationReference": { "reference": "Medication/2571d29b-e213-40ec-b817-a1490718a490" }, "effectivePeriod": { "start": "2025-07-22" }, "dateAsserted": "2025-07-22", "informationSource": { "reference": "Practitioner/498c345f-31f5-4da6-9f04-00fa2bc8af7c" }, "dosage": [ { "timing": { "repeat": { "frequency": 1, "period": 1, "periodUnit": "d", "when": [ "NIGHT" ], "boundsDuration": { "value": 7, "code": "wk", "system": "http://unitsofmeasure.org", "unit": "Week" } } }, "asNeededBoolean": false, "doseAndRate": [ { "doseQuantity": { "value": 1, "code": "1", "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_BMP_DOSIEREINHEIT", "unit": "Stück" } } ] }, { "timing": { "repeat": { "frequency": 1, "period": 1, "periodUnit": "d", "when": [ "MORN" ], "boundsDuration": { "value": 7, "code": "wk", "system": "http://unitsofmeasure.org", "unit": "Week" } } }, "asNeededBoolean": false, "doseAndRate": [ { "doseQuantity": { "value": 2, "code": "1", "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_BMP_DOSIEREINHEIT", "unit": "Stück" } } ] } ] }, "search": { "mode": "match" } } ] }
<Bundle xmlns="http://hl7.org/fhir"> <id value="example-searchset-medicationstatement" /> <type value="searchset" /> <total value="100" /> <link> <relation value="self" /> <url value="/epa/medication/api/v1/fhir/MedicationStatement?_offset=20&_count=10" /> </link> <link> <relation value="previous" /> <url value="/epa/medication/api/v1/fhir/MedicationStatement?_offset=10&_count=10" /> </link> <link> <relation value="next" /> <url value="/epa/medication/api/v1/fhir/MedicationStatement?_offset=30&_count=10" /> </link> <entry> <fullUrl value="https://epa-as-0.prod.epa4all.de/vau-cid-1234/epa/medication/api/v1/fhir/MedicationStatement/0b152eb2-6d0a-48e9-839b-5ee3023f2ad4" /> <resource> <MedicationStatement> <id value="0b152eb2-6d0a-48e9-839b-5ee3023f2ad4" /> <meta> <versionId value="1" /> <lastUpdated value="2025-07-22T14:43:33.244Z" /> <profile value="https://gematik.de/fhir/epa-medication/StructureDefinition/epa-medication-statement-planning" /> </meta> <status value="active" /> <medicationReference> <reference value="Medication/2571d29b-e213-40ec-b817-a1490718a490" /> </medicationReference> <subject> <identifier> <system value="http://fhir.de/sid/gkv/kvid-10" /> <value value="X110411319" /> </identifier> </subject> <effectivePeriod> <start value="2025-07-22" /> </effectivePeriod> <dateAsserted value="2025-07-22" /> <informationSource> <reference value="Practitioner/498c345f-31f5-4da6-9f04-00fa2bc8af7c" /> </informationSource> <dosage> <timing> <repeat> <boundsDuration> <value value="7" /> <unit value="Week" /> <system value="http://unitsofmeasure.org" /> <code value="wk" /> </boundsDuration> <frequency value="1" /> <period value="1" /> <periodUnit value="d" /> <when value="NIGHT" /> </repeat> </timing> <asNeededBoolean value="false" /> <doseAndRate> <doseQuantity> <value value="1" /> <unit value="Stück" /> <system value="https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_BMP_DOSIEREINHEIT" /> <code value="1" /> </doseQuantity> </doseAndRate> </dosage> <dosage> <timing> <repeat> <boundsDuration> <value value="7" /> <unit value="Week" /> <system value="http://unitsofmeasure.org" /> <code value="wk" /> </boundsDuration> <frequency value="1" /> <period value="1" /> <periodUnit value="d" /> <when value="MORN" /> </repeat> </timing> <asNeededBoolean value="false" /> <doseAndRate> <doseQuantity> <value value="2" /> <unit value="Stück" /> <system value="https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_BMP_DOSIEREINHEIT" /> <code value="1" /> </doseQuantity> </doseAndRate> </dosage> </MedicationStatement> </resource> <search> <mode value="match" /> </search> </entry> </Bundle>
Antwort-Status-Codes
Status Code | Bedingung | Error Code | Bemerkung |
---|---|---|---|
200 | Successful operation | ||
400 | Unknown search parameter | EPA OperationOutcome | |
400 | Invalid query parameter(s) | EPA OperationOutcome | |
400 | Invalid request | EPA OperationOutcome | |
403 | Requestor role is not in the list of allowed user groups | invalidOid | |
403 | Requestor is not entitled | notEntitled | |
403 | ID-Token or Insurant-ID mismatch | EPA OperationOutcome | |
404 | Unknown resource type | EPA OperationOutcome | |
404 | Health record is in state UNKNOWN or INITIALIZED | noHealthRecord | (siehe 'Wiederholungsintervalle') |
409 | Health record is in state SUSPENDED | statusMismatch | (siehe 'Wiederholungsintervalle') |
423 | If the insurant objected to the medication process or objected to the submission of prescription and dispensation data into the ePA system, the Medication Service is locked. | locked | |
500 | Any other error | internalError | (siehe 'Wiederholungsintervalle') |
Serviceübergreifende Error Codes ohne Verweis auf EPA OperationOutcome MÜSSEN mit dem entsprechenden HTTP Status Code vom Medication Service mit dem Media Type application/json
nach folgendem Schema zurückgegeben werden:
{ "errorCode": "statusMismatch" }
Interaktion (MedicationStatement Instance API)
GET [base]/epa/medication/api/v1/fhir/MedicationStatement/[id]
OperationId: getMedicationStatementById_MedicationSvc
Um spezifische Details zu einer einzelnen MedicationStatement mittels der RESTful API zu erhalten, kann die MedicationStatement Instance API verwendet werden, sodass eine HTTP GET-Anfrage an den Endpunkt /MedicationStatement/[id]
gerichtet wird.
Antwort-Status-Codes
Status Code | Bedingung | Error Code | Bemerkung |
---|---|---|---|
200 | Successful operation | ||
400 | Unknown search parameter | EPA OperationOutcome | |
400 | Invalid query parameter(s) | EPA OperationOutcome | |
400 | Invalid request | EPA OperationOutcome | |
403 | Requestor role is not in the list of allowed user groups | invalidOid | |
403 | Requestor is not entitled | notEntitled | |
403 | ID-Token or Insurant-ID mismatch | EPA OperationOutcome | |
404 | Resource is not known | EPA OperationOutcome | |
404 | Unknown resource type | EPA OperationOutcome | |
404 | Health record is in state UNKNOWN or INITIALIZED | noHealthRecord | (siehe 'Wiederholungsintervalle') |
409 | Health record is in state SUSPENDED | statusMismatch | (siehe 'Wiederholungsintervalle') |
423 | If the insurant objected to the medication process or objected to the submission of prescription and dispensation data into the ePA system, the Medication Service is locked. | locked | |
500 | Any other error | internalError | (siehe 'Wiederholungsintervalle') |
Serviceübergreifende Error Codes ohne Verweis auf EPA OperationOutcome MÜSSEN mit dem entsprechenden HTTP Status Code vom Medication Service mit dem Media Type application/json
nach folgendem Schema zurückgegeben werden:
{ "errorCode": "statusMismatch" }