Patient

The Patient FHIR resource maps to the Account and Contact objects in Salesforce​. Patients are modeled using Person Accounts.

FHIR V4​.0 - Clinical ​Data Model Mapping 

Here’s how the fields defined by FHIR for Patient map to the fields in Salesforce​.

Patient ResourceSalesforce FieldTypeSalesforce CardinalityNotes
identifierIdentifierObject0​.MThe identifier information for a patient is represented as Identifier records that reference the patient record using their Identifier​.Parent​RecordId field​.
activeAccount​.IsActiveBoolean0​.1N/A
namePerson​NameObject0​.MThe name information for a patient is represented as Person​Name records that reference the patient record using their Person​Name​.Parent​RecordId field​.
telecomContact​Point​PhoneObject0​.MThe telecom information for a patient is represented as Contact​Point​Phone records that reference the patient record using their Contact​Point​Phone​.ParentId field​.
genderContact​.GenderPicklist0​.1While FHIR defines patient​.gender as a code set, its Salesforce implementation is a picklist​.
birth​DateContact​.Birthdate​Date0​.1N/A
deceased​.deceased​BooleanN/AN/AN/ANot supported
deceased​.deceased​Date​TimeContact​.Deceased​Date​DateTime0​.1While FHIR defines patient​.deceased as either a boolean or a date, Salesforce supports only a date​.
addressContact​Point​AddressObject0​.MThe address information for a patient is represented as Contact​Point​Address records that reference the patient record using their Contact​Point​Address​.ParentId field​.
marital​StatusContact​.Marital​StatusPicklist0​.1While FHIR defines patient​.marital​Status as a code set bundle, its Salesforce implementation is a picklist​.
multiple​Birth​.multiple​Birth​BooleanN/AN/AN/ANot supported
multiple​Birth​.multiple​Birth​IntegerContact​.Sequence​In​Multiple​BirthDouble0​.1While FHIR defines patient​.multiple​Birth as either a boolean or an integer, Salesforce supports only an integer​.
photoN/AN/AN/ANot supported
contactContact​Contact​Relation__c​.RelatedContact__cLookup: Contact0​.MContacts are connected to patients using the Contact​Contact​Relation__c junction object​. The Contact​​Contact​​Relation__c​​.Contact__c field references the contact record of the patient’s person account, and the Contact​​Contact​​Relation__c​​.Related​Contact__c field references the contact record of the contact’s person account​.
contact​.relationshipContact​​Contact​​Relation__c​​.Role__cLookup: ReciprocalRole__c0​.MWhile FHIR defines patient​.contact​.relationship as a code set bundle, its Salesforce implementation is a reference to ReicprocalRole__c​.
contact​.namePerson​NameObject0​.MThe name information for a contact is represented as Person​Name records that reference the contact record of the contact’s person account using their Person​Name​.Parent​RecordId field​.
While FHIR defines patient​.contact​.name as a zero-to-one resource, the Salesforce implementation can support zero-to-many references​.
contact​.telecomContact​Point​PhoneObject0​.MThe telecom information for a contact is represented as Contact​Point​Phone records that reference the contact’s person account record using their Contact​Point​Phone​.ParentId field​.
contact​.addressContact​Point​AddressObject0​.MThe address information for a contact is represented as Contact​Point​Address records that reference the contact’s person account record using their Contact​Point​Address​.ParentId field​.
While FHIR defines patient​.contact​.address as a zero-to-one resource, the Salesforce implementation can support zero-to-many references​.
contact​.genderContact​.GenderPicklist0​.1While FHIR defines patient​.contact​.gender as a code set, its Salesforce implementation is a picklist​.
contact​.organizationN/AN/AN/ANot supported
contact​.periodContact​​Contact​​Relation__c​​.StartDate__c​Date0​.1Because 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​.
contact​.periodContact​​Contact​​Relation__c​​.EndDate__c​Date0​.1Because 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​.
communicationPerson​LanguageObject0​.MThe language information for a patient is represented as Person​Language records that reference the patient record using their Person​Language​.IndividualId field​.
communication​.languagePerson​Language​.​LanguagePicklist0​.1While FHIR defines patient​.communication​.language as a code set bundle, its Salesforce implementation is a picklist​.
communication​.preferredPerson​Language​.RankDouble0​.1While FHIR defines patient​.communication​.preferred as a boolean, its Salesforce implementation is an integer field that ranks the degree of preference​.
general​PractitionerContact​Contact​Relation__c​.RelatedContact__cLookup: Contact0​.MPractitioners are connected to patients using the Contact​Contact​Relation__c junction object​. The Contact​​Contact​​Relation__c​​.Contact__c field references the contact record of the patient’s person account, and the Contact​​Contact​​Relation__c​​.Related​Contact__c field references the contact record of the practitioner’s person account​.
Salesforce doesn’t support Practitioner​Role type values for patient.​general​Practitioner
managing​OrganizationAccount​Contact​Relation​.AccountIdLookup: Account0​.MManaging organizations are connected to patients using the Account​Contact​Relation​ junction object​. The Account​Contact​Relation​.AccountId field references the account record of the patient’s organization, and the Account​Contact​Relation​.ContactId field references the contact record of the patient’s person account​.
linkN/AN/AN/ANot supported

Sample Record Diagram 

Here’s a diagram that shows an example of how this resource is represented in Salesforce.

A diagram that shows how a patient Charles Green is represented in Salesforce.