DSTU2 FHIR Release 3 (STU)

This page is part of the FHIR Specification (v1.0.2: DSTU (v3.0.2: STU 2). 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 R3 R2

4.8 9.3 Resource Procedure - Content

Patient Care Work Group Maturity Level : 1 3   Trial Use Compartments : Encounter , Patient , Practitioner , RelatedPerson

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

Procedure is one of the event resources in the FHIR workflow specification.

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, counseling, 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 progress. 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.

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 counseling (and thus a procedure) Procedure (training or counseling) 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 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. anesthetic, incision, scope size, etc.)

This resource is referenced by AdverseEvent , Appointment , ChargeItem , Claim , ClinicalImpression , Encounter and , ExplanationOfBenefit , Flag , ImagingStudy , MedicationAdministration , MedicationDispense , MedicationStatement and QuestionnaireResponse

Structure

1..1 Who the procedure was performed on ?! 1..1 0..1 Classification Identification of the procedure 0..* 0..* Target body sites CodeableConcept 0..1 Σ The role performedDateTime 0..1 The encounter associated with 0..1 Instructions for follow up
Name Flags Card. Type Description & Constraints doco
. . Procedure I DomainResource An action that is being or was performed on a patient
+ Reason not performed done is only permitted if notPerformed notDone indicator is true
Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension
. . . identifier Σ 0..* Identifier External Identifiers for this procedure
. . subject . definition Σ 0..* Reference ( Patient PlanDefinition | Group ActivityDefinition | HealthcareService ) Instantiates protocol or definition
. . status . basedOn Σ 0..* code Reference ( CarePlan in-progress | aborted | completed | entered-in-error ProcedureStatus ProcedureRequest ( Required | ReferralRequest ) A request for this procedure
. . category . partOf Σ 0..* CodeableConcept Reference ( Procedure | Observation | MedicationAdministration ) Part of the procedure referenced event
Procedure Category Codes (SNOMED CT) ( Example )
. . code . status ?! Σ 1..1 CodeableConcept code preparation | in-progress | suspended | aborted | completed | entered-in-error | unknown
Procedure Codes (SNOMED CT) EventStatus ( Example Required )
. . notPerformed . notDone ?! Σ 0..1 boolean True if procedure was not performed as scheduled
. . reasonNotPerformed . notDoneReason Σ I 0..1 CodeableConcept Reason procedure was not performed
Procedure Not Performed Reason (SNOMED-CT) ( Example )
. . bodySite . category Σ 0..1 CodeableConcept Classification of the procedure
SNOMED CT Body Structures Procedure Category Codes (SNOMED CT) ( Example )
. . reason[x] . code Σ 0..1 Reason CodeableConcept Identification of the procedure performed
Procedure Reason Codes (SNOMED CT) ( Example )
. . . subject reasonCodeableConcept Σ 1..1 Reference ( Patient | Group ) Who the procedure was performed on
. . . context reasonReference Σ 0..1 Reference ( Condition Encounter | EpisodeOfCare ) Encounter or episode associated with the procedure
. . . performed[x] Σ 0..1 Date/Period the procedure was performed
.... performedDateTime dateTime
.... performedPeriod Period
... performer Σ 0..* BackboneElement The people who performed the procedure
. . . . role Σ 0..1 CodeableConcept The role the actor was in
Procedure Performer Role Codes ( Example )
.... actor Σ 1..1 Reference ( Practitioner | Organization | Patient | RelatedPerson | Device ) The reference to the practitioner
. . . role . onBehalfOf 0..1 CodeableConcept Reference ( Organization ) Organization the actor device or practitioner was in Procedure Performer Role Codes ( Example ) acting for
. . performed[x] . location Σ 0..1 Date/Period Reference ( Location ) Where the procedure was performed happened
. . . reasonCode dateTime Σ 0..* performedPeriod CodeableConcept Coded reason procedure performed
Period Procedure Reason Codes ( Example )
. . encounter . reasonReference Σ 0..* Reference ( Encounter Condition | Observation ) Condition that is the reason the procedure performed
. . location . bodySite Σ 0..* Reference CodeableConcept Target body sites
SNOMED CT Body Structures ( Location Example )
Where the procedure happened
. . . outcome Σ 0..1 CodeableConcept The result of procedure
Procedure Outcome Codes (SNOMED CT) ( Example )
. . . report 0..* Reference ( DiagnosticReport ) Any report resulting from the procedure
. . . complication 0..* CodeableConcept Complication following the procedure
Condition/Problem/Diagnosis Codes ( Example )
. . followUp . complicationDetail 0..* CodeableConcept Reference ( Condition ) A condition that is a result of the procedure
Procedure Follow up Codes (SNOMED CT) ( Example )
. . request . followUp 0..1 0..* Reference ( CarePlan | DiagnosticOrder CodeableConcept | ProcedureRequest Instructions for follow up
Procedure Follow up Codes (SNOMED CT) | ReferralRequest ( Example )
A request for this procedure
. . notes . note 0..* Annotation Additional information about the procedure
. . . focalDevice 0..* BackboneElement Device changed in procedure
. . . . action 0..1 CodeableConcept Kind of change to device
Procedure Device Action Codes ( Required Preferred )
. . . . manipulated 1..1 Reference ( Device ) Device that was changed
. . used . usedReference 0..* Reference ( Device | Medication | Substance ) Items used during procedure
. . . usedCode 0..* CodeableConcept Coded items used during the procedure
FHIR Device Types ( Example )

doco Documentation for this format

UML Diagram ( Legend )

Procedure ( DomainResource ) This records identifiers associated with this procedure that are defined by business processes 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, animal A protocol, guideline, orderset or group on which other definition that was adhered to in whole or in part by this procedure definition : Reference [0..*] PlanDefinition | ActivityDefinition | HealthcareService A reference to a resource that contains details of the request for this procedure was performed subject basedOn : Reference [1..1] « Patient [0..*] CarePlan | Group ProcedureRequest » | ReferralRequest A larger event of which this particular procedure is a component or step partOf : Reference [0..*] Procedure | Observation | MedicationAdministration A code specifying the state of the procedure. 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. (Strength=Required) ProcedureStatus EventStatus ! » Set this to true if the record is saying that the procedure was NOT performed (this element modifies the meaning of other elements) notDone : boolean [0..1] A code indicating why the procedure was not performed notDoneReason : CodeableConcept [0..1] A code that identifies the reason a procedure was not performed. (Strength=Example) Procedure Not Performed Reaso... ?? 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 cannot be coded (e.g. "Laparoscopic Appendectomy") code : CodeableConcept [1..1] « [0..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 person, animal or group on which the procedure was NOT performed (this element modifies the meaning of other elements) notPerformed subject : boolean Reference [1..1] Patient | Group [0..1] A code indicating why The encounter during which the procedure was not performed reasonNotPerformed context : CodeableConcept Reference [0..*] « [0..1] Encounter | EpisodeOfCare A code that identifies The date(time)/period over which the reason a procedure was not performed. (Strength=Example) Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured Procedure Not performed[x] Performed Reaso... : Type [0..1] dateTime | Period ?? » Detailed and structured anatomical The location information. Multiple locations are allowed - e.g. multiple punch biopsies of where the procedure actually happened. E.g. a lesion newborn at home, a tracheostomy at a restaurant bodySite location : CodeableConcept Reference [0..*] « Codes describing anatomical locations. May include laterality. (Strength=Example) SNOMED CT Body Structures [0..1] Location ?? » The coded 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 text reason[x] reasonCode : Type [0..1] « CodeableConcept | Reference ( Condition ); [0..*] A code that identifies the reason 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 condition that span more than one date, and also allows for the length of is the procedure to be captured performed[x] : Type [0..1] « dateTime | Period » The encounter during which reason why the procedure was performed encounter reasonReference : Reference [0..1] « Encounter [0..*] Condition | Observation » The Detailed and structured anatomical location where the procedure actually happened. E.g. a newborn at home, a tracheostomy at information. Multiple locations are allowed - e.g. multiple punch biopsies of a restaurant lesion location bodySite : Reference CodeableConcept [0..1] « Location [0..*] Codes describing anatomical locations. May include laterality. (Strength=Example) SNOMED CT Body Structures » ?? The outcome of the procedure - did it resolve reasons for the procedure being performed? outcome : CodeableConcept [0..1] « An outcome of a procedure - whether it was resolved or otherwise. (Strength=Example) Procedure Outcome Codes (SNOM... ?? » This could be a histology result, pathology report, surgical report, etc. report : Reference [0..*] « DiagnosticReport » Any complications that occurred during the procedure, or in the immediate post-performance period. These are generally tracked separately from the notes, which will typically describe the procedure itself rather than any 'post procedure' issues complication : CodeableConcept [0..*] « Codes describing complications that resulted from a procedure. (Strength=Example) Condition/Problem/Diagnosis ?? » Any complications that occurred during the procedure, or in the immediate post-performance period complicationDetail : Reference [0..*] Condition If the procedure required specific follow up - e.g. removal of sutures. The followup may be represented as a simple note, or could potentially be more complex in which case the CarePlan resource can be used followUp : 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 details of the request for this procedure request : Reference [0..1] « CarePlan | DiagnosticOrder | ProcedureRequest | ReferralRequest » Any other notes about the procedure. E.g. the operative notes notes note : Annotation [0..*] Identifies medications, devices and any other substance used as part of the procedure used usedReference : Reference [0..*] « Device | Medication | Substance » Identifies coded items that were used as part of the procedure usedCode : CodeableConcept [0..*] Codes describing items used during a procedure (Strength=Example) FHIR Device Types ?? Performer For example: surgeon, anaethetist, endoscopist role : CodeableConcept [0..1] A code that identifies the role of a performer of the procedure. (Strength=Example) Procedure Performer Role ?? The practitioner who was involved in the procedure actor : Reference [0..1] « [1..1] Practitioner | Organization | Patient | RelatedPerson » | Device For example: surgeon, anaethetist, endoscopist The organization the device or practitioner was acting on behalf of role onBehalfOf : CodeableConcept Reference [0..1] « A code that identifies the role of a performer of the procedure. (Strength=Example) Procedure Performer Role Organization ?? » FocalDevice The kind of change that happened to the device during the procedure action : CodeableConcept [0..1] « A kind of change that happened to the device during the procedure. (Strength=Required) (Strength=Preferred) Procedure Device Action ! » ? The device that was manipulated (changed) during the procedure manipulated : Reference [1..1] « Device » Limited to 'real' people rather than equipment performer [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 Procedure focalDevice [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>
 <</subject>
 <
 <</category>
 <</code>
 <
 <</reasonNotPerformed>
 <</bodySite>
 <</reason[x]>
 <
  <</actor>
  <</role>

 <identifier><!-- 0..* Identifier External Identifiers for this procedure --></identifier>
 <definition><!-- 0..* Reference(PlanDefinition|ActivityDefinition|
   HealthcareService) Instantiates protocol or definition --></definition>

 <basedOn><!-- 0..* Reference(CarePlan|ProcedureRequest|ReferralRequest) A request for this procedure --></basedOn>
 <partOf><!-- 0..* Reference(Procedure|Observation|MedicationAdministration) Part of referenced event --></partOf>
 <status value="[code]"/><!-- 1..1 preparation | in-progress | suspended | aborted | completed | entered-in-error | unknown -->
 <notDone value="[boolean]"/><!-- 0..1 True if procedure was not performed as scheduled -->
 <notDoneReason><!-- ?? 0..1 CodeableConcept Reason procedure was not performed --></notDoneReason>
 <category><!-- 0..1 CodeableConcept Classification of the procedure --></category>
 <code><!-- 0..1 CodeableConcept Identification of the procedure --></code>
 <subject><!-- 1..1 Reference(Patient|Group) Who the procedure was performed on --></subject>
 <context><!-- 0..1 Reference(Encounter|EpisodeOfCare) Encounter or episode associated with the procedure --></context>
 <performed[x]><!-- 0..1 dateTime|Period Date/Period the procedure was performed --></performed[x]>
 <performer>  <!-- 0..* The people who performed the procedure -->
  <role><!-- 0..1 CodeableConcept The role the actor was in --></role>
  <actor><!-- 1..1 Reference(Practitioner|Organization|Patient|RelatedPerson|
    Device) The reference to the practitioner --></actor>

  <onBehalfOf><!-- 0..1 Reference(Organization) Organization the device or practitioner was acting for --></onBehalfOf>

 </performer>
 <</performed[x]>
 <</encounter>
 <</location>
 <</outcome>
 <</report>
 <</complication>
 <</followUp>
 <|
   </request>
 <</notes>
 <
  <</action>
  <</manipulated>

 <location><!-- 0..1 Reference(Location) Where the procedure happened --></location>
 <reasonCode><!-- 0..* CodeableConcept Coded reason procedure performed --></reasonCode>
 <reasonReference><!-- 0..* Reference(Condition|Observation) Condition that is the reason the procedure performed --></reasonReference>
 <bodySite><!-- 0..* CodeableConcept Target body sites --></bodySite>
 <outcome><!-- 0..1 CodeableConcept The result of procedure --></outcome>
 <report><!-- 0..* Reference(DiagnosticReport) Any report resulting from the procedure --></report>
 <complication><!-- 0..* CodeableConcept Complication following the procedure --></complication>
 <complicationDetail><!-- 0..* Reference(Condition) A condition that is a result of the procedure --></complicationDetail>
 <followUp><!-- 0..* CodeableConcept Instructions for follow up --></followUp>
 <note><!-- 0..* Annotation Additional information about the procedure --></note>
 <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>

 <usedReference><!-- 0..* Reference(Device|Medication|Substance) Items used during procedure --></usedReference>
 <usedCode><!-- 0..* CodeableConcept Coded items used during the procedure --></usedCode>

</Procedure>

JSON Template

{
  "resourceType" : "",

{doco
  "resourceType" : "Procedure",

  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "
  "
  "
  "
  "
  "
  "
  "
  
  " },
  " },
  "
    "
    "
  }],

  "identifier" : [{ Identifier }], // External Identifiers for this procedure
  "definition" : [{ Reference(PlanDefinition|ActivityDefinition|
   HealthcareService) }], // Instantiates protocol or definition

  "basedOn" : [{ Reference(CarePlan|ProcedureRequest|ReferralRequest) }], // A request for this procedure
  "partOf" : [{ Reference(Procedure|Observation|MedicationAdministration) }], // Part of referenced event
  "status" : "<code>", // R!  preparation | in-progress | suspended | aborted | completed | entered-in-error | unknown
  "notDone" : <boolean>, // True if procedure was not performed as scheduled
  "notDoneReason" : { CodeableConcept }, // C? Reason procedure was not performed
  "category" : { CodeableConcept }, // Classification of the procedure
  "code" : { CodeableConcept }, // Identification of the procedure
  "subject" : { Reference(Patient|Group) }, // R!  Who the procedure was performed on
  "context" : { Reference(Encounter|EpisodeOfCare) }, // Encounter or episode associated with the procedure

  // performed[x]: Date/Period the procedure was performed. One of these 2:
  ">",
  " },
  "
  "
  "
  "
  "
  "
  "|
   
  "
  "
    "
    "

  "performedDateTime" : "<dateTime>",
  "performedPeriod" : { Period },
  "performer" : [{ // The people who performed the procedure
    "role" : { CodeableConcept }, // The role the actor was in
    "actor" : { Reference(Practitioner|Organization|Patient|RelatedPerson|
    Device) }, // R!  The reference to the practitioner

    "onBehalfOf" : { Reference(Organization) } // Organization the device or practitioner was acting for

  }],
  "

  "location" : { Reference(Location) }, // Where the procedure happened
  "reasonCode" : [{ CodeableConcept }], // Coded reason procedure performed
  "reasonReference" : [{ Reference(Condition|Observation) }], // Condition that is the reason the procedure performed
  "bodySite" : [{ CodeableConcept }], // Target body sites
  "outcome" : { CodeableConcept }, // The result of procedure
  "report" : [{ Reference(DiagnosticReport) }], // Any report resulting from the procedure
  "complication" : [{ CodeableConcept }], // Complication following the procedure
  "complicationDetail" : [{ Reference(Condition) }], // A condition that is a result of the procedure
  "followUp" : [{ CodeableConcept }], // Instructions for follow up
  "note" : [{ Annotation }], // Additional information about the procedure
  "focalDevice" : [{ // Device changed in procedure
    "action" : { CodeableConcept }, // Kind of change to device
    "manipulated" : { Reference(Device) } // R!  Device that was changed
  }],
  "usedReference" : [{ Reference(Device|Medication|Substance) }], // Items used during procedure
  "usedCode" : [{ CodeableConcept }] // Coded items used during the procedure

}

Turtle Template


@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:Procedure;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:Procedure.identifier [ Identifier ], ... ; # 0..* External Identifiers for this procedure
  fhir:Procedure.definition [ Reference(PlanDefinition|ActivityDefinition|HealthcareService) ], ... ; # 0..* Instantiates protocol or definition
  fhir:Procedure.basedOn [ Reference(CarePlan|ProcedureRequest|ReferralRequest) ], ... ; # 0..* A request for this procedure
  fhir:Procedure.partOf [ Reference(Procedure|Observation|MedicationAdministration) ], ... ; # 0..* Part of referenced event
  fhir:Procedure.status [ code ]; # 1..1 preparation | in-progress | suspended | aborted | completed | entered-in-error | unknown
  fhir:Procedure.notDone [ boolean ]; # 0..1 True if procedure was not performed as scheduled
  fhir:Procedure.notDoneReason [ CodeableConcept ]; # 0..1 Reason procedure was not performed
  fhir:Procedure.category [ CodeableConcept ]; # 0..1 Classification of the procedure
  fhir:Procedure.code [ CodeableConcept ]; # 0..1 Identification of the procedure
  fhir:Procedure.subject [ Reference(Patient|Group) ]; # 1..1 Who the procedure was performed on
  fhir:Procedure.context [ Reference(Encounter|EpisodeOfCare) ]; # 0..1 Encounter or episode associated with the procedure
  # Procedure.performed[x] : 0..1 Date/Period the procedure was performed. One of these 2
    fhir:Procedure.performedDateTime [ dateTime ]
    fhir:Procedure.performedPeriod [ Period ]
  fhir:Procedure.performer [ # 0..* The people who performed the procedure
    fhir:Procedure.performer.role [ CodeableConcept ]; # 0..1 The role the actor was in
    fhir:Procedure.performer.actor [ Reference(Practitioner|Organization|Patient|RelatedPerson|Device) ]; # 1..1 The reference to the practitioner
    fhir:Procedure.performer.onBehalfOf [ Reference(Organization) ]; # 0..1 Organization the device or practitioner was acting for
  ], ...;
  fhir:Procedure.location [ Reference(Location) ]; # 0..1 Where the procedure happened
  fhir:Procedure.reasonCode [ CodeableConcept ], ... ; # 0..* Coded reason procedure performed
  fhir:Procedure.reasonReference [ Reference(Condition|Observation) ], ... ; # 0..* Condition that is the reason the procedure performed
  fhir:Procedure.bodySite [ CodeableConcept ], ... ; # 0..* Target body sites
  fhir:Procedure.outcome [ CodeableConcept ]; # 0..1 The result of procedure
  fhir:Procedure.report [ Reference(DiagnosticReport) ], ... ; # 0..* Any report resulting from the procedure
  fhir:Procedure.complication [ CodeableConcept ], ... ; # 0..* Complication following the procedure
  fhir:Procedure.complicationDetail [ Reference(Condition) ], ... ; # 0..* A condition that is a result of the procedure
  fhir:Procedure.followUp [ CodeableConcept ], ... ; # 0..* Instructions for follow up
  fhir:Procedure.note [ Annotation ], ... ; # 0..* Additional information about the procedure
  fhir:Procedure.focalDevice [ # 0..* Device changed in procedure
    fhir:Procedure.focalDevice.action [ CodeableConcept ]; # 0..1 Kind of change to device
    fhir:Procedure.focalDevice.manipulated [ Reference(Device) ]; # 1..1 Device that was changed
  ], ...;
  fhir:Procedure.usedReference [ Reference(Device|Medication|Substance) ], ... ; # 0..* Items used during procedure
  fhir:Procedure.usedCode [ CodeableConcept ], ... ; # 0..* Coded items used during the procedure
]

Changes since DSTU2

Procedure
Procedure.definition
  • Added Element
Procedure.basedOn
  • Renamed from request to basedOn
  • Max Cardinality changed from 1 to *
  • Remove Reference(DiagnosticOrder)
Procedure.partOf
  • Added Element
Procedure.status
  • Change value set from http://hl7.org/fhir/ValueSet/procedure-status to http://hl7.org/fhir/ValueSet/event-status
Procedure.notDone
  • Renamed from notPerformed to notDone
Procedure.notDoneReason
  • Renamed from reasonNotPerformed to notDoneReason
  • Max Cardinality changed from * to 1
Procedure.code
  • Min Cardinality changed from 1 to 0
Procedure.context
  • Renamed from encounter to context
  • Add Reference(EpisodeOfCare)
Procedure.performer.actor
  • Min Cardinality changed from 0 to 1
  • Add Reference(Device)
Procedure.performer.onBehalfOf
  • Added Element
Procedure.reasonCode
  • Added Element
Procedure.reasonReference
  • Added Element
Procedure.complicationDetail
  • Added Element
Procedure.note
  • Renamed from notes to note
Procedure.focalDevice.action
  • Remove Binding http://hl7.org/fhir/ValueSet/device-action (required)
Procedure.usedReference
  • Renamed from used to usedReference
Procedure.usedCode
  • Added Element
Procedure.reason[x]
  • deleted

See the Full Difference for further information

This analysis is available as XML or JSON .

See R2 <--> R3 Conversion Maps (status = 9 tests that all execute ok. All tests pass round-trip testing and all r3 resources are valid.).

Structure

1..1 Who the procedure was performed on ?! 1..1 0..1 Classification Identification of the procedure 0..* 0..* Target body sites CodeableConcept 0..1 Σ The role performedDateTime 0..1 The encounter associated with 0..1 Instructions for follow up
Name Flags Card. Type Description & Constraints doco
. . Procedure I DomainResource An action that is being or was performed on a patient
+ Reason not performed done is only permitted if notPerformed notDone indicator is true
Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension
. . . identifier Σ 0..* Identifier External Identifiers for this procedure
. . subject . definition Σ 0..* Reference ( Patient PlanDefinition | Group ActivityDefinition | HealthcareService ) Instantiates protocol or definition
. . status . basedOn Σ 0..* code Reference ( CarePlan in-progress | aborted | completed | entered-in-error ProcedureStatus ProcedureRequest ( Required | ReferralRequest ) A request for this procedure
. . category . partOf Σ 0..* CodeableConcept Reference ( Procedure | Observation | MedicationAdministration ) Part of the procedure referenced event
Procedure Category Codes (SNOMED CT) ( Example )
. . code . status ?! Σ 1..1 CodeableConcept code preparation | in-progress | suspended | aborted | completed | entered-in-error | unknown
Procedure Codes (SNOMED CT) EventStatus ( Example Required )
. . notPerformed . notDone ?! Σ 0..1 boolean True if procedure was not performed as scheduled
. . reasonNotPerformed . notDoneReason Σ I 0..1 CodeableConcept Reason procedure was not performed
Procedure Not Performed Reason (SNOMED-CT) ( Example )
. . bodySite . category Σ 0..1 CodeableConcept Classification of the procedure
SNOMED CT Body Structures Procedure Category Codes (SNOMED CT) ( Example )
. . reason[x] . code Σ 0..1 Reason CodeableConcept Identification of the procedure performed
Procedure Reason Codes (SNOMED CT) ( Example )
. . . subject reasonCodeableConcept Σ 1..1 Reference ( Patient | Group ) Who the procedure was performed on
. . . context reasonReference Σ 0..1 Reference ( Condition Encounter | EpisodeOfCare ) Encounter or episode associated with the procedure
. . . performed[x] Σ 0..1 Date/Period the procedure was performed
.... performedDateTime dateTime
.... performedPeriod Period
... performer Σ 0..* BackboneElement The people who performed the procedure
. . . . role Σ 0..1 CodeableConcept The role the actor was in
Procedure Performer Role Codes ( Example )
.... actor Σ 1..1 Reference ( Practitioner | Organization | Patient | RelatedPerson | Device ) The reference to the practitioner
. . . role . onBehalfOf 0..1 CodeableConcept Reference ( Organization ) Organization the actor device or practitioner was in Procedure Performer Role Codes ( Example ) acting for
. . performed[x] . location Σ 0..1 Date/Period Reference ( Location ) Where the procedure was performed happened
. . . reasonCode dateTime Σ 0..* performedPeriod CodeableConcept Coded reason procedure performed
Period Procedure Reason Codes ( Example )
. . encounter . reasonReference Σ 0..* Reference ( Encounter Condition | Observation ) Condition that is the reason the procedure performed
. . location . bodySite Σ 0..* Reference CodeableConcept Target body sites
SNOMED CT Body Structures ( Location Example )
Where the procedure happened
. . . outcome Σ 0..1 CodeableConcept The result of procedure
Procedure Outcome Codes (SNOMED CT) ( Example )
. . . report 0..* Reference ( DiagnosticReport ) Any report resulting from the procedure
. . . complication 0..* CodeableConcept Complication following the procedure
Condition/Problem/Diagnosis Codes ( Example )
. . followUp . complicationDetail 0..* CodeableConcept Reference ( Condition ) A condition that is a result of the procedure
Procedure Follow up Codes (SNOMED CT) ( Example )
. . request . followUp 0..1 0..* Reference ( CarePlan | DiagnosticOrder CodeableConcept | ProcedureRequest Instructions for follow up
Procedure Follow up Codes (SNOMED CT) | ReferralRequest ( Example )
A request for this procedure
. . notes . note 0..* Annotation Additional information about the procedure
. . . focalDevice 0..* BackboneElement Device changed in procedure
. . . . action 0..1 CodeableConcept Kind of change to device
Procedure Device Action Codes ( Required Preferred )
. . . . manipulated 1..1 Reference ( Device ) Device that was changed
. . used . usedReference 0..* Reference ( Device | Medication | Substance ) Items used during procedure
. . . usedCode 0..* CodeableConcept Coded items used during the procedure
FHIR Device Types ( Example )

doco Documentation for this format

UML Diagram ( Legend )

Procedure ( DomainResource ) This records identifiers associated with this procedure that are defined by business processes 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, animal A protocol, guideline, orderset or group on which other definition that was adhered to in whole or in part by this procedure definition : Reference [0..*] PlanDefinition | ActivityDefinition | HealthcareService A reference to a resource that contains details of the request for this procedure was performed subject basedOn : Reference [1..1] « Patient [0..*] CarePlan | Group ProcedureRequest » | ReferralRequest A larger event of which this particular procedure is a component or step partOf : Reference [0..*] Procedure | Observation | MedicationAdministration A code specifying the state of the procedure. 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. (Strength=Required) ProcedureStatus EventStatus ! » Set this to true if the record is saying that the procedure was NOT performed (this element modifies the meaning of other elements) notDone : boolean [0..1] A code indicating why the procedure was not performed notDoneReason : CodeableConcept [0..1] A code that identifies the reason a procedure was not performed. (Strength=Example) Procedure Not Performed Reaso... ?? 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 cannot be coded (e.g. "Laparoscopic Appendectomy") code : CodeableConcept [1..1] « [0..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 person, animal or group on which the procedure was NOT performed (this element modifies the meaning of other elements) notPerformed subject : boolean Reference [1..1] Patient | Group [0..1] A code indicating why The encounter during which the procedure was not performed reasonNotPerformed context : CodeableConcept Reference [0..*] « [0..1] Encounter | EpisodeOfCare A code that identifies The date(time)/period over which the reason a procedure was not performed. (Strength=Example) Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured Procedure Not performed[x] Performed Reaso... : Type [0..1] dateTime | Period ?? » Detailed and structured anatomical The location information. Multiple locations are allowed - e.g. multiple punch biopsies of where the procedure actually happened. E.g. a lesion newborn at home, a tracheostomy at a restaurant bodySite location : CodeableConcept Reference [0..*] « Codes describing anatomical locations. May include laterality. (Strength=Example) SNOMED CT Body Structures [0..1] Location ?? » The coded 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 text reason[x] reasonCode : Type [0..1] « CodeableConcept | Reference ( Condition ); [0..*] A code that identifies the reason 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 condition that span more than one date, and also allows for the length of is the procedure to be captured performed[x] : Type [0..1] « dateTime | Period » The encounter during which reason why the procedure was performed encounter reasonReference : Reference [0..1] « Encounter [0..*] Condition | Observation » The Detailed and structured anatomical location where the procedure actually happened. E.g. a newborn at home, a tracheostomy at information. Multiple locations are allowed - e.g. multiple punch biopsies of a restaurant lesion location bodySite : Reference CodeableConcept [0..1] « Location [0..*] Codes describing anatomical locations. May include laterality. (Strength=Example) SNOMED CT Body Structures » ?? The outcome of the procedure - did it resolve reasons for the procedure being performed? outcome : CodeableConcept [0..1] « An outcome of a procedure - whether it was resolved or otherwise. (Strength=Example) Procedure Outcome Codes (SNOM... ?? » This could be a histology result, pathology report, surgical report, etc. report : Reference [0..*] « DiagnosticReport » Any complications that occurred during the procedure, or in the immediate post-performance period. These are generally tracked separately from the notes, which will typically describe the procedure itself rather than any 'post procedure' issues complication : CodeableConcept [0..*] « Codes describing complications that resulted from a procedure. (Strength=Example) Condition/Problem/Diagnosis ?? » Any complications that occurred during the procedure, or in the immediate post-performance period complicationDetail : Reference [0..*] Condition If the procedure required specific follow up - e.g. removal of sutures. The followup may be represented as a simple note, or could potentially be more complex in which case the CarePlan resource can be used followUp : 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 details of the request for this procedure request : Reference [0..1] « CarePlan | DiagnosticOrder | ProcedureRequest | ReferralRequest » Any other notes about the procedure. E.g. the operative notes notes note : Annotation [0..*] Identifies medications, devices and any other substance used as part of the procedure used usedReference : Reference [0..*] « Device | Medication | Substance » Identifies coded items that were used as part of the procedure usedCode : CodeableConcept [0..*] Codes describing items used during a procedure (Strength=Example) FHIR Device Types ?? Performer For example: surgeon, anaethetist, endoscopist role : CodeableConcept [0..1] A code that identifies the role of a performer of the procedure. (Strength=Example) Procedure Performer Role ?? The practitioner who was involved in the procedure actor : Reference [0..1] « [1..1] Practitioner | Organization | Patient | RelatedPerson » | Device For example: surgeon, anaethetist, endoscopist The organization the device or practitioner was acting on behalf of role onBehalfOf : CodeableConcept Reference [0..1] « A code that identifies the role of a performer of the procedure. (Strength=Example) Procedure Performer Role Organization ?? » FocalDevice The kind of change that happened to the device during the procedure action : CodeableConcept [0..1] « A kind of change that happened to the device during the procedure. (Strength=Required) (Strength=Preferred) Procedure Device Action ! » ? The device that was manipulated (changed) during the procedure manipulated : Reference [1..1] « Device » Limited to 'real' people rather than equipment performer [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 Procedure focalDevice [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>
 <</subject>
 <
 <</category>
 <</code>
 <
 <</reasonNotPerformed>
 <</bodySite>
 <</reason[x]>
 <
  <</actor>
  <</role>

 <identifier><!-- 0..* Identifier External Identifiers for this procedure --></identifier>
 <definition><!-- 0..* Reference(PlanDefinition|ActivityDefinition|
   HealthcareService) Instantiates protocol or definition --></definition>

 <basedOn><!-- 0..* Reference(CarePlan|ProcedureRequest|ReferralRequest) A request for this procedure --></basedOn>
 <partOf><!-- 0..* Reference(Procedure|Observation|MedicationAdministration) Part of referenced event --></partOf>
 <status value="[code]"/><!-- 1..1 preparation | in-progress | suspended | aborted | completed | entered-in-error | unknown -->
 <notDone value="[boolean]"/><!-- 0..1 True if procedure was not performed as scheduled -->
 <notDoneReason><!-- ?? 0..1 CodeableConcept Reason procedure was not performed --></notDoneReason>
 <category><!-- 0..1 CodeableConcept Classification of the procedure --></category>
 <code><!-- 0..1 CodeableConcept Identification of the procedure --></code>
 <subject><!-- 1..1 Reference(Patient|Group) Who the procedure was performed on --></subject>
 <context><!-- 0..1 Reference(Encounter|EpisodeOfCare) Encounter or episode associated with the procedure --></context>
 <performed[x]><!-- 0..1 dateTime|Period Date/Period the procedure was performed --></performed[x]>
 <performer>  <!-- 0..* The people who performed the procedure -->
  <role><!-- 0..1 CodeableConcept The role the actor was in --></role>
  <actor><!-- 1..1 Reference(Practitioner|Organization|Patient|RelatedPerson|
    Device) The reference to the practitioner --></actor>

  <onBehalfOf><!-- 0..1 Reference(Organization) Organization the device or practitioner was acting for --></onBehalfOf>

 </performer>
 <</performed[x]>
 <</encounter>
 <</location>
 <</outcome>
 <</report>
 <</complication>
 <</followUp>
 <|
   </request>
 <</notes>
 <
  <</action>
  <</manipulated>

 <location><!-- 0..1 Reference(Location) Where the procedure happened --></location>
 <reasonCode><!-- 0..* CodeableConcept Coded reason procedure performed --></reasonCode>
 <reasonReference><!-- 0..* Reference(Condition|Observation) Condition that is the reason the procedure performed --></reasonReference>
 <bodySite><!-- 0..* CodeableConcept Target body sites --></bodySite>
 <outcome><!-- 0..1 CodeableConcept The result of procedure --></outcome>
 <report><!-- 0..* Reference(DiagnosticReport) Any report resulting from the procedure --></report>
 <complication><!-- 0..* CodeableConcept Complication following the procedure --></complication>
 <complicationDetail><!-- 0..* Reference(Condition) A condition that is a result of the procedure --></complicationDetail>
 <followUp><!-- 0..* CodeableConcept Instructions for follow up --></followUp>
 <note><!-- 0..* Annotation Additional information about the procedure --></note>
 <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>

 <usedReference><!-- 0..* Reference(Device|Medication|Substance) Items used during procedure --></usedReference>
 <usedCode><!-- 0..* CodeableConcept Coded items used during the procedure --></usedCode>

</Procedure>

JSON Template

{
  "resourceType" : "",

{doco
  "resourceType" : "Procedure",

  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "
  "
  "
  "
  "
  "
  "
  "
  
  " },
  " },
  "
    "
    "
  }],

  "identifier" : [{ Identifier }], // External Identifiers for this procedure
  "definition" : [{ Reference(PlanDefinition|ActivityDefinition|
   HealthcareService) }], // Instantiates protocol or definition

  "basedOn" : [{ Reference(CarePlan|ProcedureRequest|ReferralRequest) }], // A request for this procedure
  "partOf" : [{ Reference(Procedure|Observation|MedicationAdministration) }], // Part of referenced event
  "status" : "<code>", // R!  preparation | in-progress | suspended | aborted | completed | entered-in-error | unknown
  "notDone" : <boolean>, // True if procedure was not performed as scheduled
  "notDoneReason" : { CodeableConcept }, // C? Reason procedure was not performed
  "category" : { CodeableConcept }, // Classification of the procedure
  "code" : { CodeableConcept }, // Identification of the procedure
  "subject" : { Reference(Patient|Group) }, // R!  Who the procedure was performed on
  "context" : { Reference(Encounter|EpisodeOfCare) }, // Encounter or episode associated with the procedure

  // performed[x]: Date/Period the procedure was performed. One of these 2:
  ">",
  " },
  "
  "
  "
  "
  "
  "
  "|
   
  "
  "
    "
    "

  "performedDateTime" : "<dateTime>",
  "performedPeriod" : { Period },
  "performer" : [{ // The people who performed the procedure
    "role" : { CodeableConcept }, // The role the actor was in
    "actor" : { Reference(Practitioner|Organization|Patient|RelatedPerson|
    Device) }, // R!  The reference to the practitioner

    "onBehalfOf" : { Reference(Organization) } // Organization the device or practitioner was acting for

  }],
  "

  "location" : { Reference(Location) }, // Where the procedure happened
  "reasonCode" : [{ CodeableConcept }], // Coded reason procedure performed
  "reasonReference" : [{ Reference(Condition|Observation) }], // Condition that is the reason the procedure performed
  "bodySite" : [{ CodeableConcept }], // Target body sites
  "outcome" : { CodeableConcept }, // The result of procedure
  "report" : [{ Reference(DiagnosticReport) }], // Any report resulting from the procedure
  "complication" : [{ CodeableConcept }], // Complication following the procedure
  "complicationDetail" : [{ Reference(Condition) }], // A condition that is a result of the procedure
  "followUp" : [{ CodeableConcept }], // Instructions for follow up
  "note" : [{ Annotation }], // Additional information about the procedure
  "focalDevice" : [{ // Device changed in procedure
    "action" : { CodeableConcept }, // Kind of change to device
    "manipulated" : { Reference(Device) } // R!  Device that was changed
  }],
  "usedReference" : [{ Reference(Device|Medication|Substance) }], // Items used during procedure
  "usedCode" : [{ CodeableConcept }] // Coded items used during the procedure

}

Turtle Template


@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:Procedure;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:Procedure.identifier [ Identifier ], ... ; # 0..* External Identifiers for this procedure
  fhir:Procedure.definition [ Reference(PlanDefinition|ActivityDefinition|HealthcareService) ], ... ; # 0..* Instantiates protocol or definition
  fhir:Procedure.basedOn [ Reference(CarePlan|ProcedureRequest|ReferralRequest) ], ... ; # 0..* A request for this procedure
  fhir:Procedure.partOf [ Reference(Procedure|Observation|MedicationAdministration) ], ... ; # 0..* Part of referenced event
  fhir:Procedure.status [ code ]; # 1..1 preparation | in-progress | suspended | aborted | completed | entered-in-error | unknown
  fhir:Procedure.notDone [ boolean ]; # 0..1 True if procedure was not performed as scheduled
  fhir:Procedure.notDoneReason [ CodeableConcept ]; # 0..1 Reason procedure was not performed
  fhir:Procedure.category [ CodeableConcept ]; # 0..1 Classification of the procedure
  fhir:Procedure.code [ CodeableConcept ]; # 0..1 Identification of the procedure
  fhir:Procedure.subject [ Reference(Patient|Group) ]; # 1..1 Who the procedure was performed on
  fhir:Procedure.context [ Reference(Encounter|EpisodeOfCare) ]; # 0..1 Encounter or episode associated with the procedure
  # Procedure.performed[x] : 0..1 Date/Period the procedure was performed. One of these 2
    fhir:Procedure.performedDateTime [ dateTime ]
    fhir:Procedure.performedPeriod [ Period ]
  fhir:Procedure.performer [ # 0..* The people who performed the procedure
    fhir:Procedure.performer.role [ CodeableConcept ]; # 0..1 The role the actor was in
    fhir:Procedure.performer.actor [ Reference(Practitioner|Organization|Patient|RelatedPerson|Device) ]; # 1..1 The reference to the practitioner
    fhir:Procedure.performer.onBehalfOf [ Reference(Organization) ]; # 0..1 Organization the device or practitioner was acting for
  ], ...;
  fhir:Procedure.location [ Reference(Location) ]; # 0..1 Where the procedure happened
  fhir:Procedure.reasonCode [ CodeableConcept ], ... ; # 0..* Coded reason procedure performed
  fhir:Procedure.reasonReference [ Reference(Condition|Observation) ], ... ; # 0..* Condition that is the reason the procedure performed
  fhir:Procedure.bodySite [ CodeableConcept ], ... ; # 0..* Target body sites
  fhir:Procedure.outcome [ CodeableConcept ]; # 0..1 The result of procedure
  fhir:Procedure.report [ Reference(DiagnosticReport) ], ... ; # 0..* Any report resulting from the procedure
  fhir:Procedure.complication [ CodeableConcept ], ... ; # 0..* Complication following the procedure
  fhir:Procedure.complicationDetail [ Reference(Condition) ], ... ; # 0..* A condition that is a result of the procedure
  fhir:Procedure.followUp [ CodeableConcept ], ... ; # 0..* Instructions for follow up
  fhir:Procedure.note [ Annotation ], ... ; # 0..* Additional information about the procedure
  fhir:Procedure.focalDevice [ # 0..* Device changed in procedure
    fhir:Procedure.focalDevice.action [ CodeableConcept ]; # 0..1 Kind of change to device
    fhir:Procedure.focalDevice.manipulated [ Reference(Device) ]; # 1..1 Device that was changed
  ], ...;
  fhir:Procedure.usedReference [ Reference(Device|Medication|Substance) ], ... ; # 0..* Items used during procedure
  fhir:Procedure.usedCode [ CodeableConcept ], ... ; # 0..* Coded items used during the procedure
]

  Changes since DSTU2

Procedure
Procedure.definition
  • Added Element
Procedure.basedOn
  • Renamed from request to basedOn
  • Max Cardinality changed from 1 to *
  • Remove Reference(DiagnosticOrder)
Procedure.partOf
  • Added Element
Procedure.status
  • Change value set from http://hl7.org/fhir/ValueSet/procedure-status to http://hl7.org/fhir/ValueSet/event-status
Procedure.notDone
  • Renamed from notPerformed to notDone
Procedure.notDoneReason
  • Renamed from reasonNotPerformed to notDoneReason
  • Max Cardinality changed from * to 1
Procedure.code
  • Min Cardinality changed from 1 to 0
Procedure.context
  • Renamed from encounter to context
  • Add Reference(EpisodeOfCare)
Procedure.performer.actor
  • Min Cardinality changed from 0 to 1
  • Add Reference(Device)
Procedure.performer.onBehalfOf
  • Added Element
Procedure.reasonCode
  • Added Element
Procedure.reasonReference
  • Added Element
Procedure.complicationDetail
  • Added Element
Procedure.note
  • Renamed from notes to note
Procedure.focalDevice.action
  • Remove Binding http://hl7.org/fhir/ValueSet/device-action (required)
Procedure.usedReference
  • Renamed from used to usedReference
Procedure.usedCode
  • Added Element
Procedure.reason[x]
  • deleted

See the Full Difference for further information

This analysis is available as XML or JSON .

See R2 <--> R3 Conversion Maps (status = 9 tests that all execute ok. All tests pass round-trip testing and all r3 resources are valid.).

 

Alternate definitions: Schema / Schematron , Resource Profile Master Definition ( XML , JSON ), Questionnaire XML Schema / Schematron (for ) + JSON Schema , ShEx (for Turtle )

Procedure.reasonNotPerformed Procedure.reason[x] Procedure.performer.role
Path Definition Type Reference
Procedure.status A code specifying the state of the procedure. Required ProcedureStatus EventStatus
Procedure.notDoneReason A code that identifies the reason a procedure was not performed. Example Procedure Not Performed Reason (SNOMED-CT)
Procedure.category A code that classifies a procedure for searching, sorting and display purposes. Example Procedure Category Codes (SNOMED CT)
Procedure.code A code to identify a specific procedure . Example Procedure Codes (SNOMED CT)
Procedure.performer.role A code that identifies the reason role of a procedure was not performed. performer of the procedure. Example Procedure Not Performed Reason (SNOMED-CT) Procedure.bodySite Performer Role Codes describing anatomical locations. May include laterality. Example SNOMED CT Body Structures
Procedure.reasonCode A code that identifies the reason a procedure is required. Example Procedure Reason Codes
Procedure.bodySite A code that identifies the role of a performer of the procedure. Codes describing anatomical locations. May include laterality. Example Procedure Performer Role Codes SNOMED CT Body Structures
Procedure.outcome An outcome of a procedure - whether it was resolved or otherwise. Example Procedure Outcome Codes (SNOMED CT)
Procedure.complication Codes describing complications that resulted from a procedure. Example Condition/Problem/Diagnosis Codes
Procedure.followUp Specific follow up required for a procedure e.g. removal of sutures. Example Procedure Follow up Codes (SNOMED CT)
Procedure.focalDevice.action A kind of change that happened to the device during the procedure. Required Preferred Procedure Device Action Codes
Procedure.usedCode Codes describing items used during a procedure Example FHIR Device Types

  • pro-1 : Reason not performed done is only permitted if notPerformed notDone indicator is true (xpath: ( expression : not(exists(f:reasonNotPerformed)) notDoneReason.empty() or f:notPerformed/@value=true() notDone = true )

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 nonsensical combinations/statements; e.g. "name=amputation, bodySite=heart"

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.

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

Name Type Description Paths Expression In Common
based-on reference A request for this procedure Procedure.basedOn
( ReferralRequest , CarePlan , ProcedureRequest )
category token Classification of the procedure Procedure.category
code token A code to identify a procedure Procedure.code 8 Resources
context reference Encounter or episode associated with the procedure Procedure.context
( EpisodeOfCare , Encounter )
date date Date/Period the procedure was performed Procedure.performed[x] Procedure.performed 18 Resources
definition reference Instantiates protocol or definition Procedure.definition
( PlanDefinition , HealthcareService , ActivityDefinition )
encounter reference The Search by encounter associated with the procedure Procedure.encounter Procedure.context
( Encounter )
12 Resources
identifier token A unique identifier for a procedure Procedure.identifier 26 Resources
location reference Where the procedure happened Procedure.location
( Location )
part-of reference Part of referenced event Procedure.partOf
( Observation , Procedure , MedicationAdministration )
patient reference Search by subject - a patient Procedure.subject
( Patient )
31 Resources
performer reference The reference to the practitioner Procedure.performer.actor
( Patient Practitioner , Organization , Practitioner Device , Patient , RelatedPerson )
status token preparation | in-progress | suspended | aborted | completed | entered-in-error | unknown Procedure.status
subject reference Search by subject Procedure.subject
( Patient , Group , Patient )