Zum Inhalt

Protokollierung

Das ELGA-Protokollierungssystem dient der Wahrung von Transparenz und Nachvollziehbarkeit aller erfolgten Aktionen wie z.B. auf personenbezogene, medizinische Dokumente, in der ELGA Infrastruktur. Protokollnachrichten werden in lokale Audit Record Repositories (L-ARR) der ELGA-Bereiche und im L-ARR der zentralen Komponenten persistiert (Z-L-ARR). Die Gesamtmenge der einzelnen L-ARR und Z-L-ARR Protokolle dient einer lückenlosen, forensisch nachvollziehbaren Aufzeichnung aller lesenden, schreibenden und modifizierenden Aktionen im ELGA / e-Health Kontext.

Generell soll im e-Health Kontext jede Transaktion, sowohl in L-ARR wie auch in Z-L-ARR, protokolliert werden, wie dies in ELGA bereits üblich ist. Die Events, welche im e-Health stattfinden, sind als solche speziell zu markieren, um eine eindeutige Trennung bzw. Filtermöglichkeit der ELGA / e-Health Protokolldaten, durch die gemeinsame Verwendung der bereits in ELGA etablierten Infrastruktur, zu gewährleisten.

Im aggregierten Audit Record Repository (A-ARR) findet die Protokollierung nur bei bestimmten e-Health Anwendungen statt. Im Kontext des e-Impfpasses findet die Protokollierung im A-ARR auch statt.

Alle Aktivitäten der ZGF werden mittels ATNA Audit Trails in das Audit Repository der Fachlogik der zentralen e-Impfpass Anwendung protokolliert. Zusätzlich werden festgelegte Dokumententransaktionen an das A-ARR weitergeleitet. Für alle empfangenen und weitergeleiteten Anfragen schreibt die initiierende und antwortende ZGF L-ARR ATNA Audits.

Trennung der Protokolleinträge im Kontext von ELGA und e-Health

Um eine eindeutige Trennung / Filtermöglichkeit zu schaffen, ist wo möglich das Attribut Purpose of Use (PoU) mitzuführen. Wie in den nächsten Kapiteln beschrieben wird im Z-L-ARR und A-ARR eine Datenbankspalte hinzugefügt. Im L-ARR wird die Anwendung ID in einem bereits existierenden Attribut gespeichert.

Z-L-ARR & A-ARR

Um eine klare Trennung zwischen ELGA und den jeweiligen e-Health Anwendung zu gewährleisten, wird in den zentralen Protokolldiensten Z-L-ARR und A-ARR eine zusätzliche Spalte eingeführt, um den Applikationskontext zu speichern.

In der neuen Datenbankspalte wird der Anwendung ID gespeichert. Im Kontext von e-Health Anwendungen wird die Anwendung ID dem Attribute Purpose of Use der SAML-Assertion entnommen. Im Kontext ELGA gibt es keine klare Unterscheidung der Applikationen e-Befund und e-Medikation in der SAML-Assertion, wo möglich wird versucht vom Transaktionskontext die Anwendung ID zu entnehmen. Für e-Befunde wäre dies "101", für die e-Medikation "102", für den e-Impfpass "103", etc. und für die Virtuellen Organisationen sind die Wertebereiche 150 – 200 reserviert. Falls keine Trennung für die Anwendungen e-Befunde und e-Medikation möglich ist, so führen diese den gemeinsamen Anwendungscode "100" für ELGA. Derzeit ist der Wert "100" nicht in Verwendung, da alle Transaktionen außerhalb des Kontexts VO und e-Impfpass, als ELGA "101" geführt werden.

  • Tabelle table audit_event_a2r2 wurde um das Attribut AUDIT_EVENT_POU Number(5,0) erweitert
  • Tabelle table audit_event_lar2 wurde um das Attribut AUDIT_EVENT_POU Number(5,0) erweitert

L-ARR

Um die lokale Trennung der Audits zu ermöglichen, wird bei L-ARR Audits die ELGA e-Health Anwendung ID der e-Health Applikation mitgeführt.

