DSTU2 QA Preview

This page is part of the FHIR Specification (v1.0.0: DSTU 2 Ballot 3). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2

4.8 Resource Procedure - Content

Patient Care Work GroupMaturity Level: 0Compartments: Encounter, Patient, Practitioner, RelatedPerson

An action that is or was performed on a patient. This can be a physical 'thing' like an operation, or less invasive like counseling or hypnotherapy.

4.8.1 Scope and Usage

This resource is used to record the details of procedures performed on a patient. A procedure is an activity that is performed with or on a patient as part of the provision of care. Examples include surgical procedures, diagnostic procedures, endoscopic procedures, biopsies, counselling, physiotherapy, exercise, etc. Procedures may be performed by a healthcare professional, a friend or relative or in some cases by the patient themselves.

This resource provides summary information about the occurrence of the procedure and is not intended to provide real-time snapshots of a procedure as it unfolds, though for long-running procedures such as psychotherapy, it could represent summary level information about overall progres. The creation of a resource to support detailed real-time procedure information awaits the identification of a specific implementation use-case to share such information.

4.8.2 Boundaries and Relationships

The Procedure resource should not be used to capture an event if a more specific resource already exists - i.e. immunizations, drug administrations and communications. The boundary between determining whether an action is considered to be training or counselling (and thus a procedure) as opposed to a Communication is based on whether there's a specific intent to change the mind-set of the patient. Mere disclosure of information would be considered a Communication. A process that involves verification of the patient's comprehension or to change the patient's mental state would be a Procedure.

Note that many diagnostic processes are procedures that generate Observations and DiagnosticReports. In many cases, such an observation does not require an explicit representation of the procedure used to create the observation, but where there are details of interest about how the diagnostic procedure was performed, the procedure resource is used to describe the activity.

Some diagnostic procedures may not have a Procedure record.  The Procedure record is only necessary when there is a need to capture information about the physical intervention that was performed to capture the diagnostic information (e.g. anaesthetic, incision, scope size, etc.)

This resource is referenced by ClinicalImpression, Encounter and ImagingStudy

4.8.3 Resource Content

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure DomainResourceAn action that was or is currently being performed on a patient
... identifier Σ0..*IdentifierExternal Ids for this procedure
... subject Σ1..1Reference(Patient | Group)Who procedure was performed on
... status ?! Σ1..1codein-progress | aborted | completed | entered-in-error
ProcedureStatus (Required)
... category Σ0..1CodeableConceptClassification of the procedure
Procedure Category Codes (SNOMED CT) (Example)
... code Σ1..1CodeableConceptIdentification of the procedure
Procedure Codes (SNOMED CT) (Example)
... notPerformed ?!0..1booleanTrue if procedure was not performed as scheduled
... reasonNotPerformed I0..*CodeableConceptReason procedure not performed
Procedure Not Performed Reason (SNOMED-CT) (Example)
Reason not performed is only permitted if notPerformed indicator is true
... bodySite Σ0..*CodeableConceptTarget body sites
SNOMED CT Body Structures (Example)
... reason[x] Σ0..1Reason procedure performed
Procedure Reason Codes (Example)
.... reasonCodeableConceptCodeableConcept
.... reasonReferenceReference(Condition)
... performer Σ0..*BackboneElementThe people who performed the procedure
.... actor Σ0..1Reference(Practitioner | Organization | Patient | RelatedPerson)The reference to the practitioner
.... role Σ0..1CodeableConceptThe role the actor was in
Procedure Performer Role Codes (Example)
... performed[x] Σ0..1Date/Period the procedure was performed
.... performedDateTimedateTime
.... performedPeriodPeriod
... encounter Σ0..1Reference(Encounter)The encounter when procedure performed
... location Σ0..1Reference(Location)Where the procedure happened
... outcome Σ0..1CodeableConceptWhat was result of procedure?
Procedure Outcome Codes (SNOMED CT) (Example)
... report 0..*Reference(DiagnosticReport)Any report that results from the procedure
... complication 0..*CodeableConceptComplication following the procedure
... followUp 0..*CodeableConceptInstructions for follow up
Procedure Follow up Codes (SNOMED CT) (Example)
... request 0..1Reference(CarePlan | DiagnosticOrder | ProcedureRequest | ReferralRequest)A request for this procedure
... notes 0..*AnnotationAdditional information about procedure
... focalDevice 0..*BackboneElementDevice changed in procedure
.... action 0..1CodeableConceptKind of change to device
Procedure Device Action Codes (Required)
.... manipulated 1..1Reference(Device)Device that was changed
... used 0..*Reference(Device | Medication | Substance)Items used during procedure

