​Observation

The observation FHIR resource maps to the Care​Observation and Care​Observation​Component objects in Salesforce​.

FHIR V4​.0 - Clinical Data Model Mapping 

Here’s how the fields defined by FHIR for observation map to the fields in Salesforce​.

​Observation ResourceSalesforce FieldTypeSalesforce CardinalityNotes
identifierN/AN/AN/ANot supported
basedOnCare​Observation​.​Based​OnIdPolymorphic Lookup: Medication​​Request, Clinical​Service​Request0​.1While FHIR defines observation​.basedOn as a zero-to-many reference, the Salesforce implementation is a zero-to-one text field​.
Only references to medication request and clinical service request records are supported​.
partOfCare​Observation​.Part​OfIdPolymorphic Lookup: Medication​Statement, Patient​Immunization, Patient​Medical​Procedure0​.1While FHIR defines observation​.partOf as a zero-to-many reference, the Salesforce implementation is a zero-to-one text field​.
Only references to medication statement, patient immunization, and patient medical procedure records are supported​.
statusCare​Observation​.​Observation​StatusPicklist1​.1While FHIR defines observation​.status as a reference to code set bundle, the Salesforce implementation is a picklist​.
categoryCare​Observation​.CategoryPicklist0​.1While FHIR defines observation​.category as a zero-to-many reference to code set bundle, the Salesforce implementation is a zero-to-one picklist​.
codeCare​Observation​.CodeIdLookup: CodeSet1​.1While FHIR defines observation​.code as a one-to-one reference to code set bundle, Salesforce implements this as three separate CodeSet reference fields​. The first one is a one-to-one field, while the other two are zero-to-one fields​.
codeCare​Observation​.AdditionalCode1IdLookup: CodeSet0​.1While FHIR defines observation​.code as a one-to-one reference to code set bundle, Salesforce implements this as three separate CodeSet reference fields​. The first one is a one-to-one field, while the other two are zero-to-one fields​.
codeCare​Observation​.AdditionalCode2IdLookup: CodeSet0​.1While FHIR defines observation​.code as a one-to-one reference to code set bundle, Salesforce implements this as three separate CodeSet reference fields​. The first one is a one-to-one field, while the other two are zero-to-one fields​.
subjectCare​Observation​.​Observed​Subject​IdMaster-Detail: Account1​.1The Salesforce implementation of observation​.subject supports references to only patients​.
focusN/AN/AN/ANot supported
encounterCare​Observation​.Encounter​IdLookup: Clinical​Encounter0​.1N/A
effective​.effective​Date​TimeCare​Observation​.Effective​Date​TimeDate​Time0​.1N/A
effective​.effective​PeriodCare​Observation​.Effective​Date​TimeDate​Time0​.1Because Salesforce doesn’t support a native period data type, the observation​.effective​.effective​Period field is flattened into a set of effective date and end date fields​.
effective​.effective​PeriodCare​Observation​.​End​Date​TimeDate​Time0​.1Because Salesforce doesn’t support a native period data type, the observation​.effective​.effective​Period field is flattened into a set of effective date and end date fields​.
effective​.effective​TimingN/AN/AN/ANot supported
effective​.effective​InstantN/AN/AN/ANot supported
issuedCare​Observation​.Issued​Date​TimeDate​Time0​.1Because Salesforce doesn’t support a native instant data type, the observation​.issued FHIR resource is implemented as a date time field in Salesforce​.
performerCare​Observation​.​ObserverIdPolymorphic Lookup: Account, Healthcare Provider0​.1While FHIR defines observation​.performer as a zero-to-many resource, the Salesforce implementation is a zero-to-one reference to Account and Healthcare Provider​.
References to care teams are not supported​.
results​InterpreterCare​Observation​.Interpreted​ByIdLookup: Care​Performer0​.1While FHIR defines observation​.results​Interpreter as a zero-to-many resource, the Salesforce implementation is a zero-to-one reference to Care​Performer​.
value​Care​Observation​.​Observed​Value​​TypeStatic Picklist0​.1A Salesforce-original field that determines whether the value​ stored in Care​Observation​.​Observed​Value​​Numerator and Care​Observation​.​Observed​Value​​Denominator is a range, ratio, or quantity​. This field is used only when the data entered for observation​.value​ is one these data types​.
value​Care​Observation​.​Observed​Value​​NumeratorDouble0​.1Because Salesforce doesn’t support native range, ratio, and quantity data types, the observation​.value​ FHIR resource is flattened to a set of numerator, denominator, and unit fields for this type of data​.
The Salesforce implementation of observation​.value​ doesn’t support observation​.value​​.value​Sample​Data and observation​.value​​.value​Time​.
Care​Observation​.​Observed​Value​UnitId is a duplicate field that stores the same information as Care​Observation​.​UnitOf​MeasureId. Use only one of these two fields to specify the unit of a quantity value.
value​Care​Observation​.​Observed​Value​​DenominatorDouble0​.1Because Salesforce doesn’t support native range, ratio, and quantity data types, the observation​.value​ FHIR resource is flattened to a set of numerator, denominator, and unit fields for this type of data​.
The Salesforce implementation of observation​.value​ doesn’t support observation​.value​​.value​Sample​Data and observation​.value​​.value​Time​.
Care​Observation​.​Observed​Value​UnitId is a duplicate field that stores the same information as Care​Observation​.​UnitOf​MeasureId. Use only one of these two fields to specify the unit of a quantity value.
value​Care​Observation​.​Observed​Value​UnitIdLookup: ​UnitOf​Measure0​.1Because Salesforce doesn’t support native range, ratio, and quantity data types, the observation​.value​ FHIR resource is flattened to a set of numerator, denominator, and unit fields for this type of data​.
The Salesforce implementation of observation​.value​ doesn’t support observation​.value​​.value​Sample​Data and observation​.value​​.value​Time​.
Care​Observation​.​Observed​Value​UnitId is a duplicate field that stores the same information as Care​Observation​.​UnitOf​MeasureId. Use only one of these two fields to specify the unit of a quantity value.
value​Care​Observation​.​Observed​Value​​DenominatorLookup: CodeSet​Bundle0​.1N/A
value​Care​Observation​.​Numberic​ValueDouble0.1N/A
value​Care​Observation​.​Observed​Value​TextString0​.1N/A
value​Care​Observation​.IsOutcome​PositiveBoolean0​.1Care​Observation​.IsObserved is a duplicate field that can store the same information. Use only one of these two fields.
value​Care​Observation​.​Observation​Start​TimeDate​Time0​.1Care​Observation​.​Observation​Start​Time is used for both observation​.component​.value​​.value​Date​Time and observation​.component​.value​​.value​Period​.
Because Salesforce doesn’t support a native period data type, the observation​.value​​.value​Period FHIR resource is flattened to a set of start and end dates​.
value​Care​Observation​.​Observation​EndTimeDate​Time0​.1Care​Observation​.​Observation​Start​Time is used for both observation​.component​.value​​.value​Date​Time and observation​.component​.value​​.value​Period​.
Because Salesforce doesn’t support a native period data type, the observation​.value​​.value​Period FHIR resource is flattened to a set of start and end dates​.
data​Absent​ReasonN/AN/AN/ANot supported
interpretationCare​Observation​.​Value​InterpretationPicklist0​.1While FHIR defines observation​.interpretation as a zero-to-many code set bundle, the Salesforce implementation is a zero-to-one picklist​.
noteN/AN/AN/ANot supported
body​SiteCare​Observation​.Body​SiteIdLookup: CodeSet​Bundle0​.1N/A
methodCare​Observation​.MethodIdLookup: CodeSet​Bundle0​.1N/A
specimenN/AN/AN/ANot supported
deviceCare​Observation​.DeviceIdLookup: Asset0​.1References to device metrics records aren’t supported​.
reference​Range​.lowCare​Observation​.Lower​Baseline​Value​Double0​.1Because Salesforce doesn’t support a native quantity data type, the observation​.reference​Range​.low FHIR resource is flattened to a set of value​ and unit fields for this type of data​.
reference​Range​.lowCare​Observation​.​Baseline​UnitIdLookup: ​UnitOf​Measure0​.1Because Salesforce doesn’t support a native quantity data type, the observation​.reference​Range​.low FHIR resource is flattened to a set of value​ and unit fields for this type of data​.
reference​Range​.highCare​Observation​.Upper​Baseline​Value​Double0​.1Because Salesforce doesn’t support a native quantity data type, the observation​.reference​Range​.high FHIR resource is flattened to a set of value​ and unit fields for this type of data​.
reference​Range​.highCare​Observation​.​Baseline​UnitIdLookup: ​UnitOfMeasure0​.1Because Salesforce doesn’t support a native quantity data type, the observation​.reference​Range​.high FHIR resource is flattened to a set of value​ and unit fields for this type of data​.
reference​Range​.typeN/AN/AN/ANot supported
reference​Range​.appliesToN/AN/AN/ANot supported
reference​Range​.ageN/AN/AN/ANot supported
reference​Range​.textCare​Observation​.​Baseline​Value​TextString0​.1N/A
hasMemberCare​Observation​.Related​Observation​IdLookup: Care​Observation0​.1While FHIR defines observation​.hasMember as a zero-to-many resource, the Salesforce implementation is zero-to-one​.
Only references to observation records are supported​.
derived​FromCare​Observation​.Derivation​SourceIdLookup: Care​Observation, Diagnostic​Summary0.1While FHIR defines observation​.derivedFrom as a zero-to-many resource, the Salesforce implementation is zero-to-one​.
componentCare​Observation​ComponentObject0​.MThe component information for a care observation is represented as Care​Observation​Component records that reference the Care​Observation record using their Identifier​.Care​Observation​Id field​.
component​.codeCare​Observation​Component​.​Component​Type​CodeIdLookup: CodeSet​Bundle1​.1N/A
component​.value​Care​Observation​Component​.​Value​TypeStatic Picklist0​.1A Salesforce-original field that determines whether the value​ stored in Care​Observation​Component.​Observed​Value​​Numerator and Care​Observation​Component​.​Observed​Value​Denominator is a range, ratio, or quantity​. This field is used only when the data entered for observation​.component​.value​ is one these data types​.
component​.value​Care​Observation​Component​.​Observed​Value​NumeratorDouble0​.1Because Salesforce doesn’t support native range, ratio, and quantity data types, the observation​.component​.value​ FHIR resource is flattened to a set of numerator, denominator, and unit fields for this type of data​.
The Salesforce implementation of observation​.component​.value​ doesn’t support observation​.component​.value​​.value​Sample​Data and observation​.component​.value​​.value​Time​.
component​.value​Care​Observation​Component​.​Observed​Value​DenominatorDouble0​.1Because Salesforce doesn’t support native range, ratio, and quantity data types, the observation​.component​.value​ FHIR resource is flattened to a set of numerator, denominator, and unit fields for this type of data​.
The Salesforce implementation of observation​.component​.value​ doesn’t support observation​.component​.value​​.value​Sample​Data and observation​.component​.value​​.value​Time​.
component​.value​Care​Observation​Component​.​Observed​Value​​UnitIdLookup: ​UnitOf​Measure0​.1Because Salesforce doesn’t support native range, ratio, and quantity data types, the observation​.component​.value​ FHIR resource is flattened to a set of numerator, denominator, and unit fields for this type of data​.
The Salesforce implementation of observation​.component​.value​ doesn’t support observation​.component​.value​​.value​Sample​Data and observation​.component​.value​​.value​Time​.
component​.value​Care​Observation​Component​.​Observed​Value​CodeIdLookup: CodeSet​Bundle0​.1N/A
component​.value​Care​Observation​Component​.​Numeric​Value​Double0.1N/A
component​.value​Care​Observation​Component​.​Observed​Value​TextString0​.1N/A
component​.value​Care​Observation​Component​.Is​ObservedBoolean0​.1N/A
component​.value​Care​Observation​Component​.​Observation​Start​TimeDate​Time0​.1Care​Observation​Component​.​Observation​Start​Time is used for both observation​.component​.value​​.value​​Date​Time and observation​.component​.value​​.value​​Period​.
Because Salesforce doesn’t support a native period data type, the observation​.component​.value​​.value​​Period FHIR resource is flattened to a set of start and end dates​.
component​.value​Care​Observation​Component​.​Observation​EndTimeDate​Time0​.1Care​Observation​Component​.​Observation​Start​Time is used for both observation​.component​.value​​.value​​Date​Time and observation​.component​.value​​.value​​Period​.
Because Salesforce doesn’t support a native period data type, the observation​.component​.value​​.value​​Period FHIR resource is flattened to a set of start and end dates​.
component​.data​Absent​ReasonCare​Observation​Component​.Missing​Data​ReasonString0​.1While FHIR defines observation​.component​.data​Absent​Reason as a code set bundle reference, the Salesforce implementation is a text field​.
component​.interpretationCare​Observation​Component​.​Value​InterpretationLookup: CodeSet​Bundle0​.1While FHIR defines observation​.component​.interpretation as a code set bundle reference, the Salesforce implementation is a picklist​.
component​.reference​Range​.lowCare​Observation​Component​.Lower​Baseline​Value​Double0​.1Because Salesforce doesn’t support a native quantity data type, the observation​.component​.reference​Range​.low FHIR resource is flattened to a set of value​ and unit fields for this type of data​.
component​.reference​Range​.lowCare​Observation​Component​.​Baseline​UnitIdLookup: ​UnitOf​Measure0​.1Because Salesforce doesn’t support a native quantity data type, the observation​.component​.reference​Range​.low FHIR resource is flattened to a set of value​ and unit fields for this type of data​.
component​.reference​Range​.highCare​Observation​Component​.Upper​Baseline​Value​Double0​.1Because Salesforce doesn’t support a native quantity data type, the observation​.component​.reference​Range​.high FHIR resource is flattened to a set of value​ and unit fields for this type of data​.
component​.reference​Range​.highCare​Observation​Component​.​Baseline​UnitIdLookup: ​UnitOf​Measure0​.1Because Salesforce doesn’t support a native quantity data type, the observation​.component​.reference​Range​.high FHIR resource is flattened to a set of value​ and unit fields for this type of data​.
component​.reference​Range​.typeN/AN/AN/ANot supported
component​.reference​Range​.applies​ToN/AN/AN/ANot supported
component​.reference​Range​.ageN/AN/AN/ANot supported
component​.reference​Range​.textCare​Observation​Component​.​Baseline​Value​TextString0​.1N/A

The fields Care​Observation​.IsOutcome​Positive and Care​Observation​.​UnitOf​MeasureId don’t have FHIR-defined validation rules built into them because these fields are used in other features and data models. You can define your own custom validation rules on them based on your business requirements.

Note

See Also