Beim L-ARR werden die applikatorischen Daten im Attribut "UserID" des Elements "ActiveParticipant" im Suffix "@" mit der Anwendung ID angeführt. Diese muss auch im Kontext der Weiterentwicklungen beibehalten werden.

Im ELGA Kontext erfolgt diesbezüglich keine Änderung der Protokollierung.

A-ARR Audit Events

Es sind nicht für alle Transaktionen Protokollierungseinträge im A-ARR zu schreiben, sondern nur bei gewissen Audit Events. In den nachfolgenden Unterkapiteln sind die A-ARR Audit Events der e-Health Anwendung e-Impfpass beschrieben. Es handelt sich bei den darin enthaltenen Beispielen um GDA Audits. Die Unterscheidung gegenüber dem Bürger Audit ist zu beachten. Siehe dazu A-ARR Pflichtenheft – Kapitel Audit Events, wo die vollständige Liste zu entnehmen ist.

Das Datenelement poU wird in der Datenbank gespeichert, aber dem EBP nicht zurückgegeben.

Immunisierungsdaten geändert (Immunisierungsdaten / Immunisierungs-Metadaten geändert)

Event Type: "(61)"

Immunisierungsdaten geändert (e-Impfpass), Codeliste ("ELGA_AuditEventType_A-ARR_VS")

Trigger Event:

  • IHE Transaktion "Provide and Register Document Set-b [ITI-41]"
  • IHE Transaktion "Update Document Set [ITI-57]: UpdateAvailabilityStatus"
A-ARR e-Impfpass Audit Beispiel (wie in der Datenbank gespeichert)
<AuditEvent xmlns="com:tiani-spirit:a2r2"
    auditSrcType="8"
    datetime="2019-12-17T09:57:52.917Z"
    destID="https://eImpf.kollab2-spirit.int/XCA/eHealth/respGW"
    destIPAddr="eImpf.kollab2-spirit.int"
    errorMsg="[0] success"
    eventType="61"
    msgID="urn:uuid:40225836-8564-3414-9657-503548536777"
    patID="GH:z6OS4dNSgKYAyCA+P63XgrUBHhg=^^^&amp;amp;1.2.40.0.10.2.1.1.149&amp;amp;ISO"
    poU="103"
    result="0"
    siteID="urn:oid:1.11.1.1"
    srcID="urn:oid:1.2.40.0.34.99.10.1.1.1.36419"
    srcIPAddrChain="84.38.124.34, 10.10.104.23"
    trID="urn:uuid:40225836-8564-3414-9657-503548536777"
    userID="Exec.MBA Irmèntraut 100WMiddendorf ELGATest"
    userRole="703">
    <AuditEventData>
        <Resource type="Document">
            <Item key="DocumentEntry.uniqueID" value="1.2.40.0.34.99.10.1.1.1.36419^20191217095749"/>
            <Item key="DocumentEntry.classCode" value="11369-6"/>
        </Resource>
    </AuditEventData>
</AuditEvent>

Kompletter Immunisierungsstatus aufgerufen

Event Type: "(62)"

Immunisierungsdaten aufgerufen (e-Impfpass), Codeliste ("ELGA_AuditEventType_A-ARR_VS")

Trigger Event:

  • IHE Transaktion "Query Pharmacy Documents [PHARM-1]: FindMedicationList"
  • IHE Transaktion "Query Pharmacy Documents [XCF]: FindMedicationList"
