<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="profile-provenance" />
  <url value="http://ontariohealth.ca/fhir/ehr/StructureDefinition/profile-provenance" />
  <version value="0.1.0-Draft" />
  <name value="ProvenanceEHR" />
  <title value="Provenance EHR" />
  <status value="active" />
  <description value="This profile sets minimum expectations for the Provenance resource to record, search, and fetch provenance information associated with a record. It covers the minimal (basic) information to support lineage of information. It specifies which core elements, extensions, vocabularies, and value sets **SHALL** be present and constrains how the elements are used.   Before reviewing this profile, implementers are encouraged to read the Basic Provenance guidance page, which documents several key use cases, specifically, the organization responsible for the most recent action on the resource." />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Provenance" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Provenance" />
  <derivation value="constraint" />
  <differential>
    <element id="Provenance.meta.tag">
      <path value="Provenance.meta.tag" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Provenance.meta.tag:domain">
      <path value="Provenance.meta.tag" />
      <sliceName value="domain" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <valueSet value="http://ontariohealth.ca/fhir/ehr/ValueSet/cdf-data-domain" />
      </binding>
    </element>
    <element id="Provenance.meta.tag:domain.system">
      <path value="Provenance.meta.tag.system" />
      <min value="1" />
      <patternUri value="http://ontariohealth.ca/fhir/ehr/CodeSystem/cdf-data-domain" />
      <mustSupport value="true" />
    </element>
    <element id="Provenance.meta.tag:domain.code">
      <path value="Provenance.meta.tag.code" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Provenance.meta.tag:hl7v2-message-type">
      <path value="Provenance.meta.tag" />
      <sliceName value="hl7v2-message-type" />
      <min value="0" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Provenance.meta.tag:hl7v2-message-type.system">
      <path value="Provenance.meta.tag.system" />
      <min value="1" />
      <patternUri value="http://ontariohealth.ca/fhir/CodeSystem/cdf-v2-message-type" />
      <mustSupport value="true" />
    </element>
    <element id="Provenance.meta.tag:hl7v2-message-type.code">
      <path value="Provenance.meta.tag.code" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Provenance.extension">
      <path value="Provenance.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
    </element>
    <element id="Provenance.extension:originalCreateDate">
      <path value="Provenance.extension" />
      <sliceName value="originalCreateDate" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://ontariohealth.ca/fhir/ehr/StructureDefinition/ext-original-create-date" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Provenance.extension:originalUpdateDate">
      <path value="Provenance.extension" />
      <sliceName value="originalUpdateDate" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://ontariohealth.ca/fhir/ehr/StructureDefinition/ext-original-update-date" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Provenance.target">
      <path value="Provenance.target" />
      <short value="The Resource(s) this Provenance record supports" />
      <mustSupport value="true" />
    </element>
    <element id="Provenance.target.extension:ext-target-type">
      <path value="Provenance.target.extension" />
      <sliceName value="ext-target-type" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://ontariohealth.ca/fhir/ehr/StructureDefinition/ext-provenance-target-type" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Provenance.target.reference">
      <path value="Provenance.target.reference" />
      <mustSupport value="true" />
    </element>
    <element id="Provenance.recorded">
      <path value="Provenance.recorded" />
      <short value="Timestamp when the activity was recorded / updated" />
      <mustSupport value="true" />
    </element>
    <element id="Provenance.policy">
      <path value="Provenance.policy" />
      <mustSupport value="true" />
    </element>
    <element id="Provenance.activity">
      <path value="Provenance.activity" />
      <min value="1" />
      <mustSupport value="true" />
      <binding>
        <strength value="extensible" />
        <valueSet value="http://ontariohealth.ca/fhir/ehr/ValueSet/provenance-activity-type" />
      </binding>
    </element>
    <element id="Provenance.agent">
      <path value="Provenance.agent" />
      <short value="Actor involved. For HL7v2 conversion: Ontario Health HL7v2 to FHIR Translation Engine, MSH-3.2 (unique identifier representing the sending system), X-Gtwy-ID (unique identifier generated by APIM). For FHIR contribution: azp (unique identifier representing the Sending System, provided by OH, sourced from the OAG token), X-Gtwy-ID (unique identifier generated by OAG)." />
      <mustSupport value="true" />
    </element>
    <element id="Provenance.agent.type">
      <path value="Provenance.agent.type" />
      <min value="1" />
      <mustSupport value="true" />
      <binding>
        <strength value="extensible" />
        <valueSet value="http://ontariohealth.ca/fhir/ehr/ValueSet/provenance-agent-type" />
      </binding>
    </element>
    <element id="Provenance.agent.type.coding">
      <path value="Provenance.agent.type.coding" />
      <mustSupport value="true" />
    </element>
    <element id="Provenance.agent.type.coding.system">
      <path value="Provenance.agent.type.coding.system" />
      <mustSupport value="true" />
    </element>
    <element id="Provenance.agent.type.coding.code">
      <path value="Provenance.agent.type.coding.code" />
      <mustSupport value="true" />
    </element>
    <element id="Provenance.agent.type.coding.display">
      <path value="Provenance.agent.type.coding.display" />
      <mustSupport value="true" />
    </element>
    <element id="Provenance.agent.who">
      <path value="Provenance.agent.who" />
      <mustSupport value="true" />
    </element>
    <element id="Provenance.agent.who.reference">
      <path value="Provenance.agent.who.reference" />
      <mustSupport value="true" />
    </element>
    <element id="Provenance.agent.who.identifier">
      <path value="Provenance.agent.who.identifier" />
      <mustSupport value="true" />
    </element>
    <element id="Provenance.agent.who.display">
      <path value="Provenance.agent.who.display" />
      <mustSupport value="true" />
    </element>
    <element id="Provenance.agent.onBehalfOf">
      <path value="Provenance.agent.onBehalfOf" />
      <mustSupport value="true" />
    </element>
    <element id="Provenance.agent.onBehalfOf.identifier">
      <path value="Provenance.agent.onBehalfOf.identifier" />
      <mustSupport value="true" />
    </element>
    <element id="Provenance.entity">
      <path value="Provenance.entity" />
      <short value="An entity used in this activity. For HL7v2 conversion: MSH-10 (Message Control ID / message unique identifier). For FHIR contribution: X-Request-ID." />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Provenance.entity.role">
      <path value="Provenance.entity.role" />
      <mustSupport value="true" />
    </element>
    <element id="Provenance.entity.what">
      <path value="Provenance.entity.what" />
      <mustSupport value="true" />
    </element>
    <element id="Provenance.entity.what.reference">
      <path value="Provenance.entity.what.reference" />
      <mustSupport value="true" />
    </element>
    <element id="Provenance.entity.what.identifier">
      <path value="Provenance.entity.what.identifier" />
      <mustSupport value="true" />
    </element>
  </differential>
</StructureDefinition>