<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="example-procedure-profile-ca-core" />
  <url value="http://fhir.infoway-inforoute.ca/cacore/StructureDefinition/example-procedure-profile-ca-core" />
  <name value="ExampleProcedureProfile" />
  <title value="Example Procedure Profile on Procedure (CA-Core)" />
  <status value="draft" />
  <experimental value="true" />
  <publisher value="Example" />
  <contact>
    <name value="Example" />
    <telecom>
      <system value="url" />
      <value value="http://example.ca" />
    </telecom>
    <telecom>
      <system value="email" />
      <value value="example@example.ca" />
    </telecom>
  </contact>
  <description value="This is an example of how a jurisdiction or any IG author wishing to derive from CA Core+ may add additional constraints." />
  <jurisdiction>
    <coding>
      <system value="urn:iso:std:iso:3166" />
      <code value="CA" />
    </coding>
  </jurisdiction>
  <purpose value="This profile is an example of how a jurisdiction or any IG author wishing to derive from CA Core+ may add additional constraints." />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Procedure" />
  <baseDefinition value="http://fhir.infoway-inforoute.ca/cacore/StructureDefinition/procedure-ca-core" />
  <derivation value="constraint" />
  <differential>
    <element id="Procedure.status">
      <path value="Procedure.status" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.code">
      <path value="Procedure.code" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.code.coding">
      <path value="Procedure.code.coding" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.code.coding.system">
      <path value="Procedure.code.coding.system" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.code.coding.code">
      <path value="Procedure.code.coding.code" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.code.coding.display">
      <path value="Procedure.code.coding.display" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.subject">
      <path value="Procedure.subject" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://fhir.infoway-inforoute.ca/cacore/StructureDefinition/example-patient-profile-ca-core" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Procedure.subject.reference">
      <path value="Procedure.subject.reference" />
      <min value="1" />
    </element>
    <element id="Procedure.performed[x]">
      <path value="Procedure.performed[x]" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.performer">
      <path value="Procedure.performer" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.performer.actor">
      <path value="Procedure.performer.actor" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://fhir.infoway-inforoute.ca/cacore/StructureDefinition/practitioner-ca-core" />
        <targetProfile value="http://fhir.infoway-inforoute.ca/cacore/StructureDefinition/practitionerRole-ca-core" />
        <targetProfile value="http://fhir.infoway-inforoute.ca/cacore/StructureDefinition/organization-ca-core" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Procedure.performer.actor.reference">
      <path value="Procedure.performer.actor.reference" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
  </differential>
</StructureDefinition>