Query API: Anforderungen

Diese Seite beschreibt Standard-API-Zugriffe für eine clientseitige Suche und Bereitstellung von Daten des Audit Event Service. Im Detail bedeutet dies das Navigieren in Suchergebnisseiten, die kompakte Suche mit verknüpften FHIR-Ressourcen als auch die Suche unter Nutzung von Vergleichsoperatoren.

Paginierungsfunktion (Pagination)

Der Audit Event Service stellt dem ePA-Client in seiner Antwort Navigationsinformationen in Ergebnisseiten zur Verfügung.

URL-Parameter

Um die Paginierungsfunktion zu implementieren, werden die URL-Parameter _count und _offset verwendet. Der Parameter _count bestimmt die Anzahl der Einträge pro Seite, während _offset das Startelement der Seite angibt. Zusätzlich entscheidet der_total-Parameter, ob die Gesamtanzahl der Einträge in der Antwort enthalten sein soll.

URL-Parameter Beschreibung Standardwert
_count Der ePA-Client kann die maximale Anzahl von Elementen festlegen, die auf einer "Seite" (page) der Antwort enthalten sein soll. Das bedeutet, dass der Audit Event Service die Ergebnismenge auf diese maximal angegebene Anzahl beschränkt. 25
_offset Dieser Parameter gibt den (zero-based) Offset des ersten zurückgegebenen Elements in der Sammlung an. 0
_total Dieser Parameter steuert, ob und wie der Audit Event Service die Gesamtanzahl der Suchergebnisse zurückgibt. Folgende Werte können eingestellt werden: none, estimate, accurate.

Werte für _total:

  • none (Standardwert): Die Gesamtanzahl der Suchtreffer wird nicht angezeigt.
  • estimate: Die ungefähre Gesamtanzahl der Suchtreffer wird angezeigt.
  • accurate: Die genaue Gesamtanzahl der Suchtreffer wird angezeigt.

Beispiele

API-Anfrage von zehn Elementen des Ressourcentyps AuditEvent, beginnend mit Element 20 der Liste:

GET [base]/epa/audit/api/v1/fhir/AuditEvent?_count=10&_offset=20

API-Anfrage der ersten fünf Elemente:

GET [base]/epa/audit/api/v1/fhir/AuditEvent?_count=5

API-Anfrage nur für die Gesamtanzahl der Einträge:

GET [base]/epa/audit/api/v1/fhir/AuditEvent?_count=0&_total=accurate

In einem FHIR Search Set Bundle enthält das Attribut link eine Liste von Link-Elementen, die jeweils einem spezifischen Navigationszweck innerhalb des Bundles dienen. Die folgenden Beziehungen werden gemäß den Link Relation Types bereitgestellt.

Attribut Beschreibung Anforderung
self Ein Link zur aktuellen Seite der Ergebnisse, der die Abfrage repräsentiert, die diese Ergebnisse generiert hat. MUSS
next Wird verwendet, um zur nächsten Seite der Ergebnisse zu navigieren, entsprechend der festgelegten Paginierung. MUSS
previous Ermöglicht die Rückkehr zur vorherigen Ergebnismenge und erleichtert die rückwärtige Navigation durch die Seiten. MUSS
first Navigiert zur ersten Seite der Suchergebnisse und ermöglicht eine schnelle Navigation zum Anfang der Ergebnisliste. KANN
last Navigiert zur letzten Seite der Suchergebnisse, um ans Ende der Ergebnisliste zu gelangen. KANN

Jeder Link enthält eine URL, um das entsprechende Ergebnis-Set abzurufen, das dynamisch basierend auf der Suchanfrage und den Paginierungsparametern wie _count und _offset generiert wird. Diese Links vereinfachen die Navigation des ePA-Clients durch große Suchergebnisse, indem sie die Notwendigkeit manueller Anpassungen der Abfrageparameter eliminieren.

