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.
