<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="practitioner-lab-ca-ps" />
  <url value="http://fhir.infoway-inforoute.ca/io/psca/StructureDefinition/practitioner-lab-ca-ps" />
  <version value="2.2.0" />
  <name value="PractitionerLabPSCA" />
  <title value="Practitioner - Lab (PS-CA)" />
  <status value="draft" />
  <experimental value="false" />
  <date value="2023-12-06T00:00:00-08:00" />
  <description value="This profile represents the constraints applied to the Practitioner resource by the PS-CA project to represent a practitioner acting as observer for diagnostic results. It allows for cross-border and cross-jurisdiction sharing of details that support Diagnostic Result Information. This profile may be underpinned by a CA Core profile in the future. There is a possibility it will be replaced entirely by a CA Core profile if the requirements for use in lab are aligned to expectations for generic use." />
  <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="Practitioner" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Practitioner" />
  <derivation value="constraint" />
  <differential>
    <element id="Practitioner.identifier.system">
      <path value="Practitioner.identifier.system" />
      <min value="1" />
    </element>
    <element id="Practitioner.identifier.value">
      <path value="Practitioner.identifier.value" />
      <min value="1" />
    </element>
    <element id="Practitioner.name">
      <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="Practitioner.name" />
      <min value="1" />
      <constraint>
        <key value="psca-pract-1" />
        <severity value="error" />
        <human value="Practitioner.name.given or Practitioner.name.family or both SHALL be present" />
        <expression value="family.exists() or given.exists()" />
        <xpath value="f:given or f:family" />
        <source value="http://fhir.infoway-inforoute.ca/io/psca/StructureDefinition/practitioner-lab-ca-ps" />
      </constraint>
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.name.family">
      <extension url="http://hl7.org/fhir/StructureDefinition/obligation">
        <extension url="code">
          <valueCode value="SHALL:able-to-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="SHOULD:handle" />
        </extension>
        <extension url="actor">
          <valueCanonical value="http://fhir.infoway-inforoute.ca/io/psca/ActorDefinition/consumer" />
        </extension>
      </extension>
      <path value="Practitioner.name.family" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.name.given">
      <extension url="http://hl7.org/fhir/StructureDefinition/obligation">
        <extension url="code">
          <valueCode value="SHALL:able-to-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="SHOULD:handle" />
        </extension>
        <extension url="actor">
          <valueCanonical value="http://fhir.infoway-inforoute.ca/io/psca/ActorDefinition/consumer" />
        </extension>
      </extension>
      <path value="Practitioner.name.given" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.telecom">
      <path value="Practitioner.telecom" />
      <comment value="While IPS-UV considers Practitioner.telecom a Must Support element, a number of jurisdictional systems may not capture telecom for practitioner today, even in the scope of a practitioner that is the performer of an observation or diagnostic report. 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. Vendors should expect that some jurisdictions may add a Must Support requirement within the context of their own jurisdictional content." />
    </element>
    <element id="Practitioner.address">
      <path value="Practitioner.address" />
      <comment value="IPS-UV 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. Vendors should expect that some jurisdictions may add a Must Support requirement within the context of their own jurisdictional content." />
    </element>
  </differential>
</StructureDefinition>