A-ARR e-Impfpass Audit Beispiel (wie in der Datenbank gespeichert)
<AuditEvent xmlns="com:tiani-spirit:a2r2"
    auditSrcType="8"
    datetime="2019-12-17T10:54:45.187Z"
    destID="http://bes.tiani-spirit.com/ACSFacade/XCA/eHealth/initGW"
    destIPAddr="10.10.104.23"
    errorMsg="[0] success"
    eventType="62"
    msgID="urn:uuid:bf70d540-af0a-4ec8-b534-1cb73ca9bb53"
    patID="GH:W8t8kXzhYVo6wy+khD7VpzBIlJA=^^^&amp;1.2.40.0.10.2.1.1.149&amp;ISO"
    poU="103"
    result="0"
    siteID="urn:oid:1.11.1.1"
    srcID="urn:oid:1.2.40.0.34.99.10.1.1.1.31498"
    srcIPAddrChain="84.38.116.130, 10.10.104.23"
    trID="urn:oid:1.2.40.0.34.6.4.2.1576580071791.712"
    userID="UMS Monitoring Client"
    userRole="702">
    <AuditEventData>
        <Resource type="DocumentQuery">
            <Item key="AdhocQueryID" value="urn:uuid:80ebbd83-53c1-4453-9860-349585962af6"/>
            <Item key="$XDSDocumentEntryStatus" value="urn:oasis:names:tc:ebxml-regrep:StatusType:Approved"/>
            <Item key="$XDSDocumentEntryPatientId" value="GH:W8t8kXzhYVo6wy+khD7VpzBIlJA=^^^&amp;1.2.40.0.10.2.1.1.149&amp;ISO"/>
            <Item key="$XDSDocumentEntryType" value="urn:uuid:34268e47-fdf5-41a6-ba33-82133c465248"/>
        </Resource>
        <Resource type="Document">
            <Item key="DocumentEntryUUID" value="urn:uuid:43896b21-d76a-42e3-9fd8-e61e4271881e"/>
            <Item key="homeCommunityId" value="urn:oid:1.2.40.0.34.3.9.114"/>
            <Item key="DocumentEntry.uniqueID" value="1.2.3.4713^1000"/>
            <Item key="DocumentEntry.classCode" value="11369-6"/>
        </Resource>
    </AuditEventData>
</AuditEvent>

Z-L-ARR Audit Events (zentral)

Für alle im Kontext e-Impfpass durchgeführten Zentraltransaktionen wird ein Protokolleintrag im Z-L-ARR geschrieben.

Z-L-ARR e-Impfpass Audit Beispiel
<AuditEvent xmlns="com:tiani-spirit:a2r2"
    auditSrcType="2"
    datetime="2019-12-17T10:54:45.383Z"
    destID="http://acs.kollab2-spirit.int/SpiritACS/STS/TRA"
    destIPAddr="10.10.104.4"
    errorMsg="[0] success"
    eventType="21"
    msgID="uuid:71DBBDC8-34B2-4D46-AB3B-B17A3EB3600F"
    patID=""
    poU="103"
    result="0"
    siteID="BeSCentral"
    srcID="urn:oid:1.2.40.0.34.99.10.1.1.1.31498"
    srcIPAddrChain="84.38.116.130, 10.10.104.23, 10.10.104.4"
    trID="urn:oid:1.2.40.0.34.6.4.2.1576580071791.812"
    userID="UMS Monitoring Client"
    userRole="702"/>

Hinweis: Es handelt sich hierbei nur um einen Auszug der Unterschiede zwischen der ELGA und der e-Impfpass Z-L-ARR Audits.

Die lokalen Audit Events der zentralen BeS Services werden in den folgenden Unterkapiteln behandelt.

Ausstellen einer e-Impfpass Kontext-Assertion

Erstellende Komponente ETS
Trigger Event "e-Impfpass Kontext-RST Issue" Transaktion
Enthaltene Assertion HCP, Bereichs IDA, e-Card IDA, User-I, Mandate-I, PVP2 IDA

Attribute des Elements <AuditEvent>:

Attribut Inhalt
msgID Der Wert des <wsa:MessageID> Elements der zugrunde liegenden Transaktion
eventType "21" (Issue Token), Wert aus Codeliste "ELGA_AuditEventType_VS".
result Ergebnis der zugrunde liegenden Transaktion.
"0" (Erfolg) oder "1" (Fehler)
datetime

Zeitpunkt (Datum und Uhrzeit), wann die zugrunde liegende Transaktion empfangen wurde, UTC Repräsentation

Format CCYY-MM-DDThh:mm:ssZ

gemäß XML Schema Part 2: Datatypes Second Edition, W3C Recommendation 28 Oct 2004, Datentyp "dateTime"

auditSrcType "2" (ETS), Wert aus Codeliste "ELGA_AuditSourceType_VS".
siteID ELGA Bereichs-OID des zentralen Berechtigungssystems.
srcID

Abhängig von der vorhandenen Assertion

IDENTITY:

