<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="procedure-ca-ps" />
  <url value="http://fhir.infoway-inforoute.ca/io/psca/StructureDefinition/procedure-ca-ps" />
  <version value="2.2.0" />
  <name value="ProcedurePSCA" />
  <title value="Procedure (PS-CA)" />
  <status value="draft" />
  <experimental value="false" />
  <date value="2023-11-06T00:00:00-08:00" />
  <description value="This profile represents the constraints applied to the Procedure resource by the PS-CA project and allows for cross-border and cross-jurisdiction sharing of History of Procedure information." />
  <copyright value="Copyright © 2024+ Canada Health Infoway. All rights reserved. [Terms of Use and License Agreements](https://ic.infoway-inforoute.ca/en/about/tou). [Privacy Policy](https://www.infoway-inforoute.ca/en/legal/privacy-policy)." />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Procedure" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Procedure" />
  <derivation value="constraint" />
  <differential>
    <element id="Procedure.status">
      <extension url="http://hl7.org/fhir/StructureDefinition/obligation">
        <extension url="code">
          <valueCode value="SHALL:populate" />
        </extension>
        <extension url="actor">
          <valueCanonical value="http://fhir.infoway-inforoute.ca/io/psca/ActorDefinition/producer" />
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/obligation">
        <extension url="code">
          <valueCode value="SHALL:no-error" />
        </extension>
        <extension url="actor">
          <valueCanonical value="http://fhir.infoway-inforoute.ca/io/psca/ActorDefinition/consumer" />
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/obligation">
        <extension url="code">
          <valueCode value="SHALL:handle" />
        </extension>
        <extension url="actor">
          <valueCanonical value="http://fhir.infoway-inforoute.ca/io/psca/ActorDefinition/consumer" />
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/obligation">
        <extension url="code">
          <valueCode value="SHOULD:display" />
        </extension>
        <extension url="actor">
          <valueCanonical value="http://fhir.infoway-inforoute.ca/io/psca/ActorDefinition/consumer" />
        </extension>
      </extension>
      <path value="Procedure.status" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.code">
      <extension url="http://hl7.org/fhir/StructureDefinition/obligation">
        <extension url="code">
          <valueCode value="SHALL:populate" />
        </extension>
        <extension url="actor">
          <valueCanonical value="http://fhir.infoway-inforoute.ca/io/psca/ActorDefinition/producer" />
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/obligation">
        <extension url="code">
          <valueCode value="SHALL:no-error" />
        </extension>
        <extension url="actor">
          <valueCanonical value="http://fhir.infoway-inforoute.ca/io/psca/ActorDefinition/consumer" />
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/obligation">
        <extension url="code">
          <valueCode value="SHALL:handle" />
        </extension>
        <extension url="actor">
          <valueCanonical value="http://fhir.infoway-inforoute.ca/io/psca/ActorDefinition/consumer" />
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/obligation">
        <extension url="code">
          <valueCode value="SHOULD:display" />
        </extension>
        <extension url="actor">
          <valueCanonical value="http://fhir.infoway-inforoute.ca/io/psca/ActorDefinition/consumer" />
        </extension>
      </extension>
      <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;." />
      <comment value="Many Canadian implementations use codes from either SNOMED CT and the SNOMED CT Canada Extension to describe this concept, while others may still be using localized code systems or text descriptions. The Procedures - IPS ValueSet contains codes that are subsumed within the SNOMED CT CA ProcedureCode ValueSet that is preferred for this element.&#xA;&#xA;Future releases of PS-CA may require use of coded entries. In this release, however, implementations that support codings are encouraged to send the codings for codeable concepts if they are available. Consistent with FHIR best practice, receivers should not produce failures or rejections if codings are received. Vendors should expect that some jurisdictions may further constrain support of this element within the context of their own jurisdictional content.&#xA;&#xA;CIHI has been working on Procedure as part of our publication for Sept 2025. CIHI has recommended the Canadian Classification of Health Interventions (CCI) as an alternate Pan-Canadian value set, but additional consultation work is needed to validate this recommendation." />
      <min value="1" />
      <type>
        <code value="CodeableConcept" />
        <profile value="http://fhir.infoway-inforoute.ca/io/psca/StructureDefinition/CodeableConcept-ca-ps" />
      </type>
      <mustSupport value="true" />
      <binding>
        <extension url="http://hl7.org/fhir/tools/StructureDefinition/additional-binding">
          <extension url="purpose">
            <valueCode value="candidate" />
          </extension>
          <extension url="valueSet">
            <valueCanonical value="http://fhir.infoway-inforoute.ca/io/psca/ValueSet/CCI" />
          </extension>
          <extension url="documentation">
            <valueMarkdown value="Any code from CCI. While not the preferred terminology for broader pan-Canadian exchange use cases, this additional binding is surfaced to socialize the value sets that may be more commonly in use. Where multiple codings can be supplied, it is encouraged to supply the original coding alongside the pan-Canadian preferred terminology." />
          </extension>
        </extension>
        <extension url="http://hl7.org/fhir/tools/StructureDefinition/additional-binding">
          <extension url="purpose">
            <valueCode value="candidate" />
          </extension>
          <extension url="valueSet">
            <valueCanonical value="http://fhir.infoway-inforoute.ca/io/psca/ValueSet/ICD9CM" />
          </extension>
          <extension url="documentation">
            <valueMarkdown value="Any code from ICD-9 CM. While not the preferred terminology for broader pan-Canadian exchange use cases, this additional binding is surfaced to socialize the value sets that may be more commonly in use. Where multiple codings can be supplied, it is encouraged to supply the original coding alongside the pan-Canadian preferred terminology." />
          </extension>
        </extension>
        <extension url="http://hl7.org/fhir/tools/StructureDefinition/additional-binding">
          <extension url="purpose">
            <valueCode value="candidate" />
          </extension>
          <extension url="valueSet">
            <valueCanonical value="http://hl7.org/fhir/uv/ips/ValueSet/absent-or-unknown-procedures-uv-ips" />
          </extension>
          <extension url="documentation">
            <valueMarkdown value="Code to identify absent or unknown procedures." />
          </extension>
        </extension>
        <strength value="preferred" />
        <valueSet value="https://fhir.infoway-inforoute.ca/ValueSet/procedurecode" />
      </binding>
    </element>
    <element id="Procedure.subject">
      <extension url="http://hl7.org/fhir/StructureDefinition/obligation">
        <extension url="code">
          <valueCode value="SHALL:populate" />
        </extension>
        <extension url="actor">
          <valueCanonical value="http://fhir.infoway-inforoute.ca/io/psca/ActorDefinition/producer" />
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/obligation">
        <extension url="code">
          <valueCode value="SHALL:no-error" />
        </extension>
        <extension url="actor">
          <valueCanonical value="http://fhir.infoway-inforoute.ca/io/psca/ActorDefinition/consumer" />
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/obligation">
        <extension url="code">
          <valueCode value="SHALL:handle" />
        </extension>
        <extension url="actor">
          <valueCanonical value="http://fhir.infoway-inforoute.ca/io/psca/ActorDefinition/consumer" />
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/obligation">
        <extension url="code">
          <valueCode value="SHOULD:display" />
        </extension>
        <extension url="actor">
          <valueCanonical value="http://fhir.infoway-inforoute.ca/io/psca/ActorDefinition/consumer" />
        </extension>
      </extension>
      <path value="Procedure.subject" />
      <definition value="The person on which the procedure was performed." />
      <type>
        <code value="Reference" />
        <targetProfile value="http://fhir.infoway-inforoute.ca/io/psca/StructureDefinition/patient-ca-ps" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Procedure.subject.reference">
      <extension url="http://hl7.org/fhir/StructureDefinition/obligation">
        <extension url="code">
          <valueCode value="SHALL:populate" />
        </extension>
        <extension url="actor">
          <valueCanonical value="http://fhir.infoway-inforoute.ca/io/psca/ActorDefinition/producer" />
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/obligation">
        <extension url="code">
          <valueCode value="SHALL:no-error" />
        </extension>
        <extension url="actor">
          <valueCanonical value="http://fhir.infoway-inforoute.ca/io/psca/ActorDefinition/consumer" />
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/obligation">
        <extension url="code">
          <valueCode value="SHALL:handle" />
        </extension>
        <extension url="actor">
          <valueCanonical value="http://fhir.infoway-inforoute.ca/io/psca/ActorDefinition/consumer" />
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/obligation">
        <extension url="code">
          <valueCode value="SHOULD:display" />
        </extension>
        <extension url="actor">
          <valueCanonical value="http://fhir.infoway-inforoute.ca/io/psca/ActorDefinition/consumer" />
        </extension>
      </extension>
      <path value="Procedure.subject.reference" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.performed[x]">
      <extension url="http://hl7.org/fhir/StructureDefinition/obligation">
        <extension url="code">
          <valueCode value="SHALL:populate" />
        </extension>
        <extension url="actor">
          <valueCanonical value="http://fhir.infoway-inforoute.ca/io/psca/ActorDefinition/producer" />
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/obligation">
        <extension url="code">
          <valueCode value="SHALL:no-error" />
        </extension>
        <extension url="actor">
          <valueCanonical value="http://fhir.infoway-inforoute.ca/io/psca/ActorDefinition/consumer" />
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/obligation">
        <extension url="code">
          <valueCode value="SHALL:handle" />
        </extension>
        <extension url="actor">
          <valueCanonical value="http://fhir.infoway-inforoute.ca/io/psca/ActorDefinition/consumer" />
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/obligation">
        <extension url="code">
          <valueCode value="SHOULD:display" />
        </extension>
        <extension url="actor">
          <valueCanonical value="http://fhir.infoway-inforoute.ca/io/psca/ActorDefinition/consumer" />
        </extension>
      </extension>
      <path value="Procedure.performed[x]" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.bodySite">
      <path value="Procedure.bodySite" />
      <comment value="IPS-UV no longer flags this as a Must Support Element. It is not currently flagged as Must Support in PS-CA, as stakeholders have indicated the element may not be supported by the majority of systems today. Systems that do support the element are encouraged to include it in generated Patient Summary documents, and support it when received." />
      <type>
        <code value="CodeableConcept" />
        <profile value="http://fhir.infoway-inforoute.ca/io/psca/StructureDefinition/CodeableConcept-ca-ps" />
      </type>
      <binding>
        <strength value="preferred" />
        <valueSet value="https://fhir.infoway-inforoute.ca/ValueSet/anatomicaloracquiredbodystructurecode" />
      </binding>
    </element>
  </differential>
</StructureDefinition>