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.
Timing
The Timing FHIR resource maps to the ActivityTiming object in Salesforce.
FHIR V4.0 - Clinical Data Model Mapping
Here’s how the fields defined by FHIR for Timing map to the fields in Salesforce.
| Timing Resource | Salesforce Field | Type | Salesforce Cardinality | Notes |
|---|---|---|---|---|
| event | Event.ActivityDate | Object | 0.M | timing.event is stored in Event.ActivityDate. This event record then references the ActivityTiming record using its WhatId field. |
| repeat.bounds.boundsDuration | ActivityTiming.PeriodLength | Int | 0.1 | Because Salesforce doesn’t support a native duration data type, repeat.bounds.boundsDuration is flattened to a set of length and unit fields. |
| ActivityTiming.PeriodLengthUnitId | Lookup: UnitOfMeasure | 0.1 | ||
| repeat.bounds.boundsRange | ActivityTiming.PeriodLengthLowerLimit | Double | 0.1 | Because Salesforce doesn’t support a native duration data type, repeat.bounds.boundsRange is flattened to a set of lower limit, upper limit, and unit fields. |
| ActivityTiming.PeriodLengthUpperLimit | Double | 0.1 | ||
| ActivityTiming.PeriodLengthUnitId | Lookup: UnitOfMeasure | 0.1 | ||
| repeat.bounds.boundsPeriod | ActivityTiming.PeriodStartDateTime | DateTime | 0.1 | Because Salesforce doesn’t support a native period data type, repeat.bounds.boundsPeriod is flattened to a set of start and end date fields. |
| ActivityTiming.PeriodEndDateTime | DateTime | 0.1 | ||
| repeat.count | ActivityTiming.CountInPeriod | Int | 0.1 | N/A |
| repeat.countMax | ActivityTiming.MaxCountInPeriod | Int | 0.1 | N/A |
| repeat.duration | ActivityTiming.ActivityDuration | Double | 0.1 | N/A |
| repeat.durationMax | ActivityTiming.MaxActivityDuration | Double | 0.1 | N/A |
| repeat.durationUnit | ActivityTiming.ActivityDurationUnitId | Lookup: UnitOfMeasure | 0.1 | N/A |
| repeat.frequency | ActivityTiming.ActivityCountPerRepetition | Double | 0.1 | N/A |
| repeat.frequencyMax | ActivityTiming.MaxActivityCountPerRepetition | Int | 0.1 | N/A |
| repeat.period | ActivityTiming.RepetitionCycleLength | Double | 0.1 | N/A |
| repeat.periodMax | ActivityTiming.MaxRepetitionCycleLength | Double | 0.1 | N/A |
| repeat.periodUnit | ActivityTiming.RepetitionCycleUnitId | Lookup: UnitOfMeasure | 0.1 | N/A |
| repeat.dayOfWeek | ActivityTiming.WeeklyActivityTimeId | Lookup: OperatingHours | 0.M | While FHIR defines repeat.dayOfWeek as a code value, the Salesforce implementation uses a reference to OperatingHours. A record in OperatingHours can have multiple values for days in a week and time. |
| repeat.timeOfDay | ActivityTiming.WeeklyActivityTimeId | Lookup: OperatingHours | 0.M | N/A |
| repeat.when | ActivityTiming.ActivityTime | Picklist | 0.1 | While FHIR defines repeat.when as a zero-to-many code, the Salesforce implementation is a zero-to-one picklist. |
| repeat.offset | ActivityTiming.ActivityTimeOffset | Int | 0.1 | N/A |
| code | ActivityTiming.TimingCodeId | Lookup: CodeSetBundle | 0.1 |