Inhalt des SAML2 Attributs "urn:oasis:names:tc:xspa:1.0:subject:organization-id"

e-card:

SAML Attribute "VP_Vertragspartnernummer"

srcIPAddrChain Inhalt des HTTP Header Parameter 'x-forwarded-for' des empfangenen Requests.
destID URL des ETS
destIPAddr IP Adresse der ETS Komponente
userID

Abhängig von der vorhandenen Assertion

IDENTITY:

Inhalt des SAML2 Attributs "urn:oasis:names:tc:xacml:1.0:subject:subject-id"

e-card:

SAML Attribute "VP_Vorname" + " " + "VP_Zuname"

userRole

Abhängig von der vorhandenen Assertion

IDENTITY:

Inhalt des SAML2 Attributs "urn:oasis:names:tc:xacml:2.0:subject:role"

e-card:

SAML Attribute "VP_Taetigkeitsbereichcode"

trID Transaktions ID (Transaktionsklammer) der zugrunde liegenden Transaktion.
patID "" (null string)
errorMsg Fehlermeldung der zugrunde liegenden Transaktion, wenn diese nicht erfolgreich war, sonst ‘[0] success’.

Tabelle: AuditEvent Attribute Ausstellen einer e-Impfpass Kontext-Assertion

Das /AuditEvent/AuditEventData Element enthält ein <Resource> Element mit type="Security Token", welches den Typ der ausgestellten Assertion beschreibt:

Resource/@type "Security Token"
Item/@key "TokenType"
Item/@value Typ der ausgestellten Assertion (wst:TokenType)

Tabelle: AuditEventData Element Ausstellen einer e-Impfpass Kontext-Assertion

Invalidieren einer e-Impfpass Kontext-Assertion

Erstellende Komponente ETS
Trigger Event "e-Impfpass Kontext-RST Cancel" Transaktion
Enthaltene Assertion e-Impfpass Kontext-Assertion

Attribute des Elements <AuditEvent>:

Attribut Inhalt
msgID Der Wert des <wsa:MessageID> Elements der zugrunde liegenden Transaktion
eventType "22" (Invalidate Token), Wert aus Codeliste "ELGA_AuditEventType_VS".
result Ergebnis der zugrunde liegenden Transaktion.
"0" (Erfolg) oder "1" (Fehler)
datetime

Zeitpunkt (Datum und Uhrzeit), wann die zugrunde liegende Transaktion empfangen wurde, UTC Repräsentation

Format CCYY-MM-DDThh:mm:ssZ

gemäß XML Schema Part 2: Datatypes Second Edition, W3C Recommendation 28 Oct 2004, Datentyp "dateTime"

auditSrcType "2" (ETS), Wert aus Codeliste "ELGA_AuditSourceType_VS".
siteID ELGA Bereichs-OID des zentralen Berechtigungssystems.
srcID Inhalt des SAML2 Attributs "urn:oasis:names:tc:xspa:1.0:subject:organization-id" der e-Impfpass Kontext-Assertion
srcIPAddrChain Inhalt des HTTP Header Parameter 'x-forwarded-for' des empfangenen Requests.
destID URL des ETS
destIPAddr IP Adresse der ETS Komponente
userID Inhalt des SAML2 Attributs "urn:oasis:names:tc:xacml:1.0:subject:subject-id" der e-Impfpass Kontext-Assertion.
userRole Inhalt des SAML2 Attributs "urn:oasis:names:tc:xacml:2.0:subject:role" der e-Impfpass Kontext-Assertion.
trID Transaktions ID (Transaktionsklammer) der zugrunde liegenden Transaktion.
patID "" (null string)
errorMsg Fehlermeldung der zugrunde liegenden Transaktion, wenn diese nicht erfolgreich war, sonst ‘[0] success’.

Tabelle: AuditEvent Attribute Invalidieren einer e-Impfpass Kontext-Assertion

Das /AuditEvent/AuditEventData Element enthält ein <Resource> Element mit type="Security Token", welches den Typ der ausgestellten Assertion beschreibt:

Resource/@type "Security Token"
Item/@key "TokenType"
Item/@value Typ der invalidierten Assertion (wst:TokenType)

