<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="KT2AuditEvent" />
  <language value="nl-NL" />
  <url value="http://koppeltaal.nl/fhir/StructureDefinition/KT2AuditEvent" />
  <version value="0.10.0" />
  <name value="KT2_AuditEvent" />
  <status value="draft" />
  <date value="2023-01-31" />
  <publisher value="VZVZ" />
  <contact>
    <name value="VZVZ" />
    <telecom>
      <system value="email" />
      <value value="standaardisatie@vzvz.nl" />
      <use value="work" />
    </telecom>
  </contact>
  <description value="The AuditEvent resource is used to consolidate and track logging information within the Koppeltaal ecosystem. It captures details about system activities, data access, and interactions between applications for security and compliance purposes." />
  <jurisdiction>
    <coding>
      <system value="urn:iso:std:iso:3166" />
      <code value="NL" />
      <display value="Netherlands" />
    </coding>
  </jurisdiction>
  <copyright value="VZVZ" />
  <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.extension">
      <path value="AuditEvent.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
    </element>
    <element id="AuditEvent.extension:resource-origin">
      <path value="AuditEvent.extension" />
      <sliceName value="resource-origin" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://koppeltaal.nl/fhir/StructureDefinition/resource-origin" />
      </type>
    </element>
    <element id="AuditEvent.extension:traceId">
      <path value="AuditEvent.extension" />
      <sliceName value="traceId" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Extension" />
        <profile value="http://koppeltaal.nl/fhir/StructureDefinition/trace-id" />
      </type>
    </element>
    <element id="AuditEvent.extension:correlationId">
      <path value="AuditEvent.extension" />
      <sliceName value="correlationId" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Extension" />
        <profile value="http://koppeltaal.nl/fhir/StructureDefinition/correlation-id" />
      </type>
    </element>
    <element id="AuditEvent.extension:requestId">
      <path value="AuditEvent.extension" />
      <sliceName value="requestId" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Extension" />
        <profile value="http://koppeltaal.nl/fhir/StructureDefinition/request-id" />
      </type>
    </element>
    <element id="AuditEvent.type">
      <path value="AuditEvent.type" />
      <comment value="For more information on which values to use see [Koppeltaal Implementation Guide](https://simplifier.net/guide/koppeltaal/Home/Profile-Specific-Notes/AuditEvent.page.md?version=current)" />
      <binding>
        <strength value="extensible" />
        <valueSet value="http://hl7.org/fhir/ValueSet/audit-event-type" />
      </binding>
    </element>
    <element id="AuditEvent.subtype">
      <path value="AuditEvent.subtype" />
      <comment value="For more information on which values to use see [Koppeltaal Implementation Guide](https://simplifier.net/guide/koppeltaal/Home/Profile-Specific-Notes/AuditEvent.page.md?version=current)" />
    </element>
    <element id="AuditEvent.purposeOfEvent">
      <path value="AuditEvent.purposeOfEvent" />
      <max value="0" />
    </element>
    <element id="AuditEvent.agent.type">
      <path value="AuditEvent.agent.type" />
      <comment value="For more information on which values to use see [Koppeltaal Implementation Guide](https://simplifier.net/guide/koppeltaal/Home/Profile-Specific-Notes/AuditEvent.page.md?version=current)" />
      <min value="1" />
      <binding>
        <strength value="extensible" />
        <valueSet value="http://hl7.org/fhir/ValueSet/participation-role-type" />
      </binding>
    </element>
    <element id="AuditEvent.agent.role">
      <path value="AuditEvent.agent.role" />
      <comment value="This element is not used in the context of Koppeltaal 2.0" />
    </element>
    <element id="AuditEvent.agent.who">
      <path value="AuditEvent.agent.who" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://koppeltaal.nl/fhir/StructureDefinition/KT2Device" />
      </type>
    </element>
    <element id="AuditEvent.agent.altId">
      <path value="AuditEvent.agent.altId" />
      <max value="0" />
    </element>
    <element id="AuditEvent.agent.name">
      <path value="AuditEvent.agent.name" />
      <max value="0" />
    </element>
    <element id="AuditEvent.agent.location">
      <path value="AuditEvent.agent.location" />
      <max value="0" />
    </element>
    <element id="AuditEvent.agent.policy">
      <path value="AuditEvent.agent.policy" />
      <max value="0" />
    </element>
    <element id="AuditEvent.agent.media">
      <path value="AuditEvent.agent.media" />
      <max value="0" />
    </element>
    <element id="AuditEvent.agent.purposeOfUse">
      <path value="AuditEvent.agent.purposeOfUse" />
      <max value="0" />
    </element>
    <element id="AuditEvent.source.site">
      <path value="AuditEvent.source.site" />
      <definition value="Domainname of the observer" />
    </element>
    <element id="AuditEvent.source.observer">
      <path value="AuditEvent.source.observer" />
      <definition value="Reporter that creates the event" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://koppeltaal.nl/fhir/StructureDefinition/KT2Device" />
      </type>
    </element>
    <element id="AuditEvent.entity">
      <path value="AuditEvent.entity" />
      <min value="1" />
    </element>
    <element id="AuditEvent.entity.type">
      <path value="AuditEvent.entity.type" />
      <comment value="For more information on which values to use see [Koppeltaal Implementation Guide](https://simplifier.net/guide/koppeltaal/Home/Profile-Specific-Notes/AuditEvent.page.md?version=current)" />
    </element>
    <element id="AuditEvent.entity.lifecycle">
      <path value="AuditEvent.entity.lifecycle" />
      <comment value="This element is not used in the context of Koppeltaal 2.0" />
    </element>
    <element id="AuditEvent.entity.securityLabel">
      <path value="AuditEvent.entity.securityLabel" />
      <comment value="This element is not used in the context of Koppeltaal 2.0" />
    </element>
    <element id="AuditEvent.entity.query">
      <path value="AuditEvent.entity.query" />
      <comment value="Warning: name and query are mutually exclusive. Use query to register the full query, including parameters." />
    </element>
    <element id="AuditEvent.entity.detail">
      <path value="AuditEvent.entity.detail" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>