<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="https://medico-emr.net/medico/r4/sd/AuditEvent_StandardDocumentRead_1" />
  <name value="AuditEvent_StandardDocumentRead_1" />
  <status value="draft" />
  <fhirVersion value="4.0.0" />
  <mapping>
    <identity value="workflow" />
    <uri value="http://hl7.org/fhir/workflow" />
    <name value="Workflow Pattern" />
  </mapping>
  <mapping>
    <identity value="rim" />
    <uri value="http://hl7.org/v3" />
    <name value="RIM Mapping" />
  </mapping>
  <mapping>
    <identity value="dicom" />
    <uri value="http://nema.org/dicom" />
    <name value="DICOM Tag Mapping" />
  </mapping>
  <mapping>
    <identity value="w5" />
    <uri value="http://hl7.org/fhir/fivews" />
    <name value="FiveWs Pattern Mapping" />
  </mapping>
  <mapping>
    <identity value="w3c.prov" />
    <uri value="http://www.w3.org/ns/prov" />
    <name value="W3C PROV" />
  </mapping>
  <mapping>
    <identity value="fhirprovenance" />
    <uri value="http://hl7.org/fhir/provenance" />
    <name value="FHIR Provenance Mapping" />
  </mapping>
  <kind value="resource" />
  <abstract value="false" />
  <type value="AuditEvent" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/AuditEvent" />
  <derivation value="constraint" />
  <differential>
    <element id="AuditEvent.id">
      <path value="AuditEvent.id" />
      <definition value="Format: StdDocRead-####&#xD;&#xA;where ##### maps to x1350dre.dre where signstatus=1" />
      <min value="1" />
    </element>
    <element id="AuditEvent.meta">
      <path value="AuditEvent.meta" />
      <type>
        <code value="Meta" />
        <profile value="https://medico-emr.net/medico/r4/sd/Meta_ProfileOnly_1" />
      </type>
    </element>
    <element id="AuditEvent.meta.profile">
      <path value="AuditEvent.meta.profile" />
      <fixedCanonical value="https://medico-emr.net/medico/r4/sd/AuditEvent_StandardDocumentRead_1" />
    </element>
    <element id="AuditEvent.implicitRules">
      <path value="AuditEvent.implicitRules" />
      <max value="0" />
    </element>
    <element id="AuditEvent.language">
      <path value="AuditEvent.language" />
      <max value="0" />
    </element>
    <element id="AuditEvent.text">
      <path value="AuditEvent.text" />
      <max value="0" />
    </element>
    <element id="AuditEvent.contained">
      <path value="AuditEvent.contained" />
      <max value="0" />
    </element>
    <element id="AuditEvent.type.id">
      <path value="AuditEvent.type.id" />
      <max value="0" />
    </element>
    <element id="AuditEvent.type.system">
      <path value="AuditEvent.type.system" />
      <min value="1" />
      <fixedUri value="http://terminology.hl7.org/CodeSystem/iso-21089-lifecycle" />
    </element>
    <element id="AuditEvent.type.version">
      <path value="AuditEvent.type.version" />
      <min value="1" />
      <fixedString value="2017" />
    </element>
    <element id="AuditEvent.type.code">
      <path value="AuditEvent.type.code" />
      <min value="1" />
      <fixedCode value="access" />
    </element>
    <element id="AuditEvent.type.display">
      <path value="AuditEvent.type.display" />
      <max value="0" />
    </element>
    <element id="AuditEvent.type.userSelected">
      <path value="AuditEvent.type.userSelected" />
      <max value="0" />
    </element>
    <element id="AuditEvent.subtype">
      <path value="AuditEvent.subtype" />
      <max value="0" />
    </element>
    <element id="AuditEvent.action">
      <path value="AuditEvent.action" />
      <definition value="R stands for read - see https://www.hl7.org/fhir/codesystem-audit-event-action.html" />
      <min value="1" />
      <fixedCode value="R" />
    </element>
    <element id="AuditEvent.period">
      <path value="AuditEvent.period" />
      <max value="0" />
    </element>
    <element id="AuditEvent.recorded">
      <path value="AuditEvent.recorded" />
      <definition value="maps to x1350dre.signd" />
    </element>
    <element id="AuditEvent.outcome">
      <path value="AuditEvent.outcome" />
      <definition value="Code &quot;0&quot; indicates success - based on http://hl7.org/fhir/audit-event-outcome&#xD;&#xA;The read-operation for the user was handled successfully &#xD;&#xA;Note: If in x1350dre." />
      <min value="1" />
      <fixedCode value="0" />
    </element>
    <element id="AuditEvent.outcomeDesc">
      <path value="AuditEvent.outcomeDesc" />
      <max value="0" />
    </element>
    <element id="AuditEvent.purposeOfEvent">
      <path value="AuditEvent.purposeOfEvent" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="AuditEvent.purposeOfEvent.id">
      <path value="AuditEvent.purposeOfEvent.id" />
      <max value="0" />
    </element>
    <element id="AuditEvent.purposeOfEvent.coding">
      <path value="AuditEvent.purposeOfEvent.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="AuditEvent.purposeOfEvent.coding.id">
      <path value="AuditEvent.purposeOfEvent.coding.id" />
      <max value="0" />
    </element>
    <element id="AuditEvent.purposeOfEvent.coding.system">
      <path value="AuditEvent.purposeOfEvent.coding.system" />
      <min value="1" />
      <fixedUri value="http://terminology.hl7.org/CodeSystem/v3-ActReason" />
    </element>
    <element id="AuditEvent.purposeOfEvent.coding.version">
      <path value="AuditEvent.purposeOfEvent.coding.version" />
      <max value="0" />
    </element>
    <element id="AuditEvent.purposeOfEvent.coding.code">
      <path value="AuditEvent.purposeOfEvent.coding.code" />
      <min value="1" />
      <fixedCode value="PATSFTY" />
    </element>
    <element id="AuditEvent.purposeOfEvent.coding.display">
      <path value="AuditEvent.purposeOfEvent.coding.display" />
      <max value="0" />
    </element>
    <element id="AuditEvent.purposeOfEvent.coding.userSelected">
      <path value="AuditEvent.purposeOfEvent.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="AuditEvent.purposeOfEvent.text">
      <path value="AuditEvent.purposeOfEvent.text" />
      <max value="0" />
    </element>
    <element id="AuditEvent.agent.id">
      <path value="AuditEvent.agent.id" />
      <max value="0" />
    </element>
    <element id="AuditEvent.agent.type">
      <path value="AuditEvent.agent.type" />
      <definition value="medico: defines that the defined agent here is the use who read the document, i.e. RECIPient in the code-system" />
      <min value="1" />
    </element>
    <element id="AuditEvent.agent.type.id">
      <path value="AuditEvent.agent.type.id" />
      <max value="0" />
    </element>
    <element id="AuditEvent.agent.type.coding">
      <path value="AuditEvent.agent.type.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="AuditEvent.agent.type.coding.id">
      <path value="AuditEvent.agent.type.coding.id" />
      <max value="0" />
    </element>
    <element id="AuditEvent.agent.type.coding.system">
      <path value="AuditEvent.agent.type.coding.system" />
      <min value="1" />
      <fixedUri value="http://terminology.hl7.org/CodeSystem/contractsignertypecodes" />
    </element>
    <element id="AuditEvent.agent.type.coding.version">
      <path value="AuditEvent.agent.type.coding.version" />
      <max value="0" />
    </element>
    <element id="AuditEvent.agent.type.coding.code">
      <path value="AuditEvent.agent.type.coding.code" />
      <min value="1" />
      <fixedCode value="RECIP" />
    </element>
    <element id="AuditEvent.agent.type.coding.display">
      <path value="AuditEvent.agent.type.coding.display" />
      <max value="0" />
    </element>
    <element id="AuditEvent.agent.type.coding.userSelected">
      <path value="AuditEvent.agent.type.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="AuditEvent.agent.type.text">
      <path value="AuditEvent.agent.type.text" />
      <max value="0" />
    </element>
    <element id="AuditEvent.agent.role">
      <path value="AuditEvent.agent.role" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="AuditEvent.agent.role.coding.system">
      <path value="AuditEvent.agent.role.coding.system" />
      <fixedUri value="http://terminology.hl7.org/CodeSystem/v3-ParticipationType" />
    </element>
    <element id="AuditEvent.agent.role.coding.code">
      <path value="AuditEvent.agent.role.coding.code" />
      <fixedCode value="IRCP" />
    </element>
    <element id="AuditEvent.agent.who">
      <path value="AuditEvent.agent.who" />
      <definition value="medico: maps to x1350dre.signuser" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <profile value="https://medico-emr.net/medico/r4/sd/Reference_User_1" />
        <targetProfile value="https://medico-emr.net/medico/r4/sd/Practitioner_User_1" />
        <aggregation value="referenced" />
      </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.requestor">
      <path value="AuditEvent.agent.requestor" />
      <definition value="medico: always true / the user who's confirmation for reading is stated - is referenced in &quot;who&quot; - and he/she is the one who initiated the event &quot;confirmation of reading&quot;" />
      <fixedBoolean value="true" />
    </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.network">
      <path value="AuditEvent.agent.network" />
      <max value="0" />
    </element>
    <element id="AuditEvent.agent.purposeOfUse">
      <path value="AuditEvent.agent.purposeOfUse" />
      <max value="0" />
    </element>
    <element id="AuditEvent.source.id">
      <path value="AuditEvent.source.id" />
      <max value="0" />
    </element>
    <element id="AuditEvent.source.site">
      <path value="AuditEvent.source.site" />
      <max value="0" />
    </element>
    <element id="AuditEvent.source.observer.id">
      <path value="AuditEvent.source.observer.id" />
      <max value="0" />
    </element>
    <element id="AuditEvent.source.observer.reference">
      <path value="AuditEvent.source.observer.reference" />
      <max value="0" />
    </element>
    <element id="AuditEvent.source.observer.type">
      <path value="AuditEvent.source.observer.type" />
      <max value="0" />
    </element>
    <element id="AuditEvent.source.observer.identifier">
      <path value="AuditEvent.source.observer.identifier" />
      <max value="0" />
    </element>
    <element id="AuditEvent.source.observer.display">
      <path value="AuditEvent.source.observer.display" />
      <min value="1" />
      <fixedString value="client-computer" />
    </element>
    <element id="AuditEvent.source.type">
      <path value="AuditEvent.source.type" />
      <max value="0" />
    </element>
    <element id="AuditEvent.entity">
      <path value="AuditEvent.entity" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="AuditEvent.entity.id">
      <path value="AuditEvent.entity.id" />
      <max value="0" />
    </element>
    <element id="AuditEvent.entity.what">
      <path value="AuditEvent.entity.what" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <profile value="https://medico-emr.net/medico/r4/sd/Reference_Base_1" />
        <targetProfile value="https://medico-emr.net/medico/r4/sd/DocumentReference_StandardDocument_1" />
        <aggregation value="referenced" />
      </type>
    </element>
    <element id="AuditEvent.entity.what.identifier.system">
      <path value="AuditEvent.entity.what.identifier.system" />
      <comment value="Dynamically resolved for validation&#xD;&#xA;--FixedValue=https://medico-emr.net/medico/%KUNDE%/sid1/StandardDocument" />
    </element>
    <element id="AuditEvent.entity.type">
      <path value="AuditEvent.entity.type" />
      <min value="1" />
    </element>
    <element id="AuditEvent.entity.type.system">
      <path value="AuditEvent.entity.type.system" />
      <fixedUri value="http://hl7.org/fhir/resource-types" />
    </element>
    <element id="AuditEvent.entity.type.code">
      <path value="AuditEvent.entity.type.code" />
      <fixedCode value="DocumentReference" />
    </element>
    <element id="AuditEvent.entity.role">
      <path value="AuditEvent.entity.role" />
      <definition value="medico: Defines 3 (=&quot;report&quot;) as the role for the entity, i.e. the document whose reading is confirmed" />
      <min value="1" />
    </element>
    <element id="AuditEvent.entity.role.id">
      <path value="AuditEvent.entity.role.id" />
      <max value="0" />
    </element>
    <element id="AuditEvent.entity.role.system">
      <path value="AuditEvent.entity.role.system" />
      <min value="1" />
      <fixedUri value="http://terminology.hl7.org/CodeSystem/object-role" />
    </element>
    <element id="AuditEvent.entity.role.version">
      <path value="AuditEvent.entity.role.version" />
      <max value="0" />
    </element>
    <element id="AuditEvent.entity.role.code">
      <path value="AuditEvent.entity.role.code" />
      <min value="1" />
      <fixedCode value="3" />
    </element>
    <element id="AuditEvent.entity.role.display">
      <path value="AuditEvent.entity.role.display" />
      <max value="0" />
    </element>
    <element id="AuditEvent.entity.role.userSelected">
      <path value="AuditEvent.entity.role.userSelected" />
      <max value="0" />
    </element>
    <element id="AuditEvent.entity.lifecycle">
      <path value="AuditEvent.entity.lifecycle" />
      <max value="0" />
    </element>
    <element id="AuditEvent.entity.securityLabel">
      <path value="AuditEvent.entity.securityLabel" />
      <max value="0" />
    </element>
    <element id="AuditEvent.entity.name">
      <path value="AuditEvent.entity.name" />
      <max value="0" />
    </element>
    <element id="AuditEvent.entity.description">
      <path value="AuditEvent.entity.description" />
      <max value="0" />
    </element>
    <element id="AuditEvent.entity.query">
      <path value="AuditEvent.entity.query" />
      <max value="0" />
    </element>
    <element id="AuditEvent.entity.detail">
      <path value="AuditEvent.entity.detail" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>