Zu jedem Link können zusätzlich zu den Standardpaginierungsparametern wie _count und _offset auch andere Parameter enthalten sein, die die Paginierung innerhalb des Audit Event Service erleichtern. Ein Beispiel hierfür ist der Parameter stateid, der den aktuellen Zustand der Ergebnisliste repräsentiert. Dies ermöglicht es dem Audit Event Service, die Navigation durch die Ergebnisse effizient zu verwalten, indem der Kontext oder Zustand der Suche erhalten bleibt. Dies ist besonders nützlich, wenn ePA-Clients durch umfangreiche oder komplex strukturierte Ergebnismengen navigieren.

Beispielantworten

{
    "resourceType": "Bundle",
    "id": "example-searchset-audit-event",
    "type": "searchset",
    "total": 100,
    "link":  [
        {
            "relation": "self",
            "url": "/epa/audit/api/v1/fhir/AuditEvent?_offset=20&_count=10"
        },
        {
            "relation": "previous",
            "url": "/epa/audit/api/v1/fhir/AuditEvent?_offset=10&_count=10"
        },
        {
            "relation": "next",
            "url": "/epa/audit/api/v1/fhir/AuditEvent?_offset=30&_count=10"
        }
    ],
    "entry":  [
        {
            "fullUrl": "https://epa-as-0.prod.epa4all.de/vau-cid-1234/epa/AuditEvent/api/v1/fhir/AuditEvent/86604fc1-b356-57e3-8738-8ef36c8d608c",
            "resource": {
                "resourceType": "AuditEvent",
                "id": "86604fc1-b356-57e3-8738-8ef36c8d608c",
                "meta": {
                    "versionId": "1",
                    "lastUpdated": "2025-01-15T14:43:33.244Z",
                    "profile":  [
                        "https://gematik.de/fhir/epa/StructureDefinition/epa-auditevent"
                    ]
                },
                "source": {
                    "observer": {
                        "display": "Elektronische Patientenakte Fachdienst"
                    },
                    "type":  [
                        {
                            "system": "https://gematik.de/fhir/epa/CodeSystem/epa-auditevent-sourcetype-cs",
                            "code": "XDSSVC",
                            "display": "XDS Document Service"
                        }
                    ]
                },
                "agent":  [
                    {
                        "requestor": true,
                        "type": {
                            "coding":  [
                                {
                                    "system": "http://terminology.hl7.org/CodeSystem/v3-RoleClass",
                                    "code": "PROV",
                                    "display": "healthcare provider"
                                }
                            ]
                        },
                        "who": {
                            "identifier": {
                                "system": "https://gematik.de/fhir/sid/telematik-id",
                                "value": "1-883110000092404"
                            }
                        },
                        "altId": "1-883110000092404",
                        "name": "Praxis Dr. John Doe"
                    }
                ],
                "type": {
                    "system": "http://terminology.hl7.org/CodeSystem/audit-event-type",
                    "code": "document"
                },
                "action": "U",
                "recorded": "2025-01-15T14:52:04.928Z",
                "outcome": "0",
                "entity":  [
                    {
                        "name": "Arztbrief4711",
                        "description": "operation:provide-and-register-document-set-b",
                        "detail":  [
                            {
                                "type": "DocumentFormatCode",
                                "valueString": "urn:gematik:ig:Arztbrief:r3.1"
                            }
                        ]
                    }
                ]
            },
            "search": {
                "mode": "match"
            }
        },
        {
            "fullUrl": "https://epa-as-0.prod.epa4all.de/vau-cid-1234/epa/AuditEvent/api/v1/fhir/AuditEvent/669699b2-f131-4097-b13d-71413a58aa92",
            "resource": {
                "resourceType": "AuditEvent",
                "id": "669699b2-f131-4097-b13d-71413a58aa92",
                "meta": {
                    "versionId": "1",
                    "lastUpdated": "2025-01-15T14:43:33.244Z",
                    "profile":  [
                        "https://gematik.de/fhir/epa/StructureDefinition/epa-auditevent"
                    ]
                },
                "source": {
                    "observer": {
                        "display": "Elektronische Patientenakte Fachdienst"
                    },
                    "type":  [
                        {
                            "system": "https://gematik.de/fhir/epa/CodeSystem/epa-auditevent-sourcetype-cs",
                            "code": "MEDICATIONSVC",
                            "display": "Medication Service"
                        }
                    ]
                },
                "agent":  [
                    {
                        "requestor": true,
                        "who": {
                            "identifier": {
                                "system": "https://gematik.de/fhir/sid/telematik-id",
                                "value": "1-000000000000000"
                            }
                        },
                        "type": {
                            "coding":  [
                                {
                                    "system": "http://dicom.nema.org/resources/ontology/DCM",
                                    "code": "110150",
                                    "display": "Application"
                                }
                            ]
                        },
                        "altId": "1-000000000000000",
                        "name": "E-Rezept-Fachdienst"
                    }
                ],
                "type": {
                    "system": "http://terminology.hl7.org/CodeSystem/audit-event-type",
                    "code": "rest"
                },
                "action": "E",
                "recorded": "2025-01-15T14:52:04.928Z",
                "outcome": "0",
                "entity":  [
                    {
                        "name": "MedicationCancelDispensation",
                        "description": "operation:cancel-dispensation-erp"
                    }
                ]
            },
            "search": {
                "mode": "match"
            }
        },
        {
            "fullUrl": "https://epa-as-0.prod.epa4all.de/vau-cid-1234/epa/AuditEvent/api/v1/fhir/AuditEvent/589b9862-7935-42f5-a06b-11a6f35833ee",
            "resource": {
                "resourceType": "AuditEvent",
                "id": "589b9862-7935-42f5-a06b-11a6f35833ee",
                "meta": {
                    "versionId": "1",
                    "lastUpdated": "2025-07-15T14:43:33.244Z",
                    "profile":  [
                        "https://gematik.de/fhir/epa/StructureDefinition/epa-auditevent"
                    ]
                },
                "source": {
                    "observer": {
                        "display": "Elektronische Patientenakte Fachdienst"
                    },
                    "type":  [
                        {
                            "system": "https://gematik.de/fhir/epa/CodeSystem/epa-auditevent-sourcetype-cs",
                            "code": "XDSSVC",
                            "display": "XDS Document Service"
                        }
                    ]
                },
                "agent":  [
                    {
                        "requestor": true,
                        "who": {
                            "identifier": {
                                "system": "https://gematik.de/fhir/sid/telematik-id",
                                "value": "1-000000000000000"
                            }
                        },
                        "type": {
                            "coding":  [
                                {
                                    "system": "http://dicom.nema.org/resources/ontology/DCM",
                                    "code": "110150",
                                    "display": "Application"
                                }
                            ]
                        },
                        "altId": "1-000000000000000",
                        "name": "Portugal"
                    },
                    {
                        "requestor": true,
                        "extension":  [
                            {
                                "url": "https://gematik.de/fhir/epa/StructureDefinition/epa-healthcare-facility-type-extension",
                                "valueCoding": {
                                    "system": "urn:oid:2.16.840.1.113883.2.9.6.2.7",
                                    "code": "221",
                                    "display": "Medical Doctors"
                                }
                            }
                        ],
                        "type": {
                            "coding":  [
                                {
                                    "system": "http://terminology.hl7.org/CodeSystem/v3-RoleClass",
                                    "code": "PROV",
                                    "display": "healthcare provider"
                                }
                            ]
                        },
                        "role":  [
                            {
                                "coding":  [
                                    {
                                        "system": "urn:oid:1.3.6.1.4.1.12559.11.10.1.3.2.2.2",
                                        "code": "Resident Physician",
                                        "display": "Resident Physician"
                                    }
                                ]
                            }
                        ],
                        "name": "Dr. Manuel Dos Santos / Clínica de Dos Santos"
                    }
                ],
                "type": {
                    "system": "http://terminology.hl7.org/CodeSystem/audit-event-type",
                    "code": "rest"
                },
                "action": "R",
                "recorded": "2025-07-15T14:52:04.928Z",
                "outcome": "0",
                "entity":  [
                    {
                        "name": "Patient Summary",
                        "description": "operation:retrieve-document-set"
                    }
                ]
            },
            "search": {
                "mode": "match"
            }
        }
    ]
}
<Bundle xmlns="http://hl7.org/fhir">
    <id value="example-searchset-audit-event" />
    <type value="searchset" />
    <total value="100" />
    <link>
        <relation value="self" />
        <url value="/epa/audit/api/v1/fhir/AuditEvent?_offset=20&amp;_count=10" />
    </link>
    <link>
        <relation value="previous" />
        <url value="/epa/audit/api/v1/fhir/AuditEvent?_offset=10&amp;_count=10" />
    </link>
    <link>
        <relation value="next" />
        <url value="/epa/audit/api/v1/fhir/AuditEvent?_offset=30&amp;_count=10" />
    </link>
    <entry>
        <fullUrl value="https://epa-as-0.prod.epa4all.de/vau-cid-1234/epa/AuditEvent/api/v1/fhir/AuditEvent/86604fc1-b356-57e3-8738-8ef36c8d608c" />
        <resource>
            <AuditEvent>
                <id value="86604fc1-b356-57e3-8738-8ef36c8d608c" />
                <meta>
                    <versionId value="1" />
                    <lastUpdated value="2025-01-15T14:43:33.244Z" />
                    <profile value="https://gematik.de/fhir/epa/StructureDefinition/epa-auditevent" />
                </meta>
                <type>
                    <system value="http://terminology.hl7.org/CodeSystem/audit-event-type" />
                    <code value="document" />
                </type>
                <action value="U" />
                <recorded value="2025-01-15T14:52:04.928Z" />
                <outcome value="0" />
                <agent>
                    <type>
                        <coding>
                            <system value="http://terminology.hl7.org/CodeSystem/v3-RoleClass" />
                            <code value="PROV" />
                            <display value="healthcare provider" />
                        </coding>
                    </type>
                    <who>
                        <identifier>
                            <system value="https://gematik.de/fhir/sid/telematik-id" />
                            <value value="1-883110000092404" />
                        </identifier>
                    </who>
                    <altId value="1-883110000092404" />
                    <name value="Praxis Dr. John Doe" />
                    <requestor value="true" />
                </agent>
                <source>
                    <observer>
                        <display value="Elektronische Patientenakte Fachdienst" />
                    </observer>
                    <type>
                        <system value="https://gematik.de/fhir/epa/CodeSystem/epa-auditevent-sourcetype-cs" />
                        <code value="XDSSVC" />
                        <display value="XDS Document Service" />
                    </type>
                </source>
                <entity>
                    <name value="Arztbrief4711" />
                    <description value="operation:provide-and-register-document-set-b" />
                    <detail>
                        <type value="DocumentFormatCode" />
                        <valueString value="urn:gematik:ig:Arztbrief:r3.1" />
                    </detail>
                </entity>
            </AuditEvent>
        </resource>
        <search>
            <mode value="match" />
        </search>
    </entry>
    <entry>
        <fullUrl value="https://epa-as-0.prod.epa4all.de/vau-cid-1234/epa/AuditEvent/api/v1/fhir/AuditEvent/669699b2-f131-4097-b13d-71413a58aa92" />
        <resource>
            <AuditEvent>
                <id value="669699b2-f131-4097-b13d-71413a58aa92" />
                <meta>
                    <versionId value="1" />
                    <lastUpdated value="2025-01-15T14:43:33.244Z" />
                    <profile value="https://gematik.de/fhir/epa/StructureDefinition/epa-auditevent" />
                </meta>
                <type>
                    <system value="http://terminology.hl7.org/CodeSystem/audit-event-type" />
                    <code value="rest" />
                </type>
                <action value="E" />
                <recorded value="2025-01-15T14:52:04.928Z" />
                <outcome value="0" />
                <agent>
                    <type>
                        <coding>
                            <system value="http://dicom.nema.org/resources/ontology/DCM" />
                            <code value="110150" />
                            <display value="Application" />
                        </coding>
                    </type>
                    <who>
                        <identifier>
                            <system value="https://gematik.de/fhir/sid/telematik-id" />
                            <value value="1-000000000000000" />
                        </identifier>
                    </who>
                    <altId value="1-000000000000000" />
                    <name value="E-Rezept-Fachdienst" />
                    <requestor value="true" />
                </agent>
                <source>
                    <observer>
                        <display value="Elektronische Patientenakte Fachdienst" />
                    </observer>
                    <type>
                        <system value="https://gematik.de/fhir/epa/CodeSystem/epa-auditevent-sourcetype-cs" />
                        <code value="MEDICATIONSVC" />
                        <display value="Medication Service" />
                    </type>
                </source>
                <entity>
                    <name value="MedicationCancelDispensation" />
                    <description value="operation:cancel-dispensation-erp" />
                </entity>
            </AuditEvent>
        </resource>
        <search>
            <mode value="match" />
        </search>
    </entry>
    <entry>
        <fullUrl value="https://epa-as-0.prod.epa4all.de/vau-cid-1234/epa/AuditEvent/api/v1/fhir/AuditEvent/589b9862-7935-42f5-a06b-11a6f35833ee" />
        <resource>
            <AuditEvent>
                <id value="589b9862-7935-42f5-a06b-11a6f35833ee" />
                <meta>
                    <versionId value="1" />
                    <lastUpdated value="2025-07-15T14:43:33.244Z" />
                    <profile value="https://gematik.de/fhir/epa/StructureDefinition/epa-auditevent" />
                </meta>
                <type>
                    <system value="http://terminology.hl7.org/CodeSystem/audit-event-type" />
                    <code value="rest" />
                </type>
                <action value="R" />
                <recorded value="2025-07-15T14:52:04.928Z" />
                <outcome value="0" />
                <agent>
                    <type>
                        <coding>
                            <system value="http://dicom.nema.org/resources/ontology/DCM" />
                            <code value="110150" />
                            <display value="Application" />
                        </coding>
                    </type>
                    <who>
                        <identifier>
                            <system value="https://gematik.de/fhir/sid/telematik-id" />
                            <value value="1-000000000000000" />
                        </identifier>
                    </who>
                    <altId value="1-000000000000000" />
                    <name value="Portugal" />
                    <requestor value="true" />
                </agent>
                <agent>
                    <extension url="https://gematik.de/fhir/epa/StructureDefinition/epa-healthcare-facility-type-extension">
                        <valueCoding>
                            <system value="urn:oid:2.16.840.1.113883.2.9.6.2.7" />
                            <code value="221" />
                            <display value="Medical Doctors" />
                        </valueCoding>
                    </extension>
                    <type>
                        <coding>
                            <system value="http://terminology.hl7.org/CodeSystem/v3-RoleClass" />
                            <code value="PROV" />
                            <display value="healthcare provider" />
                        </coding>
                    </type>
                    <role>
                        <coding>
                            <system value="urn:oid:1.3.6.1.4.1.12559.11.10.1.3.2.2.2" />
                            <code value="Resident Physician" />
                            <display value="Resident Physician" />
                        </coding>
                    </role>
                    <name value="Dr. Manuel Dos Santos / Cl&#237;nica de Dos Santos" />
                    <requestor value="true" />
                </agent>
                <source>
                    <observer>
                        <display value="Elektronische Patientenakte Fachdienst" />
                    </observer>
                    <type>
                        <system value="https://gematik.de/fhir/epa/CodeSystem/epa-auditevent-sourcetype-cs" />
                        <code value="XDSSVC" />
                        <display value="XDS Document Service" />
                    </type>
                </source>
                <entity>
                    <name value="Patient Summary" />
                    <description value="operation:retrieve-document-set" />
                </entity>
            </AuditEvent>
        </resource>
        <search>
            <mode value="match" />
        </search>
    </entry>
