<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="EPPractitioner-1acaac4e-e0ed-4790-89d3-d8ac12bd7b32" />
  <url value="https://www.esante.lu/fhir-spec/StructureDefinition/EPPractitioner" />
  <version value="1.2.0" />
  <name value="EPPractitioner" />
  <status value="active" />
  <fhirVersion value="4.0.1" />
  <mapping>
    <identity value="v2" />
    <uri value="http://hl7.org/v2" />
    <name value="HL7 v2 Mapping" />
  </mapping>
  <mapping>
    <identity value="rim" />
    <uri value="http://hl7.org/v3" />
    <name value="RIM Mapping" />
  </mapping>
  <mapping>
    <identity value="servd" />
    <uri value="http://www.omg.org/spec/ServD/1.0/" />
    <name value="ServD" />
  </mapping>
  <mapping>
    <identity value="w5" />
    <uri value="http://hl7.org/fhir/fivews" />
    <name value="FiveWs Pattern Mapping" />
  </mapping>
  <kind value="resource" />
  <abstract value="false" />
  <type value="Practitioner" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Practitioner" />
  <derivation value="constraint" />
  <differential>
    <element id="Practitioner.id">
      <path value="Practitioner.id" />
      <definition value="The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.&#xD;&#xA;Is assigned by the server, do not provide a value." />
    </element>
    <element id="Practitioner.meta">
      <path value="Practitioner.meta" />
      <min value="1" />
    </element>
    <element id="Practitioner.meta.id">
      <path value="Practitioner.meta.id" />
      <max value="0" />
    </element>
    <element id="Practitioner.meta.versionId">
      <path value="Practitioner.meta.versionId" />
      <max value="0" />
    </element>
    <element id="Practitioner.meta.lastUpdated">
      <path value="Practitioner.meta.lastUpdated" />
      <max value="0" />
    </element>
    <element id="Practitioner.meta.source">
      <path value="Practitioner.meta.source" />
      <max value="0" />
    </element>
    <element id="Practitioner.meta.profile">
      <path value="Practitioner.meta.profile" />
      <min value="1" />
      <max value="1" />
      <fixedCanonical value="https://www.esante.lu/fhir-spec/StructureDefinition/EPPractitioner" />
    </element>
    <element id="Practitioner.meta.security">
      <path value="Practitioner.meta.security" />
      <max value="0" />
    </element>
    <element id="Practitioner.meta.tag">
      <path value="Practitioner.meta.tag" />
      <max value="0" />
    </element>
    <element id="Practitioner.implicitRules">
      <path value="Practitioner.implicitRules" />
      <max value="0" />
    </element>
    <element id="Practitioner.language">
      <path value="Practitioner.language" />
      <max value="0" />
    </element>
    <element id="Practitioner.text">
      <path value="Practitioner.text" />
      <max value="0" />
    </element>
    <element id="Practitioner.contained">
      <path value="Practitioner.contained" />
      <max value="0" />
    </element>
    <element id="Practitioner.identifier">
      <path value="Practitioner.identifier" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <short value="An identifier for the professional" />
      <min value="2" />
    </element>
    <element id="Practitioner.identifier:eHealthID">
      <path value="Practitioner.identifier" />
      <sliceName value="eHealthID" />
      <short value="eHealthID" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Practitioner.identifier:eHealthID.id">
      <path value="Practitioner.identifier.id" />
      <max value="0" />
    </element>
    <element id="Practitioner.identifier:eHealthID.use">
      <path value="Practitioner.identifier.use" />
      <max value="0" />
    </element>
    <element id="Practitioner.identifier:eHealthID.type">
      <path value="Practitioner.identifier.type" />
      <max value="0" />
    </element>
    <element id="Practitioner.identifier:eHealthID.system">
      <path value="Practitioner.identifier.system" />
      <min value="1" />
      <fixedUri value="urn:oid:1.3.182.4.1" />
    </element>
    <element id="Practitioner.identifier:eHealthID.value">
      <path value="Practitioner.identifier.value" />
      <short value="The eHealthID" />
      <min value="1" />
      <example>
        <label value="eHealthID" />
        <valueString value="2999999617" />
      </example>
      <condition value="val-eHealthID" />
      <constraint>
        <key value="val-eHealthID" />
        <severity value="error" />
        <human value="eHealthID shall have the right format" />
        <expression value="length()=10 and startsWith('2')" />
        <source value="https://www.esante.lu/fhir-spec/StructureDefinition/EPPractitioner" />
      </constraint>
    </element>
    <element id="Practitioner.identifier:eHealthID.period">
      <path value="Practitioner.identifier.period" />
      <max value="0" />
    </element>
    <element id="Practitioner.identifier:eHealthID.assigner">
      <path value="Practitioner.identifier.assigner" />
      <max value="0" />
    </element>
    <element id="Practitioner.identifier:cnsCodes">
      <path value="Practitioner.identifier" />
      <sliceName value="cnsCodes" />
      <short value="CNS Codes" />
      <min value="1" />
      <max value="*" />
    </element>
    <element id="Practitioner.identifier:cnsCodes.id">
      <path value="Practitioner.identifier.id" />
      <max value="0" />
    </element>
    <element id="Practitioner.identifier:cnsCodes.use">
      <path value="Practitioner.identifier.use" />
      <max value="0" />
    </element>
    <element id="Practitioner.identifier:cnsCodes.type">
      <path value="Practitioner.identifier.type" />
      <max value="0" />
    </element>
    <element id="Practitioner.identifier:cnsCodes.system">
      <path value="Practitioner.identifier.system" />
      <min value="1" />
      <fixedUri value="urn:oid:1.3.182.4.6" />
    </element>
    <element id="Practitioner.identifier:cnsCodes.value">
      <path value="Practitioner.identifier.value" />
      <short value="CNS Code" />
      <min value="1" />
      <example>
        <label value="CNS Code" />
        <valueString value="905478-80" />
      </example>
      <condition value="val-cnsCode" />
      <constraint>
        <key value="val-cnsCode" />
        <severity value="error" />
        <human value="The CNS code SHALL have the right format" />
        <expression value="length()=9 and startsWith('9')" />
        <source value="https://www.esante.lu/fhir-spec/StructureDefinition/EPPractitioner" />
      </constraint>
    </element>
    <element id="Practitioner.identifier:cnsCodes.period">
      <path value="Practitioner.identifier.period" />
      <max value="0" />
    </element>
    <element id="Practitioner.identifier:cnsCodes.assigner">
      <path value="Practitioner.identifier.assigner" />
      <max value="0" />
    </element>
    <element id="Practitioner.active">
      <path value="Practitioner.active" />
      <max value="0" />
    </element>
    <element id="Practitioner.name">
      <path value="Practitioner.name" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Practitioner.name.id">
      <path value="Practitioner.name.id" />
      <max value="0" />
    </element>
    <element id="Practitioner.name.use">
      <path value="Practitioner.name.use" />
      <max value="0" />
    </element>
    <element id="Practitioner.name.text">
      <path value="Practitioner.name.text" />
      <max value="0" />
    </element>
    <element id="Practitioner.name.family">
      <path value="Practitioner.name.family" />
      <min value="1" />
    </element>
    <element id="Practitioner.name.given">
      <path value="Practitioner.name.given" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Practitioner.name.prefix">
      <path value="Practitioner.name.prefix" />
      <max value="0" />
    </element>
    <element id="Practitioner.name.suffix">
      <path value="Practitioner.name.suffix" />
      <max value="0" />
    </element>
    <element id="Practitioner.name.period">
      <path value="Practitioner.name.period" />
      <max value="0" />
    </element>
    <element id="Practitioner.telecom">
      <path value="Practitioner.telecom" />
      <short value="Phone number" />
      <max value="1" />
    </element>
    <element id="Practitioner.telecom.id">
      <path value="Practitioner.telecom.id" />
      <max value="0" />
    </element>
    <element id="Practitioner.telecom.system">
      <path value="Practitioner.telecom.system" />
      <definition value="Phone number" />
      <min value="1" />
      <fixedCode value="phone" />
    </element>
    <element id="Practitioner.telecom.value">
      <path value="Practitioner.telecom.value" />
      <short value="The phone number" />
      <min value="1" />
    </element>
    <element id="Practitioner.telecom.use">
      <path value="Practitioner.telecom.use" />
      <max value="0" />
    </element>
    <element id="Practitioner.telecom.rank">
      <path value="Practitioner.telecom.rank" />
      <max value="0" />
    </element>
    <element id="Practitioner.telecom.period">
      <path value="Practitioner.telecom.period" />
      <max value="0" />
    </element>
    <element id="Practitioner.address">
      <path value="Practitioner.address" />
      <short value="Address of the practitioner" />
      <max value="1" />
    </element>
    <element id="Practitioner.address.id">
      <path value="Practitioner.address.id" />
      <max value="0" />
    </element>
    <element id="Practitioner.address.use">
      <path value="Practitioner.address.use" />
      <max value="0" />
    </element>
    <element id="Practitioner.address.type">
      <path value="Practitioner.address.type" />
      <max value="0" />
    </element>
    <element id="Practitioner.address.text">
      <path value="Practitioner.address.text" />
      <max value="0" />
    </element>
    <element id="Practitioner.address.line">
      <path value="Practitioner.address.line" />
      <max value="1" />
    </element>
    <element id="Practitioner.address.district">
      <path value="Practitioner.address.district" />
      <max value="0" />
    </element>
    <element id="Practitioner.address.state">
      <path value="Practitioner.address.state" />
      <max value="0" />
    </element>
    <element id="Practitioner.address.postalCode">
      <path value="Practitioner.address.postalCode" />
      <short value="Postal code" />
    </element>
    <element id="Practitioner.address.country">
      <path value="Practitioner.address.country" />
      <short value="Country (ISO 3166 3 letter codes)" />
    </element>
    <element id="Practitioner.address.period">
      <path value="Practitioner.address.period" />
      <max value="0" />
    </element>
    <element id="Practitioner.gender">
      <path value="Practitioner.gender" />
      <max value="0" />
    </element>
    <element id="Practitioner.birthDate">
      <path value="Practitioner.birthDate" />
      <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>