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.
Immunization
The Immunization FHIR resource maps to the
PatientImmunization and PatientHealthReaction objects in Salesforce.
FHIR V4.0 - Clinical Data Model Mapping
Here’s how the fields defined by FHIR for Immunization map to the fields in Salesforce.
| Immunization Resource | Salesforce Field | Type | Salesforce Cardinality | Notes |
|---|---|---|---|---|
| identifier | Identifier | Object | 0.M | The identifier information for an immunization is represented as Identifier records that reference the PatientImmunization record using their Identifier.ParentRecordId field. |
| status | PatientImmunization.Status | Picklist | 0.1 | While FHIR defines immunization.status as a code set bundle, the Salesforce implementation of PatientImmunization.Status is picklist. |
| statusReason | PatientImmunization.StatusReasonCodeId | Lookup: CodeSetBundle | 0.1 | N/A |
| vaccineCode | PatientImmunization.VaccineCodeId | Lookup: CodeSetBundle | 0.1 | N/A |
| patient | PatientImmunization.PatientId | Master-Detail Reference: Account | 1.1 | N/A |
| encounter | PatientImmunization.ClinicalEncounterId | Lookup: ClinicalEncounter | 0.1 | N/A |
| occurrence.occurrenceDateTime | PatientImmunization.VaccinationDate | DateTime | 0.1 | N/A |
| occurrence.occurrenceString | PatientImmunization.VaccinationPeriod | String | 0.1 | N/A |
| recorded | PatientImmunization.RecordCreationDateTime | DateTime | 0.1 | N/A |
| primarySource | PatientImmunization.IsRecordedByVaccinator | Boolean | 0.1 | N/A |
| reportOrigin | PatientImmunization.InformationSourceId | Lookup: CodeSetBundle | 0.1 | N/A |
| location | PatientImmunization.FacilityId | Lookup: Healthcare.Facility | 0.1 | N/A |
| manufacturer | PatientImmunization.Manufacturer | String | 0.1 | Use this field if only the name of the organization is required. |
| PatientImmunization.ManufacturerAccountId | Lookup: Account | N/A | ||
| lotNumber | PatientImmunization.LotNumber | String | 0.1 | N/A |
| expirationDate | PatientImmunization.ExpirationDate | DateTime | 0.1 | N/A |
| site | PatientImmunization.SiteId | Lookup: CodeSetBundle | 0.1 | N/A |
| route | PatientImmunization.RouteId | Lookup: CodeSetBundle | 0.1 | N/A |
| dose | PatientImmunization.Dose | Double | 0.1 | The Salesforce equivalent of immunization.dose is represented used the fields PatientImmunization.Dose for the quantity and PatientImmunization.DoseUnitId for the unit. |
| PatientImmunization.DoseUnitId | Lookup: UnitOfMeasure | 0.1 | ||
| performer | CarePerformer | Object | 0.M | The performer information for an immunization is represented as CarePerformer records that reference the PatientImmunization record using their CarePerformer.ParentRecordId field. |
| performer.function | CarePerformer.RoleId | Lookup: CodeSetBundle | 0.1 | N/A |
| performer.actor | CarePerformer.PersonId | Polymorphic Lookup: Account and HealthcareProvider | 1.1 | N/A |
| note | N/A | N/A | N/A | Not supported |
| reasonCode | PatientImmunization.ReasonCodeId | Lookup: CodeSetBundle | 0.1 | N/A |
| reasonReference | PatientImmunization.HealthConditionId | Lookup: HealthCondition | 0.1 | The FHIR resourceimmunization.reasonReference is flattened into three separate zero-to-one references to HealthCondition, CareObservation, and DiagnosticSummary in the Salesforce implementation. |
| PatientImmunization.CareObservationId | Lookup: CareObservation | 0.1 | ||
| PatientImmunization.DiagnosticSummaryId | Lookup: DiagnosticSummary | 0.1 | ||
| isSubpotent | PatientImmunization.IsSubpotent | Boolean | 0.1 | N/A |
| subpotentReason | PatientImmunization.SubpotencyReasonCodeId | Lookup: CodeSetBundle | 0.1 | While FHIR defines immunization.subpotentReason as a zero-to-many resource, the Salesforce implementation of PatientImmunization.SubpotencyReasonCodeId is a zero-to-one reference. |
| education | N/A | N/A | N/A | Not supported |
| programEligibility | N/A | N/A | N/A | Not supported |
| fundingSource | N/A | N/A | N/A | Not supported |
| reaction | PatientHealthReaction | Object | 0.M | The reaction information for an immunization is represented as PatientHealthReaction records that reference the PatientImmunization record using their PatientHealthReaction.ParentId field. |
| reaction.date | PatientHealthReaction.ReactionDateTime | DateTime | 0.1 | N/A |
| reaction.detail | PatientHealthReaction.ObservationId | Lookup: CareObservation | 0.1 | N/A |
| reaction.reported | PatientHealthReaction.IsSelfReported | Boolean | 0.1 | N/A |
| protocolApplied | N/A | N/A | 0.1 | While FHIR defines immunization.protocolApplied as a zero-to-many reference, the Salesforce implementation of its child resources is zero-to-one. |
| protocolApplied.series | PatientImmunization.ImmunizationRecommendation | String | 0.1 | N/A |
| protocolApplied.authority | PatientImmunization.RecommendingAuthority | String | 0.1 | While FHIR defines immunization.protocolApplied.authority as a reference to organization, the Salesforce implementation of PatientImmunization.RecommendingAuthority is a text field. |
| protocolApplied.targetDisease | PatientImmunization.TargetDiseaseCodeId | Lookup: CodeSetBundle | 0.1 | N/A |
| protocolApplied.doseNumberPositiveInt | PatientImmunization.CurrentDose | Double | 0.1 | N/A |
| protocolApplied.doseNumberString | N/A | N/A | N/A | The Salesforce implementation of immunization.protocolApplied.doseNumber supports only integer values. |
| protocolApplied.seriesDosesPositiveInt | PatientImmunization.RecommendedDoses | Double | 0.1 | N/A |
| protocolApplied.seriesDosesString | N/A | N/A | N/A | The Salesforce implementation of immunization.protocolApplied.seriesDoses supports only integer values. |