Lokale eImpfpass-Schnittstellen

Diese API gehört zur lokalen Docker-Testanwendung. Externe ELGA-Dienste sind gemockt; FHIR-/CDA-Verarbeitung läuft im Referenzclient. IHE-Links im Protokoll beschreiben die fachlich entsprechende Transaktion. Der Mock sendet keine SOAP-/ITI-Nachrichten.

PVP-Demo-Login

POST /api/demo/login und POST /api/demo/logout benötigen X-Refclient-Demo: 1. GET /api/demo/session liefert Anmeldestatus, Demo-Identität und Ablaufzeit. Die Sitzung verwendet ein HttpOnly-/SameSite=Strict-Cookie und endet nach 30 Minuten oder beim Abmelden bzw. Serverneustart.

Nur im external-mock-Modus verfügbar. Fester Benutzer: Dr. Anna Demo, Landessanitätsdirektion Salzburg, Referat 20902, Abteilung 9 Gesundheit, Land Salzburg, Rolle 716 (Amtsärztin/Amtsarzt). Assertion und ELGA-Kontextübernahme sind simuliert; keine signierte SAML-Assertion, kein echter PVP-SSO- oder ELGA-Aufruf. Die Demo-Sitzung ist keine Zugriffssperre für die Mock-APIs. Das Online-Protokoll zeigt die Schritte ohne Sitzungstoken.

Patientensuche · ZPI/PDQ

POST /api/eimpf/patients/search

Eingabe: FHIR R4 Patient mit mindestens einem Suchkriterium: identifier, name, birthDate oder gender. Kennungen werden exakt verglichen, Namen als Präfix ohne Beachtung der Großschreibung; Kriterien werden gemeinsam angewendet. Ausgabe: FHIR Bundle vom Typ searchset mit total und Patient-Treffern aus drei festen synthetischen Datensätzen. Keine Treffer: total 0; ungültige Eingaben: HTTP 400; über 16 KB: HTTP 413.

CDA erzeugen

POST /api/v1/Composition: FHIR-Dokument-Bundle → echtes eImpfpass-CDA als XML, ohne Speicherung. Maximal 1 MB. Ungültige Eingaben: HTTP 400; zu groß: HTTP 413.

eImpfdokument an ELGA übertragen (Mock)

GET /api/eimpf/documents/{id}/transfer liest den Status; POST simuliert Annahme und Registrierung eines gespeicherten Dokuments. Antwort: mode=external-mock, status=simulated-success, documentId, receiptId und transferredAt. Wiederholungen liefern denselben persistenten Beleg. Keine externe ELGA-Verbindung. Vorschauen werden nicht übertragen.

Dokumente speichern, suchen und abrufen

POST /api/eimpf/documents: FHIR-Dokument-Bundle → CDA-Erzeugung und lokale Speicherung, HTTP 201 mit id, bundle und cdaUrl.

GET /api/eimpf/documents: alle lokalen Dokumente mit aus CDA gelesenen FHIR-Daten.

GET /api/eimpf/documents/{id}: aus CDA gelesene FHIR-Daten. GET /api/eimpf/documents/{id}/cda: originales CDA-XML. GET /api/eimpf/documents/{id}/view: CDA als HTML. Fehlendes Dokument: HTTP 404. Der Abruf führt keine ZPI-Abfrage aus.

CDA darstellen

POST /api/eimpf/cda/view: CDA-XML → HTML mittels lokalem ELGA-Referenzstylesheet, ohne Speicherung. Maximal 1 MB.

Impfstoffkatalog

GET /api/eimpf/vaccines: mitgelieferter Katalog mit code, name und shortName.

Online-Protokoll

GET /api/eimpf/activity?after={id}: Ereignisse nach dem Cursor mit runId, firstId, lastId und events. Bis zu 500 Ereignisse, Anfrage-ID zur Zuordnung der Schritte. Der Abruf selbst wird nicht protokolliert.

Zur eImpfpass-UI