<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="ehrsrle-auditevent" />
  <text>
    <status value="generated" />
    <div xmlns="http://www.w3.org/1999/xhtml">to do</div>
  </text>
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg">
    <valueCode value="ehr" />
  </extension>
  <url value="http://hl7.org/fhir/StructureDefinition/ehrsrle-auditevent" />
  <name value="EHRS FM Record Lifecycle Event - Audit Event" />
  <status value="draft" />
  <experimental value="false" />
  <date value="2014-12-04" />
  <publisher value="Health Level Seven International (Electronic Health Record)" />
  <contact>
    <telecom>
      <system value="url" />
      <value value="http://hl7.org/special/committees/ehr.html" />
    </telecom>
  </contact>
  <description value="Defines the elements to be supported within the AuditEvent resource in order to conform with the Electronic Health Record System Functional Model Record Lifecycle Event standard" />
  <fhirVersion value="3.0.1" />
  <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/w5" />
    <name value="W5 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>
  <kind value="resource" />
  <abstract value="false" />
  <type value="AuditEvent" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/AuditEvent" />
  <derivation value="constraint" />
  <differential>
    <element id="AuditEvent">
      <path value="AuditEvent" />
      <min value="0" />
      <max value="*" />
    </element>
    <element id="AuditEvent.type">
      <path value="AuditEvent.type" />
      <mustSupport value="true" />
    </element>
    <element id="AuditEvent.subtype">
      <path value="AuditEvent.subtype" />
      <mustSupport value="true" />
    </element>
    <element id="AuditEvent.action">
      <path value="AuditEvent.action" />
      <mustSupport value="true" />
    </element>
    <element id="AuditEvent.recorded">
      <path value="AuditEvent.recorded" />
      <mustSupport value="true" />
    </element>
    <element id="AuditEvent.purposeOfEvent">
      <path value="AuditEvent.purposeOfEvent" />
      <mustSupport value="true" />
    </element>
    <element id="AuditEvent.agent">
      <path value="AuditEvent.agent" />
      <mustSupport value="true" />
    </element>
    <element id="AuditEvent.agent.role">
      <path value="AuditEvent.agent.role" />
      <mustSupport value="true" />
    </element>
    <element id="AuditEvent.agent.reference">
      <path value="AuditEvent.agent.reference" />
      <mustSupport value="true" />
    </element>
    <element id="AuditEvent.agent.userId">
      <path value="AuditEvent.agent.userId" />
      <mustSupport value="true" />
    </element>
    <element id="AuditEvent.agent.requestor">
      <path value="AuditEvent.agent.requestor" />
      <mustSupport value="true" />
    </element>
    <element id="AuditEvent.agent.location">
      <path value="AuditEvent.agent.location" />
      <mustSupport value="true" />
    </element>
    <element id="AuditEvent.agent.policy">
      <path value="AuditEvent.agent.policy" />
      <mustSupport value="true" />
    </element>
    <element id="AuditEvent.agent.network">
      <path value="AuditEvent.agent.network" />
      <mustSupport value="true" />
    </element>
    <element id="AuditEvent.agent.network.address">
      <path value="AuditEvent.agent.network.address" />
      <mustSupport value="true" />
    </element>
    <element id="AuditEvent.agent.network.type">
      <path value="AuditEvent.agent.network.type" />
      <mustSupport value="true" />
    </element>
    <element id="AuditEvent.agent.purposeOfUse">
      <path value="AuditEvent.agent.purposeOfUse" />
      <mustSupport value="true" />
    </element>
    <element id="AuditEvent.source">
      <path value="AuditEvent.source" />
      <mustSupport value="true" />
    </element>
    <element id="AuditEvent.source.site">
      <path value="AuditEvent.source.site" />
      <mustSupport value="true" />
    </element>
    <element id="AuditEvent.source.identifier">
      <path value="AuditEvent.source.identifier" />
      <mustSupport value="true" />
    </element>
    <element id="AuditEvent.source.type">
      <path value="AuditEvent.source.type" />
      <mustSupport value="true" />
    </element>
    <element id="AuditEvent.entity">
      <path value="AuditEvent.entity" />
      <mustSupport value="true" />
    </element>
    <element id="AuditEvent.entity.identifier">
      <path value="AuditEvent.entity.identifier" />
      <mustSupport value="true" />
    </element>
    <element id="AuditEvent.entity.reference">
      <path value="AuditEvent.entity.reference" />
      <mustSupport value="true" />
    </element>
    <element id="AuditEvent.entity.type">
      <path value="AuditEvent.entity.type" />
      <mustSupport value="true" />
    </element>
    <element id="AuditEvent.entity.role">
      <path value="AuditEvent.entity.role" />
      <mustSupport value="true" />
    </element>
    <element id="AuditEvent.entity.lifecycle">
      <path value="AuditEvent.entity.lifecycle" />
      <mustSupport value="true" />
    </element>
    <element id="AuditEvent.entity.securityLabel">
      <path value="AuditEvent.entity.securityLabel" />
      <mustSupport value="true" />
    </element>
  </differential>
</StructureDefinition>