<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="KT2Practitioner" />
  <language value="nl-NL" />
  <url value="http://koppeltaal.nl/fhir/StructureDefinition/KT2Practitioner" />
  <version value="0.8.0" />
  <name value="KT2_Practitioner" />
  <status value="draft" />
  <date value="2023-01-24" />
  <publisher value="VZVZ" />
  <contact>
    <name value="VZVZ" />
    <telecom>
      <system value="email" />
      <value value="standaardisatie@vzvz.nl" />
      <use value="work" />
    </telecom>
  </contact>
  <description value="The Practitioner resource represents a healthcare professional who is directly or indirectly involved in the provision of patient care. This includes physicians, nurses, therapists, and other healthcare providers operating within the Koppeltaal ecosystem. The profile extends the NlcoreHealthProfessionalPractitioner profile, implementing Dutch Health Information Building Block (zib) standards." />
  <jurisdiction>
    <coding>
      <system value="urn:iso:std:iso:3166" />
      <code value="NL" />
      <display value="Netherlands" />
    </coding>
  </jurisdiction>
  <copyright value="VZVZ" />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Practitioner" />
  <baseDefinition value="http://nictiz.nl/fhir/StructureDefinition/nl-core-HealthProfessional-Practitioner" />
  <derivation value="constraint" />
  <differential>
    <element id="Practitioner.extension">
      <path value="Practitioner.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
    </element>
    <element id="Practitioner.extension:resource-origin">
      <path value="Practitioner.extension" />
      <sliceName value="resource-origin" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://koppeltaal.nl/fhir/StructureDefinition/resource-origin" />
      </type>
    </element>
    <element id="Practitioner.identifier">
      <path value="Practitioner.identifier" />
      <min value="1" />
    </element>
    <element id="Practitioner.active">
      <path value="Practitioner.active" />
      <min value="1" />
    </element>
    <element id="Practitioner.name">
      <path value="Practitioner.name" />
      <min value="1" />
      <constraint>
        <key value="kt2pnu-1" />
        <severity value="error" />
        <human value="Practitioner name use must not be empty" />
        <expression value="use.hasValue()" />
        <source value="http://koppeltaal.nl/fhir/StructureDefinition/KT2Practitioner" />
      </constraint>
    </element>
    <element id="Practitioner.name:nameInformation">
      <path value="Practitioner.name" />
      <sliceName value="nameInformation" />
      <comment value="This `.name` element represents a Dutch name according to the [zib NameInformation (v1.1, 2020)](https://zibs.nl/wiki/NameInformation-v1.1(2020EN)) (except for the GivenName concept). A Dutch name is represented in FHIR as an ordinary international name, but is augmented using extensions to specify how the last name is built up according to the Dutch rules. See the guidance on `.family` and on `.extension:nameUsage` for more information. Systems that need to work in a Dutch context **MUST** support these extensions as specified here. In addition, systems **MUST** use the core elements according to the FHIR specifications to provide compatibility outside Dutch contexts. It is encouraged to provide a representation of the full name in the `.text` element.&#xD;&#xA;&#xD;&#xA;**Note 1**: The zib cannot be represented straightforward in FHIR. Especially note the guidance on `.given` on how to map the FirstNames and Initials concepts, and on `.prefix`/`.suffix` on how to map the Titles concept.&#xD;&#xA;&#xD;&#xA;**Note 2**: This element should only contain a person's _official_ names. The GivenName concept is represented in another `.name` element with `.name.use` = _usual_.&#xD;&#xA;&#xD;&#xA;**Note 3**: The examples illustrate how the zib is mapped to FHIR." />
    </element>
    <element id="Practitioner.name:nameInformation.extension:nameUsage">
      <path value="Practitioner.name.extension" />
      <sliceName value="nameUsage" />
      <comment value="This element is not used in the context of Koppeltaal 2.0" />
    </element>
    <element id="Practitioner.name:nameInformation.text">
      <path value="Practitioner.name.text" />
      <comment value="This element is not used in the context of Koppeltaal 2.0" />
    </element>
    <element id="Practitioner.name:nameInformation.family">
      <path value="Practitioner.name.family" />
      <min value="1" />
    </element>
    <element id="Practitioner.name:nameInformation.given">
      <path value="Practitioner.name.given" />
      <min value="1" />
    </element>
    <element id="Practitioner.name:nameInformation.prefix">
      <path value="Practitioner.name.prefix" />
      <comment value="This element is not used in the context of Koppeltaal 2.0" />
    </element>
    <element id="Practitioner.name:nameInformation.suffix">
      <path value="Practitioner.name.suffix" />
      <comment value="This element is not used in the context of Koppeltaal 2.0" />
    </element>
    <element id="Practitioner.name:nameInformation.period">
      <path value="Practitioner.name.period" />
      <comment value="This element is not used in the context of Koppeltaal 2.0" />
    </element>
    <element id="Practitioner.name:nameInformation-GivenName">
      <path value="Practitioner.name" />
      <sliceName value="nameInformation-GivenName" />
    </element>
    <element id="Practitioner.name:nameInformation-GivenName.text">
      <path value="Practitioner.name.text" />
      <comment value="This element is not used in the context of Koppeltaal 2.0" />
    </element>
    <element id="Practitioner.name:nameInformation-GivenName.period">
      <path value="Practitioner.name.period" />
      <comment value="This element is not used in the context of Koppeltaal 2.0" />
    </element>
    <element id="Practitioner.telecom">
      <path value="Practitioner.telecom" />
      <min value="1" />
    </element>
    <element id="Practitioner.telecom:telephoneNumbers">
      <path value="Practitioner.telecom" />
      <sliceName value="telephoneNumbers" />
    </element>
    <element id="Practitioner.telecom:telephoneNumbers.extension:comment">
      <path value="Practitioner.telecom.extension" />
      <sliceName value="comment" />
      <comment value="This element is not used in the context of Koppeltaal 2.0" />
    </element>
    <element id="Practitioner.telecom:telephoneNumbers.use">
      <path value="Practitioner.telecom.use" />
      <comment value="This element is not used in the context of Koppeltaal 2.0" />
    </element>
    <element id="Practitioner.telecom:telephoneNumbers.rank">
      <path value="Practitioner.telecom.rank" />
      <comment value="This element is not used in the context of Koppeltaal 2.0" />
    </element>
    <element id="Practitioner.telecom:telephoneNumbers.period">
      <path value="Practitioner.telecom.period" />
      <comment value="This element is not used in the context of Koppeltaal 2.0" />
    </element>
    <element id="Practitioner.telecom:emailAddresses">
      <path value="Practitioner.telecom" />
      <sliceName value="emailAddresses" />
      <min value="1" />
    </element>
    <element id="Practitioner.telecom:emailAddresses.use">
      <path value="Practitioner.telecom.use" />
      <comment value="This element is not used in the context of Koppeltaal 2.0" />
    </element>
    <element id="Practitioner.telecom:emailAddresses.rank">
      <path value="Practitioner.telecom.rank" />
      <comment value="This element is not used in the context of Koppeltaal 2.0" />
    </element>
    <element id="Practitioner.telecom:emailAddresses.period">
      <path value="Practitioner.telecom.period" />
      <comment value="This element is not used in the context of Koppeltaal 2.0" />
    </element>
    <element id="Practitioner.address">
      <path value="Practitioner.address" />
      <max value="0" />
    </element>
    <element id="Practitioner.photo">
      <path value="Practitioner.photo" />
      <max value="0" />
    </element>
    <element id="Practitioner.qualification">
      <path value="Practitioner.qualification" />
      <max value="0" />
    </element>
    <element id="Practitioner.communication">
      <path value="Practitioner.communication" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>