Implementation Guide
ePA Basisfunktionalitäten
Version 1.0.6-2 - release

## Audit Service: Render API

Der Audit Event Service unterstützt die Abfrage aufbereiteter Protokolle im Datenformat PDF/A (d.h. kein FHIR) über die Render API: AuditEvent.

### Einsatzbereich

Ein Nutzer des ePA-Client-Systems möchte keinen FHIR-basierte Abruf mit spezifischen Filtermöglichkeiten durchführen und stattdessen eine aufbereitete Anzeige protokollierter Ereignisse und ePA-Zugriffe in Form eines PDF/A-Dokuments anzeigen.

### Nachricht

Die Nachricht zum Abruf von Protokolldaten wird als HTTP GET-Anfrage an den Audit Event Service gesendet, um eine Liste von Audit-Ereignissen in Form eines PDF/A-Dokuments abzurufen.

#### Auslösung

Wenn das ePA-Client-System eine zeitbasierte Suche über protokollierter Ereignisse und ePA-Zugriffe durchführen möchte, sendet er eine Render API: AuditEvent-Nachricht an den Audit Event Service.

#### API

base: "[base]" paths: /epa/audit/render/v1/pdf: get: contentTypes: - "application/pdf" headerParams: - name: "x-insurantid" expectation: "MUSS" type: "string" description: "Health Record Identifier" - name: "x-useragent" expectation: "KANN" type: "string" description: "User Agent Information" - name: "X-Request-ID" expectation: "MUSS" type: "string" description: "UUID der Nachricht" operationId: "renderAuditEventsToPDF_AuditEventSvc" fhir: searchParams: - name: "signed" definition: "" type: "boolean" expectation: "MUSS" documentation: "Signierte PDF/A anfordern (`true`) oder unsignierte PDF/A anfordern (`false`)" - name: "lowerDateTime" definition: "" type: "datetime" expectation: "MUSS" documentation: "Frühester Zeitpunkt zur Berücksichtigung der Audit-Ereignisse z.B. 2025-07-15T00:00:00" - name: "upperDateTime" definition: "" type: "datetime" expectation: "MUSS" documentation: "Spätester Zeitpunkt zur Berücksichtigung der Audit-Ereignisse z.B. 2025-07-15T23:59:59" responses: - statusCode: '200' description: "Successful operation" errorCode: "-" note: "-" - statusCode: '404' description: "Rendering led to empty list" errorCode: "noEntries" note: "-" - statusCode: '403' description: "Requestor not authorized" errorCode: "invalAuth" note: "No user session with valid ID-Token available" - statusCode: '403' description: "Requestor has no valid entitlement" errorCode: "notEntitled" note: "-" - statusCode: '403' description: "Requestor role is not in the list of allowed user groups" errorCode: "invalidOid" note: "-" - statusCode: '403' description: "Device registration does not exist" errorCode: "unregisteredDevice" note: "if requestor role is oid_versicherter only" - statusCode: '404' description: "Health record is in state UNKNOWN or INITIALIZED" errorCode: "noHealthRecord" note: "-" - statusCode: '409' description: "Health record is in state SUSPENDED" errorCode: "statusMismatch" note: "-" - statusCode: '500' description: "Any other error" errorCode: "internalError" note: "-"

Beispiele:

Den Audit Event Service zur Bereitstellung eines signierten PDF/A anfragen:

    GET [base]/epa/audit/render/v1/pdf?signed=true

Den Audit Event Service zur Bereitstellung eines unsignierten PDF/A für die Protokolleinträge vom 15. Juli 2025 anfragen:

    GET [base]/epa/audit/render/v1/pdf?lowerDateTime=2025-07-15T00:00:00&amp;upperDateTime=2025-07-15T23:59:59

#### Verarbeitung

Der Audit Event Service MUSS eine Liste von Audit-Event-Ereignissen als PDF/A (signiert oder unsigniert) erstellen und bei diesem API GET Aufruf zurückgeben. Der Audit Event Service muss in der Render API: PDF Audit den Parameter signed unterstützen.

- signed=true fordert eine signiertes PDF/A an
- signed=false fordert eine unsigniertes PDF/A an

Die Standardsortierung der Daten in dem PDF/A-Export des Audit Event Service MUSS anhand des Attributs recorded in absteigender Reihenfolge, sodass die neuesten Daten zuerst angezeigt werden. Der Audit Event Service MUSS für die Render API: PDF Audit bei einer erfolgreichen Ausgabe im PDF/A-Format den Media Type application/pdf im HTTP Header Content-Type setzen und den HTTP Status Code 200 zurückgeben. Der Audit Event Service MUSS bei einer Anfrage über die Render API: PDF Audit, die keine Einträge zurückliefert, den HTTP Status Code 404 mit dem Error Code noEntries zurückgeben. Der Audit Event Service MUSS in der Render API: PDF Audit die Suchparameter lowerDateTime und upperDateTime unterstützen.

- lowerDateTime definiert den frühesten Zeitpunkt zur Berücksichtigung der Audit-Ereignisse
- upperDateTime definiert den spätesten Zeitpunkt zur Berücksichtigung der Audit-Ereignisse

### Sicherheitsanforderungen

Generelle Sicherheitsanforderungen werden hier festgehalten.

### Protokollierung

Die Protokollierung erfolgt über den Audit Event Service. Weitere Anforderungen sind gemSpec_Aktensystem_ePAfueralle#3.14 zu entnehmen.