DiPagNutzungsprotokoll (AuditEvent)

Metadaten

Canonicalhttps://gematik.de/fhir/dipag/StructureDefinition/dipag-nutzungsprotokoll
Statusactive
Version1.1.0-rc2
Basishttp://hl7.org/fhir/StructureDefinition/AuditEvent

Inhalt

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
typeS Σ1..1CodingBinding
subtypeS Σ0..*CodingBinding
actionS Σ0..1codeBinding
period0..1Period
recordedS Σ1..1instant
outcomeS Σ0..1codeBinding
outcomeDescΣ0..1string
purposeOfEventΣ0..*CodeableConceptBinding
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
typeS1..1CodeableConceptBinding
role0..*CodeableConcept
id0..1string
extensionI0..*Extension
referenceΣ I0..1string
typeΣ0..1uriBinding
identifierS Σ0..1Identifier
displayS Σ1..1string
altId0..1string
name0..1string
requestorS Σ1..1boolean
location0..1Reference(Location)
policy0..*uri
media0..1CodingBinding
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
address0..1string
type0..1codeBinding
purposeOfUse0..*CodeableConceptBinding
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
site0..1string
id0..1string
extensionI0..*Extension
referenceΣ I0..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayS Σ0..1string
type0..*CodingBinding
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
id0..1string
extensionI0..*Extension
referenceΣ I0..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayS Σ0..1string
type0..1CodingBinding
role0..1CodingBinding
lifecycle0..1CodingBinding
securityLabel0..*CodingBinding
nameS Σ I0..1string
descriptionS0..1string
queryΣ I0..1base64Binary
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
type1..1string
valueStringstring
valueBase64Binarybase64Binary
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
id0..1string
extensionI0..*Extension
referenceΣ I0..1string
typeΣ1..1uriBindingPattern
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeS Σ I1..1CodeableConceptBindingPattern
systemS Σ1..1uriFixed Value
valueS Σ I1..1string
periodΣ0..1Period
assignerΣ0..1Reference(Organization)
displayΣ0..1string
type0..1CodingBinding
role0..1CodingBinding
lifecycle0..1CodingBinding
securityLabel0..*CodingBinding
nameΣ I0..1string
description0..1string
queryΣ I0..1base64Binary
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
type1..1string
valueStringstring
valueBase64Binarybase64Binary
<StructureDefinition xmlns="http://hl7.org/fhir">
    <id value="dipag-nutzungsprotokoll" />
    <url value="https://gematik.de/fhir/dipag/StructureDefinition/dipag-nutzungsprotokoll" />
    <version value="1.1.0-rc2" />
    <name value="DiPagNutzungsprotokoll" />
    <title value="Digitale Patientenrechnung Nutzungsprotokoll" />
    <status value="active" />
    <experimental value="false" />
    <date value="2025-04-07" />
    <publisher value="gematik GmbH" />
    <contact>
        <telecom>
            <system value="url" />
            <value value="http://gematik.de/" />
        </telecom>
    </contact>
    <fhirVersion value="4.0.1" />
    <kind value="resource" />
    <abstract value="false" />
    <type value="AuditEvent" />
    <baseDefinition value="http://hl7.org/fhir/StructureDefinition/AuditEvent" />
    <derivation value="constraint" />
    <differential>
        <element id="AuditEvent.type">
            <path value="AuditEvent.type" />
            <comment value="Angabe ob es sich um eine zu protokollierende Nutzerinteraktion nach Abschnittt &#39;5.5.9 Nutzerprotokolle&#39; des Feature-Dokuments &#39;Digitale Patientenrechnung&#39; handelt oder um eine durchgef&#252;hrte REST-API-Interaktion durch den FD." />
            <mustSupport value="true" />
            <binding>
                <strength value="required" />
                <valueSet value="https://gematik.de/fhir/dipag/ValueSet/dipag-audit-event-type-vs" />
            </binding>
        </element>
        <element id="AuditEvent.subtype">
            <path value="AuditEvent.subtype" />
            <comment value="Erlaubt die Kodierung aller REST-API Operationen der Spec-Digitale Patientenrechnung" />
            <mustSupport value="true" />
            <binding>
                <strength value="extensible" />
                <valueSet value="https://gematik.de/fhir/dipag/ValueSet/dipag-audit-event-sub-type-vs" />
            </binding>
        </element>
        <element id="AuditEvent.action">
            <path value="AuditEvent.action" />
            <comment value="Angabe ob es sich um eine lesende/schreibende/ausf&#252;hrende Interaktion handelt." />
            <mustSupport value="true" />
        </element>
        <element id="AuditEvent.recorded">
            <path value="AuditEvent.recorded" />
            <comment value="Der Zeitpunkt des Zugriffs ist zu protokollieren. Siehe Abschnittt &#39;4.8.6 Protokolleintrag&#39;des Feature-Dokuments &#39;Digitale Patientenrechnung&#39;." />
            <mustSupport value="true" />
        </element>
        <element id="AuditEvent.outcome">
            <path value="AuditEvent.outcome" />
            <comment value="Angabe ob die zu protokollierende Interaktion erfolgreich ausgef&#252;hrt werden konnte." />
            <mustSupport value="true" />
        </element>
        <element id="AuditEvent.agent">
            <path value="AuditEvent.agent" />
            <comment value="Angaben zum Akteur (Nutzer oder DiPag FD), der den Zugriff durchgef&#252;hrt hat. Siehe Abschnittt &#39;4.8.6 Protokolleintrag&#39;des Feature-Dokuments &#39;Digitale Patientenrechnung&#39;." />
            <mustSupport value="true" />
        </element>
        <element id="AuditEvent.agent.type">
            <path value="AuditEvent.agent.type" />
            <min value="1" />
            <mustSupport value="true" />
            <binding>
                <strength value="required" />
                <valueSet value="https://gematik.de/fhir/dipag/ValueSet/dipag-audit-event-agent-type-vs" />
            </binding>
        </element>
        <element id="AuditEvent.agent.who">
            <path value="AuditEvent.agent.who" />
            <mustSupport value="true" />
        </element>
        <element id="AuditEvent.agent.who.identifier">
            <path value="AuditEvent.agent.who.identifier" />
            <comment value="Der Identifier wird vom Server gesetzt und kann entweder eine KVNR oder Telematik-ID sein" />
            <mustSupport value="true" />
        </element>
        <element id="AuditEvent.agent.who.display">
            <path value="AuditEvent.agent.who.display" />
            <min value="1" />
            <mustSupport value="true" />
        </element>
        <element id="AuditEvent.agent.requestor">
            <path value="AuditEvent.agent.requestor" />
            <mustSupport value="true" />
        </element>
        <element id="AuditEvent.source.observer.display">
            <path value="AuditEvent.source.observer.display" />
            <comment value="Freitext-Rolle des Servers, auf das Event ausgel&#246;st wurde" />
            <mustSupport value="true" />
        </element>
        <element id="AuditEvent.entity">
            <path value="AuditEvent.entity" />
            <slicing>
                <discriminator>
                    <type value="pattern" />
                    <path value="what.type" />
                </discriminator>
                <rules value="open" />
            </slicing>
            <mustSupport value="true" />
        </element>
        <element id="AuditEvent.entity.what">
            <path value="AuditEvent.entity.what" />
            <comment value="Referenzierung aller durch die zu protokollierende Interaktion betroffenen Ressourcen" />
            <mustSupport value="true" />
        </element>
        <element id="AuditEvent.entity.what.display">
            <path value="AuditEvent.entity.what.display" />
            <mustSupport value="true" />
        </element>
        <element id="AuditEvent.entity.name">
            <path value="AuditEvent.entity.name" />
            <mustSupport value="true" />
        </element>
        <element id="AuditEvent.entity.description">
            <path value="AuditEvent.entity.description" />
            <mustSupport value="true" />
        </element>
        <element id="AuditEvent.entity:Versicherter">
            <path value="AuditEvent.entity" />
            <sliceName value="Versicherter" />
            <min value="0" />
            <max value="1" />
            <mustSupport value="true" />
        </element>
        <element id="AuditEvent.entity:Versicherter.what.type">
            <path value="AuditEvent.entity.what.type" />
            <min value="1" />
            <patternUri value="Patient" />
        </element>
        <element id="AuditEvent.entity:Versicherter.what.identifier">
            <path value="AuditEvent.entity.what.identifier" />
            <type>
                <code value="Identifier" />
                <profile value="http://fhir.de/StructureDefinition/identifier-kvid-10" />
            </type>
            <patternIdentifier>
                <type>
                    <coding>
                        <system value="http://fhir.de/CodeSystem/identifier-type-de-basis" />
                        <code value="KVZ10" />
                    </coding>
                </type>
            </patternIdentifier>
        </element>
        <element id="AuditEvent.entity:Versicherter.what.identifier.type">
            <path value="AuditEvent.entity.what.identifier.type" />
            <min value="1" />
            <mustSupport value="true" />
        </element>
        <element id="AuditEvent.entity:Versicherter.what.identifier.system">
            <path value="AuditEvent.entity.what.identifier.system" />
            <mustSupport value="true" />
        </element>
        <element id="AuditEvent.entity:Versicherter.what.identifier.value">
            <path value="AuditEvent.entity.what.identifier.value" />
            <mustSupport value="true" />
        </element>
    </differential>
