<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="el-practitioner" />
  <url value="http://fhir.essilorluxottica.com/fhir/StructureDefinition/el-practitioner" />
  <version value="1.0.0" />
  <name value="ELPractitioner" />
  <title value="EL Practitioner Profile" />
  <status value="draft" />
  <description value="The profile for the Practitioner." />
  <fhirVersion value="4.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.meta.tag">
      <path value="Practitioner.meta.tag" />
      <binding>
        <strength value="required" />
        <valueSet value="http://fhir.essilorluxottica.com/fhir/ValueSet/el-metatag-vs" />
      </binding>
    </element>
    <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:el-practitioner-extension">
      <path value="Practitioner.extension" />
      <sliceName value="el-practitioner-extension" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://fhir.essilorluxottica.com/fhir/StructureDefinition/el-practitioner-extension" />
      </type>
    </element>
    <element id="Practitioner.identifier">
      <path value="Practitioner.identifier" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="2" />
      <max value="3" />
    </element>
    <element id="Practitioner.identifier:npi">
      <path value="Practitioner.identifier" />
      <sliceName value="npi" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Practitioner.identifier:npi.system">
      <path value="Practitioner.identifier.system" />
      <min value="1" />
      <patternUri value="http://hl7.org/fhir/sid/us-npi" />
    </element>
    <element id="Practitioner.identifier:npi.value">
      <path value="Practitioner.identifier.value" />
      <min value="1" />
    </element>
    <element id="Practitioner.identifier:username">
      <path value="Practitioner.identifier" />
      <sliceName value="username" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Practitioner.identifier:username.system">
      <path value="Practitioner.identifier.system" />
      <min value="1" />
      <patternUri value="http://fhir.essilorluxottica.com/fhir/CodeSystem/el-username-cs" />
    </element>
    <element id="Practitioner.identifier:username.value">
      <path value="Practitioner.identifier.value" />
      <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" />
      <max value="1" />
    </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="3" />
    </element>
    <element id="Practitioner.telecom">
      <path value="Practitioner.telecom" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="extension.value" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="1" />
      <max value="3" />
    </element>
    <element id="Practitioner.telecom:email">
      <path value="Practitioner.telecom" />
      <sliceName value="email" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Practitioner.telecom:email.extension">
      <path value="Practitioner.telecom.extension" />
      <min value="1" />
    </element>
    <element id="Practitioner.telecom:email.extension:subsystem">
      <path value="Practitioner.telecom.extension" />
      <sliceName value="subsystem" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://fhir.essilorluxottica.com/fhir/StructureDefinition/el-practitioner-telecom-subsystem-extension" />
      </type>
    </element>
    <element id="Practitioner.telecom:email.extension:subsystem.value[x]">
      <path value="Practitioner.telecom.extension.value[x]" />
      <patternCoding>
        <system value="http://fhir.essilorluxottica.com/fhir/CodeSystem/el-telecom-subsystem-cs" />
        <code value="email" />
      </patternCoding>
    </element>
    <element id="Practitioner.telecom:email.system">
      <path value="Practitioner.telecom.system" />
      <min value="1" />
      <patternCode value="email" />
    </element>
    <element id="Practitioner.telecom:email.value">
      <path value="Practitioner.telecom.value" />
      <min value="1" />
    </element>
    <element id="Practitioner.telecom:email.use">
      <path value="Practitioner.telecom.use" />
      <min value="1" />
    </element>
    <element id="Practitioner.telecom:email.rank">
      <path value="Practitioner.telecom.rank" />
      <min value="1" />
    </element>
    <element id="Practitioner.telecom:secure-email">
      <path value="Practitioner.telecom" />
      <sliceName value="secure-email" />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="Practitioner.telecom:secure-email.extension">
      <path value="Practitioner.telecom.extension" />
      <min value="1" />
    </element>
    <element id="Practitioner.telecom:secure-email.extension:subsystem">
      <path value="Practitioner.telecom.extension" />
      <sliceName value="subsystem" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://fhir.essilorluxottica.com/fhir/StructureDefinition/el-practitioner-telecom-subsystem-extension" />
      </type>
    </element>
    <element id="Practitioner.telecom:secure-email.extension:subsystem.value[x]">
      <path value="Practitioner.telecom.extension.value[x]" />
      <patternCoding>
        <system value="http://fhir.essilorluxottica.com/fhir/CodeSystem/el-telecom-subsystem-cs" />
        <code value="secure-email" />
      </patternCoding>
    </element>
    <element id="Practitioner.telecom:secure-email.system">
      <path value="Practitioner.telecom.system" />
      <min value="1" />
      <patternCode value="email" />
    </element>
    <element id="Practitioner.telecom:secure-email.value">
      <path value="Practitioner.telecom.value" />
      <min value="1" />
    </element>
    <element id="Practitioner.telecom:secure-email.use">
      <path value="Practitioner.telecom.use" />
      <min value="1" />
    </element>
    <element id="Practitioner.telecom:secure-email.rank">
      <path value="Practitioner.telecom.rank" />
      <min value="1" />
    </element>
    <element id="Practitioner.telecom:personalphone">
      <path value="Practitioner.telecom" />
      <sliceName value="personalphone" />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="Practitioner.telecom:personalphone.extension">
      <path value="Practitioner.telecom.extension" />
      <min value="1" />
    </element>
    <element id="Practitioner.telecom:personalphone.extension:subsystem">
      <path value="Practitioner.telecom.extension" />
      <sliceName value="subsystem" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://fhir.essilorluxottica.com/fhir/StructureDefinition/el-practitioner-telecom-subsystem-extension" />
      </type>
    </element>
    <element id="Practitioner.telecom:personalphone.extension:subsystem.value[x]">
      <path value="Practitioner.telecom.extension.value[x]" />
      <patternCoding>
        <system value="http://fhir.essilorluxottica.com/fhir/CodeSystem/el-telecom-subsystem-cs" />
        <code value="personalphone" />
      </patternCoding>
    </element>
    <element id="Practitioner.telecom:personalphone.system">
      <path value="Practitioner.telecom.system" />
      <min value="1" />
      <patternCode value="phone" />
    </element>
    <element id="Practitioner.telecom:personalphone.value">
      <path value="Practitioner.telecom.value" />
      <min value="1" />
    </element>
    <element id="Practitioner.telecom:personalphone.use">
      <path value="Practitioner.telecom.use" />
      <min value="1" />
    </element>
    <element id="Practitioner.telecom:personalphone.rank">
      <path value="Practitioner.telecom.rank" />
      <min value="1" />
    </element>
    <element id="Practitioner.address">
      <path value="Practitioner.address" />
      <max value="1" />
    </element>
    <element id="Practitioner.address.type">
      <path value="Practitioner.address.type" />
      <patternCode value="postal" />
    </element>
    <element id="Practitioner.address.line">
      <path value="Practitioner.address.line" />
      <max value="1" />
    </element>
    <element id="Practitioner.photo">
      <path value="Practitioner.photo" />
      <max value="1" />
    </element>
    <element id="Practitioner.photo.url">
      <path value="Practitioner.photo.url" />
      <min value="1" />
    </element>
    <element id="Practitioner.communication.coding">
      <path value="Practitioner.communication.coding" />
      <min value="1" />
      <max value="1" />
      <binding>
        <strength value="required" />
        <valueSet value="http://hl7.org/fhir/ValueSet/all-languages" />
      </binding>
    </element>
    <element id="Practitioner.communication.coding.system">
      <path value="Practitioner.communication.coding.system" />
      <min value="1" />
    </element>
    <element id="Practitioner.communication.coding.code">
      <path value="Practitioner.communication.coding.code" />
      <min value="1" />
    </element>
    <element id="Practitioner.communication.coding.display">
      <path value="Practitioner.communication.coding.display" />
      <min value="1" />
    </element>
  </differential>
</StructureDefinition>