Tabelle: AuditEventData Element Invalidieren einer e-Impfpass Kontext-Assertion

Erneuern einer e-Impfpass Kontext-Assertion

Erstellende Komponente ETS
Trigger Event "e-Impfpass Kontext-RST Renew" Transaktion
Enthaltene Assertion e-Impfpass Kontext-Assertion

Attribute des Elements <AuditEvent>:

Attribut Inhalt
msgID Der Wert des <wsa:MessageID> Elements der zugrunde liegenden Transaktion
eventType "24" (Renew Token), Wert aus Codeliste "ELGA_AuditEventType_VS".
result Ergebnis der zugrunde liegenden Transaktion.
"0" (Erfolg) oder "1" (Fehler)
datetime

Zeitpunkt (Datum und Uhrzeit), wann die zugrunde liegende Transaktion empfangen wurde, UTC Repräsentation

Format CCYY-MM-DDThh:mm:ssZ

gemäß XML Schema Part 2: Datatypes Second Edition, W3C Recommendation 28 Oct 2004, Datentyp "dateTime"

auditSrcType "2" (ETS), Wert aus Codeliste "ELGA_AuditSourceType_VS".
siteID ELGA Bereichs-OID des zentralen Berechtigungssystems.
srcID Inhalt des SAML2 Attributs "urn:oasis:names:tc:xspa:1.0:subject:organization-id" der e-Impfpass Kontext-Assertion
srcIPAddrChain Inhalt des HTTP Header Parameter 'x-forwarded-for' des empfangenen Requests.
destID URL des ETS
destIPAddr IP Adresse der ETS Komponente
userID Inhalt des SAML2 Attributs "urn:oasis:names:tc:xacml:1.0:subject:subject-id" der e-Impfpass Kontext-Assertion.
userRole Inhalt des SAML2 Attributs "urn:oasis:names:tc:xacml:2.0:subject:role" der e-Impfpass Kontext-Assertion.
trID Transaktions ID (Transaktionsklammer) der zugrunde liegenden Transaktion.
patID "" (null string)
errorMsg Fehlermeldung der zugrunde liegenden Transaktion, wenn diese nicht erfolgreich war, sonst ‘[0] success’.

Tabelle: AuditEvent Attribute Erneuern einer e-Impfpass Kontext-Assertion

Das /AuditEvent/AuditEventData Element enthält ein <Resource> Element mit type="Security Token", welches den Typ der ausgestellten Assertion beschreibt:

Resource/@type "Security Token"
Item/@key "TokenType"
Item/@value Typ der invalidierten Assertion (wst:TokenType)

Tabelle: AuditEventData Element Erneuern einer e-Impfpass Kontext-Assertion

Ausstellen einer e-Impfpass Treatment-Assertion

Erstellende Komponente ETS
Trigger Event "e-Impfpass Treatment-Assertion RST Issue" Transaktion
Enthaltene Assertion e-Impfpass Kontext-Assertion

Attribute des Elements <AuditEvent>:

Attribut Inhalt
msgID Der Wert des <wsa:MessageID> Elements der zugrunde liegenden Transaktion
eventType "21" (Issue Token), Wert aus Codeliste "ELGA_AuditEventType_VS".
result Ergebnis der zugrunde liegenden Transaktion.
"0" (Erfolg) oder "1" (Fehler)
datetime

Zeitpunkt (Datum und Uhrzeit), wann die zugrunde liegende Transaktion empfangen wurde, UTC Repräsentation

Format CCYY-MM-DDThh:mm:ssZ

gemäß XML Schema Part 2: Datatypes Second Edition, W3C Recommendation 28 Oct 2004, Datentyp "dateTime"