</StructureDefinition>
{
    "resourceType": "StructureDefinition",
    "id": "dipag-nutzungsprotokoll",
    "url": "https://gematik.de/fhir/dipag/StructureDefinition/dipag-nutzungsprotokoll",
    "version": "1.1.0-rc2",
    "name": "DiPagNutzungsprotokoll",
    "title": "Digitale Patientenrechnung Nutzungsprotokoll",
    "status": "active",
    "experimental": false,
    "date": "2025-04-07",
    "publisher": "gematik GmbH",
    "contact":  [
        {
            "telecom":  [
                {
                    "system": "url",
                    "value": "http://gematik.de/"
                }
            ]
        }
    ],
    "fhirVersion": "4.0.1",
    "kind": "resource",
    "abstract": false,
    "type": "AuditEvent",
    "baseDefinition": "http://hl7.org/fhir/StructureDefinition/AuditEvent",
    "derivation": "constraint",
    "differential": {
        "element":  [
            {
                "id": "AuditEvent.type",
                "path": "AuditEvent.type",
                "comment": "Angabe ob es sich um eine zu protokollierende Nutzerinteraktion nach Abschnittt '5.5.9 Nutzerprotokolle' des Feature-Dokuments 'Digitale Patientenrechnung' handelt oder um eine durchgeführte REST-API-Interaktion durch den FD.",
                "mustSupport": true,
                "binding": {
                    "strength": "required",
                    "valueSet": "https://gematik.de/fhir/dipag/ValueSet/dipag-audit-event-type-vs"
                }
            },
            {
                "id": "AuditEvent.subtype",
                "path": "AuditEvent.subtype",
                "comment": "Erlaubt die Kodierung aller REST-API Operationen der Spec-Digitale Patientenrechnung",
                "mustSupport": true,
                "binding": {
                    "strength": "extensible",
                    "valueSet": "https://gematik.de/fhir/dipag/ValueSet/dipag-audit-event-sub-type-vs"
                }
            },
            {
                "id": "AuditEvent.action",
                "path": "AuditEvent.action",
                "comment": "Angabe ob es sich um eine lesende/schreibende/ausführende Interaktion handelt.",
                "mustSupport": true
            },
            {
                "id": "AuditEvent.recorded",
                "path": "AuditEvent.recorded",
                "comment": "Der Zeitpunkt des Zugriffs ist zu protokollieren. Siehe Abschnittt '4.8.6 Protokolleintrag'des Feature-Dokuments 'Digitale Patientenrechnung'.",
                "mustSupport": true
            },
            {
                "id": "AuditEvent.outcome",
                "path": "AuditEvent.outcome",
                "comment": "Angabe ob die zu protokollierende Interaktion erfolgreich ausgeführt werden konnte.",
                "mustSupport": true
            },
            {
                "id": "AuditEvent.agent",
                "path": "AuditEvent.agent",
                "comment": "Angaben zum Akteur (Nutzer oder DiPag FD), der den Zugriff durchgeführt hat. Siehe Abschnittt '4.8.6 Protokolleintrag'des Feature-Dokuments 'Digitale Patientenrechnung'.",
                "mustSupport": true
            },
            {
                "id": "AuditEvent.agent.type",
                "path": "AuditEvent.agent.type",
                "min": 1,
                "mustSupport": true,
                "binding": {
                    "strength": "required",
                    "valueSet": "https://gematik.de/fhir/dipag/ValueSet/dipag-audit-event-agent-type-vs"
                }
            },
            {
                "id": "AuditEvent.agent.who",
                "path": "AuditEvent.agent.who",
                "mustSupport": true
            },
            {
                "id": "AuditEvent.agent.who.identifier",
                "path": "AuditEvent.agent.who.identifier",
                "comment": "Der Identifier wird vom Server gesetzt und kann entweder eine KVNR oder Telematik-ID sein",
                "mustSupport": true
            },
            {
                "id": "AuditEvent.agent.who.display",
                "path": "AuditEvent.agent.who.display",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "AuditEvent.agent.requestor",
                "path": "AuditEvent.agent.requestor",
                "mustSupport": true
            },
            {
                "id": "AuditEvent.source.observer.display",
                "path": "AuditEvent.source.observer.display",
                "comment": "Freitext-Rolle des Servers, auf das Event ausgelöst wurde",
                "mustSupport": true
            },
            {
                "id": "AuditEvent.entity",
                "path": "AuditEvent.entity",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "pattern",
                            "path": "what.type"
                        }
                    ],
                    "rules": "open"
                },
                "mustSupport": true
            },
            {
                "id": "AuditEvent.entity.what",
                "path": "AuditEvent.entity.what",
                "comment": "Referenzierung aller durch die zu protokollierende Interaktion betroffenen Ressourcen",
                "mustSupport": true
            },
            {
                "id": "AuditEvent.entity.what.display",
                "path": "AuditEvent.entity.what.display",
                "mustSupport": true
            },
            {
                "id": "AuditEvent.entity.name",
                "path": "AuditEvent.entity.name",
                "mustSupport": true
            },
            {
                "id": "AuditEvent.entity.description",
                "path": "AuditEvent.entity.description",
                "mustSupport": true
            },
            {
                "id": "AuditEvent.entity:Versicherter",
                "path": "AuditEvent.entity",
                "sliceName": "Versicherter",
                "min": 0,
                "max": "1",
                "mustSupport": true
            },
            {
                "id": "AuditEvent.entity:Versicherter.what.type",
                "path": "AuditEvent.entity.what.type",
                "min": 1,
                "patternUri": "Patient"
            },
            {
                "id": "AuditEvent.entity:Versicherter.what.identifier",
                "path": "AuditEvent.entity.what.identifier",
                "type":  [
                    {
                        "code": "Identifier",
                        "profile":  [
                            "http://fhir.de/StructureDefinition/identifier-kvid-10"
                        ]
                    }
                ],
                "patternIdentifier": {
                    "type": {
                        "coding":  [
                            {
                                "code": "KVZ10",
                                "system": "http://fhir.de/CodeSystem/identifier-type-de-basis"
                            }
                        ]
                    }
                }
            },
            {
                "id": "AuditEvent.entity:Versicherter.what.identifier.type",
                "path": "AuditEvent.entity.what.identifier.type",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "AuditEvent.entity:Versicherter.what.identifier.system",
                "path": "AuditEvent.entity.what.identifier.system",
                "mustSupport": true
            },
            {
                "id": "AuditEvent.entity:Versicherter.what.identifier.value",
                "path": "AuditEvent.entity.what.identifier.value",
                "mustSupport": true
            }
        ]
    }
}

