<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Practitioner" />
  <name value="KBV_PR_FOR_Practitioner" />
  <status value="draft" />
  <fhirVersion value="4.0.0" />
  <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.meta">
      <path value="Practitioner.meta" />
      <min value="1" />
      <mustSupport value="true" />
    </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://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Practitioner" />
      <mustSupport value="true" />
    </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="type.coding.code" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.identifier:ZANR">
      <path value="Practitioner.identifier" />
      <sliceName value="ZANR" />
      <max value="1" />
      <type>
        <code value="Identifier" />
        <profile value="http://fhir.de/StructureDefinition/identifier-zanr" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.identifier:ZANR.use">
      <path value="Practitioner.identifier.use" />
      <max value="0" />
    </element>
    <element id="Practitioner.identifier:ZANR.type">
      <path value="Practitioner.identifier.type" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.identifier:ZANR.type.coding">
      <path value="Practitioner.identifier.type.coding" />
      <max value="1" />
    </element>
    <element id="Practitioner.identifier:ZANR.type.coding.system">
      <path value="Practitioner.identifier.type.coding.system" />
      <min value="1" />
      <fixedUri value="http://fhir.de/CodeSystem/identifier-type-de-basis" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.identifier:ZANR.type.coding.version">
      <path value="Practitioner.identifier.type.coding.version" />
      <max value="0" />
    </element>
    <element id="Practitioner.identifier:ZANR.type.coding.code">
      <path value="Practitioner.identifier.type.coding.code" />
      <min value="1" />
      <fixedCode value="ZANR" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.identifier:ZANR.type.coding.display">
      <path value="Practitioner.identifier.type.coding.display" />
      <max value="0" />
    </element>
    <element id="Practitioner.identifier:ZANR.type.coding.userSelected">
      <path value="Practitioner.identifier.type.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Practitioner.identifier:ZANR.type.text">
      <path value="Practitioner.identifier.type.text" />
      <max value="0" />
    </element>
    <element id="Practitioner.identifier:ZANR.period">
      <path value="Practitioner.identifier.period" />
      <max value="0" />
    </element>
    <element id="Practitioner.identifier:ZANR.assigner">
      <path value="Practitioner.identifier.assigner" />
      <max value="0" />
    </element>
    <element id="Practitioner.identifier:LANR">
      <path value="Practitioner.identifier" />
      <sliceName value="LANR" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.identifier:LANR.use">
      <path value="Practitioner.identifier.use" />
      <max value="0" />
      <fixedCode value="official" />
    </element>
    <element id="Practitioner.identifier:LANR.type">
      <path value="Practitioner.identifier.type" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.identifier:LANR.type.coding">
      <path value="Practitioner.identifier.type.coding" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.identifier:LANR.type.coding.system">
      <path value="Practitioner.identifier.type.coding.system" />
      <min value="1" />
      <fixedUri value="http://hl7.org/fhir/v2/0203" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.identifier:LANR.type.coding.version">
      <path value="Practitioner.identifier.type.coding.version" />
      <max value="0" />
    </element>
    <element id="Practitioner.identifier:LANR.type.coding.code">
      <path value="Practitioner.identifier.type.coding.code" />
      <min value="1" />
      <fixedCode value="DN" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.identifier:LANR.type.coding.display">
      <path value="Practitioner.identifier.type.coding.display" />
      <max value="0" />
    </element>
    <element id="Practitioner.identifier:LANR.type.coding.userSelected">
      <path value="Practitioner.identifier.type.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Practitioner.identifier:LANR.type.text">
      <path value="Practitioner.identifier.type.text" />
      <max value="0" />
    </element>
    <element id="Practitioner.identifier:LANR.system">
      <path value="Practitioner.identifier.system" />
      <min value="1" />
      <fixedUri value="https://fhir.kbv.de/NamingSystem/KBV_NS_Base_ANR" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.identifier:LANR.value">
      <path value="Practitioner.identifier.value" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.identifier:LANR.period">
      <path value="Practitioner.identifier.period" />
      <max value="0" />
    </element>
    <element id="Practitioner.identifier:LANR.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" />
      <type>
        <code value="HumanName" />
        <profile value="http://fhir.de/StructureDefinition/humanname-de-basis" />
      </type>
      <mustSupport value="true" />
    </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" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.name.family.extension:namenszusatz">
      <path value="Practitioner.name.family.extension" />
      <sliceName value="namenszusatz" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.name.family.extension:nachname">
      <path value="Practitioner.name.family.extension" />
      <sliceName value="nachname" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.name.family.extension:nachname.value[x]">
      <path value="Practitioner.name.family.extension.value[x]" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.name.family.extension:vorsatzwort">
      <path value="Practitioner.name.family.extension" />
      <sliceName value="vorsatzwort" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.name.family.extension:vorsatzwort.value[x]">
      <path value="Practitioner.name.family.extension.value[x]" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.name.given">
      <path value="Practitioner.name.given" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.name.prefix">
      <path value="Practitioner.name.prefix" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.name.prefix.extension:prefix-qualifier">
      <path value="Practitioner.name.prefix.extension" />
      <sliceName value="prefix-qualifier" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.name.prefix.extension:prefix-qualifier.value[x]">
      <path value="Practitioner.name.prefix.extension.value[x]" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.name.prefix.extension:prefix-qualifier.value[x]:valueCode">
      <path value="Practitioner.name.prefix.extension.value[x]" />
      <sliceName value="valueCode" />
      <min value="1" />
      <fixedCode value="AC" />
    </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" />
      <max value="0" />
    </element>
    <element id="Practitioner.address">
      <path value="Practitioner.address" />
      <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" />
      <slicing>
        <discriminator>
          <type value="exists" />
          <path value="code.text" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <min value="2" />
      <max value="2" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.qualification:Typ">
      <path value="Practitioner.qualification" />
      <sliceName value="Typ" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.qualification:Typ.identifier">
      <path value="Practitioner.qualification.identifier" />
      <max value="0" />
    </element>
    <element id="Practitioner.qualification:Typ.code">
      <path value="Practitioner.qualification.code" />
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <valueSet value="https://fhir.kbv.de/ValueSet/KBV_VS_EAU_Qualification_Type" />
      </binding>
    </element>
    <element id="Practitioner.qualification:Typ.code.coding">
      <path value="Practitioner.qualification.code.coding" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.qualification:Typ.code.coding.system">
      <path value="Practitioner.qualification.code.coding.system" />
      <min value="1" />
      <constraint>
        <key value="OneSlice" />
        <severity value="error" />
        <human value="Es darf pro Slice nur einmal der Typ oder die Bezeichung angeben werden" />
        <expression value="code.text.exist().count()=1" />
        <source value="Practitioner" />
      </constraint>
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.qualification:Typ.code.coding.version">
      <path value="Practitioner.qualification.code.coding.version" />
      <max value="0" />
    </element>
    <element id="Practitioner.qualification:Typ.code.coding.code">
      <path value="Practitioner.qualification.code.coding.code" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.qualification:Typ.code.coding.display">
      <path value="Practitioner.qualification.code.coding.display" />
      <max value="0" />
    </element>
    <element id="Practitioner.qualification:Typ.code.coding.userSelected">
      <path value="Practitioner.qualification.code.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Practitioner.qualification:Typ.code.text">
      <path value="Practitioner.qualification.code.text" />
      <max value="0" />
    </element>
    <element id="Practitioner.qualification:Typ.period">
      <path value="Practitioner.qualification.period" />
      <max value="0" />
    </element>
    <element id="Practitioner.qualification:Typ.issuer">
      <path value="Practitioner.qualification.issuer" />
      <max value="0" />
    </element>
    <element id="Practitioner.qualification:Berufsbezeichnung">
      <path value="Practitioner.qualification" />
      <sliceName value="Berufsbezeichnung" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.qualification:Berufsbezeichnung.identifier">
      <path value="Practitioner.qualification.identifier" />
      <max value="0" />
    </element>
    <element id="Practitioner.qualification:Berufsbezeichnung.code">
      <path value="Practitioner.qualification.code" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.qualification:Berufsbezeichnung.code.coding">
      <path value="Practitioner.qualification.code.coding" />
      <max value="0" />
    </element>
    <element id="Practitioner.qualification:Berufsbezeichnung.code.text">
      <path value="Practitioner.qualification.code.text" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.qualification:Berufsbezeichnung.period">
      <path value="Practitioner.qualification.period" />
      <max value="0" />
    </element>
    <element id="Practitioner.qualification:Berufsbezeichnung.issuer">
      <path value="Practitioner.qualification.issuer" />
      <max value="0" />
    </element>
    <element id="Practitioner.communication">
      <path value="Practitioner.communication" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>