---
schema_version: "1"
id: 492dbd28362ca3fd28865c7e7312694e48d6ccacf3775436a60b09450472dde9
title: ​Procedure
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/life_sciences_dev_guide/map_fhir_Procedure.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.life_sciences_dev_guide.meta/life_sciences_dev_guide/map_fhir_Procedure.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: e0f29500af94b7ddd2119005808aaac4c56345fc36d8c1c178ef579dd833543d
description: The procedure FHIR resource maps to the Patient​Medical​​Procedure and Patient​Medical​​Procedure​Detail objects in Salesforce​.
---
# ​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](https://www.hl7.org/fhir/procedure.html) map to the fields in Salesforce​.

<table class="featureTable sort_table" summary="">
          <caption><span class="tablecap">Table 1. ​Procedure - Salesforce</span></caption>





          <thead class="thead sorted" align="left">
            <tr>
              <th class="featureTableHeader  " id="d132761e72">​Procedure Resource</th>

              <th class="featureTableHeader  " id="d132761e75">Salesforce Field</th>

              <th class="featureTableHeader  " id="d132761e78">​Type</th>

              <th class="featureTableHeader  text-center" id="d132761e81">Salesforce Cardinality</th>

              <th class="featureTableHeader  " id="d132761e84">Notes</th>

            </tr>

          </thead>

          <tbody class="tbody">
            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">identifier</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Identifier</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Object</td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.M</td>

              <td class="entry" headers="d132761e84" data-title="Notes">The identifier information for a ​Procedure is represented as <samp class="codeph nolang">Identifier</samp> records that reference the
                Patient​Medical​​Procedure record using their <samp class="codeph nolang">Identifier​.Parent​RecordId</samp> field​.</td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">instantiates​Canonical​</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field">N/A</td>

              <td class="entry" headers="d132761e78" data-title="​Type">N/A</td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">N/A</td>

              <td class="entry" headers="d132761e84" data-title="Notes">Not Supported</td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">instantiates​Canonical​</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field">N/A</td>

              <td class="entry" headers="d132761e78" data-title="​Type">N/A</td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">N/A</td>

              <td class="entry" headers="d132761e84" data-title="Notes">Not Supported</td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">basedOn</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​Detail</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Object</td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.M</td>

              <td class="entry" headers="d132761e84" data-title="Notes">
                <p class="p">The information about the service request that a procedure is based on is
                  represented as <samp class="codeph nolang">Patient​Medical​​Procedure​Detail</samp> records that reference the <samp class="codeph nolang">Patient​Medical​​Procedure</samp> record using their
                  <samp class="codeph nolang">Patient​Medical​​Procedure​Detail​.Patient​Medical​​Procedure​Id</samp>
                  field​.
                </p>

                <p class="p">The Salesforce implementation of <samp class="codeph nolang">procedure​.basedOn</samp> doesn’t support references to care plans​.</p>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">basedOn</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​Detail​.​Detail​RecordId</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Lookup: <samp class="codeph nolang">Clinical​Service​Request</samp>
              </td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d132761e84" data-title="Notes">For <samp class="codeph nolang">procedure​.basedOn</samp> information,
                <samp class="codeph nolang">Patient​Medical​​Procedure​Detail​.​Detail​RecordId</samp> must reference a
                <samp class="codeph nolang">Clinical​Service​Request</samp> record​.
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">basedOn</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​Detail​.​Detail​Type</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">
                <p class="p">Picklist</p>

                <p class="p">Value: Based On</p>

              </td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d132761e84" data-title="Notes">For <samp class="codeph nolang">procedure​.basedOn</samp> information,
                <samp class="codeph nolang">Patient​Medical​​Procedure​Detail​.​Detail​Type</samp> must use the value
                <kbd class="ph userinput">Based On</kbd>​.
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">partOf</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​Detail</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Object</td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.M</td>

              <td class="entry" headers="d132761e84" data-title="Notes">
                <p class="p">The information about the procedure or observation that a procedure is a part of
                  is represented as <samp class="codeph nolang">Patient​Medical​​Procedure​Detail</samp> records that reference the <samp class="codeph nolang">Patient​Medical​​Procedure</samp> record using their
                  <samp class="codeph nolang">Patient​Medical​​Procedure​Detail​.Patient​Medical​​Procedure​Id</samp>
                  field​.
                </p>

                <p class="p">The Salesforce implementation of <samp class="codeph nolang">procedure​.partOf</samp> doesn’t support references to medication
                  administration​.</p>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">partOf</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​Detail​.​Detail​RecordId</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Polymorphic Lookup: <samp class="codeph nolang">Patient​Medical​​Procedure</samp>, <samp class="codeph nolang">Care​Observation</samp>
              </td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d132761e84" data-title="Notes">For <samp class="codeph nolang">procedure​.partOf</samp> information, <samp class="codeph nolang">Patient​Medical​​Procedure​Detail​.​Detail​RecordId</samp>
                must reference a either a <samp class="codeph nolang">Patient​Medical​​Procedure</samp> record or a <samp class="codeph nolang">Care​Observation</samp>​.</td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">partOf</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​Detail​.​Detail​Type</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">
                <p class="p">Picklist</p>

                <p class="p">Value: Part Of</p>

              </td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d132761e84" data-title="Notes">For <samp class="codeph nolang">procedure​.partOf</samp> information, <samp class="codeph nolang">Patient​Medical​​Procedure​Detail​.​Detail​Type</samp> must
                use the value <kbd class="ph userinput">Part Of</kbd>​.</td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">status</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​.Status</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Picklist</td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d132761e84" data-title="Notes">While FHIR defines <samp class="codeph nolang">procedure​.status</samp> as a
                code set bundle, the Salesforce implementation of <samp class="codeph nolang">Patient​Medical​​Procedure​.Status</samp> is picklist​.</td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">status​Reason</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​.Status​Reason​​CodeId</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Lookup: <samp class="codeph nolang">​CodeSet​Bundle</samp>
              </td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d132761e84" data-title="Notes">N/A</td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">category</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​.​TypeId</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Lookup: <samp class="codeph nolang">​CodeSet​Bundle</samp>
              </td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d132761e84" data-title="Notes">N/A</td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">code</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​.​CodeId</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Lookup: <samp class="codeph nolang">​CodeSet​Bundle</samp>
              </td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d132761e84" data-title="Notes">N/A</td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">subject</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​.PatientId</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Master​Detail: <samp class="codeph nolang">Account</samp>
              </td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">1​.1</td>

              <td class="entry" headers="d132761e84" data-title="Notes">The Salesforce implementation of <samp class="codeph nolang">procedure​.subject</samp> doesn’t support references to groups​.</td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">encounter</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​.Clinical​Encounter​Id</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Lookup: <samp class="codeph nolang">Clinical​Encounter</samp>
              </td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d132761e84" data-title="Notes">N/A</td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">performed​.performed​Date​Time</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​.Start​Date</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Date​Time</td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d132761e84" data-title="Notes">
                <samp class="codeph nolang">Patient​Medical​​Procedure​.Start​Date</samp> is
                used for both <samp class="codeph nolang">procedure​.performed​.performed​Date​Time</samp> and <samp class="codeph nolang">procedure​.performed​.performed​Period</samp>​. For the
                latter, the field is used to represent the start date of the period​.
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">performed​.performed​Period</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​.Start​Date</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Date​Time</td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d132761e84" data-title="Notes">Because Salesforce doesn’t support a native period data type, the
                <samp class="codeph nolang">procedure​.performed​.performed​Period</samp> field
                is flattened into a set of start date and end date fields​.
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">performed​.performed​Period</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​.End​Date</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Date​Time</td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d132761e84" data-title="Notes">Because Salesforce doesn’t support a native period data type, the
                <samp class="codeph nolang">procedure​.performed​.performed​Period</samp> field
                is flattened into a set of start date and end date fields​.
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">performed​.performed​String</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​.Duration​Time​String</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">String</td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d132761e84" data-title="Notes">N/A</td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">performed​.performedAge</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​.Performed​AtAge</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Double</td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d132761e84" data-title="Notes">Because Salesforce doesn’t support a native age data type, the
                <samp class="codeph nolang">procedure​.performed​.performedAge</samp> FHIR
                resource is flattened into a set of age and unit fields​.
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">performed​.performedAge</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​.PerformedAt​AgeUnitId</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Lookup: <samp class="codeph nolang">UnitOf​Measure</samp>
              </td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d132761e84" data-title="Notes">Because Salesforce doesn’t support a native age data type, the
                <samp class="codeph nolang">procedure​.performed​.performedAge</samp> FHIR
                resource is flattened into a set of age and unit fields​.
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">performed​.performed​Range</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​.PerformedAt​AgeLower​Limit</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Double</td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d132761e84" data-title="Notes">Because Salesforce doesn’t support a native range data type, the
                <samp class="codeph nolang">procedure​.performed​.performed​Range</samp> FHIR
                resource is flattened into a set of lower limit, upper limit, and unit
                fields​.
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">performed​.performed​Range</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​.PerformedAt​​AgeUpper​Limit</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Double</td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d132761e84" data-title="Notes">Because Salesforce doesn’t support a native range data type, the
                <samp class="codeph nolang">procedure​.performed​.performed​Range</samp> FHIR
                resource is flattened into a set of lower limit, upper limit, and unit
                fields​.
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">performed​.performed​Range</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​.Performed​AgeRange​Unit</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Lookup: <samp class="codeph nolang">UnitOf​Measure</samp>
              </td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d132761e84" data-title="Notes">Because Salesforce doesn’t support a native range data type, the
                <samp class="codeph nolang">procedure​.performed​.performed​Range</samp> FHIR
                resource is flattened into a set of lower limit, upper limit, and unit
                fields​.
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">recorder</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​.​Record​Creator​Id</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Lookup: <samp class="codeph nolang">Account</samp>, <samp class="codeph nolang">HealthcareProvider</samp>
              </td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d132761e84" data-title="Notes">N/A</td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">asserter</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​.Assertion​SourceId</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Lookup: <samp class="codeph nolang">Account</samp>, <samp class="codeph nolang">Healthcare​Provider</samp>
              </td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d132761e84" data-title="Notes">N/A</td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">performer</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Care​Performer</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Object</td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.M</td>

              <td class="entry" headers="d132761e84" data-title="Notes">The performer information for a ​Procedure is represented as <samp class="codeph nolang">Care​Performer</samp> records that reference the
                Patient​Medical​​Procedure record using their <samp class="codeph nolang">Care​Performer​.Parent​RecordId</samp> field​.</td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">performer​.function</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Care​Performer​.RoleId</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Polymorphic Lookup: <samp class="codeph nolang">​CodeSet</samp>, <samp class="codeph nolang">​CodeSet​Bundle</samp>
              </td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d132761e84" data-title="Notes">N/A</td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">performer​.actor</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Care​Performer​.PersonId</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Polymorphic Lookup: <samp class="codeph nolang">Account</samp>, <samp class="codeph nolang">Healthcare​Provider</samp>
              </td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d132761e84" data-title="Notes">The Salesforce implementation doesn’t support references to devices​.</td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource">
                <samp class="codeph nolang">performer​.actor</samp>on​BehalfOf
              </td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Care​Performer​.Affiliated​Organization​Id</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Lookup: <samp class="codeph nolang">Account</samp>
              </td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d132761e84" data-title="Notes">0​.1</td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">location</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​.FacilityId</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Lookup: <samp class="codeph nolang">Healthcare​.Facility</samp>
              </td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d132761e84" data-title="Notes">N/A</td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">reason​Code</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​.Reason​CodeId</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Lookup: <samp class="codeph nolang">​CodeSet​Bundle</samp>
              </td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d132761e84" data-title="Notes">While FHIR defines <samp class="codeph nolang">procedure​.reason​Code</samp>
                as a zero-to-many resource, the Salesforce implementation is zero-to-one​.</td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">reason​Reference</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​.Reason​Reference​Id</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Polymorphic Lookup: <samp class="codeph nolang">Health​Condition</samp>,
                <samp class="codeph nolang">Care​Observation</samp>, <samp class="codeph nolang">Patient​Medical​​Procedure</samp>, and <samp class="codeph nolang">Diagnostic​Summary</samp>
              </td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d132761e84" data-title="Notes">
                <p class="p">While FHIR defines <samp class="codeph nolang">procedure​.reason​Code</samp> as
                  a zero-to-many resource, the Salesforce implementation is zero-to-one​.</p>

                <p class="p">The Salesforce implementation doesn’t support document reference records​.</p>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">bodySite</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​Detail</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Object</td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.M</td>

              <td class="entry" headers="d132761e84" data-title="Notes">
                <p class="p">The body site information of a procedure is represented as <samp class="codeph nolang">Patient​Medical​​Procedure​Detail</samp> records that
                  reference the <samp class="codeph nolang">Patient​Medical​​Procedure</samp>
                  record using their <samp class="codeph nolang">Patient​Medical​​Procedure​Detail​.Patient​Medical​​ProcedureId</samp>
                  field​. </p>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">bodySite</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​Detail​.​Detail​CodeId</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Polymorphic Lookup: <samp class="codeph nolang">​CodeSet</samp>, <samp class="codeph nolang">​CodeSet​Bundle</samp>
              </td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d132761e84" data-title="Notes">For <samp class="codeph nolang">procedure​.bodySite</samp> information,
                <samp class="codeph nolang">Patient​Medical​​Procedure​Detail​.​Detail​CodeId</samp> must reference a
                <samp class="codeph nolang">​CodeSet</samp> or <samp class="codeph nolang">​CodeSet​Bundle</samp> record​.
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">bodySite</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​Detail​.​Detail​Type</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">
                <p class="p">Picklist</p>

                <p class="p">Value: Body Site</p>

              </td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d132761e84" data-title="Notes">For <samp class="codeph nolang">procedure​.bodySite</samp> information,
                <samp class="codeph nolang">Patient​Medical​​Procedure​Detail​.​Detail​Type</samp> must use the value
                <kbd class="ph userinput">Body Site</kbd>​.
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">outcome</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​.Outcome</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Picklist</td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d132761e84" data-title="Notes">While FHIR defines <samp class="codeph nolang">procedure​.outcome</samp> as a
                code, the Salesforce implementation of <samp class="codeph nolang">Patient​Medical​​Procedure​.Outcome</samp> is a picklist​.</td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">report</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​.ReportId</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Lookup: <samp class="codeph nolang">Diagnostic​Summary</samp>
              </td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d132761e84" data-title="Notes">
                <p class="p">While FHIR defines <samp class="codeph nolang">procedure​.report</samp> as a
                  zero-to-many resource, the Salesforce implementation is zero-to-one​.</p>

                <p class="p">The Salesforce implementation of <samp class="codeph nolang">procedure​.report</samp> doesn’t support references to composition or
                  document reference records​.</p>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">complication</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​Detail</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Object</td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.M</td>

              <td class="entry" headers="d132761e84" data-title="Notes">
                <p class="p">The complication information of a procedure is represented as <samp class="codeph nolang">Patient​Medical​​Procedure​Detail</samp> records that
                  reference the <samp class="codeph nolang">Patient​Medical​​Procedure</samp>
                  record using their <samp class="codeph nolang">Patient​Medical​​Procedure​Detail​.Patient​Medical​​ProcedureId</samp>
                  field​. </p>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">complication</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​Detail​.​Detail​CodeId</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Polymorphic Lookup: <samp class="codeph nolang">​CodeSet</samp>, <samp class="codeph nolang">​CodeSet​Bundle</samp>
              </td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d132761e84" data-title="Notes">For <samp class="codeph nolang">procedure​.complication</samp> information,
                <samp class="codeph nolang">Patient​Medical​​Procedure​Detail​.​Detail​CodeId</samp> must reference a
                <samp class="codeph nolang">​CodeSet</samp> or <samp class="codeph nolang">​CodeSet​Bundle</samp> record​.
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">complication</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​Detail​.​Detail​Type</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">
                <p class="p">Picklist</p>

                <p class="p">Value: Complication</p>

              </td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d132761e84" data-title="Notes">For <samp class="codeph nolang">procedure​.complication</samp> information,
                <samp class="codeph nolang">Patient​Medical​​Procedure​Detail​.​Detail​Type</samp> must use the value
                <kbd class="ph userinput">Complication</kbd>​.
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">complication​Detail</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​Detail</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Object</td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.M</td>

              <td class="entry" headers="d132761e84" data-title="Notes">
                <p class="p">The complication detail information of a procedure is represented as <samp class="codeph nolang">Patient​Medical​​Procedure​Detail</samp> records that
                  reference the <samp class="codeph nolang">Patient​Medical​​Procedure</samp>
                  record using their <samp class="codeph nolang">Patient​Medical​​Procedure​Detail​.Patient​Medical​​ProcedureId</samp>
                  field​. </p>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">complication​Detail</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​Detail​.​Detail​RecordId</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Lookup: <samp class="codeph nolang">Health​Condition</samp>
              </td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d132761e84" data-title="Notes">For <samp class="codeph nolang">procedure​.complication​Detail</samp>
                information, <samp class="codeph nolang">Patient​Medical​​Procedure​Detail​.​Detail​RecordId</samp> must reference a
                <samp class="codeph nolang">Health​Condition</samp> record​.
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">complication​Detail</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​Detail​.​Detail​Type</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">
                <p class="p">Picklist</p>

                <p class="p">Value: Complication ​Detail</p>

              </td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d132761e84" data-title="Notes">For <samp class="codeph nolang">procedure​.complication​Detail</samp>
                information, <samp class="codeph nolang">Patient​Medical​​Procedure​Detail​.​Detail​Type</samp> must use the value
                <kbd class="ph userinput">Complication ​Detail</kbd>​.
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">followUp</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​Detail</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Object</td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.M</td>

              <td class="entry" headers="d132761e84" data-title="Notes">
                <p class="p">The follow up information of a procedure is represented as <samp class="codeph nolang">Patient​Medical​​Procedure​Detail</samp> records that
                  reference the <samp class="codeph nolang">Patient​Medical​​Procedure</samp>
                  record using their <samp class="codeph nolang">Patient​Medical​​Procedure​Detail​.Patient​Medical​​ProcedureId</samp>
                  field​. </p>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">followUp</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​Detail​.​Detail​CodeId</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Polymorphic Lookup: <samp class="codeph nolang">​CodeSet</samp>, <samp class="codeph nolang">​CodeSet​Bundle</samp>
              </td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d132761e84" data-title="Notes">For <samp class="codeph nolang">procedure​.followUp</samp> information,
                <samp class="codeph nolang">Patient​Medical​​Procedure​Detail​.​Detail​CodeId</samp> must reference a
                <samp class="codeph nolang">​CodeSet</samp> or <samp class="codeph nolang">​CodeSet​Bundle</samp> record​.
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">followUp</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​Detail​.​Detail​Type</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">
                <p class="p">Picklist</p>

                <p class="p">Value: Follow Up</p>

              </td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0​.1</td>

              <td class="entry" headers="d132761e84" data-title="Notes">For <samp class="codeph nolang">procedure​.complication​Detail</samp>
                information, <samp class="codeph nolang">Patient​Medical​​Procedure​Detail​.​Detail​Type</samp> must use the value
                <kbd class="ph userinput">Follow Up</kbd>​.
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">Note</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">AuthorNote</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Object</td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0.M</td>

              <td class="entry" headers="d132761e84" data-title="Notes">Use the AuthorNote object to add notes to a procedure, and use the
                ParentRecordId field to reference the parent procedure the note belongs to.</td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">focal​Device</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​Detail​.​Detail​recordId</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Lookup: Care​Registered​Device</td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0.M</td>

              <td class="entry" headers="d132761e84" data-title="Notes">Use the <samp class="codeph nolang">Patient​Medical​​Procedure​Detail</samp>
                child object to add multiple focalDevice values that reference the parent procedure
                record.</td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">used​Reference</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​Detail​.​Detail​RecordId</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">Lookup: Care​Registered​Device</td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0.M</td>

              <td class="entry" headers="d132761e84" data-title="Notes">Use the <samp class="codeph nolang">Patient​Medical​​Procedure​Detail</samp>
                child object to specify devices used in a procedure, and reference the parent
                procedure record.</td>

            </tr>

            <tr>
              <td class="entry" headers="d132761e72" data-title="​Procedure Resource"><samp class="codeph nolang">used​Code</samp></td>

              <td class="entry" headers="d132761e75" data-title="Salesforce Field"><samp class="codeph nolang">Patient​Medical​​Procedure​Detail​.​Detail​CodeId</samp></td>

              <td class="entry" headers="d132761e78" data-title="​Type">N/A</td>

              <td class=" text-center" headers="d132761e81" data-title="Salesforce Cardinality">0.M</td>

              <td class="entry" headers="d132761e84" data-title="Notes">Use the <samp class="codeph nolang">Patient​Medical​​Procedure​Detail</samp>
                child object to specify codes for items used in a procedure, and reference the
                parent procedure record.</td>

            </tr>

          </tbody>

        </table>