Constraints/Invarianten

Terminology-Bindings

ElementStaerkeValueSet
AuditEvent.typerequiredhttps://gematik.de/fhir/dipag/ValueSet/dipag-audit-event-type-vs
AuditEvent.subtypeextensiblehttps://gematik.de/fhir/dipag/ValueSet/dipag-audit-event-sub-type-vs
AuditEvent.agent.typerequiredhttps://gematik.de/fhir/dipag/ValueSet/dipag-audit-event-agent-type-vs

Anmerkungen zu Must-Support-Feldern

FeldnameHinweise
AuditEvent.type

Angabe ob es sich um eine zu protokollierende Nutzerinteraktion nach Abschnittt '5.5.9 Nutzerprotokolle' des Feature-Dokuments 'Digitale Patientenrechnung' handelt oder um eine durchgeführte REST-API-Interaktion durch den FD.

AuditEvent.subtype

Erlaubt die Kodierung aller REST-API Operationen der Spec-Digitale Patientenrechnung

AuditEvent.action

Angabe ob es sich um eine lesende/schreibende/ausführende Interaktion handelt.

AuditEvent.recorded

Der Zeitpunkt des Zugriffs ist zu protokollieren. Siehe Abschnittt '4.8.6 Protokolleintrag'des Feature-Dokuments 'Digitale Patientenrechnung'.

