Device
The Device FHIR resource maps to the Asset and CareRegisteredDevice objects in Salesforce.
FHIR V4.0 - Clinical Data Model Mapping
Here’s how the fields defined by FHIR for Device map to the fields in Salesforce.
| Device Resource | Salesforce Field | Type | Salesforce Cardinality | Notes |
|---|---|---|---|---|
| identifier | Identifier | Object | 0.M | The identifier information for a device is represented as Identifier records that reference the CareRegisteredDevice record using their Identifier.ParentRecordId field. |
| uidCarrier.DeviceIdentifier | CareRegisteredDevice.UniqueDeviceId1 | External Lookup | 0.3 | While FHIR defines uidCarrier.DeviceIdentifier as a zero-to-many value, the Salesforce implementation supports a maximum of three values using three fields. |
| CareRegisteredDevice.UniqueDeviceId2 | External Lookup | |||
| CareRegisteredDevice.UniqueDeviceId3 | External Lookup | |||
| uidCarrier.Issuer | CareRegisteredDevice.UniqueDeviceId1Issuer | URL | 0.3 | While FHIR defines uidCarrier.Issuer as a zero-to-many value, the Salesforce implementation supports a maximum of three values using three fields. |
| CareRegisteredDevice.UniqueDeviceId2Issuer | URL | |||
| CareRegisteredDevice.UniqueDeviceId3Issuer | URL | |||
| uidCarrier.jurisdiction | N/A | N/A | N/A | Not supported |
| uidCarrier.carrierAIDC | N/A | N/A | N/A | Not supported |
| uidCarrier.arrierHRF | N/A | N/A | N/A | Not supported |
| uidCarrier.entryType | N/A | N/A | N/A | Not supported |
| status | Asset.Status | Picklist | 0.1 | While FHIR defines device.status as code, the Salesforce implementation is a picklist. |
| statusReason | Asset.StatusReason | Picklist | 0.1 | While FHIR defines device.statusReason as a zero-to-many codeable concept, the Salesforce implementation is a zero-to-one picklist. |
| distinctIdentifier | Asset.Uuid | String | 0.1 | N/A |
| manufacturer | Asset.AssetProviderBy | Lookup: Account | 0.1 | While FHIR defines device.manufacturer as string, the Salesforce implementation is a lookup to Account (Organization). |
| manufactureDate | Asset.ManufactureDate | Date | 0.1 | While FHIR defines device.manufactureDate as DateTime, the Salesforce implementation is a of the data type Date. |
| expirationDate | Asset.UsageEndDate | Date | 0.1 | While FHIR defines device.expirationDate as DateTime, the Salesforce implementation is a of the data type Date. |
| lotNumber | N/A | N/A | N/A | Not supported |
| serialNumber | Asset.SerialNumber | String | 0.1 | N/A |
| deviceName.name | CareRegisteredDevice.Name | String | 0.1 | While FHIR defines device.deviceName as a zero-to-many resource, the Salesforce implementation is zero-to-one. |
| deviceName.type | Lookup: CareRegisteredDevice.NameType | Multi-Select Picklist | 0.M | |
| modelNumber | Asset.ProductCode | String | 0.1 | N/A |
| partNumber | N/A | N/A | N/A | Not supported |
| type | CareRegisteredDevice.DeviceTypeId | Lookup: CodeSet | 0.1 | While FHIR defines device.type as a codeable concept value, the Salesforce implementation is a code set. |
| specialization | N/A | N/A | N/A | Not supported |
| version | N/A | N/A | N/A | Not supported |
| property | N/A | N/A | N/A | Not supported |
| patient | CareRegisteredDevice.PatientId | Lookup: Account | 0.1 | N/A |
| owner | Asset.AssetServicedBy | Lookup: Account | 0.1 | N/A |
| contact | CareRegisteredDevice.SupportContactDetail | String | 0.1 | While FHIR defines device.contact as a contact point value, the Salesforce implementation is a string. |
| location | N/A | N/A | N/A | N/A |
| url | Asset.Product2Id.DisplayUrl | URL | 0.1 | N/A |
| account | N/A | N/A | N/A | Not supported |
| note. | AuthorNote | Object | 0.M | The notes for a device are represented as AuthorNote records that reference the CareRegisteredDevice record using their AuthorNote.ParentRecordId field. |
| safety | CareRegisteredDevice.SafetyInformation | String | 0.1 | While FHIR defines device.safety as a codeable concept, the Salesforce implementation is a string field. |
| parent | Asset.ParentId | Lookup Asset | 0.1 | N/A |