---
schema_version: "1"
id: e9e9debd0ecc0306b50d628c3e02c2af62e7f3a3d00b38d1aec2159221398fca
title: PractitionerRole
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/life_sciences_dev_guide/map_fhir_practitionerrole.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.life_sciences_dev_guide.meta/life_sciences_dev_guide/map_fhir_practitionerrole.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: 4012520e9a01b26fe7a8b5a084052766aa48186b89d4761107b6baec339e2dc9
description: The practitionerRole FHIR resource maps to the HealthcarePractitionerFacility and CareProviderFacilitySpecialty objects in Salesforce​.
---
# PractitionerRole

The practitionerRole FHIR resource maps to the HealthcarePractitionerFacility and CareProviderFacilitySpecialty objects in Salesforce​.

The practitionerRole resource in FHIR is represented as a combination of HealthcarePractitionerFacility and CareProviderFacilitySpecialty records, where the HealthcarePractitionerFacility record is the base. The CareProviderFacilitySpecialty record is associated to the HealthcarePractitionerFacility record by referencing the HealthcarePractitionerFacility record using the PractitionerFacilityId field on CareProviderFacilitySpecialty.

## FHIR V4​.0 - Clinical ​Data Model Mapping

Here’s how the fields defined by FHIR for [PractitionerRole](https://www.hl7.org/fhir/practitionerrole.html) map to the fields in Salesforce​.

<table class="featureTable sort_table" summary="">
          <caption><span class="tablecap">Table 1. PractitionerRole - Salesforce</span></caption>





          <thead class="thead sorted" align="left">
            <tr>
              <th class="featureTableHeader  " id="d197251e103">Practitioner Resource</th>

              <th class="featureTableHeader  " id="d197251e106">Salesforce Field</th>

              <th class="featureTableHeader  " id="d197251e109">Type</th>

              <th class="featureTableHeader  text-center" id="d197251e112">Salesforce Cardinality</th>

              <th class="featureTableHeader  " id="d197251e115">Notes</th>

            </tr>

          </thead>

          <tbody class="tbody">
            <tr>
              <td class="entry" headers="d197251e103" data-title="Practitioner Resource"><samp class="codeph nolang">identifier</samp></td>

              <td class="entry" headers="d197251e106" data-title="Salesforce Field"><samp class="codeph nolang">Identifier</samp></td>

              <td class="entry" headers="d197251e109" data-title="Type">Object</td>

              <td class=" text-center" headers="d197251e112" data-title="Salesforce Cardinality">0​.M</td>

              <td class="entry" headers="d197251e115" data-title="Notes">The identifier information for a practitioner​Role is represented as <samp class="codeph nolang">Identifier</samp> records that reference the
                Healthcare​Practitioner​Facility record using their <samp class="codeph nolang">Identifier​.Parent​RecordId</samp> field​.</td>

            </tr>

            <tr>
              <td class="entry" headers="d197251e103" data-title="Practitioner Resource"><samp class="codeph nolang">active</samp></td>

              <td class="entry" headers="d197251e106" data-title="Salesforce Field"><samp class="codeph nolang">Healthcare​Practitioner​Facility​.IsActive</samp></td>

              <td class="entry" headers="d197251e109" data-title="Type">Boolean</td>

              <td class=" text-center" headers="d197251e112" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d197251e115" data-title="Notes">N/A</td>

            </tr>

            <tr>
              <td class="entry" headers="d197251e103" data-title="Practitioner Resource"><samp class="codeph nolang">period</samp></td>

              <td class="entry" headers="d197251e106" data-title="Salesforce Field"><samp class="codeph nolang">Healthcare​Practitioner​Facility​.Effective​From</samp></td>

              <td class="entry" headers="d197251e109" data-title="Type">Date</td>

              <td class=" text-center" headers="d197251e112" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d197251e115" data-title="Notes">Because Salesforce doesn’t support a native period data type, the
                <samp class="codeph nolang">practitioner​Role​​.period</samp> FHIR resource is
                flattened to a set of from and to dates​.
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d197251e103" data-title="Practitioner Resource"><samp class="codeph nolang">period</samp></td>

              <td class="entry" headers="d197251e106" data-title="Salesforce Field"><samp class="codeph nolang">Healthcare​Practitioner​Facility​.Effective​To</samp></td>

              <td class="entry" headers="d197251e109" data-title="Type">Date</td>

              <td class=" text-center" headers="d197251e112" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d197251e115" data-title="Notes">Because Salesforce doesn’t support a native period data type, the
                <samp class="codeph nolang">practitioner​Role​​.period</samp> FHIR resource is
                flattened to a set of from and to dates​.
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d197251e103" data-title="Practitioner Resource"><samp class="codeph nolang">practitioner</samp></td>

              <td class="entry" headers="d197251e106" data-title="Salesforce Field"><samp class="codeph nolang">Healthcare​Practitioner​Facility​.Healthcare​Provider​Id</samp></td>

              <td class="entry" headers="d197251e109" data-title="Type">Lookup: <samp class="codeph nolang">Healthcare​Provider</samp>
              </td>

              <td class=" text-center" headers="d197251e112" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d197251e115" data-title="Notes">
                <p class="p">N/A</p>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d197251e103" data-title="Practitioner Resource"><samp class="codeph nolang">organization</samp></td>

              <td class="entry" headers="d197251e106" data-title="Salesforce Field"><samp class="codeph nolang">Healthcare​Practitioner​Facility​.Account​​Id</samp></td>

              <td class="entry" headers="d197251e109" data-title="Type">Lookup: <samp class="codeph nolang">Account</samp>
              </td>

              <td class=" text-center" headers="d197251e112" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d197251e115" data-title="Notes">
                <p class="p">N/A</p>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d197251e103" data-title="Practitioner Resource"><samp class="codeph nolang">code</samp></td>

              <td class="entry" headers="d197251e106" data-title="Salesforce Field"><samp class="codeph nolang">CareProvider​Facility​Specialty​.Specialty​Role</samp></td>

              <td class="entry" headers="d197251e109" data-title="Type">Picklist</td>

              <td class=" text-center" headers="d197251e112" data-title="Salesforce Cardinality">0​.M</td>

              <td class="entry" headers="d197251e115" data-title="Notes">
                <p class="p">While FHIR defines <samp class="codeph nolang">practitioner​Role​.code</samp>
                  as a code set bundle, its Salesforce implementation is a picklist​.</p>

                <p class="p">Zero-to-many values can be associated by creating multiple <samp class="codeph nolang">CareProvider​Facility​Specialty​</samp> records that
                  reference a <samp class="codeph nolang">Healthcare​Practitioner​Facility​</samp>
                  record. However, a single <samp class="codeph nolang">CareProvider​Facility​Specialty​</samp> record can have only one combination
                  of role and specialty.</p>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d197251e103" data-title="Practitioner Resource"><samp class="codeph nolang">specialty</samp></td>

              <td class="entry" headers="d197251e106" data-title="Salesforce Field"><samp class="codeph nolang">CareProvider​Facility​Specialty​.Specialty​Id</samp></td>

              <td class="entry" headers="d197251e109" data-title="Type">Lookup: <samp class="codeph nolang">CareSpecialty</samp>
              </td>

              <td class=" text-center" headers="d197251e112" data-title="Salesforce Cardinality">0​.M</td>

              <td class="entry" headers="d197251e115" data-title="Notes">
                <p class="p">While FHIR defines <samp class="codeph nolang">practitioner​Role​.code</samp>
                  as a code set bundle, its Salesforce implementation is a <samp class="codeph nolang">CareSpecialty</samp> reference​.</p>

                <p class="p">Zero-to-many values can be associated by creating multiple <samp class="codeph nolang">CareProvider​Facility​Specialty​</samp> records that
                  reference a <samp class="codeph nolang">Healthcare​Practitioner​Facility​</samp>
                  record. However, a single <samp class="codeph nolang">CareProvider​Facility​Specialty​</samp> record can have only one combination
                  of role and specialty.</p>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d197251e103" data-title="Practitioner Resource"><samp class="codeph nolang">location</samp></td>

              <td class="entry" headers="d197251e106" data-title="Salesforce Field"><samp class="codeph nolang">Healthcare​Practitioner​Facility​.Healthcare​Facility​Id</samp></td>

              <td class="entry" headers="d197251e109" data-title="Type">Lookup: <samp class="codeph nolang">Healthcare​Facility</samp>
              </td>

              <td class=" text-center" headers="d197251e112" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d197251e115" data-title="Notes">
                <p class="p">The Salesforce implementation supports only one <samp class="codeph nolang">practitioner​Role​.location</samp> reference for each practitioner role.</p>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d197251e103" data-title="Practitioner Resource"><samp class="codeph nolang">healthcare​Service</samp></td>

              <td class="entry" headers="d197251e106" data-title="Salesforce Field">N/A</td>

              <td class="entry" headers="d197251e109" data-title="Type">N/A</td>

              <td class=" text-center" headers="d197251e112" data-title="Salesforce Cardinality">N/A</td>

              <td class="entry" headers="d197251e115" data-title="Notes">Not supported</td>

            </tr>

            <tr>
              <td class="entry" headers="d197251e103" data-title="Practitioner Resource"><samp class="codeph nolang">telecom</samp></td>

              <td class="entry" headers="d197251e106" data-title="Salesforce Field">N/A</td>

              <td class="entry" headers="d197251e109" data-title="Type">N/A</td>

              <td class=" text-center" headers="d197251e112" data-title="Salesforce Cardinality">N/A</td>

              <td class="entry" headers="d197251e115" data-title="Notes">Not supported</td>

            </tr>

            <tr>
              <td class="entry" headers="d197251e103" data-title="Practitioner Resource"><samp class="codeph nolang">availableTime</samp></td>

              <td class="entry" headers="d197251e106" data-title="Salesforce Field"><samp class="codeph nolang">Healthcare​Practitioner​Facility​.Operating​HoursId</samp></td>

              <td class="entry" headers="d197251e109" data-title="Type"><samp class="codeph nolang">Operating​Hours</samp></td>

              <td class=" text-center" headers="d197251e112" data-title="Salesforce Cardinality">0.M</td>

              <td class="entry" headers="d197251e115" data-title="Notes">Even though only one <samp class="codeph nolang">Operating​Hours</samp>
                record can be referenced from a <samp class="codeph nolang">Healthcare​Practitioner​Facility</samp> record, multiple time slots can be
                added to that <samp class="codeph nolang">Operating​Hours</samp> record. As such,
                zero-to-many available time values can be added to a single <samp class="codeph nolang">Healthcare​Practitioner​Facility</samp> record through a
                single <samp class="codeph nolang">Operating​Hours</samp> reference.</td>

            </tr>

            <tr>
              <td class="entry" headers="d197251e103" data-title="Practitioner Resource"><samp class="codeph nolang">not​Available</samp></td>

              <td class="entry" headers="d197251e106" data-title="Salesforce Field">N/A</td>

              <td class="entry" headers="d197251e109" data-title="Type">N/A</td>

              <td class=" text-center" headers="d197251e112" data-title="Salesforce Cardinality">N/A</td>

              <td class="entry" headers="d197251e115" data-title="Notes">Not supported</td>

            </tr>

            <tr>
              <td class="entry" headers="d197251e103" data-title="Practitioner Resource"><samp class="codeph nolang">availability​Exceptions</samp></td>

              <td class="entry" headers="d197251e106" data-title="Salesforce Field"><samp class="codeph nolang">Healthcare​Practitioner​Facility​.Avialability​Exceptions</samp></td>

              <td class="entry" headers="d197251e109" data-title="Type">String</td>

              <td class=" text-center" headers="d197251e112" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d197251e115" data-title="Notes">N/A</td>

            </tr>

            <tr>
              <td class="entry" headers="d197251e103" data-title="Practitioner Resource"><samp class="codeph nolang">endPoint</samp></td>

              <td class="entry" headers="d197251e106" data-title="Salesforce Field">N/A</td>

              <td class="entry" headers="d197251e109" data-title="Type">N/A</td>

              <td class=" text-center" headers="d197251e112" data-title="Salesforce Cardinality">N/A</td>

              <td class="entry" headers="d197251e115" data-title="Notes">Not supported</td>

            </tr>

          </tbody>

        </table>

## Sample Record Diagram

Here's a diagram that shows an example of how this resource is represented in Salesforce.

![A diagram that shows how Carol Peterson's practice at Goodly Healthification is represented in Salesforce.](https://developer.salesforce.com/docs/atlas.en-us.life_sciences_dev_guide.meta/life_sciences_dev_guide/dev_guides/healthcare_api/Mappings_FHIR/images/srd_hc_practitionerrole.png)