AuditEvent.outcome

Angabe ob die zu protokollierende Interaktion erfolgreich ausgeführt werden konnte.

AuditEvent.agent

Angaben zum Akteur (Nutzer oder DiPag FD), der den Zugriff durchgeführt hat. Siehe Abschnittt '4.8.6 Protokolleintrag'des Feature-Dokuments 'Digitale Patientenrechnung'.

AuditEvent.agent.type
AuditEvent.agent.who
AuditEvent.agent.who.identifier

Der Identifier wird vom Server gesetzt und kann entweder eine KVNR oder Telematik-ID sein

AuditEvent.agent.who.display
AuditEvent.agent.requestor
AuditEvent.source.observer.display

Freitext-Rolle des Servers, auf das Event ausgelöst wurde

AuditEvent.entity
AuditEvent.entity.what

Referenzierung aller durch die zu protokollierende Interaktion betroffenen Ressourcen

AuditEvent.entity.what.display
AuditEvent.entity.name
AuditEvent.entity.description
AuditEvent.entity:Versicherter
AuditEvent.entity:Versicherter.what.identifier.type
AuditEvent.entity:Versicherter.what.identifier.system
AuditEvent.entity:Versicherter.what.identifier.value

Beispiele

AuditEvent
<AuditEvent xmlns="http://hl7.org/fhir">
    <id value="BeispielNutzungsprotokoll" />
    <meta>
        <profile value="https://gematik.de/fhir/dipag/StructureDefinition/dipag-nutzungsprotokoll" />
    </meta>
    <type>
        <code value="rest" />
    </type>
    <subtype>
        <code value="dipag-submit" />
    </subtype>
    <action value="C" />
    <recorded value="2024-05-29T11:25:54.123456+00:02" />
    <outcome value="0" />
    <agent>
        <type>
            <coding>
                <code value="humanuser" />
            </coding>
        </type>
        <who>
            <identifier>
                <type>
                    <coding>
                        <system value="http://terminology.hl7.org/CodeSystem/v2-0203" />
                        <code value="PRN" />
                    </coding>
                </type>
                <system value="https://gematik.de/fhir/sid/telematik-id" />
                <value value="11223344" />
            </identifier>
            <display value="Beispiel Leistungsempf&#228;nmger" />
        </who>
        <requestor value="true" />
    </agent>
    <source>
        <observer>
            <display value="FdV" />
        </observer>
    </source>
    <entity>
        <what>
            <reference value="DocumentReference/BeispielDocumentReferenceRechnungRetrieve" />
        </what>
    </entity>
