Note: This release is in preview. Features described here don’t become generally available until the latest general availability date that Salesforce announces for this release. Before then, and where features are noted as beta, pilot, or developer preview, we can’t guarantee general availability within any particular time frame or at all. Make your purchase decisions only on the basis of generally available products and features.
PractitionerRole
FHIR V4.0 - Clinical Data Model Mapping
Here’s how the fields defined by FHIR for PractitionerRole map to the fields in Salesforce.
| Practitioner Resource | Salesforce Field | Type | Salesforce Cardinality | Notes |
|---|---|---|---|---|
| identifier | Identifier | Object | 0.M | The identifier information for a practitionerRole is represented as Identifier records that reference the HealthcarePractitionerFacility record using their Identifier.ParentRecordId field. |
| active | HealthcarePractitionerFacility.IsActive | Boolean | 0.1 | N/A |
| period | HealthcarePractitionerFacility.EffectiveFrom | Date | 0.1 | Because Salesforce doesn’t support a native period data type, the practitionerRole.period FHIR resource is flattened to a set of from and to dates. |
| HealthcarePractitionerFacility.EffectiveTo | Date | 0.1 | ||
| practitioner | HealthcarePractitionerFacility.HealthcareProviderId | Lookup: HealthcareProvider | 0.1 |
N/A |
| organization | HealthcarePractitionerFacility.AccountId | Lookup: Account | 0.1 |
N/A |
| code | CareProviderFacilitySpecialty.SpecialtyRole | Picklist | 0.M |
While FHIR defines practitionerRole.code as a code set bundle, its Salesforce implementation is a picklist. Zero-to-many values can be associated by creating multiple CareProviderFacilitySpecialty records that reference a HealthcarePractitionerFacility record. However, a single CareProviderFacilitySpecialty record can have only one combination of role and specialty. |
| specialty | CareProviderFacilitySpecialty.SpecialtyId | Lookup: CareSpecialty | 0.M |
While FHIR defines practitionerRole.code as a code set bundle, its Salesforce implementation is a CareSpecialty reference. Zero-to-many values can be associated by creating multiple CareProviderFacilitySpecialty records that reference a HealthcarePractitionerFacility record. However, a single CareProviderFacilitySpecialty record can have only one combination of role and specialty. |
| location | HealthcarePractitionerFacility.HealthcareFacilityId | Lookup: HealthcareFacility | 0.1 |
The Salesforce implementation supports only one practitionerRole.location reference for each practitioner role. |
| healthcareService | N/A | N/A | N/A | Not supported |
| telecom | N/A | N/A | N/A | Not supported |
| availableTime | HealthcarePractitionerFacility.OperatingHoursId | OperatingHours | 0.M | Even though only one OperatingHours record can be referenced from a HealthcarePractitionerFacility record, multiple time slots can be added to that OperatingHours record. As such, zero-to-many available time values can be added to a single HealthcarePractitionerFacility record through a single OperatingHours reference. |
| notAvailable | N/A | N/A | N/A | Not supported |
| availabilityExceptions | HealthcarePractitionerFacility.AvialabilityExceptions | String | 0.1 | N/A |
| endPoint | N/A | N/A | N/A | Not supported |
Sample Record Diagram
Here's a diagram that shows an example of how this resource is represented in Salesforce.