---
schema_version: "1"
id: 71093233932244f34d50bb693aa2daf670f5eb264531d5d6fed962f9cb00c01f
title: PractitionerRole
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/health_cloud_object_reference/map_fhir_practitionerrole.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.health_cloud_object_reference.meta/health_cloud_object_reference/map_fhir_practitionerrole.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: 71303f571a9276d7bb29199f921faa0265172891134b7b59f00ddfd8e029a040
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="d265871e103">Practitioner Resource</th>

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

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

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

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

            </tr>

          </thead>

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

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

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

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

              <td class="entry" headers="d265871e115" 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="d265871e103" data-title="Practitioner Resource"><samp class="codeph nolang">active</samp></td>

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

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

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

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

            </tr>

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

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

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

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

              <td class="entry" headers="d265871e115" 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="d265871e103" data-title="Practitioner Resource"><samp class="codeph nolang">period</samp></td>

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

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

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

              <td class="entry" headers="d265871e115" 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="d265871e103" data-title="Practitioner Resource"><samp class="codeph nolang">practitioner</samp></td>

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

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

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

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

              </td>

            </tr>

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

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

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

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

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

              </td>

            </tr>

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

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

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

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

              <td class="entry" headers="d265871e115" 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="d265871e103" data-title="Practitioner Resource"><samp class="codeph nolang">specialty</samp></td>

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

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

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

              <td class="entry" headers="d265871e115" 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="d265871e103" data-title="Practitioner Resource"><samp class="codeph nolang">location</samp></td>

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

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

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

              <td class="entry" headers="d265871e115" 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="d265871e103" data-title="Practitioner Resource"><samp class="codeph nolang">healthcare​Service</samp></td>

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

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

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

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

            </tr>

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

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

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

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

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

            </tr>

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

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

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

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

              <td class="entry" headers="d265871e115" 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="d265871e103" data-title="Practitioner Resource"><samp class="codeph nolang">not​Available</samp></td>

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

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

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

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

            </tr>

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

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

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

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

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

            </tr>

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

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

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

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

              <td class="entry" headers="d265871e115" 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.health_cloud_object_reference.meta/health_cloud_object_reference/dev_guides/healthcare_api/Mappings_FHIR/images/srd_hc_practitionerrole.png)