</AuditEvent>
{
    "resourceType": "AuditEvent",
    "id": "BeispielNutzungsprotokoll",
    "meta": {
        "profile":  [
            "https://gematik.de/fhir/dipag/StructureDefinition/dipag-nutzungsprotokoll"
        ]
    },
    "type": {
        "code": "rest"
    },
    "subtype":  [
        {
            "code": "dipag-submit"
        }
    ],
    "action": "C",
    "recorded": "05/29/2024 11:23:54",
    "outcome": "0",
    "agent":  [
        {
            "type": {
                "coding":  [
                    {
                        "code": "humanuser"
                    }
                ]
            },
            "who": {
                "identifier": {
                    "type": {
                        "coding":  [
                            {
                                "code": "PRN",
                                "system": "http://terminology.hl7.org/CodeSystem/v2-0203"
                            }
                        ]
                    },
                    "system": "https://gematik.de/fhir/sid/telematik-id",
                    "value": "11223344"
                },
                "display": "Beispiel Leistungsempfänmger"
            },
            "requestor": true
        }
    ],
    "source": {
        "observer": {
            "display": "FdV"
        }
    },
    "entity":  [
        {
            "what": {
                "reference": "DocumentReference/BeispielDocumentReferenceRechnungRetrieve"
            }
        }
    ]
}