<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="http://digen.nublar.de/fhir/StructureDefinition/DigenBmpPractitioner" />
  <version value="Sprint10" />
  <name value="DigenBmpPractitioner" />
  <status value="draft" />
  <description value="This Practitioner holds all practitioner data transmitted in the barcode of a Bundesmedikationsplan. While this normally refers to an individual practitioner, it can sometimes refer to an organization. To avoid the complexity we use just this Practitioner resource in both cases.&#xD;&#xA;This resource will always be contained in a MedicationStatement, therefore additional restrictions have been implemented.&#xD;&#xA;Please note that this is data from an external system and does not necessarily track with the contents of the DiGeN Healthcare Provider Directory." />
  <copyright value="AOK BV" />
  <fhirVersion value="3.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">
      <path value="Practitioner" />
      <short value="Person responsible for the medication plan" />
      <definition value="The practitioner (or organization in some cases) that printed out the medication plan for the patient. This must be included inline, as we do not always know the LANR." />
    </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="open" />
      </slicing>
      <short value="An identifier for this person or organization" />
      <definition value="An identifier for this person or organization. There may not be an identifier. If there is, it may be exactly one of LANR, K-IK, or Apotheken-IDF." />
      <max value="1" />
    </element>
    <element id="Practitioner.identifier:lebenslangeArztnummer">
      <path value="Practitioner.identifier" />
      <sliceName value="lebenslangeArztnummer" />
      <max value="1" />
    </element>
    <element id="Practitioner.identifier:lebenslangeArztnummer.id">
      <path value="Practitioner.identifier.id" />
      <max value="0" />
    </element>
    <element id="Practitioner.identifier:lebenslangeArztnummer.use">
      <path value="Practitioner.identifier.use" />
      <max value="0" />
    </element>
    <element id="Practitioner.identifier:lebenslangeArztnummer.type">
      <path value="Practitioner.identifier.type" />
      <max value="0" />
    </element>
    <element id="Practitioner.identifier:lebenslangeArztnummer.system">
      <path value="Practitioner.identifier.system" />
      <short value="The namespace for the LANR" />
      <min value="1" />
      <fixedUri value="http://fhir.de/NamingSystem/kbv/lanr" />
    </element>
    <element id="Practitioner.identifier:lebenslangeArztnummer.value">
      <path value="Practitioner.identifier.value" />
      <short value="LANR" />
      <definition value="9-digit LANR with leading zeros" />
      <comment value="Read from barcode at &quot;MP.A.lanr&quot;" />
      <min value="1" />
    </element>
    <element id="Practitioner.identifier:lebenslangeArztnummer.period">
      <path value="Practitioner.identifier.period" />
      <max value="0" />
    </element>
    <element id="Practitioner.identifier:lebenslangeArztnummer.assigner">
      <path value="Practitioner.identifier.assigner" />
      <max value="0" />
    </element>
    <element id="Practitioner.identifier:krankenhausInstitutionskennzeichen">
      <path value="Practitioner.identifier" />
      <sliceName value="krankenhausInstitutionskennzeichen" />
      <max value="1" />
    </element>
    <element id="Practitioner.identifier:krankenhausInstitutionskennzeichen.id">
      <path value="Practitioner.identifier.id" />
      <max value="0" />
    </element>
    <element id="Practitioner.identifier:krankenhausInstitutionskennzeichen.use">
      <path value="Practitioner.identifier.use" />
      <max value="0" />
    </element>
    <element id="Practitioner.identifier:krankenhausInstitutionskennzeichen.type">
      <path value="Practitioner.identifier.type" />
      <max value="0" />
    </element>
    <element id="Practitioner.identifier:krankenhausInstitutionskennzeichen.system">
      <path value="Practitioner.identifier.system" />
      <short value="The namespace for the IKNR" />
      <min value="1" />
      <fixedUri value="http://fhir.de/NamingSystem/arge-ik/iknr" />
    </element>
    <element id="Practitioner.identifier:krankenhausInstitutionskennzeichen.value">
      <path value="Practitioner.identifier.value" />
      <short value="Krankenhaus-Institutionskennzeichen" />
      <definition value="9-digit IK-Nummer for the hospital" />
      <comment value="Read from barcode at &quot;MP.A.kik&quot;" />
      <min value="1" />
    </element>
    <element id="Practitioner.identifier:krankenhausInstitutionskennzeichen.period">
      <path value="Practitioner.identifier.period" />
      <max value="0" />
    </element>
    <element id="Practitioner.identifier:krankenhausInstitutionskennzeichen.assigner">
      <path value="Practitioner.identifier.assigner" />
      <max value="0" />
    </element>
    <element id="Practitioner.identifier:apothekeidentifikationsnummer">
      <path value="Practitioner.identifier" />
      <sliceName value="apothekeidentifikationsnummer" />
      <max value="1" />
    </element>
    <element id="Practitioner.identifier:apothekeidentifikationsnummer.id">
      <path value="Practitioner.identifier.id" />
      <max value="0" />
    </element>
    <element id="Practitioner.identifier:apothekeidentifikationsnummer.use">
      <path value="Practitioner.identifier.use" />
      <max value="0" />
    </element>
    <element id="Practitioner.identifier:apothekeidentifikationsnummer.type">
      <path value="Practitioner.identifier.type" />
      <max value="0" />
    </element>
    <element id="Practitioner.identifier:apothekeidentifikationsnummer.system">
      <path value="Practitioner.identifier.system" />
      <short value="The namespace for the Apotheken-IDF" />
      <min value="1" />
      <fixedUri value="http://digen.nublar.de/fhir/NamingSystem/apotheken-IDF" />
    </element>
    <element id="Practitioner.identifier:apothekeidentifikationsnummer.value">
      <path value="Practitioner.identifier.value" />
      <short value="Apotheken-IDF" />
      <definition value="The 7-digit Apothekenidentifikationsnummer or Apotheken-IDF is identical to the 9-digit IK-Nummer without the leading &quot;30&quot;" />
      <comment value="Read from barcode at &quot;MP.A.idf&quot;" />
      <min value="1" />
    </element>
    <element id="Practitioner.identifier:apothekeidentifikationsnummer.period">
      <path value="Practitioner.identifier.period" />
      <max value="0" />
    </element>
    <element id="Practitioner.identifier:apothekeidentifikationsnummer.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" />
      <short value="Ausdruckender des Medikationsplans" />
      <definition value="The name(s) associated with the practitioner or organization." />
      <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" />
      <min value="1" />
    </element>
    <element id="Practitioner.name.family">
      <path value="Practitioner.name.family" />
      <max value="0" />
    </element>
    <element id="Practitioner.name.given">
      <path value="Practitioner.name.given" />
      <max value="0" />
    </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" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Practitioner.telecom:phone">
      <path value="Practitioner.telecom" />
      <sliceName value="phone" />
      <short value="Telefonnummer" />
      <max value="1" />
    </element>
    <element id="Practitioner.telecom:phone.id">
      <path value="Practitioner.telecom.id" />
      <max value="0" />
    </element>
    <element id="Practitioner.telecom:phone.system">
      <path value="Practitioner.telecom.system" />
      <min value="1" />
      <fixedCode value="phone" />
    </element>
    <element id="Practitioner.telecom:phone.value">
      <path value="Practitioner.telecom.value" />
      <short value="Telefonnummer" />
      <comment value="Read from barcode at &quot;MP.A.p&quot;" />
      <min value="1" />
    </element>
    <element id="Practitioner.telecom:phone.use">
      <path value="Practitioner.telecom.use" />
      <min value="1" />
      <fixedCode value="work" />
    </element>
    <element id="Practitioner.telecom:phone.rank">
      <path value="Practitioner.telecom.rank" />
      <max value="0" />
    </element>
    <element id="Practitioner.telecom:phone.period">
      <path value="Practitioner.telecom.period" />
      <max value="0" />
    </element>
    <element id="Practitioner.telecom:email">
      <path value="Practitioner.telecom" />
      <sliceName value="email" />
      <short value="E-Mail Adresse" />
      <max value="1" />
    </element>
    <element id="Practitioner.telecom:email.id">
      <path value="Practitioner.telecom.id" />
      <max value="0" />
    </element>
    <element id="Practitioner.telecom:email.system">
      <path value="Practitioner.telecom.system" />
      <min value="1" />
      <fixedCode value="email" />
    </element>
    <element id="Practitioner.telecom:email.value">
      <path value="Practitioner.telecom.value" />
      <short value="E-Mail" />
      <comment value="Read from barcode at &quot;MP.A.e&quot;" />
      <min value="1" />
    </element>
    <element id="Practitioner.telecom:email.use">
      <path value="Practitioner.telecom.use" />
      <min value="1" />
      <fixedCode value="work" />
    </element>
    <element id="Practitioner.telecom:email.rank">
      <path value="Practitioner.telecom.rank" />
      <max value="0" />
    </element>
    <element id="Practitioner.telecom:email.period">
      <path value="Practitioner.telecom.period" />
      <max value="0" />
    </element>
    <element id="Practitioner.address">
      <path value="Practitioner.address" />
      <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" />
      <fixedCode value="work" />
    </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" />
      <short value="Straße" />
      <comment value="Read from barcode at &quot;MP.A.s&quot;" />
      <max value="1" />
    </element>
    <element id="Practitioner.address.city">
      <path value="Practitioner.address.city" />
      <short value="Ort" />
      <comment value="Read from barcode at &quot;MP.A.c&quot;" />
    </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="PLZ" />
      <comment value="Read from barcode at &quot;MP.A.z&quot;" />
    </element>
    <element id="Practitioner.address.country">
      <path value="Practitioner.address.country" />
      <max value="0" />
    </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>