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. Salesforce doesn't support PractitionerRole type values for patient.generalPractitioner |
| 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 |
Sample Record Diagram
Here's a diagram that shows an example of how this resource is represented in Salesforce.