​Procedure

The procedure FHIR resource maps to the Patient​Medical​​Procedure and Patient​Medical​​Procedure​Detail objects in Salesforce​.

FHIR V4​.0 - Clinical​ Data Model Mapping 

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

​Procedure ResourceSalesforce Field​TypeSalesforce CardinalityNotes
identifierIdentifierObject0​.MThe identifier information for a ​Procedure is represented as Identifier records that reference the Patient​Medical​​Procedure record using their Identifier​.Parent​RecordId field​.
instantiates​Canonical​N/AN/AN/ANot Supported
instantiates​Canonical​N/AN/AN/ANot Supported
basedOnPatient​Medical​​Procedure​DetailObject0​.MThe information about the service request that a procedure is based on is represented as Patient​Medical​​Procedure​Detail records that reference the Patient​Medical​​Procedure record using their Patient​Medical​​Procedure​Detail​.Patient​Medical​​Procedure​Id field​.
The Salesforce implementation of procedure​.basedOn doesn’t support references to care plans​.
basedOnPatient​Medical​​Procedure​Detail​.​Detail​RecordIdLookup: Clinical​Service​Request0​.1For procedure​.basedOn information, Patient​Medical​​Procedure​Detail​.​Detail​RecordId must reference a Clinical​Service​Request record​.
basedOnPatient​Medical​​Procedure​Detail​.​Detail​TypePicklist
Value: Based On
0​.1For procedure​.basedOn information, Patient​Medical​​Procedure​Detail​.​Detail​Type must use the value Based On​.
partOfPatient​Medical​​Procedure​DetailObject0​.MThe information about the procedure or observation that a procedure is a part of is represented as Patient​Medical​​Procedure​Detail records that reference the Patient​Medical​​Procedure record using their Patient​Medical​​Procedure​Detail​.Patient​Medical​​Procedure​Id field​.
The Salesforce implementation of procedure​.partOf doesn’t support references to medication administration​.
partOfPatient​Medical​​Procedure​Detail​.​Detail​RecordIdPolymorphic Lookup: Patient​Medical​​Procedure, Care​Observation0​.1For procedure​.partOf information, Patient​Medical​​Procedure​Detail​.​Detail​RecordId must reference a either a Patient​Medical​​Procedure record or a Care​Observation​.
partOfPatient​Medical​​Procedure​Detail​.​Detail​TypePicklist
Value: Part Of
0​.1For procedure​.partOf information, Patient​Medical​​Procedure​Detail​.​Detail​Type must use the value Part Of​.
statusPatient​Medical​​Procedure​.StatusPicklist0​.1While FHIR defines procedure​.status as a code set bundle, the Salesforce implementation of Patient​Medical​​Procedure​.Status is picklist​.
status​ReasonPatient​Medical​​Procedure​.Status​Reason​​CodeIdLookup: ​CodeSet​Bundle0​.1N/A
categoryPatient​Medical​​Procedure​.​TypeIdLookup: ​CodeSet​Bundle0​.1N/A
codePatient​Medical​​Procedure​.​CodeIdLookup: ​CodeSet​Bundle0​.1N/A
subjectPatient​Medical​​Procedure​.PatientIdMaster​Detail: Account1​.1The Salesforce implementation of procedure​.subject doesn’t support references to groups​.
encounterPatient​Medical​​Procedure​.Clinical​Encounter​IdLookup: Clinical​Encounter0​.1N/A
performed​.performed​Date​TimePatient​Medical​​Procedure​.Start​DateDate​Time0​.1Patient​Medical​​Procedure​.Start​Date is used for both procedure​.performed​.performed​Date​Time and procedure​.performed​.performed​Period​. For the latter, the field is used to represent the start date of the period​.
performed​.performed​PeriodPatient​Medical​​Procedure​.Start​DateDate​Time0​.1Because Salesforce doesn’t support a native period data type, the procedure​.performed​.performed​Period field is flattened into a set of start date and end date fields​.
performed​.performed​PeriodPatient​Medical​​Procedure​.End​DateDate​Time0​.1Because Salesforce doesn’t support a native period data type, the procedure​.performed​.performed​Period field is flattened into a set of start date and end date fields​.
performed​.performed​StringPatient​Medical​​Procedure​.Duration​Time​StringString0​.1N/A
performed​.performedAgePatient​Medical​​Procedure​.Performed​AtAgeDouble0​.1Because Salesforce doesn’t support a native age data type, the procedure​.performed​.performedAge FHIR resource is flattened into a set of age and unit fields​.
performed​.performedAgePatient​Medical​​Procedure​.PerformedAt​AgeUnitIdLookup: UnitOf​Measure0​.1Because Salesforce doesn’t support a native age data type, the procedure​.performed​.performedAge FHIR resource is flattened into a set of age and unit fields​.
performed​.performed​RangePatient​Medical​​Procedure​.PerformedAt​AgeLower​LimitDouble0​.1Because Salesforce doesn’t support a native range data type, the procedure​.performed​.performed​Range FHIR resource is flattened into a set of lower limit, upper limit, and unit fields​.
performed​.performed​RangePatient​Medical​​Procedure​.PerformedAt​​AgeUpper​LimitDouble0​.1Because Salesforce doesn’t support a native range data type, the procedure​.performed​.performed​Range FHIR resource is flattened into a set of lower limit, upper limit, and unit fields​.
performed​.performed​RangePatient​Medical​​Procedure​.Performed​AgeRange​UnitLookup: UnitOf​Measure0​.1Because Salesforce doesn’t support a native range data type, the procedure​.performed​.performed​Range FHIR resource is flattened into a set of lower limit, upper limit, and unit fields​.
recorderPatient​Medical​​Procedure​.​Record​Creator​IdLookup: Account, HealthcareProvider0​.1N/A
asserterPatient​Medical​​Procedure​.Assertion​SourceIdLookup: Account, Healthcare​Provider0​.1N/A
performerCare​PerformerObject0​.MThe performer information for a ​Procedure is represented as Care​Performer records that reference the Patient​Medical​​Procedure record using their Care​Performer​.Parent​RecordId field​.
performer​.functionCare​Performer​.RoleIdPolymorphic Lookup: ​CodeSet, ​CodeSet​Bundle0​.1N/A
performer​.actorCare​Performer​.PersonIdPolymorphic Lookup: Account, Healthcare​Provider0​.1The Salesforce implementation doesn’t support references to devices​.
performer​.actoron​BehalfOfCare​Performer​.Affiliated​Organization​IdLookup: Account0​.10​.1
locationPatient​Medical​​Procedure​.FacilityIdLookup: Healthcare​.Facility0​.1N/A
reason​CodePatient​Medical​​Procedure​.Reason​CodeIdLookup: ​CodeSet​Bundle0​.1While FHIR defines procedure​.reason​Code as a zero-to-many resource, the Salesforce implementation is zero-to-one​.
reason​ReferencePatient​Medical​​Procedure​.Reason​Reference​IdPolymorphic Lookup: Health​Condition, Care​Observation, Patient​Medical​​Procedure, and Diagnostic​Summary0​.1While FHIR defines procedure​.reason​Code as a zero-to-many resource, the Salesforce implementation is zero-to-one​.
The Salesforce implementation doesn’t support document reference records​.
bodySitePatient​Medical​​Procedure​DetailObject0​.MThe body site information of a procedure is represented as Patient​Medical​​Procedure​Detail records that reference the Patient​Medical​​Procedure record using their Patient​Medical​​Procedure​Detail​.Patient​Medical​​ProcedureId field​.
bodySitePatient​Medical​​Procedure​Detail​.​Detail​CodeIdPolymorphic Lookup: ​CodeSet, ​CodeSet​Bundle0​.1For procedure​.bodySite information, Patient​Medical​​Procedure​Detail​.​Detail​CodeId must reference a ​CodeSet or ​CodeSet​Bundle record​.
bodySitePatient​Medical​​Procedure​Detail​.​Detail​TypePicklist
Value: Body Site
0​.1For procedure​.bodySite information, Patient​Medical​​Procedure​Detail​.​Detail​Type must use the value Body Site​.
outcomePatient​Medical​​Procedure​.OutcomePicklist0​.1While FHIR defines procedure​.outcome as a code, the Salesforce implementation of Patient​Medical​​Procedure​.Outcome is a picklist​.
reportPatient​Medical​​Procedure​.ReportIdLookup: Diagnostic​Summary0​.1While FHIR defines procedure​.report as a zero-to-many resource, the Salesforce implementation is zero-to-one​.
The Salesforce implementation of procedure​.report doesn’t support references to composition or document reference records​.
complicationPatient​Medical​​Procedure​DetailObject0​.MThe complication information of a procedure is represented as Patient​Medical​​Procedure​Detail records that reference the Patient​Medical​​Procedure record using their Patient​Medical​​Procedure​Detail​.Patient​Medical​​ProcedureId field​.
complicationPatient​Medical​​Procedure​Detail​.​Detail​CodeIdPolymorphic Lookup: ​CodeSet, ​CodeSet​Bundle0​.1For procedure​.complication information, Patient​Medical​​Procedure​Detail​.​Detail​CodeId must reference a ​CodeSet or ​CodeSet​Bundle record​.
complicationPatient​Medical​​Procedure​Detail​.​Detail​TypePicklist
Value: Complication
0​.1For procedure​.complication information, Patient​Medical​​Procedure​Detail​.​Detail​Type must use the value Complication​.
complication​DetailPatient​Medical​​Procedure​DetailObject0​.MThe complication detail information of a procedure is represented as Patient​Medical​​Procedure​Detail records that reference the Patient​Medical​​Procedure record using their Patient​Medical​​Procedure​Detail​.Patient​Medical​​ProcedureId field​.
complication​DetailPatient​Medical​​Procedure​Detail​.​Detail​RecordIdLookup: Health​Condition0​.1For procedure​.complication​Detail information, Patient​Medical​​Procedure​Detail​.​Detail​RecordId must reference a Health​Condition record​.
complication​DetailPatient​Medical​​Procedure​Detail​.​Detail​TypePicklist
Value: Complication ​Detail
0​.1For procedure​.complication​Detail information, Patient​Medical​​Procedure​Detail​.​Detail​Type must use the value Complication ​Detail​.
followUpPatient​Medical​​Procedure​DetailObject0​.MThe follow up information of a procedure is represented as Patient​Medical​​Procedure​Detail records that reference the Patient​Medical​​Procedure record using their Patient​Medical​​Procedure​Detail​.Patient​Medical​​ProcedureId field​.
followUpPatient​Medical​​Procedure​Detail​.​Detail​CodeIdPolymorphic Lookup: ​CodeSet, ​CodeSet​Bundle0​.1For procedure​.followUp information, Patient​Medical​​Procedure​Detail​.​Detail​CodeId must reference a ​CodeSet or ​CodeSet​Bundle record​.
followUpPatient​Medical​​Procedure​Detail​.​Detail​TypePicklist
Value: Follow Up
0​.1For procedure​.complication​Detail information, Patient​Medical​​Procedure​Detail​.​Detail​Type must use the value Follow Up​.
NoteAuthorNoteObject0.MUse the AuthorNote object to add notes to a procedure, and use the ParentRecordId field to reference the parent procedure the note belongs to.
focal​DevicePatient​Medical​​Procedure​Detail​.​Detail​recordIdLookup: Care​Registered​Device0.MUse the Patient​Medical​​Procedure​Detail child object to add multiple focalDevice values that reference the parent procedure record.
used​ReferencePatient​Medical​​Procedure​Detail​.​Detail​RecordIdLookup: Care​Registered​Device0.MUse the Patient​Medical​​Procedure​Detail child object to specify devices used in a procedure, and reference the parent procedure record.
used​CodePatient​Medical​​Procedure​Detail​.​Detail​CodeIdN/A0.MUse the Patient​Medical​​Procedure​Detail child object to specify codes for items used in a procedure, and reference the parent procedure record.

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 procedure for Charles' sinusectomy is represented in Salesforce.

See Also