Operation API: AMTS-rZI Allergien und Intoleranzen hinzufügen
Die Operation $add-amts-allergies
ermöglicht das Hinzufügen relevanter medizinischer Informationen über Allergien und Unverträglichkeiten eines Versicherten in den Medication Service. Diese Operation wird im Kontext von Arzneimitteltherapiesicherheitsrelevante Zusatzinformationen (AMTS-rZI) verwendet.
Die Operation MUSS auf der Typ-Ebene der Ressource AllergyIntolerance
ausgeführt werden. Die Operation gibt die AllergyIntolerance
-Instanz als Antwort zurück. Referenzen werden bei der Operation nicht berücksichtigt. Falls eine Ressource-ID übermittelt wird, MUSS diese vom Medication Service neu gesetzt werden und danach im Zusammenspiel mit dem Medication Service verwendet werden.
OperationDefinition
Operation Definition: Add AMTS-rZI AllergyIntolerance
Geschäftslogik
Herkunftsnachweis
Der Herkunftsnachweis für die Werte aus den Input-Parametern (performer, enterer, author, unconfirmedAuthor und informant) MUSS in einer Provenance-Instanz mit dem Profil EPAProvenance gespeichert werden. Der Wert für den target
Parameter MUSS auf die spezifische Version der Ressourceninstanz verweisen.
Detaillierte Informationen zur Durchführung der Erstellung der Provenance-Instanz
Überprüfung der Telematik-ID bei einem Schreibvorgang
Jeder Lese- und Schreibvorgang erfordert die Authentifizierung der Leistungserbringerinstitution mittels OpenID Connect. Das signierte ID-Token des Identity Providers (IDP-Dienst) MUSS die Telematik-ID des zugreifenden Nutzers enthalten. Bei einem Schreibvorgang MUSS die Übereinstimmung der Telematik-ID des Nutzers überprüft und sichergestellt werden.
Überprüfung der Aktenidentität bei einem Schreibvorgang
Jeder Schreibvorgang in das Aktenkonto des Versicherten MUSS durch den Medciation Service dahingehend geprüft werden, dass der durch den HTTP Header angegebene Parameter x-insurantid
(Health Record Identifier) mit der per KVNR referenzierten Identität (Logical Reference in Element subject
bzw. patient
) in der zu schreibenden Instanz der FHIR-Ressource übereinstimmt.
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 (AllergyIntolerance/$add-amts-allergies)
POST [base]/epa/medication/api/v1/fhir/AllergyIntolerance/$add-amts-allergies
OperationId: addAMTSAllergyIntolerance_MedicationSvc
Beispielanfrage
{ "resourceType": "Parameters", "id": "example-epa-op-add-allergy-intolerance-input-parameters-2", "meta": { "profile": [ "https://gematik.de/fhir/epa-medication/StructureDefinition/epa-op-add-amts-allergy-intolerance-in-parameters" ] }, "parameter": [ { "name": "allergyIntolerance", "resource": { "resourceType": "AllergyIntolerance", "id": "example-epa-simple-allergy-intolerance", "meta": { "profile": [ "https://gematik.de/fhir/epa/StructureDefinition/epa-allergy-intolerance" ] }, "reaction": [ { "manifestation": [ { "coding": [ { "system": "http://snomed.info/sct", "code": "70076002", "version": "http://snomed.info/sct/11000274103/version/20240515", "display": "Rhinitis" } ] } ], "severity": "mild" } ], "clinicalStatus": { "coding": [ { "code": "active", "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical", "version": "4.0.1", "display": "Active" } ] }, "type": "allergy", "category": [ "biologic" ], "code": { "coding": [ { "code": "425525006", "system": "http://snomed.info/sct", "version": "http://snomed.info/sct/11000274103/version/20240515", "display": "Allergy to grass pollen" } ] }, "patient": { "identifier": { "type": { "coding": [ { "code": "KVZ10", "system": "http://fhir.de/CodeSystem/identifier-type-de-basis", "display": "Krankenversichertennummer" } ] }, "value": "X110411319", "system": "http://fhir.de/sid/gkv/kvid-10" } }, "onsetDateTime": "2025-08-11" } }, { "name": "performer", "part": [ { "name": "organization", "resource": { "resourceType": "Organization", "id": "be51e0d2-783d-4e21-b16b-1a4cd7403515", "meta": { "tag": [ { "system": "https://gematik.de/fhir/directory/CodeSystem/Origin", "code": "ldap" } ], "profile": [ "https://gematik.de/fhir/directory/StructureDefinition/OrganizationDirectory" ] }, "identifier": [ { "system": "https://gematik.de/fhir/sid/telematik-id", "value": "9-2.58.00000040" } ], "active": true, "type": [ { "coding": [ { "code": "1.2.276.0.76.4.58", "system": "https://gematik.de/fhir/directory/CodeSystem/OrganizationProfessionOID", "display": "Betriebsstätte gematik" } ] } ], "name": "gematik GmbH", "alias": [ "gematik" ], "address": [ { "text": "gematik GmbH\nFriedrichstr. 136, \n10117 Berlin", "line": [ "Friedrichstr. 136" ], "city": "Berlin", "district": "Mitte", "state": "Berlin", "postalCode": "10117", "country": "DE" } ], "contact": [ { "purpose": { "coding": [ { "code": "ADMIN", "system": "http://terminology.hl7.org/CodeSystem/contactentity-type" } ] }, "name": { "text": "gematik ITSM" }, "telecom": [ { "system": "email", "value": "betrieb@gematik.de" } ] } ] } } ] } ] }
<Parameters xmlns="http://hl7.org/fhir"> <id value="example-epa-op-add-allergy-intolerance-input-parameters-2" /> <meta> <profile value="https://gematik.de/fhir/epa-medication/StructureDefinition/epa-op-add-amts-allergy-intolerance-in-parameters" /> </meta> <parameter> <name value="allergyIntolerance" /> <resource> <AllergyIntolerance> <id value="example-epa-simple-allergy-intolerance" /> <meta> <profile value="https://gematik.de/fhir/epa/StructureDefinition/epa-allergy-intolerance" /> </meta> <clinicalStatus> <coding> <system value="http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical" /> <version value="4.0.1" /> <code value="active" /> <display value="Active" /> </coding> </clinicalStatus> <type value="allergy" /> <category value="biologic" /> <code> <coding> <system value="http://snomed.info/sct" /> <version value="http://snomed.info/sct/11000274103/version/20240515" /> <code value="425525006" /> <display value="Allergy to grass pollen" /> </coding> </code> <patient> <identifier> <type> <coding> <system value="http://fhir.de/CodeSystem/identifier-type-de-basis" /> <code value="KVZ10" /> <display value="Krankenversichertennummer" /> </coding> </type> <system value="http://fhir.de/sid/gkv/kvid-10" /> <value value="X110411319" /> </identifier> </patient> <onsetDateTime value="2025-08-11" /> <reaction> <manifestation> <coding> <system value="http://snomed.info/sct" /> <version value="http://snomed.info/sct/11000274103/version/20240515" /> <code value="70076002" /> <display value="Rhinitis" /> </coding> </manifestation> <severity value="mild" /> </reaction> </AllergyIntolerance> </resource> </parameter> <parameter> <name value="performer" /> <part> <name value="organization" /> <resource> <Organization> <id value="be51e0d2-783d-4e21-b16b-1a4cd7403515" /> <meta> <profile value="https://gematik.de/fhir/directory/StructureDefinition/OrganizationDirectory" /> <tag> <system value="https://gematik.de/fhir/directory/CodeSystem/Origin" /> <code value="ldap" /> </tag> </meta> <identifier> <system value="https://gematik.de/fhir/sid/telematik-id" /> <value value="9-2.58.00000040" /> </identifier> <active value="true" /> <type> <coding> <system value="https://gematik.de/fhir/directory/CodeSystem/OrganizationProfessionOID" /> <code value="1.2.276.0.76.4.58" /> <display value="Betriebsstätte gematik" /> </coding> </type> <name value="gematik GmbH" /> <alias value="gematik" /> <address> <text value="gematik GmbH\nFriedrichstr. 136, \n10117 Berlin" /> <line value="Friedrichstr. 136" /> <city value="Berlin" /> <district value="Mitte" /> <state value="Berlin" /> <postalCode value="10117" /> <country value="DE" /> </address> <contact> <purpose> <coding> <system value="http://terminology.hl7.org/CodeSystem/contactentity-type" /> <code value="ADMIN" /> </coding> </purpose> <name> <text value="gematik ITSM" /> </name> <telecom> <system value="email" /> <value value="betrieb@gematik.de" /> </telecom> </contact> </Organization> </resource> </part> </parameter> </Parameters>
Beispielantwort
{ "resourceType": "Parameters", "id": "example-epa-op-add-allergy-intolerance-output-parameters-2", "meta": { "profile": [ "https://gematik.de/fhir/epa-medication/StructureDefinition/epa-op-add-amts-allergy-intolerance-out-parameters" ] }, "parameter": [ { "name": "allergyIntolerance", "part": [ { "name": "operationOutcome", "resource": { "resourceType": "OperationOutcome", "id": "255002c7-aa1b-4163-bdd4-ede482453cca", "meta": { "profile": [ "https://gematik.de/fhir/epa/StructureDefinition/epa-operation-outcome" ] }, "issue": [ { "severity": "information", "code": "informational", "details": { "coding": [ { "code": "MEDICATIONSVC_OPERATION_SUCCESS", "system": "https://gematik.de/fhir/epa/CodeSystem/epa-operation-outcome-codes-cs", "display": "Operation Successfully Completed in Medication Service" } ] } } ] } }, { "name": "allergyIntolerance", "resource": { "resourceType": "AllergyIntolerance", "id": "example-epa-allergy-intolerance", "meta": { "profile": [ "https://gematik.de/fhir/epa/StructureDefinition/epa-allergy-intolerance" ] }, "code": { "coding": [ { "system": "http://snomed.info/sct", "code": "227493005", "version": "http://snomed.info/sct/11000274103/version/20240515", "display": "Cashew nut (substance)" } ] }, "reaction": [ { "manifestation": [ { "coding": [ { "system": "http://snomed.info/sct", "code": "43116000", "version": "http://snomed.info/sct/11000274103/version/20240515", "display": "Ekzem" } ] } ], "exposureRoute": { "coding": [ { "system": "http://snomed.info/sct", "code": "26643006", "version": "http://snomed.info/sct/11000274103/version/20240515", "display": "Peroral" } ] }, "severity": "severe" } ], "clinicalStatus": { "coding": [ { "code": "active", "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical", "version": "4.0.1", "display": "Active" } ] }, "verificationStatus": { "coding": [ { "code": "confirmed", "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-verification", "version": "4.0.1", "display": "Confirmed" } ] }, "type": "allergy", "category": [ "medication" ], "criticality": "high", "patient": { "identifier": { "type": { "coding": [ { "code": "KVZ10", "system": "http://fhir.de/CodeSystem/identifier-type-de-basis", "display": "Krankenversichertennummer" } ] }, "value": "X110411319", "system": "http://fhir.de/sid/gkv/kvid-10" } }, "onsetDateTime": "2025-08-01", "recorder": { "reference": "PractitionerRole/3b4e3403-a4c7-40ee-8792-6a855105d126" }, "asserter": { "reference": "PractitionerRole/3856402c-7636-4fbd-98bd-d278852b8e88" }, "note": [ { "text": "Patient reported a severe rash after taking penicillin." } ] } } ] } ] }
<Parameters xmlns="http://hl7.org/fhir"> <id value="example-epa-op-add-allergy-intolerance-output-parameters-2" /> <meta> <profile value="https://gematik.de/fhir/epa-medication/StructureDefinition/epa-op-add-amts-allergy-intolerance-out-parameters" /> </meta> <parameter> <name value="allergyIntolerance" /> <part> <name value="operationOutcome" /> <resource> <OperationOutcome> <id value="255002c7-aa1b-4163-bdd4-ede482453cca" /> <meta> <profile value="https://gematik.de/fhir/epa/StructureDefinition/epa-operation-outcome" /> </meta> <issue> <severity value="information" /> <code value="informational" /> <details> <coding> <system value="https://gematik.de/fhir/epa/CodeSystem/epa-operation-outcome-codes-cs" /> <code value="MEDICATIONSVC_OPERATION_SUCCESS" /> <display value="Operation Successfully Completed in Medication Service" /> </coding> </details> </issue> </OperationOutcome> </resource> </part> <part> <name value="allergyIntolerance" /> <resource> <AllergyIntolerance> <id value="example-epa-allergy-intolerance" /> <meta> <profile value="https://gematik.de/fhir/epa/StructureDefinition/epa-allergy-intolerance" /> </meta> <clinicalStatus> <coding> <system value="http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical" /> <version value="4.0.1" /> <code value="active" /> <display value="Active" /> </coding> </clinicalStatus> <verificationStatus> <coding> <system value="http://terminology.hl7.org/CodeSystem/allergyintolerance-verification" /> <version value="4.0.1" /> <code value="confirmed" /> <display value="Confirmed" /> </coding> </verificationStatus> <type value="allergy" /> <category value="medication" /> <criticality value="high" /> <code> <coding> <system value="http://snomed.info/sct" /> <version value="http://snomed.info/sct/11000274103/version/20240515" /> <code value="227493005" /> <display value="Cashew nut (substance)" /> </coding> </code> <patient> <identifier> <type> <coding> <system value="http://fhir.de/CodeSystem/identifier-type-de-basis" /> <code value="KVZ10" /> <display value="Krankenversichertennummer" /> </coding> </type> <system value="http://fhir.de/sid/gkv/kvid-10" /> <value value="X110411319" /> </identifier> </patient> <onsetDateTime value="2025-08-01" /> <recorder> <reference value="PractitionerRole/3b4e3403-a4c7-40ee-8792-6a855105d126" /> </recorder> <asserter> <reference value="PractitionerRole/3856402c-7636-4fbd-98bd-d278852b8e88" /> </asserter> <note> <text value="Patient reported a severe rash after taking penicillin." /> </note> <reaction> <manifestation> <coding> <system value="http://snomed.info/sct" /> <version value="http://snomed.info/sct/11000274103/version/20240515" /> <code value="43116000" /> <display value="Ekzem" /> </coding> </manifestation> <severity value="severe" /> <exposureRoute> <coding> <system value="http://snomed.info/sct" /> <version value="http://snomed.info/sct/11000274103/version/20240515" /> <code value="26643006" /> <display value="Peroral" /> </coding> </exposureRoute> </reaction> </AllergyIntolerance> </resource> </part> </parameter> </Parameters>
Antwort-Status-Codes
Status Code | Bedingung | Error Code | Bemerkung |
---|---|---|---|
200 | Successful operation | 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" }