<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="ca-on-eReferral-profile-Consent" />
  <url value="http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-Consent" />
  <version value="1.2.0" />
  <name value="EReferralConsent" />
  <title value="Consent" />
  <status value="draft" />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Consent" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Consent" />
  <derivation value="constraint" />
  <differential>
    <element id="Consent.meta">
      <path value="Consent.meta" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Consent.meta.profile">
      <path value="Consent.meta.profile" />
      <comment value="#### **_` FOR eREFERRAL USAGE: The meta.profile = http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-Consent|1.2.0 `_**&#xD;&#xA;&#xD;&#xA;It is up to the server and/or other infrastructure of policy to determine whether/how these claims are verified and/or updated over time.  The list of profile URLs is a set." />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Consent.identifier">
      <path value="Consent.identifier" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.identifier.system">
      <path value="Consent.identifier.system" />
      <min value="1" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.identifier.value">
      <path value="Consent.identifier.value" />
      <min value="1" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.status">
      <path value="Consent.status" />
      <fixedCode value="active" />
      <mustSupport value="false" />
      <binding>
        <strength value="required" />
        <valueSet value="http://hl7.org/fhir/ValueSet/consent-state-codes" />
      </binding>
    </element>
    <element id="Consent.scope">
      <path value="Consent.scope" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.scope.coding">
      <path value="Consent.scope.coding" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.scope.coding.system">
      <path value="Consent.scope.coding.system" />
      <min value="1" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.scope.coding.code">
      <path value="Consent.scope.coding.code" />
      <min value="1" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.scope.coding.display">
      <path value="Consent.scope.coding.display" />
      <min value="1" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.category">
      <path value="Consent.category" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.category.coding">
      <path value="Consent.category.coding" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.category.coding.system">
      <path value="Consent.category.coding.system" />
      <min value="1" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.category.coding.code">
      <path value="Consent.category.coding.code" />
      <min value="1" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.category.coding.display">
      <path value="Consent.category.coding.display" />
      <min value="1" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.patient">
      <path value="Consent.patient" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-Patient" />
        <aggregation value="referenced" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Consent.patient.reference">
      <path value="Consent.patient.reference" />
      <min value="1" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.dateTime">
      <path value="Consent.dateTime" />
      <mustSupport value="true" />
    </element>
    <element id="Consent.performer">
      <path value="Consent.performer" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-PractitionerRole" />
        <aggregation value="referenced" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Consent.performer.reference">
      <path value="Consent.performer.reference" />
      <min value="1" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.organization">
      <path value="Consent.organization" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-Organization" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Consent.organization.reference">
      <path value="Consent.organization.reference" />
      <min value="1" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.provision">
      <path value="Consent.provision" />
      <min value="1" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.provision.type">
      <path value="Consent.provision.type" />
      <mustSupport value="true" />
    </element>
    <element id="Consent.provision.period">
      <path value="Consent.provision.period" />
      <mustSupport value="true" />
    </element>
    <element id="Consent.provision.period.start">
      <path value="Consent.provision.period.start" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.provision.period.end">
      <path value="Consent.provision.period.end" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.provision.actor">
      <path value="Consent.provision.actor" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.provision.actor.role">
      <path value="Consent.provision.actor.role" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.provision.actor.role.coding">
      <path value="Consent.provision.actor.role.coding" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.provision.actor.role.coding.system">
      <path value="Consent.provision.actor.role.coding.system" />
      <min value="1" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.provision.actor.role.coding.code">
      <path value="Consent.provision.actor.role.coding.code" />
      <min value="1" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.provision.actor.role.coding.display">
      <path value="Consent.provision.actor.role.coding.display" />
      <min value="1" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.provision.actor.reference">
      <path value="Consent.provision.actor.reference" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-PractitionerRole" />
        <aggregation value="referenced" />
      </type>
    </element>
    <element id="Consent.provision.actor.reference.reference">
      <path value="Consent.provision.actor.reference.reference" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Consent.provision.action">
      <path value="Consent.provision.action" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.provision.action.coding">
      <path value="Consent.provision.action.coding" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.provision.action.coding.system">
      <path value="Consent.provision.action.coding.system" />
      <min value="1" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.provision.action.coding.code">
      <path value="Consent.provision.action.coding.code" />
      <min value="1" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.provision.action.coding.display">
      <path value="Consent.provision.action.coding.display" />
      <min value="1" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.provision.securityLabel">
      <path value="Consent.provision.securityLabel" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.provision.securityLabel.system">
      <path value="Consent.provision.securityLabel.system" />
      <min value="1" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.provision.securityLabel.code">
      <path value="Consent.provision.securityLabel.code" />
      <min value="1" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.provision.securityLabel.display">
      <path value="Consent.provision.securityLabel.display" />
      <min value="1" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.provision.purpose">
      <path value="Consent.provision.purpose" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.provision.purpose.system">
      <path value="Consent.provision.purpose.system" />
      <min value="1" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.provision.purpose.code">
      <path value="Consent.provision.purpose.code" />
      <min value="1" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.provision.purpose.display">
      <path value="Consent.provision.purpose.display" />
      <min value="1" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.provision.class">
      <path value="Consent.provision.class" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.provision.class.system">
      <path value="Consent.provision.class.system" />
      <min value="1" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.provision.class.code">
      <path value="Consent.provision.class.code" />
      <min value="1" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.provision.class.display">
      <path value="Consent.provision.class.display" />
      <min value="1" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.provision.data">
      <path value="Consent.provision.data" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.provision.data.meaning">
      <path value="Consent.provision.data.meaning" />
      <mustSupport value="false" />
    </element>
    <element id="Consent.provision.data.reference">
      <path value="Consent.provision.data.reference" />
      <mustSupport value="false" />
    </element>
  </differential>
</StructureDefinition>