<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="PractitionerRole" />
  <meta>
    <lastUpdated value="2019-11-01T09:29:23.356+11:00" />
  </meta>
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-category">
    <valueString value="Base.Individuals" />
  </extension>
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
    <valueCode value="trial-use" />
  </extension>
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm">
    <valueInteger value="2" />
  </extension>
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-security-category">
    <valueCode value="individual" />
  </extension>
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg">
    <valueCode value="pa" />
  </extension>
  <url value="https://fhir.kemkes.go.id/r4/StructureDefinition/PractitionerRole" />
  <version value="4.0.1" />
  <name value="PractitionerRole" />
  <status value="draft" />
  <date value="2022-07-08T15:10:50.6856647+00: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="A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time." />
  <purpose value="Need to track services that a healthcare provider is able to provide at an organization's location, and the services that they can perform there." />
  <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="PractitionerRole" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/PractitionerRole" />
  <derivation value="constraint" />
  <differential>
    <element id="PractitionerRole">
      <path value="PractitionerRole" />
      <short value="Roles/organizations the practitioner is associated with" />
      <definition value="A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time." />
      <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="ServiceSiteProvider" />
      </mapping>
    </element>
    <element id="PractitionerRole.identifier">
      <path value="PractitionerRole.identifier" />
      <short value="Business Identifiers that are specific to a role/location" />
      <definition value="Business Identifiers that are specific to a role/location." />
      <requirements value="Often, specific identities are assigned for the agent." />
      <type>
        <code value="Identifier" />
      </type>
      <isSummary value="true" />
      <mapping>
        <identity value="w5" />
        <map value="FiveWs.identifier" />
      </mapping>
      <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>
    </element>
    <element id="PractitionerRole.active">
      <path value="PractitionerRole.active" />
      <short value="Whether this practitioner role record is in active use" />
      <definition value="Whether this practitioner role record is in active use." />
      <comment value="If this value is false, you may refer to the period to see when the role was in active use. If there is no period specified, no inference can be made about when it was active." />
      <requirements value="Need to be able to mark a practitioner role record as not to be used because it was created in error, or otherwise no longer in active use." />
      <max value="1" />
      <type>
        <code value="boolean" />
      </type>
      <meaningWhenMissing value="This resource is generally assumed to be active if no value is provided for the active element" />
      <isSummary value="true" />
      <mapping>
        <identity value="w5" />
        <map value="FiveWs.status" />
      </mapping>
      <mapping>
        <identity value="v2" />
        <map value="STF-7" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value=".statusCode" />
      </mapping>
    </element>
    <element id="PractitionerRole.period">
      <path value="PractitionerRole.period" />
      <short value="The period during which the practitioner is authorized to perform in these role(s)" />
      <definition value="The period during which the person is authorized to act as a practitioner in these role(s) for the organization." />
      <requirements value="Even after the agencies is revoked, the fact that it existed must still be recorded." />
      <max value="1" />
      <type>
        <code value="Period" />
      </type>
      <isSummary value="true" />
      <mapping>
        <identity value="w5" />
        <map value="FiveWs.done[x]" />
      </mapping>
      <mapping>
        <identity value="v2" />
        <map value="PRD-8/9 / PRA-5.4" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value=".performance[@typeCode &lt;= 'PPRF'].ActDefinitionOrEvent.effectiveTime" />
      </mapping>
      <mapping>
        <identity value="servd" />
        <map value="(ServD maps Practitioners and Organizations via another entity, so this concept is not available)" />
      </mapping>
    </element>
    <element id="PractitionerRole.practitioner">
      <path value="PractitionerRole.practitioner" />
      <short value="Practitioner that is able to provide the defined services for the organization" />
      <definition value="Practitioner that is able to provide the defined services for the organization." />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Practitioner" />
      </type>
      <isSummary value="true" />
      <mapping>
        <identity value="rim" />
        <map value=".player" />
      </mapping>
    </element>
    <element id="PractitionerRole.organization">
      <path value="PractitionerRole.organization" />
      <short value="Organization where the roles are available" />
      <definition value="The organization where the Practitioner performs the roles associated." />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" />
      </type>
      <isSummary value="true" />
      <mapping>
        <identity value="rim" />
        <map value=".scoper" />
      </mapping>
    </element>
    <element id="PractitionerRole.code">
      <path value="PractitionerRole.code" />
      <short value="Roles which this practitioner may perform" />
      <definition value="Roles which this practitioner is authorized to perform for the organization." />
      <comment value="A person may have more than one role." />
      <requirements value="Need to know what authority the practitioner has - what can they do?" />
      <type>
        <code value="CodeableConcept" />
      </type>
      <isSummary value="true" />
      <binding>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
          <valueString value="PractitionerRole" />
        </extension>
        <strength value="example" />
        <description value="The role a person plays representing an organization." />
        <valueSet value="http://hl7.org/fhir/ValueSet/practitioner-role" />
      </binding>
      <mapping>
        <identity value="v2" />
        <map value="PRD-1 / STF-18  / PRA-3  / PRT-4  / ROL-3 / ORC-12 / OBR-16 / PV1-7 / PV1-8 / PV1-9 / PV1-17" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value=".code" />
      </mapping>
      <mapping>
        <identity value="servd" />
        <map value="(ServD maps Practitioners and Organizations via another entity, so this concept is not available)" />
      </mapping>
    </element>
    <element id="PractitionerRole.specialty">
      <path value="PractitionerRole.specialty" />
      <short value="Specific specialty of the practitioner" />
      <definition value="Specific specialty of the practitioner." />
      <type>
        <code value="CodeableConcept" />
      </type>
      <isSummary value="true" />
      <binding>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
          <valueString value="PractitionerSpecialty" />
        </extension>
        <strength value="preferred" />
        <description value="Specific specialty associated with the agency." />
        <valueSet value="http://hl7.org/fhir/ValueSet/c80-practice-codes" />
      </binding>
      <mapping>
        <identity value="v2" />
        <map value="PRA-5" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value=".player.HealthCareProvider[@classCode = 'PROV'].code" />
      </mapping>
      <mapping>
        <identity value="servd" />
        <map value="./Specialty" />
      </mapping>
    </element>
    <element id="PractitionerRole.location">
      <path value="PractitionerRole.location" />
      <short value="The location(s) at which this practitioner provides care" />
      <definition value="The location(s) at which this practitioner provides care." />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Location" />
      </type>
      <isSummary value="true" />
      <mapping>
        <identity value="w5" />
        <map value="FiveWs.where[x]" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value=".performance.ActDefinitionOrEvent.ServiceDeliveryLocation[@classCode = 'SDLOC']" />
      </mapping>
      <mapping>
        <identity value="servd" />
        <map value="(ServD maps Practitioners and Organizations via another entity, so this concept is not available)&lt;br/&gt; However these are accessed via the Site.ServiceSite.ServiceSiteProvider record. (The Site has the location)" />
      </mapping>
    </element>
    <element id="PractitionerRole.healthcareService">
      <path value="PractitionerRole.healthcareService" />
      <short value="The list of healthcare services that this worker provides for this role's Organization/Location(s)" />
      <definition value="The list of healthcare services that this worker provides for this role's Organization/Location(s)." />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/HealthcareService" />
      </type>
      <mapping>
        <identity value="v2" />
        <map value="EDU-2 / AFF-3" />
      </mapping>
      <mapping>
        <identity value="rim" />
        <map value=".player.QualifiedEntity[@classCode = 'QUAL'].code" />
      </mapping>
    </element>
    <element id="PractitionerRole.telecom">
      <path value="PractitionerRole.telecom" />
      <short value="Contact details that are specific to the role/location/service" />
      <definition value="Contact details that are specific to the role/location/service." />
      <requirements value="Often practitioners have a dedicated line for each location (or service) that they work at, and need to be able to define separate contact details for each of these." />
      <type>
        <code value="ContactPoint" />
      </type>
      <isSummary value="true" />
      <mapping>
        <identity value="rim" />
        <map value=".telecom" />
      </mapping>
    </element>
    <element id="PractitionerRole.availableTime">
      <path value="PractitionerRole.availableTime" />
      <short value="Times the Service Site is available" />
      <definition value="A collection of times the practitioner is available or performing this role at the location and/or healthcareservice." />
      <comment value="More detailed availability information may be provided in associated Schedule/Slot resources." />
      <type>
        <code value="BackboneElement" />
      </type>
      <mapping>
        <identity value="rim" />
        <map value=".effectiveTime" />
      </mapping>
    </element>
    <element id="PractitionerRole.availableTime.daysOfWeek">
      <path value="PractitionerRole.availableTime.daysOfWeek" />
      <short value="mon | tue | wed | thu | fri | sat | sun" />
      <definition value="Indicates which days of the week are available between the start and end Times." />
      <type>
        <code value="code" />
      </type>
      <binding>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
          <valueString value="DaysOfWeek" />
        </extension>
        <strength value="required" />
        <description value="The days of the week." />
        <valueSet value="http://hl7.org/fhir/ValueSet/days-of-week|4.0.1" />
      </binding>
      <mapping>
        <identity value="rim" />
        <map value=".effectiveTime" />
      </mapping>
    </element>
    <element id="PractitionerRole.availableTime.allDay">
      <path value="PractitionerRole.availableTime.allDay" />
      <short value="Always available? e.g. 24 hour service" />
      <definition value="Is this always available? (hence times are irrelevant) e.g. 24 hour service." />
      <max value="1" />
      <type>
        <code value="boolean" />
      </type>
      <mapping>
        <identity value="rim" />
        <map value=".effectiveTime" />
      </mapping>
    </element>
    <element id="PractitionerRole.availableTime.availableStartTime">
      <path value="PractitionerRole.availableTime.availableStartTime" />
      <short value="Opening time of day (ignored if allDay = true)" />
      <definition value="The opening time of day. Note: If the AllDay flag is set, then this time is ignored." />
      <comment value="The timezone is expected to be for where this HealthcareService is provided at." />
      <max value="1" />
      <type>
        <code value="time" />
      </type>
      <mapping>
        <identity value="rim" />
        <map value=".effectiveTime" />
      </mapping>
    </element>
    <element id="PractitionerRole.availableTime.availableEndTime">
      <path value="PractitionerRole.availableTime.availableEndTime" />
      <short value="Closing time of day (ignored if allDay = true)" />
      <definition value="The closing time of day. Note: If the AllDay flag is set, then this time is ignored." />
      <comment value="The timezone is expected to be for where this HealthcareService is provided at." />
      <max value="1" />
      <type>
        <code value="time" />
      </type>
      <mapping>
        <identity value="rim" />
        <map value=".effectiveTime" />
      </mapping>
    </element>
    <element id="PractitionerRole.notAvailable">
      <path value="PractitionerRole.notAvailable" />
      <short value="Not available during this time due to provided reason" />
      <definition value="The practitioner is not available or performing this role during this period of time due to the provided reason." />
      <type>
        <code value="BackboneElement" />
      </type>
      <mapping>
        <identity value="rim" />
        <map value=".effectiveTime" />
      </mapping>
    </element>
    <element id="PractitionerRole.notAvailable.description">
      <path value="PractitionerRole.notAvailable.description" />
      <short value="Reason presented to the user explaining why time not available" />
      <definition value="The reason that can be presented to the user as to why this time is not available." />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element id="PractitionerRole.notAvailable.during">
      <path value="PractitionerRole.notAvailable.during" />
      <short value="Service not available from this date" />
      <definition value="Service is not available (seasonally or for a public holiday) from this date." />
      <max value="1" />
      <type>
        <code value="Period" />
      </type>
      <mapping>
        <identity value="rim" />
        <map value=".effectiveTime" />
      </mapping>
    </element>
    <element id="PractitionerRole.availabilityExceptions">
      <path value="PractitionerRole.availabilityExceptions" />
      <short value="Description of availability exceptions" />
      <definition value="A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times." />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
      <mapping>
        <identity value="rim" />
        <map value=".effectiveTime" />
      </mapping>
    </element>
    <element id="PractitionerRole.endpoint">
      <path value="PractitionerRole.endpoint" />
      <short value="Technical endpoints providing access to services operated for the practitioner with this role" />
      <definition value="Technical endpoints providing access to services operated for the practitioner with this role." />
      <requirements value="Organizations have multiple systems that provide various services and ,ay also be different for practitioners too.&#xD;&#xD;So the endpoint satisfies the need to be able to define the technical connection details for how to connect to them, and for what purpose." />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Endpoint" />
      </type>
    </element>
  </differential>
</StructureDefinition>