## 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.](https://developer.salesforce.com/docs/atlas.en-us.life_sciences_dev_guide.meta/life_sciences_dev_guide/dev_guides/healthcare_api/Mappings_FHIR/images/srd_hc_procedure.png)

#### See Also

- [CarePerformer](https://developer.salesforce.com/docs/atlas.en-us.life_sciences_dev_guide.meta/life_sciences_dev_guide/hc_r4_api_objects_CarePerformer.htm "Represents the person performing care in observations, procedure, and immunizations. This person may be a physician, the patient’s contact, or anyone who administered any sort of care to the patient in the context of the concerned care event. This object is available in API version 51.0 and later.")
- [PatientMedicalProcedure](https://developer.salesforce.com/docs/atlas.en-us.life_sciences_dev_guide.meta/life_sciences_dev_guide/hc_r4_api_objects_patientmedicalprocedure.htm "Represents detailed information about a healthcare procedure the patient has undergone, is undergoing or will undergo. This object is available in API version 51.0 and later.")
- [PatientMedicalProcedureDetail](https://developer.salesforce.com/docs/atlas.en-us.life_sciences_dev_guide.meta/life_sciences_dev_guide/hc_r4_api_objects_PatientMedicalProcedureDetail.htm "Associates records from different objects to a patient medical procedure record to add more information to the procedure record. This is a multi-object junction object. This object is available in API version 51.0 and later.")