doco Documentation for this format

UML Diagram

Procedure (DomainResource)This records identifiers associated with this procedure that are defined by business processed and/ or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation)identifier : Identifier [0..*]The person on whom the procedure was performedsubject : Reference [1..1] « Patient|Group »A code specifying the state of the procedure record. Generally this will be in-progress or completed state (this element modifies the meaning of other elements)status : code [1..1] « A code specifying the state of the procedure record (Strength=Required)ProcedureStatus! »A code that classifies the procedure for searching, sorting and display purposes (e.g. "Surgical Procedure")category : CodeableConcept [0..1] « A code that classifies a procedure for searching, sorting and display purposes (Strength=Example)Procedure Category Codes (SNO...?? »The specific procedure that is performed. Use text if the exact nature of the procedure can't be coded (e.g. "Laparoscopic Appendectomy")code : CodeableConcept [1..1] « A code to identify a specific procedure (Strength=Example)Procedure Codes (SNOMED CT)?? »Set this to true if the record is saying that the procedure was NOT performed (this element modifies the meaning of other elements)notPerformed : boolean [0..1]A code indicating why the procedure was not performedreasonNotPerformed : CodeableConcept [0..*] « A code that explains a reason why a procedure was not performed (Strength=Example)Procedure Not Performed Reaso...?? »Detailed and structured anatomical location information. Multiple locations are allowed - e.g. multiple punch biopsies of a lesionbodySite : CodeableConcept [0..*] « Codes describing anatomical locations. May include laterality (Strength=Example)SNOMED CT Body Structures?? »The reason why the procedure was performed. This may be due to a Condition, may be coded entity of some type, or may simply be present as textreason[x] : Type [0..1] « CodeableConcept|Reference(Condition); A code that explains a reason why a procedure is required. (Strength=Example) Procedure Reason ?? »The date(time)/period over which the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be capturedperformed[x] : Type [0..1] « dateTime|Period »The encounter during which the procedure was performedencounter : Reference [0..1] « Encounter »The location where the procedure actually happened. e.g. a newborn at home, a tracheostomy at a restaurantlocation : Reference [0..1] « Location »What was the outcome of the procedure - did it resolve reasons why the procedure was performed?outcome : CodeableConcept [0..1] « An outcome of a procedure - whether it resolveed the reasons why the procedure was performed (Strength=Example)Procedure Outcome Codes (SNOM...?? »This could be a histology result. There could potentially be multiple reports - e.g. if this was a procedure that made multiple biopsiesreport : Reference [0..*] « DiagnosticReport »Any complications that occurred during the procedure, or in the immediate post-operative period. These are generally tracked separately from the notes, which typically will describe the procedure itself rather than any 'post procedure' issuescomplication : CodeableConcept [0..*]If the procedure required specific follow up - e.g. removal of sutures. The followup may be represented as a simple note, or potentially could be more complex in which case the CarePlan resource can be usedfollowUp : CodeableConcept [0..*] « Specific follow up required for a procedure e.g. removal of sutures (Strength=Example)Procedure Follow up Codes (SN...?? »A reference to a resource that contains about this procedure's requestrequest : Reference [0..1] « CarePlan|DiagnosticOrder| ProcedureRequest|ReferralRequest »Any other notes about the procedure - e.g. the operative notesnotes : Annotation [0..*]Identifies medications, devices and other substance used as part of the procedureused : Reference [0..*] « Device|Medication|Substance »PerformerThe practitioner who was involved in the procedureactor : Reference [0..1] « Practitioner|Organization|Patient| RelatedPerson »E.g. surgeon, anaethetist, endoscopistrole : CodeableConcept [0..1] « A code that identifies a role of a performer in a procedure process (Strength=Example)Procedure Performer Role ?? »FocalDeviceThe kind of change that happened to the device during the procedureaction : CodeableConcept [0..1] « A kind of change that happened to the device during the procedure (Strength=Required)Procedure Device Action ! »The device that was manipulated (changed) during the proceduremanipulated : Reference [1..1] « Device »Limited to 'real' people rather than equipmentperformer[0..*]A device that is implanted, removed or otherwise manipulated (calibration, battery replacement, fitting a prosthesis, attaching a wound-vac, etc.) as a focal portion of the ProcedurefocalDevice[0..*]

XML Template

<Procedure xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier External Ids for this procedure --></identifier>
 <subject><!-- 1..1 Reference(Patient|Group) Who procedure was performed on --></subject>
 <status value="[code]"/><!-- 1..1 in-progress | aborted | completed | entered-in-error -->
 <category><!-- 0..1 CodeableConcept Classification of the procedure --></category>
 <code><!-- 1..1 CodeableConcept Identification of the procedure --></code>
 <notPerformed value="[boolean]"/><!-- 0..1 True if procedure was not performed as scheduled -->
 <reasonNotPerformed><!-- ?? 0..* CodeableConcept Reason procedure not performed --></reasonNotPerformed>
 <bodySite><!-- 0..* CodeableConcept Target body sites --></bodySite>
 <reason[x]><!-- 0..1 CodeableConcept|Reference(Condition) Reason procedure performed --></reason[x]>
 <performer>  <!-- 0..* The people who performed the procedure -->
  <actor><!-- 0..1 Reference(Practitioner|Organization|Patient|RelatedPerson) The reference to the practitioner --></actor>
  <role><!-- 0..1 CodeableConcept The role the actor was in --></role>
 </performer>
 <performed[x]><!-- 0..1 dateTime|Period Date/Period the procedure was performed --></performed[x]>
 <encounter><!-- 0..1 Reference(Encounter) The encounter when procedure performed --></encounter>
 <location><!-- 0..1 Reference(Location) Where the procedure happened --></location>
 <outcome><!-- 0..1 CodeableConcept What was result of procedure? --></outcome>
 <report><!-- 0..* Reference(DiagnosticReport) Any report that results from the procedure --></report>
 <complication><!-- 0..* CodeableConcept Complication following the procedure --></complication>
 <followUp><!-- 0..* CodeableConcept Instructions for follow up --></followUp>
 <request><!-- 0..1 Reference(CarePlan|DiagnosticOrder|ProcedureRequest|
   ReferralRequest) A request for this procedure --></request>
 <notes><!-- 0..* Annotation Additional information about procedure --></notes>
 <focalDevice>  <!-- 0..* Device changed in procedure -->
  <action><!-- 0..1 CodeableConcept Kind of change to device --></action>
  <manipulated><!-- 1..1 Reference(Device) Device that was changed --></manipulated>
 </focalDevice>
 <used><!-- 0..* Reference(Device|Medication|Substance) Items used during procedure --></used>
</Procedure>

JSON Template

{doco
  "resourceType" : "Procedure",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // External Ids for this procedure
  "subject" : { Reference(Patient|Group) }, // R!  Who procedure was performed on
  "status" : "<code>", // R!  in-progress | aborted | completed | entered-in-error
  "category" : { CodeableConcept }, // Classification of the procedure
  "code" : { CodeableConcept }, // R!  Identification of the procedure
  "notPerformed" : <boolean>, // True if procedure was not performed as scheduled
  "reasonNotPerformed" : [{ CodeableConcept }], // C? Reason procedure not performed
  "bodySite" : [{ CodeableConcept }], // Target body sites
  // reason[x]: Reason procedure performed. One of these 2:
  "reasonCodeableConcept" : { CodeableConcept },
  "reasonReference" : { Reference(Condition) },
  "performer" : [{ // The people who performed the procedure
    "actor" : { Reference(Practitioner|Organization|Patient|RelatedPerson) }, // The reference to the practitioner
    "role" : { CodeableConcept } // The role the actor was in
  }],
  // performed[x]: Date/Period the procedure was performed. One of these 2:
  "performedDateTime" : "<dateTime>",
  "performedPeriod" : { Period },
  "encounter" : { Reference(Encounter) }, // The encounter when procedure performed
  "location" : { Reference(Location) }, // Where the procedure happened
  "outcome" : { CodeableConcept }, // What was result of procedure?
  "report" : [{ Reference(DiagnosticReport) }], // Any report that results from the procedure
  "complication" : [{ CodeableConcept }], // Complication following the procedure
  "followUp" : [{ CodeableConcept }], // Instructions for follow up
  "request" : { Reference(CarePlan|DiagnosticOrder|ProcedureRequest|
   ReferralRequest) }, // A request for this procedure
  "notes" : [{ Annotation }], // Additional information about procedure
  "focalDevice" : [{ // Device changed in procedure
    "action" : { CodeableConcept }, // Kind of change to device
    "manipulated" : { Reference(Device) } // R!  Device that was changed
  }],
  "used" : [{ Reference(Device|Medication|Substance) }] // Items used during procedure
}

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure DomainResourceAn action that was or is currently being performed on a patient
... identifier Σ0..*IdentifierExternal Ids for this procedure
... subject Σ1..1Reference(Patient | Group)Who procedure was performed on
... status ?! Σ1..1codein-progress | aborted | completed | entered-in-error
ProcedureStatus (Required)
... category Σ0..1CodeableConceptClassification of the procedure
Procedure Category Codes (SNOMED CT) (Example)
... code Σ1..1CodeableConceptIdentification of the procedure
Procedure Codes (SNOMED CT) (Example)
... notPerformed ?!0..1booleanTrue if procedure was not performed as scheduled
... reasonNotPerformed I0..*CodeableConceptReason procedure not performed
Procedure Not Performed Reason (SNOMED-CT) (Example)
Reason not performed is only permitted if notPerformed indicator is true
... bodySite Σ0..*CodeableConceptTarget body sites
SNOMED CT Body Structures (Example)
... reason[x] Σ0..1Reason procedure performed
Procedure Reason Codes (Example)
.... reasonCodeableConceptCodeableConcept
.... reasonReferenceReference(Condition)
... performer Σ0..*BackboneElementThe people who performed the procedure
.... actor Σ0..1Reference(Practitioner | Organization | Patient | RelatedPerson)The reference to the practitioner
.... role Σ0..1CodeableConceptThe role the actor was in
Procedure Performer Role Codes (Example)
... performed[x] Σ0..1Date/Period the procedure was performed
.... performedDateTimedateTime
.... performedPeriodPeriod
... encounter Σ0..1Reference(Encounter)The encounter when procedure performed
... location Σ0..1Reference(Location)Where the procedure happened
... outcome Σ0..1CodeableConceptWhat was result of procedure?
Procedure Outcome Codes (SNOMED CT) (Example)
... report 0..*Reference(DiagnosticReport)Any report that results from the procedure
... complication 0..*CodeableConceptComplication following the procedure
... followUp 0..*CodeableConceptInstructions for follow up
Procedure Follow up Codes (SNOMED CT) (Example)
... request 0..1Reference(CarePlan | DiagnosticOrder | ProcedureRequest | ReferralRequest)A request for this procedure
... notes 0..*AnnotationAdditional information about procedure
... focalDevice 0..*BackboneElementDevice changed in procedure
.... action 0..1CodeableConceptKind of change to device
Procedure Device Action Codes (Required)
.... manipulated 1..1Reference(Device)Device that was changed
... used 0..*Reference(Device | Medication | Substance)Items used during procedure

doco Documentation for this format

UML Diagram

Procedure (DomainResource)This records identifiers associated with this procedure that are defined by business processed and/ or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation)identifier : Identifier [0..*]The person on whom the procedure was performedsubject : Reference [1..1] « Patient|Group »A code specifying the state of the procedure record. Generally this will be in-progress or completed state (this element modifies the meaning of other elements)status : code [1..1] « A code specifying the state of the procedure record (Strength=Required)ProcedureStatus! »A code that classifies the procedure for searching, sorting and display purposes (e.g. "Surgical Procedure")category : CodeableConcept [0..1] « A code that classifies a procedure for searching, sorting and display purposes (Strength=Example)Procedure Category Codes (SNO...?? »The specific procedure that is performed. Use text if the exact nature of the procedure can't be coded (e.g. "Laparoscopic Appendectomy")code : CodeableConcept [1..1] « A code to identify a specific procedure (Strength=Example)Procedure Codes (SNOMED CT)?? »Set this to true if the record is saying that the procedure was NOT performed (this element modifies the meaning of other elements)notPerformed : boolean [0..1]A code indicating why the procedure was not performedreasonNotPerformed : CodeableConcept [0..*] « A code that explains a reason why a procedure was not performed (Strength=Example)Procedure Not Performed Reaso...?? »Detailed and structured anatomical location information. Multiple locations are allowed - e.g. multiple punch biopsies of a lesionbodySite : CodeableConcept [0..*] « Codes describing anatomical locations. May include laterality (Strength=Example)SNOMED CT Body Structures?? »The reason why the procedure was performed. This may be due to a Condition, may be coded entity of some type, or may simply be present as textreason[x] : Type [0..1] « CodeableConcept|Reference(Condition); A code that explains a reason why a procedure is required. (Strength=Example) Procedure Reason ?? »The date(time)/period over which the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be capturedperformed[x] : Type [0..1] « dateTime|Period »The encounter during which the procedure was performedencounter : Reference [0..1] « Encounter »The location where the procedure actually happened. e.g. a newborn at home, a tracheostomy at a restaurantlocation : Reference [0..1] « Location »What was the outcome of the procedure - did it resolve reasons why the procedure was performed?outcome : CodeableConcept [0..1] « An outcome of a procedure - whether it resolveed the reasons why the procedure was performed (Strength=Example)Procedure Outcome Codes (SNOM...?? »This could be a histology result. There could potentially be multiple reports - e.g. if this was a procedure that made multiple biopsiesreport : Reference [0..*] « DiagnosticReport »Any complications that occurred during the procedure, or in the immediate post-operative period. These are generally tracked separately from the notes, which typically will describe the procedure itself rather than any 'post procedure' issuescomplication : CodeableConcept [0..*]If the procedure required specific follow up - e.g. removal of sutures. The followup may be represented as a simple note, or potentially could be more complex in which case the CarePlan resource can be usedfollowUp : CodeableConcept [0..*] « Specific follow up required for a procedure e.g. removal of sutures (Strength=Example)Procedure Follow up Codes (SN...?? »A reference to a resource that contains about this procedure's requestrequest : Reference [0..1] « CarePlan|DiagnosticOrder| ProcedureRequest|ReferralRequest »Any other notes about the procedure - e.g. the operative notesnotes : Annotation [0..*]Identifies medications, devices and other substance used as part of the procedureused : Reference [0..*] « Device|Medication|Substance »PerformerThe practitioner who was involved in the procedureactor : Reference [0..1] « Practitioner|Organization|Patient| RelatedPerson »E.g. surgeon, anaethetist, endoscopistrole : CodeableConcept [0..1] « A code that identifies a role of a performer in a procedure process (Strength=Example)Procedure Performer Role ?? »FocalDeviceThe kind of change that happened to the device during the procedureaction : CodeableConcept [0..1] « A kind of change that happened to the device during the procedure (Strength=Required)Procedure Device Action ! »The device that was manipulated (changed) during the proceduremanipulated : Reference [1..1] « Device »Limited to 'real' people rather than equipmentperformer[0..*]A device that is implanted, removed or otherwise manipulated (calibration, battery replacement, fitting a prosthesis, attaching a wound-vac, etc.) as a focal portion of the ProcedurefocalDevice[0..*]

XML Template

<Procedure xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier External Ids for this procedure --></identifier>
 <subject><!-- 1..1 Reference(Patient|Group) Who procedure was performed on --></subject>
 <status value="[code]"/><!-- 1..1 in-progress | aborted | completed | entered-in-error -->
 <category><!-- 0..1 CodeableConcept Classification of the procedure --></category>
 <code><!-- 1..1 CodeableConcept Identification of the procedure --></code>
 <notPerformed value="[boolean]"/><!-- 0..1 True if procedure was not performed as scheduled -->
 <reasonNotPerformed><!-- ?? 0..* CodeableConcept Reason procedure not performed --></reasonNotPerformed>
 <bodySite><!-- 0..* CodeableConcept Target body sites --></bodySite>
 <reason[x]><!-- 0..1 CodeableConcept|Reference(Condition) Reason procedure performed --></reason[x]>
 <performer>  <!-- 0..* The people who performed the procedure -->
  <actor><!-- 0..1 Reference(Practitioner|Organization|Patient|RelatedPerson) The reference to the practitioner --></actor>
  <role><!-- 0..1 CodeableConcept The role the actor was in --></role>
 </performer>
 <performed[x]><!-- 0..1 dateTime|Period Date/Period the procedure was performed --></performed[x]>
 <encounter><!-- 0..1 Reference(Encounter) The encounter when procedure performed --></encounter>
 <location><!-- 0..1 Reference(Location) Where the procedure happened --></location>
 <outcome><!-- 0..1 CodeableConcept What was result of procedure? --></outcome>
 <report><!-- 0..* Reference(DiagnosticReport) Any report that results from the procedure --></report>
 <complication><!-- 0..* CodeableConcept Complication following the procedure --></complication>
 <followUp><!-- 0..* CodeableConcept Instructions for follow up --></followUp>
 <request><!-- 0..1 Reference(CarePlan|DiagnosticOrder|ProcedureRequest|
   ReferralRequest) A request for this procedure --></request>
 <notes><!-- 0..* Annotation Additional information about procedure --></notes>
 <focalDevice>  <!-- 0..* Device changed in procedure -->
  <action><!-- 0..1 CodeableConcept Kind of change to device --></action>
  <manipulated><!-- 1..1 Reference(Device) Device that was changed --></manipulated>
 </focalDevice>
 <used><!-- 0..* Reference(Device|Medication|Substance) Items used during procedure --></used>
</Procedure>

JSON Template

{doco
  "resourceType" : "Procedure",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // External Ids for this procedure
  "subject" : { Reference(Patient|Group) }, // R!  Who procedure was performed on
  "status" : "<code>", // R!  in-progress | aborted | completed | entered-in-error
  "category" : { CodeableConcept }, // Classification of the procedure
  "code" : { CodeableConcept }, // R!  Identification of the procedure
  "notPerformed" : <boolean>, // True if procedure was not performed as scheduled
  "reasonNotPerformed" : [{ CodeableConcept }], // C? Reason procedure not performed
  "bodySite" : [{ CodeableConcept }], // Target body sites
  // reason[x]: Reason procedure performed. One of these 2:
  "reasonCodeableConcept" : { CodeableConcept },
  "reasonReference" : { Reference(Condition) },
  "performer" : [{ // The people who performed the procedure
    "actor" : { Reference(Practitioner|Organization|Patient|RelatedPerson) }, // The reference to the practitioner
    "role" : { CodeableConcept } // The role the actor was in
  }],
  // performed[x]: Date/Period the procedure was performed. One of these 2:
  "performedDateTime" : "<dateTime>",
  "performedPeriod" : { Period },
  "encounter" : { Reference(Encounter) }, // The encounter when procedure performed
  "location" : { Reference(Location) }, // Where the procedure happened
  "outcome" : { CodeableConcept }, // What was result of procedure?
  "report" : [{ Reference(DiagnosticReport) }], // Any report that results from the procedure
  "complication" : [{ CodeableConcept }], // Complication following the procedure
  "followUp" : [{ CodeableConcept }], // Instructions for follow up
  "request" : { Reference(CarePlan|DiagnosticOrder|ProcedureRequest|
   ReferralRequest) }, // A request for this procedure
  "notes" : [{ Annotation }], // Additional information about procedure
  "focalDevice" : [{ // Device changed in procedure
    "action" : { CodeableConcept }, // Kind of change to device
    "manipulated" : { Reference(Device) } // R!  Device that was changed
  }],
  "used" : [{ Reference(Device|Medication|Substance) }] // Items used during procedure
}

 

Alternate definitions: Schema/Schematron, Resource Profile (XML, JSON), Questionnaire

4.8.3.1 Terminology Bindings

PathDefinitionTypeReference
Procedure.status A code specifying the state of the procedure recordRequiredProcedureStatus
Procedure.category A code that classifies a procedure for searching, sorting and display purposesExampleProcedure Category Codes (SNOMED CT)
Procedure.code A code to identify a specific procedureExampleProcedure Codes (SNOMED CT)
Procedure.reasonNotPerformed A code that explains a reason why a procedure was not performedExampleProcedure Not Performed Reason (SNOMED-CT)
Procedure.bodySite Codes describing anatomical locations. May include lateralityExampleSNOMED CT Body Structures
Procedure.reason[x] A code that explains a reason why a procedure is required.ExampleProcedure Reason Codes
Procedure.performer.role A code that identifies a role of a performer in a procedure processExampleProcedure Performer Role Codes
Procedure.outcome An outcome of a procedure - whether it resolveed the reasons why the procedure was performedExampleProcedure Outcome Codes (SNOMED CT)
Procedure.followUp Specific follow up required for a procedure e.g. removal of suturesExampleProcedure Follow up Codes (SNOMED CT)
Procedure.focalDevice.action A kind of change that happened to the device during the procedureRequiredProcedure Device Action Codes

4.8.3.2 Constraints

  • pro-1: On Procedure.reasonNotPerformed: Reason not performed is only permitted if notPerformed indicator is true (xpath on f:Procedure/f:reasonNotPerformed: not(exists(f:reasonNotPerformed) and f:notPerformed/@value='false'))

4.8.3.3 Use of Procedure properties

Many of the elements of Procedure have inherent relationships and may actually all be conveyed by the Procedure.code or in the text element of the Procedure.code property. I.e. You may be able to infer category, bodySite and even indication. Whether these other properties will be populated may vary by implementation.

Care should be taken to avoid non-sensical combinations/statements. E.g. "name=amputation, bodySite=heart"

4.8.3.4 Use of Procedure.used

For devices, these are devices that are incidental to / or used to perform the procedure - scalpels, gauze, endoscopes, etc. Devices that are the focus of the procedure should appear in Procedure.device instead.

4.8.4 Search Parameters

Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

NameTypeDescriptionPaths
codetokenA code to identify a procedureProcedure.code
datedateDate/Period the procedure was performedProcedure.performed[x]
encounterreferenceThe encounter when procedure performedProcedure.encounter
(Encounter)
identifiertokenA unique identifier for a procedureProcedure.identifier
locationreferenceWhere the procedure happenedProcedure.location
(Location)
patientreferenceSearch by subject - a patientProcedure.subject
(Patient)
performerreferenceThe reference to the practitionerProcedure.performer.actor
(Patient, Organization, Practitioner, RelatedPerson)
subjectreferenceSearch by subjectProcedure.subject
(Patient, Group)