<StructureDefinition xmlns="http://hl7.org/fhir">
  <meta>
    <lastUpdated value="2026-04-07T12:39:01.6758062+00:00" />
  </meta>
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm">
    <valueInteger value="3" />
  </extension>
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg">
    <valueCode value="pa" />
  </extension>
  <url value="http://hl7.org/fhir/StructureDefinition/Practitioner" />
  <name value="Practitioner" />
  <status value="draft" />
  <date value="2019-10-24T11:53:00+11:00" />
  <publisher value="Health Level Seven International (Patient Administration)" />
  <contact>
    <telecom>
      <system value="url" />
      <value value="http://hl7.org/fhir" />
    </telecom>
  </contact>
  <contact>
    <telecom>
      <system value="url" />
      <value value="http://www.hl7.org/Special/committees/pafm/index.cfm" />
    </telecom>
  </contact>
  <description value="Base StructureDefinition for Practitioner Resource" />
  <purpose value="Need to track doctors, staff, locums etc. for both healthcare practitioners, funders, etc." />
  <fhirVersion value="3.0.2" />
  <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/w5" />
    <name value="W5 Mapping" />
  </mapping>
  <kind value="resource" />
  <abstract value="false" />
  <type value="Practitioner" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
  <derivation value="specialization" />
  <differential>
    <element id="Practitioner">
      <path value="Practitioner" />
      <short value="A person with a  formal responsibility in the provisioning of healthcare or related services" />
      <definition value="A person who is directly or indirectly involved in the provisioning of healthcare." />
      <comment value="Note that a cab driver no longer fits the bill. You probably would be interested in the organization rather than the individual?" />
      <mapping>
        <identity value="v2" />
        <map value="PRD (as one example)" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="Role" />
      </mapping>
      <mapping>
        <identity value="servd" />
        <map value="Provider" />
      </mapping>
      <mapping>
        <identity value="w5" />
        <map value="administrative.individual" />
      </mapping>
    </element>
    <element id="Practitioner.identifier">
      <path value="Practitioner.identifier" />
      <short value="A identifier for the person as this agent" />
      <definition value="An identifier that applies to this person in this role." />
      <requirements value="Often, specific identities are assigned for the agent." />
      <type>
        <code value="Identifier" />
      </type>
      <isSummary value="true" />
      <mapping>
        <identity value="v2" />
        <map value="PRD-7 (or XCN.1)" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="./id" />
      </mapping>
      <mapping>
        <identity value="servd" />
        <map value="./Identifiers" />
      </mapping>
      <mapping>
        <identity value="w5" />
        <map value="id" />
      </mapping>
    </element>
    <element id="Practitioner.active">
      <path value="Practitioner.active" />
      <short value="Whether this practitioner's record is in active use" />
      <definition value="Whether this practitioner's record is in active use." />
      <comment value="Default is true. &#xD;&#xD;If the practitioner is not in use by one organization, then it should mark the period on the PractitonerRole with an end date (even if they are active) as they may be active in another role." />
      <requirements value="Need to be able to mark a practitioner record as not to be used because it was created in error." />
      <max value="1" />
      <type>
        <code value="boolean" />
      </type>
      <defaultValueBoolean value="true" />
      <isSummary value="true" />
      <mapping>
        <identity value="rim" />
        <map value="./statusCode" />
      </mapping>
      <mapping>
        <identity value="w5" />
        <map value="status" />
      </mapping>
    </element>
    <element id="Practitioner.name">
      <path value="Practitioner.name" />
      <short value="The name(s) associated with the practitioner" />
      <definition value="The name(s) associated with the practitioner." />
      <comment value="The selection of the use property should ensure that there is a single usual name specified, and others use the nickname (alias), old, or other values as appropriate.&#xD;&#xD;In general select the value to be used in the ResourceReference.display based on this:&#xD;&#xD;1. There is more than 1 name&#xD;2. Use = usual&#xD;3. Period is current to the date of the usage&#xD;4. Use = official&#xD;5. Other order as decided by internal business rules." />
      <requirements value="The name(s) that a Practitioner is known by. Where there are multiple, the name that the practitioner is usually known as should be used in the display." />
      <type>
        <code value="HumanName" />
      </type>
      <isSummary value="true" />
      <mapping>
        <identity value="v2" />
        <map value="XCN Components" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="./name" />
      </mapping>
      <mapping>
        <identity value="servd" />
        <map value="./PreferredName (GivenNames, FamilyName, TitleCode)" />
      </mapping>
    </element>
    <element id="Practitioner.telecom">
      <path value="Practitioner.telecom" />
      <short value="A contact detail for the practitioner (that apply to all roles)" />
      <definition value="A contact detail for the practitioner, e.g. a telephone number or an email address." />
      <comment value="Person may have multiple ways to be contacted with different uses or applicable periods.  May need to have options for contacting the person urgently, and also to help with identification&#xD;&#xD;These typically will have home numbers, or mobile numbers that are not role specific." />
      <requirements value="Need to know how to reach a practitioner independent to any roles the practitioner may have." />
      <type>
        <code value="ContactPoint" />
      </type>
      <isSummary value="true" />
      <mapping>
        <identity value="v2" />
        <map value="PRT-15, STF-10, ROL-12" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="./telecom" />
      </mapping>
      <mapping>
        <identity value="servd" />
        <map value="./ContactPoints" />
      </mapping>
    </element>
    <element id="Practitioner.address">
      <path value="Practitioner.address" />
      <short value="Address(es) of the practitioner that are not role specific (typically home address)" />
      <definition value="Address(es) of the practitioner that are not role specific (typically home address). &#xD;Work addresses are not typically entered in this property as they are usually role dependent." />
      <comment value="The PractitionerRole does not have an address value on it, as it is expected that the location property be used for this purpose (which has an address)." />
      <requirements value="The home/mailing address of the practitioner is often required for employee administration purposes, and also for some rostering services where the start point (practitioners home) can be used in calculations." />
      <type>
        <code value="Address" />
      </type>
      <isSummary value="true" />
      <mapping>
        <identity value="v2" />
        <map value="ORC-24, STF-11, ROL-11, PRT-14" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="./addr" />
      </mapping>
      <mapping>
        <identity value="servd" />
        <map value="./Addresses" />
      </mapping>
    </element>
    <element id="Practitioner.gender">
      <path value="Practitioner.gender" />
      <short value="male | female | other | unknown" />
      <definition value="Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes." />
      <requirements value="Needed to address the person correctly." />
      <max value="1" />
      <type>
        <code value="code" />
      </type>
      <isSummary value="true" />
      <binding>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
          <valueString value="AdministrativeGender" />
        </extension>
        <strength value="required" />
        <description value="The gender of a person used for administrative purposes." />
        <valueSetReference>
          <reference value="http://hl7.org/fhir/ValueSet/administrative-gender" />
        </valueSetReference>
      </binding>
      <mapping>
        <identity value="v2" />
        <map value="STF-5" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="./administrativeGender" />
      </mapping>
      <mapping>
        <identity value="servd" />
        <map value="./GenderCode" />
      </mapping>
    </element>
    <element id="Practitioner.birthDate">
      <path value="Practitioner.birthDate" />
      <short value="The date  on which the practitioner was born" />
      <definition value="The date of birth for the practitioner." />
      <requirements value="Needed for identification." />
      <max value="1" />
      <type>
        <code value="date" />
      </type>
      <isSummary value="true" />
      <mapping>
        <identity value="v2" />
        <map value="STF-6" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="./birthTime" />
      </mapping>
      <mapping>
        <identity value="servd" />
        <map value="(not represented in ServD)" />
      </mapping>
    </element>
    <element id="Practitioner.photo">
      <path value="Practitioner.photo" />
      <short value="Image of the person" />
      <definition value="Image of the person." />
      <requirements value="Many EHR systems have the capability to capture an image of patients and personnel. Fits with newer social media usage too." />
      <type>
        <code value="Attachment" />
      </type>
      <mapping>
        <identity value="rim" />
        <map value="./subjectOf/ObservationEvent[code=&quot;photo&quot;]/value" />
      </mapping>
      <mapping>
        <identity value="servd" />
        <map value="./ImageURI (only supports the URI reference)" />
      </mapping>
    </element>
    <element id="Practitioner.qualification">
      <path value="Practitioner.qualification" />
      <short value="Qualifications obtained by training and certification" />
      <definition value="Qualifications obtained by training and certification." />
      <type>
        <code value="BackboneElement" />
      </type>
      <mapping>
        <identity value="v2" />
        <map value="CER?" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value=".playingEntity.playingRole[classCode=QUAL].code" />
      </mapping>
      <mapping>
        <identity value="servd" />
        <map value="./Qualifications" />
      </mapping>
    </element>
    <element id="Practitioner.qualification.identifier">
      <path value="Practitioner.qualification.identifier" />
      <short value="An identifier for this qualification for the practitioner" />
      <definition value="An identifier that applies to this person's qualification in this role." />
      <requirements value="Often, specific identities are assigned for the qualification." />
      <type>
        <code value="Identifier" />
      </type>
      <mapping>
        <identity value="rim" />
        <map value=".playingEntity.playingRole[classCode=QUAL].id" />
      </mapping>
    </element>
    <element id="Practitioner.qualification.code">
      <path value="Practitioner.qualification.code" />
      <short value="Coded representation of the qualification" />
      <definition value="Coded representation of the qualification." />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="CodeableConcept" />
      </type>
      <binding>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
          <valueString value="Qualification" />
        </extension>
        <strength value="example" />
        <description value="Specific qualification the practitioner has to provide a service" />
        <valueSetReference>
          <reference value="http://hl7.org/fhir/ValueSet/v2-2.7-0360" />
        </valueSetReference>
      </binding>
      <mapping>
        <identity value="rim" />
        <map value=".playingEntity.playingRole[classCode=QUAL].code" />
      </mapping>
      <mapping>
        <identity value="servd" />
        <map value="./Qualifications.Value" />
      </mapping>
    </element>
    <element id="Practitioner.qualification.period">
      <path value="Practitioner.qualification.period" />
      <short value="Period during which the qualification is valid" />
      <definition value="Period during which the qualification is valid." />
      <requirements value="Qualifications are often for a limited period of time, and can be revoked." />
      <max value="1" />
      <type>
        <code value="Period" />
      </type>
      <mapping>
        <identity value="rim" />
        <map value=".playingEntity.playingRole[classCode=QUAL].effectiveTime" />
      </mapping>
      <mapping>
        <identity value="servd" />
        <map value="./Qualifications.StartDate and ./Qualifications.EndDate" />
      </mapping>
    </element>
    <element id="Practitioner.qualification.issuer">
      <path value="Practitioner.qualification.issuer" />
      <short value="Organization that regulates and issues the qualification" />
      <definition value="Organization that regulates and issues the qualification." />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" />
      </type>
      <mapping>
        <identity value="rim" />
        <map value=".playingEntity.playingRole[classCode=QUAL].scoper" />
      </mapping>
    </element>
    <element id="Practitioner.communication">
      <path value="Practitioner.communication" />
      <short value="A language the practitioner is able to use in patient communication" />
      <definition value="A language the practitioner is able to use in patient communication." />
      <comment value="The structure aa-BB with this exact casing is one the most widely used notations for locale. However not all systems actually code this but instead have it as free text. Hence CodeableConcept instead of code as the data type." />
      <requirements value="Knowing which language a practitioner speaks can help in facilitating communication with patients." />
      <type>
        <code value="CodeableConcept" />
      </type>
      <binding>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet" />
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
          <valueString value="Language" />
        </extension>
        <strength value="extensible" />
        <description value="A human language." />
        <valueSetReference>
          <reference value="http://hl7.org/fhir/ValueSet/languages" />
        </valueSetReference>
      </binding>
      <mapping>
        <identity value="v2" />
        <map value="PID-15, NK1-20, LAN-2" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value="./languageCommunication" />
      </mapping>
      <mapping>
        <identity value="servd" />
        <map value="./Languages.LanguageSpokenCode" />
      </mapping>
    </element>
  </differential>
</StructureDefinition>