Encounter
The Encounter FHIR resource maps to the ClinicalEncounter, ClinicalEncounterDiagnosis, ClinicalEncounterFacility, ClinicalEncounterIdentifier, ClinicalEncounterProvider, ClinicalEncounterReason, and ClinicalEncounterSvcRequest objects in Salesforce.
FHIR V4.0 - Clinical Data Model Mapping
Here’s how the fields defined by FHIR for Encounter map to the fields in Salesforce.
| Encounter Resource | Salesforce Field | Type | Salesforce Cardinality | Notes |
|---|---|---|---|---|
| identifier | ClinicalEncounterIdentifier | Object | 0.M | The identifier information for an encounter is represented as ClinicalEncounterIdentifier records that reference the encounter record using their ClinicalEncounterIdentifier.ParentRecordId field. |
| status | ClinicalEncounter.Status | Picklist | 1.1 | While FHIR defines encounter.status as a code, its Salesforce implementation is a picklist. |
| statusHistory | N/A | N/A | N/A | Not supported |
| class | ClinicalEncounter.Category | Picklist | 1.1 | While FHIR defines encounter.class as a code set, its Salesforce implementation is a picklist. |
| classHistory | N/A | N/A | N/A | Not supported |
| type | ClinicalEncounter.TypeId | Lookup: CodeSetBundle | 0.1 | While FHIR defines encounter.type as a zero-to-many resource, the Salesforce implementation is zero-to-one. |
| serviceType | ClinicalEncounter.ServiceType | Picklist | 0.1 | While FHIR defines encounter.serviceType as a code set bundle, its Salesforce implementation is a picklist. |
| priority | ClinicalEncounter.PriorityId | Lookup: CodeSetBundle | 0.1 | N/A |
| subject | ClinicalEncounter.PatientId | Lookup: Account | 1.1 | While FHIR defines encounter.subject as a zero-to-one resource, the Salesforce implementation is one-to-one. |
| episodeOfCare | N/A | N/A | N/A | Not supported |
| basedOn | ClinicalEncounterSvcRequest | Object | 0.M | The service request information that an encounter is based on is represented as ClinicalEncounterSvcRequest records that reference the encounter record using their ClinicalEncounterSvcRequest.ClinicalEncounterId field. |
| participant | ClinicalEncounterProvider | Object | 0.M | The participant information for an encounter is represented as ClinicalEncounterProvider records that reference the encounter record using their ClinicalEncounterProvider.ClinicalEncounterId field. |
| participant.type | ClinicalEncounterProvider.PractitionerTypeId | Lookup: CodeSetBundle | 0.1 | While FHIR defines encounter.participant.type as a zero-to-many resource, the Salesforce implementation is zero-to-one. |
| participant.period | ClinicalEncounterProvider.StartDate | DateTime | 0.1 | Because Salesforce doesn’t have a native period data type, the encounter.participant.period resource is flattened into a set of start date and end date fields, and set of duration and duration unit fields. |
| ClinicalEncounterProvider.EndDate | DateTime | 0.1 | ||
| ClinicalEncounterProvider.Duration | Double | 0.1 | ||
| ClinicalEncounterProvider.DurationUnitId | Lookup: UnitOfMeasure | 0.1 | ||
| participant.individual | ClinicalEncounterProvider.PractitionerId | Lookup: HealthcareProvider | 0.1 | N/A |
| appointment | N/A | N/A | N/A | Not supported |
| period | ClinicalEncounter.StartDate | DateTime | 0.1 | Because Salesforce doesn’t have a native period data type, the encounter.period resource is flattened into a set of start date and end date fields. |
| ClinicalEncounter.EndDate | DateTime | 0.1 | ||
| length | ClinicalEncounter.Duration | Double | 0.1 | Because Salesforce doesn’t have a native duration data type, the encounter.length resource is flattened into a set of duration and duration unit fields. |
| ClinicalEncounter.DurationUnitId | Lookup: UnitOfMeasure | 0.1 | ||
| reasonCode | ClinicalEncounterReason.ReasonCodeId | Lookup: CodeSetBundle | 0.M | The reason for an encounter is represented as ClinicalEncounterReason records that reference the encounter record using their ClinicalEncounterReason.ClinicalEncounterId field. |
| reasonReference | ClinicalEncounterReason.ReasonReferenceId | Polymorphic Lookup: HealthCondition, CareObservation, and PatientMedicalProcedure | 0.M | The reason for an encounter is represented as ClinicalEncounterReason records that reference the encounter record using their ClinicalEncounterReason.ClinicalEncounterId field. |
| diagnosis | ClinicalEncounterDiagnosis | Object | 0.M | The diagnosis information for an encounter is represented as ClinicalEncounterDiagnosis records that reference the encounter record using their ClinicalEncounterDiagnosis.ClinicalEncounterId field. |
| diagnosis.condition | ClinicalEncounterDiagnosis.DiagnosisId | Polymorphic Lookup: HealthCondition, and PatientMedicalProcedure | 0.1 | N/A |
| diagnosis.use | ClinicalEncounterDiagnosis.UsageTypeId | Lookup: CodeSetBundle | 0.1 | N/A |
| diagnosis.rank | ClinicalEncounterDiagnosis.DiagnosisRank | Double | 0.1 | N/A |
| account | N/A | N/A | N/A | Not supported |
| hospitalization.preAdmissionIdentifier. | ClinicalEncounter.PreAdmissionIdentifierId | Lookup: ClinicalEncounterIdentifier | 0.1 | N/A |
| hospitalization.origin | ClinicalEncounter.PreviousFacilityId | Lookup: HealthcareFacility | 0.1 | While FHIR defines encounter.hospitalization.origin as a single resource, the Salesforce implementation flattens it into two fields. |
| ClinicalEncounter.PreviousOrganizationId | Lookup: Account | 0.1 | ||
| hospitalization.admitSource | ClinicalEncounter.AdmissionSource | Picklist | 0.1 | While FHIR defines encounter.hospitalization.admitSource as a code set bundle, its Salesforce implementation is a picklist. |
| hospitalization.reAdmission | ClinicalEncounter.ReadmissionCodeId | Lookup: CodeSetBundle | 0.1 | N/A |
| hospitalization.dietPreference | ClinicalEncounter.DietPreference | Multi-Select Picklist | 0.M | While FHIR defines encounter.hospitalization.dietPreference as a code set bundle, its Salesforce implementation is a picklist. |
| hospitalization.specialCourtesy | ClinicalEncounter.SpecialCourtesy | Picklist | 0.1 | While FHIR defines encounter.hospitalization.specialCourtesy as a zero-to-many code set bundle, its Salesforce implementation is a zero-to-one picklist. |
| hospitalization.specialArrangement | N/A | N/A | N/A | Not supported |
| hospitalization.destination | ClinicalEncounter.DestinationFacilityId | Lookup: HealthcareFacility | 0.1 | While FHIR defines encounter.hospitalization.destination as a single resource, the Salesforce implementation flattens it into two fields. |
| ClinicalEncounter.DestinationOrganizationId | Lookup: Account | 0.1 | ||
| hospitalization.dischargeDisposition | ClinicalEncounter.DischargeDispositionId | Lookup: CodeSetBundle | 0.1 | N/A |
| location | ClinicalEncounterFacility | Object | 0.M | The facility information for an encounter is represented as ClinicalEncounterFacility records that reference the encounter record using their ClinicalEncounterFacility.ClinicalEncounterId field. |
| location.location | ClinicalEncounterFacility.FacilityId | Lookup: HealthcareFacility | 0.1 | N/A |
| location.status | ClinicalEncounterFacility.Status | Picklist | 0.1 | While FHIR defines encounter.location.status as a code, its Salesforce implementation is a picklist. |
| location.physicalType | ClinicalEncounterFacility.FacilityTypeId | Lookup: CodeSetBundle | 0.1 | N/A |
| location.period | ClinicalEncounterFacility.StartDate | DateTime | 0.1 | Because Salesforce doesn’t have a native period data type, the encounter.location.period resource is flattened into a set of start date and end date fields, and set of duration and duration unit fields. |
| ClinicalEncounterFacility.EndDate | DateTime | 0.1 | ||
| ClinicalEncounterFacility.Duration | Double | 0.1 | ||
| ClinicalEncounterFacility.DurationUnitId | Lookup: UnitOfMeasure | 0.1 | ||
| serviceProvider | ClinicalEncounter.FacilityId | Lookup: HealthcareFacility | 0.1 | While FHIR defines encounter.serviceProvider as referencing an organization, the Salesforce implementation references a facility. |
| partOf | ClinicalEncounter.RelatedClinicalEncounterId | Lookup: ClinicalEncounter | 0.1 | N/A |
Sample Record Diagram
Here's a diagram that shows an example of how this resource is represented in Salesforce.