Operation API: AMTS-rZI Allergien und Intoleranzen aktualisieren

Die Operation $manage wird im Kontext der Arzneimitteltherapiesicherheitsrelevante Zusatzinformationen (AMTS-rZI) verwendet. Diese Operation ermöglicht das Verwalten von Allergie- und Unverträglichkeitsinformationen innerhalb des Medication Service. Der Hauptzweck der Operation $manage besteht darin, Allergie- und Unverträglichkeitsinformationen für einen Patienten zu erfassen und zu aktualisieren. Referenzen DÜRFEN bei der Operation nicht berücksichtigt werden. Die Referenzen MÜSSEN von der Geschäftslogik der Operation des Medication Service gesetzt werden. Die Operation $manage MUSS auf der Instanz-Ebene der Ressource AllergyIntolerance ausgeführt werden.

OperationDefinition

Operation Definition: Manage 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/[id]/$manage)

POST [base]/epa/medication/api/v1/fhir/AllergyIntolerance/[id]/$manage

OperationId: manageAllergyIntolerance_MedicationSvc

Beispielanfrage

{
    "resourceType": "Parameters",
    "id": "example-epa-op-manage-allergy-intolerance-input-parameters-2",
    "meta": {
        "profile":  [
            "https://gematik.de/fhir/epa-medication/StructureDefinition/epa-op-manage-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-manage-allergy-intolerance-input-parameters-2" />
    <meta>
        <profile value="https://gematik.de/fhir/epa-medication/StructureDefinition/epa-op-manage-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&#228;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-manage-allergy-intolerance-output-parameters-2",
    "meta": {
        "profile":  [
            "https://gematik.de/fhir/epa-medication/StructureDefinition/epa-op-manage-amts-allergy-intolerance-out-parameters"
        ]
    },
    "parameter":  [
        {
            "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-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"
            }
        }
    ]
}
<Parameters xmlns="http://hl7.org/fhir">
    <id value="example-epa-op-manage-allergy-intolerance-output-parameters-2" />
    <meta>
        <profile value="https://gematik.de/fhir/epa-medication/StructureDefinition/epa-op-manage-amts-allergy-intolerance-out-parameters" />
    </meta>
    <parameter>
        <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>
    </parameter>
    <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>
</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 Not Found 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"
}