<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="PractitionerPSAB" />
  <url value="https://www.alberta.ca/fhir/psab/StructureDefinition/PractitionerPSAB" />
  <version value="1.2.0" />
  <name value="PractitionerPSAB" />
  <title value="Practitioner (PS-AB)" />
  <status value="draft" />
  <description value="This profile defines a set of constraints to the FHIR Practitioner resource for use in Alberta Patient Summaries (PS-AB). It includes constraints that represent the minimum expectations for the Practitioner resource when used in the PS-AB Composition profile or in one of the referred resources." />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Practitioner" />
  <baseDefinition value="http://fhir.infoway-inforoute.ca/io/psca/StructureDefinition/practitioner-ca-ps" />
  <derivation value="constraint" />
  <differential>
    <element id="Practitioner">
      <path value="Practitioner" />
      <comment value="Practitioner resources included in Alberta Patient Summary Document Bundles have rules that certain attributes are not to be contained in Practitioner resource. These are mechanically enforced through invariants at the PS-AB Bundle level." />
    </element>
    <element id="Practitioner.identifier">
      <path value="Practitioner.identifier" />
      <comment value="Identifier is mandatory to support for Practitioners acting as authors for Patient Summaries in Alberta" />
      <min value="1" />
    </element>
    <element id="Practitioner.identifier.type">
      <path value="Practitioner.identifier.type" />
      <comment value="Identifier type is mandatory for each identifier supplied for authoring practitioners. Initial list of types to be supported from Reference set: Provider Identifier Type Codes: Practitioner ID (issued by AH), CPSA ID, CRNA ID, HSPID, CC ID (Connect Care)." />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.identifier.system">
      <path value="Practitioner.identifier.system" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.identifier.value">
      <path value="Practitioner.identifier.value" />
      <comment value="Max length: 20 characters; Allowed characters: Number, alphabetic (upper or lower case), space, hyphen" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.identifier.assigner">
      <path value="Practitioner.identifier.assigner" />
      <comment value="Identifier assigner is mandatory for each identifier supplied. Initial list of assigner values to be supported can be found in the Reference set: Provider Identifier Issuing Authority Codes" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.identifier.assigner.display">
      <path value="Practitioner.identifier.assigner.display" />
      <comment value="Systems may use reference.display to provide the assigner information as a string value matching the supplied Reference set: Provider Identifier Issuing Authority Codes" />
    </element>
    <element id="Practitioner.name">
      <path value="Practitioner.name" />
      <min value="1" />
    </element>
    <element id="Practitioner.name.family">
      <path value="Practitioner.name.family" />
      <comment value="Max length: 75 characters" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.name.given">
      <path value="Practitioner.name.given" />
      <comment value="First name is mandatory; Middle name is optional; Max length: 75 characters" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
  </differential>
</StructureDefinition>