Newer Version Available
Patient
FHIR V4.0 - Clinical Data Model Mapping
Here’s how the fields defined by FHIR for Patient map to the fields in Salesforce.
| Patient Resource | Salesforce Field | Type | Salesforce Cardinality | Notes |
|---|---|---|---|---|
| identifier | Identifier | Object | 0.M | The identifier information for a patient is represented as Identifier records that reference the patient record using their Identifier.ParentRecordId field. |
| active | Account.IsActive | Boolean | 0.1 | N/A |
| name | PersonName | Object | 0.M | The name information for a patient is represented as PersonName records that reference the patient record using their PersonName.ParentRecordId field. |
| telecom | ContactPointPhone | Object | 0.M | The telecom information for a patient is represented as ContactPointPhone records that reference the patient record using their ContactPointPhone.ParentId field. |
| gender | Contact.Gender | Picklist | 0.1 | While FHIR defines patient.gender as a code set, its Salesforce implementation is a picklist. |
| birthDate | Contact.Birthdate | Date | 0.1 | N/A |
| deceased.deceasedBoolean | N/A | N/A | N/A | Not supported |
| deceased.deceasedDateTime | Contact.DeceasedDate | DateTime | 0.1 | While FHIR defines patient.deceased as either a boolean or a date, Salesforce supports only a date. |
| address | ContactPointAddress | Object | 0.M | The address information for a patient is represented as ContactPointAddress records that reference the patient record using their ContactPointAddress.ParentId field. |
| maritalStatus | Contact.MaritalStatus | Picklist | 0.1 | While FHIR defines patient.maritalStatus as a code set bundle, its Salesforce implementation is a picklist. |
| multipleBirth.multipleBirthBoolean | N/A | N/A | N/A | Not supported |
| multipleBirth.multipleBirthInteger | Contact.SequenceInMultipleBirth | Double | 0.1 | While FHIR defines patient.multipleBirth as either a boolean or an integer, Salesforce supports only an integer. |
| photo | N/A | N/A | N/A | Not supported |
| contact | ContactContactRelation__c.RelatedContact__c | Lookup: Contact | 0.M | Contacts are connected to patients using the ContactContactRelation__c junction object. The ContactContactRelation__c.Contact__c field references the contact record of the patient’s person account, and the ContactContactRelation__c.RelatedContact__c field references the contact record of the contact’s person account. |
| contact.relationship | ContactContactRelation__c.Role__c | Lookup: ReciprocalRole__c | 0.M | While FHIR defines patient.contact.relationship as a code set bundle, its Salesforce implementation is a reference to ReicprocalRole__c. |
| contact.name | PersonName | Object | 0.M |
The name information for a contact is represented as PersonName records that reference the contact record of the contact’s person account using their PersonName.ParentRecordId field. While FHIR defines patient.contact.name as a zero-to-one resource, the Salesforce implementation can support zero-to-many references. |
| contact.telecom | ContactPointPhone | Object | 0.M | The telecom information for a contact is represented as ContactPointPhone records that reference the contact’s person account record using their ContactPointPhone.ParentId field. |
| contact.address | ContactPointAddress | Object | 0.M |
The address information for a contact is represented as ContactPointAddress records that reference the contact’s person account record using their ContactPointAddress.ParentId field. While FHIR defines patient.contact.address as a zero-to-one resource, the Salesforce implementation can support zero-to-many references. |
| contact.gender | Contact.Gender | Picklist | 0.1 | While FHIR defines patient.contact.gender as a code set, its Salesforce implementation is a picklist. |
| contact.organization | N/A | N/A | N/A | Not supported |
| contact.period | ContactContactRelation__c.StartDate__c | Date | 0.1 | Because Salesforce doesn’t support a native period data type, the patient.contact.period FHIR resource is flattened to a set of from and to dates. |
| ContactContactRelation__c.EndDate__c | Date | 0.1 | ||
| communication | PersonLanguage | Object | 0.M | The language information for a patient is represented as PersonLanguage records that reference the patient record using their PersonLanguage.IndividualId field. |
| communication.language | PersonLanguage.Language | Picklist | 0.1 | While FHIR defines patient.communication.language as a code set bundle, its Salesforce implementation is a picklist. |
| communication.preferred | PersonLanguage.Rank | Double | 0.1 | While FHIR defines patient.communication.preferred as a boolean, its Salesforce implementation is an integer field that ranks the degree of preference. |
| generalPractitioner | ContactContactRelation__c.RelatedContact__c | Lookup: Contact | 0.M | Practitioners are connected to patients using the ContactContactRelation__c junction object. The ContactContactRelation__c.Contact__c field references the contact record of the patient’s person account, and the ContactContactRelation__c.RelatedContact__c field references the contact record of the practitioner’s person account. |
| managingOrganization | AccountContactRelation.AccountId | Lookup: Account | 0.M | Managing organizations are connected to patients using the AccountContactRelation junction object. The AccountContactRelation.AccountId field references the account record of the patient’s organization, and the AccountContactRelation.ContactId field references the contact record of the patient’s person account. |
| link | N/A | N/A | N/A | Not supported |