</Bundle>

Suche

Die FHIR-Schnittstellen des Audit Event Service unterstützen standardmäßige FHIR-Suchoperationen gemäß den Vorgaben der FHIR-Spezifikation. Bei einer Suche wird ein Search Set Bundle zurückgegeben, das speziell die Ressource AuditEvent konfiguriert ist.

Beispiele Standard-Suchparameter

_id: Bezieht sich auf die logische ID der Ressource

GET [base]/epa/audit/api/v1/fhir/AuditEvent?_id=ea01ccbc-aa5d-4c34-8292-d95678d52c98

_lastUpdated: Kann verwendet werden, um Ressourcen basierend auf dem letzten Änderungszeitpunkt auszuwählen

GET [base]/epa/audit/api/v1/fhir/AuditEvent?_lastUpdated=2025-15-01

Vergleiche und Präzision für Zahlen, Daten und Mengen

Bei einer Suche, die numerische oder Datumsparameter umfasst, hängen die verwendeten Werte von der Präzision des bereitgestellten Parameters ab. Zum Beispiel erstreckt sich für das Datum 2025-02-11 der Bereich von 2025-02-11, um 00:00:00 Uhr (inklusive) bis 2025-02-12, um 00:00:00 Uhr (exklusive).

Präfix

In FHIR werden Gleitkommazahlen durch Datentypen wie decimal und quantity dargestellt, die die Präzision des gespeicherten Werts erfassen. Dies schließt jedoch einige Felder aus, die einfache Ganzzahlen verwenden. Suchoperationen in diesen Feldern führen zu exakten numerischen Übereinstimmungen. Bei numerischen Vergleichen (number, quantity) mit einem einzelnen Wert sind nachfolgende spezifische Präfixe anwendbar. Wenn kein Präfix angegeben wird, wird standardmäßig eq verwendet. Weitere Details finden sich hier: FHIR R4 Search Prefix

