<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="profile-procedure" />
  <url value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-procedure" />
  <version value="1.1.1" />
  <name value="ProcedureProfile" />
  <title value="Procedure Profile" />
  <status value="draft" />
  <date value="2026-01-09" />
  <publisher value="HL7 Canada - FHIR Implementation Work Group" />
  <contact>
    <telecom>
      <system value="url" />
      <value value="https://infocentral.infoway-inforoute.ca/en/collaboration/wg/fhir-implementations" />
    </telecom>
  </contact>
  <description value="Proposed constraints and extensions on the Procedure Resource" />
  <jurisdiction>
    <coding>
      <system value="urn:iso:std:iso:3166" />
      <code value="CA" />
    </coding>
  </jurisdiction>
  <fhirVersion value="4.0.1" />
  <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="w5" />
    <uri value="http://hl7.org/fhir/fivews" />
    <name value="FiveWs Pattern Mapping" />
  </mapping>
  <mapping>
    <identity value="v2" />
    <uri value="http://hl7.org/v2" />
    <name value="HL7 v2 Mapping" />
  </mapping>
  <kind value="resource" />
  <abstract value="false" />
  <type value="Procedure" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Procedure" />
  <derivation value="constraint" />
  <differential>
    <element id="Procedure">
      <path value="Procedure" />
      <short value="Procedure Profile" />
      <definition value="The Procedure Profile is based upon the core FHIR Procedure Resource" />
    </element>
    <element id="Procedure.partOf">
      <path value="Procedure.partOf" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-procedure" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-observation" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-medicationadministration" />
      </type>
    </element>
    <element id="Procedure.code">
      <path value="Procedure.code" />
      <definition value="Identification of the procedure or recording of &quot;absence of relevant procedures&quot; or of &quot;procedures unknown&quot;." />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="CodeableConcept" />
      </type>
      <binding>
        <extension url="http://hl7.org/fhir/tools/StructureDefinition/additional-binding">
          <extension url="purpose">
            <valueCode value="candidate" />
          </extension>
          <extension url="valueSet">
            <valueCanonical value="https://fhir.infoway-inforoute.ca/ValueSet/CCI" />
          </extension>
          <extension url="documentation">
            <valueMarkdown value="CCI Codes" />
          </extension>
        </extension>
        <strength value="preferred" />
        <valueSet value="https://fhir.infoway-inforoute.ca/ValueSet/procedurecode" />
      </binding>
    </element>
    <element id="Procedure.subject">
      <path value="Procedure.subject" />
      <definition value="The person on which the procedure was performed." />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-patient" />
      </type>
    </element>
    <element id="Procedure.encounter">
      <path value="Procedure.encounter" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-encounter" />
      </type>
    </element>
    <element id="Procedure.performed[x]">
      <path value="Procedure.performed[x]" />
      <min value="1" />
      <type>
        <code value="dateTime" />
      </type>
      <type>
        <code value="Period" />
      </type>
      <type>
        <code value="string" />
      </type>
      <type>
        <code value="Age" />
      </type>
      <type>
        <code value="Range" />
      </type>
    </element>
    <element id="Procedure.recorder">
      <path value="Procedure.recorder" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-patient" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/RelatedPerson" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-practitioner" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-practitionerrole" />
      </type>
    </element>
    <element id="Procedure.asserter">
      <path value="Procedure.asserter" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-patient" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/RelatedPerson" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-practitioner" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-practitionerrole" />
      </type>
    </element>
    <element id="Procedure.performer.actor">
      <path value="Procedure.performer.actor" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-practitioner" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-practitionerrole" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-organization" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-patient" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/RelatedPerson" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-device" />
      </type>
    </element>
    <element id="Procedure.location">
      <path value="Procedure.location" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-location" />
      </type>
    </element>
    <element id="Procedure.reasonReference">
      <path value="Procedure.reasonReference" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-condition" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-observation" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-procedure" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-diagnosticreport" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-diagnosticreportnote" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-documentreference" />
      </type>
    </element>
    <element id="Procedure.complicationDetail">
      <path value="Procedure.complicationDetail" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-condition" />
      </type>
    </element>
    <element id="Procedure.usedReference">
      <path value="Procedure.usedReference" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-device" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-medication" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Substance" />
      </type>
    </element>
  </differential>
</StructureDefinition>