auditSrcType "2" (ETS), Wert aus Codeliste "ELGA_AuditSourceType_VS".
siteID ELGA Bereichs-OID des zentralen Berechtigungssystems.
srcID Inhalt des SAML2 Attributs "urn:oasis:names:tc:xspa:1.0:subject:organization-id" der e-Impfpass Kontext-Assertion
srcIPAddrChain Inhalt des HTTP Header Parameter 'x-forwarded-for' des empfangenen Requests.
destID URL des ETS
destIPAddr IP Adresse der ETS Komponente
userID Inhalt des SAML2 Attributs "urn:oasis:names:tc:xacml:1.0:subject:subject-id" der e-Impfpass Kontext-Assertion.
userRole Inhalt des SAML2 Attributs "urn:oasis:names:tc:xacml:2.0:subject:role" der e-Impfpass Kontext-Assertion.
trID Transaktions ID (Transaktionsklammer) der zugrunde liegenden Transaktion.
patID Inhalt wird der zugrunde liegenden e-Impfpass Treatment-Assertion Anfrage entnommen
errorMsg Fehlermeldung der zugrunde liegenden Transaktion, wenn diese nicht erfolgreich war, sonst ‘[0] success’.

Tabelle: AuditEvent Attribute Ausstellen einer e-Impfpass Treatment-Assertion

Das /AuditEvent/AuditEventData Element enthält ein <Resource> Element mit type="Security Token", welches den Typ der ausgestellten Assertion beschreibt:

Resource/@type "Security Token"
Item/@key "TokenType"
Item/@value Typ der ausgestellten Assertion (wst:TokenType)

Tabelle: AuditEventData Element Ausstellen einer e-Impfpass Treatment-Assertion

L-ARR Audit Events (ATNA dezentral)

Von der initiierenden ZGF werden für jede Transaktion (schreibend und lesend) im initiierenden ELGA Bereich abhängig vom Transaktionstyp ATNA Protokolleinträge geschrieben. Es wird ein Audit in der Rolle als Server und ein weiterer Audit in der Rolle als Client (Weiterleitung an e-Impfpass ZGF) geschrieben.

Zusätzlich schreibt die e-Impfpass ZGF für jede empfangene Transaktion einen Client und einen Server ATNA Audit.

L-ARR e-Impfpass Audit Beispiel
<AuditMessage>
    <EventIdentification EventActionCode="E" EventDateTime="2019-12-16T12:35:01.643Z" EventOutcomeIndicator="0">
        <EventID code="110112" codeSystemName="DCM" displayName="Query"/>
        <EventTypeCode code="ITI-18" codeSystemName="IHE Transactions" displayName="Registry Stored Query"/>
    </EventIdentification>
    <ActiveParticipant UserID="urn:oid:1.2.40.0.34.99.10.1.12.1.990.1@103" AlternativeUserID="ACSFacade/ACSFacade/XCA_IMPF_INIT/InitXcaQuery_IMPF_MedList/" UserName="spirit" UserIsRequestor="true" NetworkAccessPointID="10.10.104.11" NetworkAccessPointTypeCode="2">
        <RoleIDCode code="110153" codeSystemName="DCM" displayName="Source"/>
    </ActiveParticipant>
    <ActiveParticipant UserID="Mauro@urn:oid:1.2.40.0.34.99.10.1.1.1.31498" UserIsRequestor="true">
        <RoleIDCode code="702" codeSystemName="ELGA Rollen" displayName="Krankenanstalt"/>
    </ActiveParticipant>
    <ActiveParticipant UserID="http://10.10.104.11:8081/ACSFacade/XCA/eHealth/initGW" AlternativeUserID="ACSFacade/ACSFacade/XCA_IMPF_INIT/" UserIsRequestor="false" NetworkAccessPointID="10.10.104.11" NetworkAccessPointTypeCode="2">
        <RoleIDCode code="110152" codeSystemName="DCM" displayName="Destination"/>
    </ActiveParticipant>
    <AuditSourceIdentification AuditEnterpriseSiteID="urn:oid:1.2.40.0.34.99.10.1.12.1.990.1" AuditSourceID="urn:oid:1.2.40.0.34.99.10.1.12.1.990.1@103">
        <AuditSourceTypeCode code="8" codeSystemName="ELGA_AuditSourceType_VS" displayName="ZGF"/>
    </AuditSourceIdentification>
</AuditMessage>

Hinweis: Es handelt sich hierbei nur um einen Auszug der Unterschiede zwischen der ELGA und der e-Impfpass L-ARR Audits.

Nachfolgend sind weitere Beispiele für e-Impfpass Audits aufgelistet:

LARR_ITI_Audits.xml