Präfix Beschreibung
eq Der Wert des Parameters in der Ressource ist gleich dem bereitgestellten Wert.
ne Der Wert des Parameters in der Ressource ist nicht gleich dem bereitgestellten Wert.
gt Der Wert des Parameters in der Ressource ist größer als der bereitgestellte Wert.
lt Der Wert des Parameters in der Ressource ist kleiner als der bereitgestellte Wert.
ge Der Wert des Parameters in der Ressource ist größer oder gleich dem bereitgestellten Wert.
le Der Wert des Parameters in der Ressource ist kleiner oder gleich dem bereitgestellten Wert.

Datumsangaben haben einen Bereich, der auf ihrer Präzision (Jahr, Monat, Tag) basiert. Für Typen wie Range oder Period sind eindeutige obere und untere Grenzen definiert. Es gibt spezifische Präfixe für derartige Vergleiche. Wird kein Präfix angegeben, ist eq die Standardwahl.

Präfix Beschreibung
eq Der Bereich des Suchwerts enthält den Bereich des Zielwerts vollständig.
ne Der Bereich des Suchwerts enthält den Bereich des Zielwerts nicht vollständig.
gt Der Bereich oberhalb des Suchwerts überlappt mit dem Bereich des Zielwerts.
lt Der Bereich unterhalb des Suchwerts überlappt mit dem Bereich des Zielwerts.
ge Der Bereich oberhalb des Suchwerts überlappt mit oder schließt den Bereich des Zielwerts vollständig ein.
le Der Bereich unterhalb des Suchwerts überlappt mit oder schließt den Bereich des Zielwerts vollständig ein.
sa Der Bereich des Parameterwerts beginnt nach dem Zielbereich.
eb Der Bereich des Parameterwerts endet vor dem Zielbereich.

Beispiele

Alle AuditEvents, die vor dem 15. Januar 2025 aktualisiert oder erstellt wurden.

GET [base]/epa/audit/api/v1/fhir/AuditEvent?_lastUpdated=lt2025-15-01T00:00:00Z

Alle AuditEvents nach dem 15. Januar 2025.

GET [base]/epa/audit/api/v1/fhir/AuditEvent?date=gt2025-15-01T00:00:00Z

Alle AuditEvents seit dem 15. Januar 2025 und von der Allgemeinarztpraxis "Praxis Dr. John Doe".

GET [base]/epa/audit/api/v1/fhir/AuditEvent?date=ge2025-15-01T11:00:00Z&altid=1-883110000092404

Alle AuditEvents ab dem 15. Januar 2025 und alle AuditEvents, die eine Erstellung protokollieren.

GET [base]/epa/audit/api/v1/fhir/AuditEvent?date=2025-15-01T11:00:00Z&action=C

Alle AuditEvents für das XDS-Dokument Arztbrief4711.

GET [base]/epa/audit/api/v1/fhir/AuditEvent?entity-name=Arztbrief4711