This page is part of the FHIR Specification (v4.0.1: R4 - Mixed Normative and STU) in it's permanent home (it will always be available at this URL). 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
Patient Care Work Group | Maturity Level: 3 | Trial Use | Security Category: Patient | Compartments: Encounter, Patient, Practitioner, RelatedPerson |
An action that is or was performed on or for a patient. This can be a physical intervention like an operation, or less invasive like long term services, counseling, or hypnotherapy.
Procedure is one of the event resources in the FHIR workflow specification.
This resource is used to record the details of current and historical procedures performed on or for a patient. A procedure is an activity that is performed on, with, or for a patient as part of the provision of care. Examples include surgical procedures, diagnostic procedures, endoscopic procedures, biopsies, counseling, physiotherapy, personal support services, adult day care services, non-emergency transportation, home modification, exercise, etc. Procedures may be performed by a healthcare professional, a service provider, 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 a 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 might 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. anesthetic, incision, scope size, etc.)
A Task is a workflow step such as cancelling an order, fulfilling an order, signing an order, merging a set of records, admitting a patient. Procedures are actions that are intended to result in a physical or mental change to or for the subject (e.g. surgery, physiotherapy, training, counseling). A Task resource often exists in parallel with clinical resources. For example, a Task might request fulfillment of a ServiceRequest ordering a Procedure.
This resource is referenced by AdverseEvent, Appointment, ChargeItem, Claim, DeviceUseStatement, Encounter, ExplanationOfBenefit, Flag, ImagingStudy, MedicationAdministration, MedicationDispense, MedicationStatement, Observation, itself and QuestionnaireResponse
Structure
UML Diagram (Legend)
XML Template
<Procedure xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier External Identifiers for this procedure --></identifier> <instantiatesCanonical><!-- 0..* canonical(PlanDefinition|ActivityDefinition| Measure|OperationDefinition|Questionnaire) Instantiates FHIR protocol or definition --></instantiatesCanonical> <instantiatesUri value="[uri]"/><!-- 0..* Instantiates external protocol or definition --> <basedOn><!-- 0..* Reference(CarePlan|ServiceRequest) 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 | not-done | on-hold | stopped | completed | entered-in-error | unknown --> <statusReason><!-- 0..1 CodeableConcept Reason for current status --></statusReason> <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> <encounter><!-- 0..1 Reference(Encounter) Encounter created as part of --></encounter> <performed[x]><!-- 0..1 dateTime|Period|string|Age|Range When the procedure was performed --></performed[x]> <recorder><!-- 0..1 Reference(Patient|RelatedPerson|Practitioner| PractitionerRole) Who recorded the procedure --></recorder> <asserter><!-- 0..1 Reference(Patient|RelatedPerson|Practitioner| PractitionerRole) Person who asserts this procedure --></asserter> <performer> <!-- 0..* The people who performed the procedure --> <function><!-- 0..1 CodeableConcept Type of performance --></function> <actor><!-- 1..1 Reference(Practitioner|PractitionerRole|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> <location><!-- 0..1 Reference(Location) Where the procedure happened --></location> <reasonCode><!-- 0..* CodeableConcept Coded reason procedure performed --></reasonCode> <reasonReference><!-- 0..* Reference(Condition|Observation|Procedure| DiagnosticReport|DocumentReference) The justification that the procedure was performed --></reasonReference> <bodySite><!-- 0..* CodeableConcept Target body sites --></bodySite> <outcome><!-- 0..1 CodeableConcept The result of procedure --></outcome> <report><!-- 0..* Reference(DiagnosticReport|DocumentReference|Composition) 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..* Manipulated, implanted, or removed device --> <action><!-- 0..1 CodeableConcept Kind of change to device --></action> <manipulated><!-- 1..1 Reference(Device) Device that was changed --></manipulated> </focalDevice> <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" : "Procedure", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // External Identifiers for this procedure "instantiatesCanonical" : [{ canonical(PlanDefinition|ActivityDefinition| Measure|OperationDefinition|Questionnaire) }], // Instantiates FHIR protocol or definition "instantiatesUri" : ["<uri>"], // Instantiates external protocol or definition "basedOn" : [{ Reference(CarePlan|ServiceRequest) }], // A request for this procedure "partOf" : [{ Reference(Procedure|Observation|MedicationAdministration) }], // Part of referenced event "status" : "<code>", // R! preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown "statusReason" : { CodeableConcept }, // Reason for current status "category" : { CodeableConcept }, // Classification of the procedure "code" : { CodeableConcept }, // Identification of the procedure "subject" : { Reference(Patient|Group) }, // R! Who the procedure was performed on "encounter" : { Reference(Encounter) }, // Encounter created as part of // performed[x]: When the procedure was performed. One of these 5: "performedDateTime" : "<dateTime>", "performedPeriod" : { Period }, "performedString" : "<string>", "performedAge" : { Age }, "performedRange" : { Range }, "recorder" : { Reference(Patient|RelatedPerson|Practitioner| PractitionerRole) }, // Who recorded the procedure "asserter" : { Reference(Patient|RelatedPerson|Practitioner| PractitionerRole) }, // Person who asserts this procedure "performer" : [{ // The people who performed the procedure "function" : { CodeableConcept }, // Type of performance "actor" : { Reference(Practitioner|PractitionerRole|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|Procedure| DiagnosticReport|DocumentReference) }], // The justification that the procedure was performed "bodySite" : [{ CodeableConcept }], // Target body sites "outcome" : { CodeableConcept }, // The result of procedure "report" : [{ Reference(DiagnosticReport|DocumentReference|Composition) }], // 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" : [{ // Manipulated, implanted, or removed device "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/> . [ 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.instantiatesCanonical [ canonical(PlanDefinition|ActivityDefinition|Measure|OperationDefinition|Questionnaire) ], ... ; # 0..* Instantiates FHIR protocol or definition fhir:Procedure.instantiatesUri [ uri ], ... ; # 0..* Instantiates external protocol or definition fhir:Procedure.basedOn [ Reference(CarePlan|ServiceRequest) ], ... ; # 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 | not-done | on-hold | stopped | completed | entered-in-error | unknown fhir:Procedure.statusReason [ CodeableConcept ]; # 0..1 Reason for current status 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.encounter [ Reference(Encounter) ]; # 0..1 Encounter created as part of # Procedure.performed[x] : 0..1 When the procedure was performed. One of these 5 fhir:Procedure.performedDateTime [ dateTime ] fhir:Procedure.performedPeriod [ Period ] fhir:Procedure.performedString [ string ] fhir:Procedure.performedAge [ Age ] fhir:Procedure.performedRange [ Range ] fhir:Procedure.recorder [ Reference(Patient|RelatedPerson|Practitioner|PractitionerRole) ]; # 0..1 Who recorded the procedure fhir:Procedure.asserter [ Reference(Patient|RelatedPerson|Practitioner|PractitionerRole) ]; # 0..1 Person who asserts this procedure fhir:Procedure.performer [ # 0..* The people who performed the procedure fhir:Procedure.performer.function [ CodeableConcept ]; # 0..1 Type of performance fhir:Procedure.performer.actor [ Reference(Practitioner|PractitionerRole|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|Procedure|DiagnosticReport|DocumentReference) ], ... ; # 0..* The justification that the procedure was performed fhir:Procedure.bodySite [ CodeableConcept ], ... ; # 0..* Target body sites fhir:Procedure.outcome [ CodeableConcept ]; # 0..1 The result of procedure fhir:Procedure.report [ Reference(DiagnosticReport|DocumentReference|Composition) ], ... ; # 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..* Manipulated, implanted, or removed device 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 R3
Procedure | |
Procedure.instantiatesCanonical |
|
Procedure.instantiatesUri |
|
Procedure.basedOn |
|
Procedure.status |
|
Procedure.statusReason |
|
Procedure.encounter |
|
Procedure.performed[x] |
|
Procedure.recorder |
|
Procedure.asserter |
|
Procedure.performer.function |
|
Procedure.performer.actor |
|
Procedure.reasonReference |
|
Procedure.report |
|
Procedure.definition |
|
Procedure.notDone |
|
Procedure.notDoneReason |
|
Procedure.context |
|
Procedure.performer.role |
|
See the Full Difference for further information
This analysis is available as XML or JSON.
See R3 <--> R4 Conversion Maps (status = 15 tests that all execute ok. 3 fail round-trip testing and 1 r3 resources are invalid (0 errors).)
Structure
XML Template
<Procedure xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier External Identifiers for this procedure --></identifier> <instantiatesCanonical><!-- 0..* canonical(PlanDefinition|ActivityDefinition| Measure|OperationDefinition|Questionnaire) Instantiates FHIR protocol or definition --></instantiatesCanonical> <instantiatesUri value="[uri]"/><!-- 0..* Instantiates external protocol or definition --> <basedOn><!-- 0..* Reference(CarePlan|ServiceRequest) 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 | not-done | on-hold | stopped | completed | entered-in-error | unknown --> <statusReason><!-- 0..1 CodeableConcept Reason for current status --></statusReason> <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> <encounter><!-- 0..1 Reference(Encounter) Encounter created as part of --></encounter> <performed[x]><!-- 0..1 dateTime|Period|string|Age|Range When the procedure was performed --></performed[x]> <recorder><!-- 0..1 Reference(Patient|RelatedPerson|Practitioner| PractitionerRole) Who recorded the procedure --></recorder> <asserter><!-- 0..1 Reference(Patient|RelatedPerson|Practitioner| PractitionerRole) Person who asserts this procedure --></asserter> <performer> <!-- 0..* The people who performed the procedure --> <function><!-- 0..1 CodeableConcept Type of performance --></function> <actor><!-- 1..1 Reference(Practitioner|PractitionerRole|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> <location><!-- 0..1 Reference(Location) Where the procedure happened --></location> <reasonCode><!-- 0..* CodeableConcept Coded reason procedure performed --></reasonCode> <reasonReference><!-- 0..* Reference(Condition|Observation|Procedure| DiagnosticReport|DocumentReference) The justification that the procedure was performed --></reasonReference> <bodySite><!-- 0..* CodeableConcept Target body sites --></bodySite> <outcome><!-- 0..1 CodeableConcept The result of procedure --></outcome> <report><!-- 0..* Reference(DiagnosticReport|DocumentReference|Composition) 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..* Manipulated, implanted, or removed device --> <action><!-- 0..1 CodeableConcept Kind of change to device --></action> <manipulated><!-- 1..1 Reference(Device) Device that was changed --></manipulated> </focalDevice> <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" : "Procedure", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // External Identifiers for this procedure "instantiatesCanonical" : [{ canonical(PlanDefinition|ActivityDefinition| Measure|OperationDefinition|Questionnaire) }], // Instantiates FHIR protocol or definition "instantiatesUri" : ["<uri>"], // Instantiates external protocol or definition "basedOn" : [{ Reference(CarePlan|ServiceRequest) }], // A request for this procedure "partOf" : [{ Reference(Procedure|Observation|MedicationAdministration) }], // Part of referenced event "status" : "<code>", // R! preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown "statusReason" : { CodeableConcept }, // Reason for current status "category" : { CodeableConcept }, // Classification of the procedure "code" : { CodeableConcept }, // Identification of the procedure "subject" : { Reference(Patient|Group) }, // R! Who the procedure was performed on "encounter" : { Reference(Encounter) }, // Encounter created as part of // performed[x]: When the procedure was performed. One of these 5: "performedDateTime" : "<dateTime>", "performedPeriod" : { Period }, "performedString" : "<string>", "performedAge" : { Age }, "performedRange" : { Range }, "recorder" : { Reference(Patient|RelatedPerson|Practitioner| PractitionerRole) }, // Who recorded the procedure "asserter" : { Reference(Patient|RelatedPerson|Practitioner| PractitionerRole) }, // Person who asserts this procedure "performer" : [{ // The people who performed the procedure "function" : { CodeableConcept }, // Type of performance "actor" : { Reference(Practitioner|PractitionerRole|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|Procedure| DiagnosticReport|DocumentReference) }], // The justification that the procedure was performed "bodySite" : [{ CodeableConcept }], // Target body sites "outcome" : { CodeableConcept }, // The result of procedure "report" : [{ Reference(DiagnosticReport|DocumentReference|Composition) }], // 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" : [{ // Manipulated, implanted, or removed device "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/> . [ 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.instantiatesCanonical [ canonical(PlanDefinition|ActivityDefinition|Measure|OperationDefinition|Questionnaire) ], ... ; # 0..* Instantiates FHIR protocol or definition fhir:Procedure.instantiatesUri [ uri ], ... ; # 0..* Instantiates external protocol or definition fhir:Procedure.basedOn [ Reference(CarePlan|ServiceRequest) ], ... ; # 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 | not-done | on-hold | stopped | completed | entered-in-error | unknown fhir:Procedure.statusReason [ CodeableConcept ]; # 0..1 Reason for current status 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.encounter [ Reference(Encounter) ]; # 0..1 Encounter created as part of # Procedure.performed[x] : 0..1 When the procedure was performed. One of these 5 fhir:Procedure.performedDateTime [ dateTime ] fhir:Procedure.performedPeriod [ Period ] fhir:Procedure.performedString [ string ] fhir:Procedure.performedAge [ Age ] fhir:Procedure.performedRange [ Range ] fhir:Procedure.recorder [ Reference(Patient|RelatedPerson|Practitioner|PractitionerRole) ]; # 0..1 Who recorded the procedure fhir:Procedure.asserter [ Reference(Patient|RelatedPerson|Practitioner|PractitionerRole) ]; # 0..1 Person who asserts this procedure fhir:Procedure.performer [ # 0..* The people who performed the procedure fhir:Procedure.performer.function [ CodeableConcept ]; # 0..1 Type of performance fhir:Procedure.performer.actor [ Reference(Practitioner|PractitionerRole|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|Procedure|DiagnosticReport|DocumentReference) ], ... ; # 0..* The justification that the procedure was performed fhir:Procedure.bodySite [ CodeableConcept ], ... ; # 0..* Target body sites fhir:Procedure.outcome [ CodeableConcept ]; # 0..1 The result of procedure fhir:Procedure.report [ Reference(DiagnosticReport|DocumentReference|Composition) ], ... ; # 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..* Manipulated, implanted, or removed device 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 Release 3
Procedure | |
Procedure.instantiatesCanonical |
|
Procedure.instantiatesUri |
|
Procedure.basedOn |
|
Procedure.status |
|
Procedure.statusReason |
|
Procedure.encounter |
|
Procedure.performed[x] |
|
Procedure.recorder |
|
Procedure.asserter |
|
Procedure.performer.function |
|
Procedure.performer.actor |
|
Procedure.reasonReference |
|
Procedure.report |
|
Procedure.definition |
|
Procedure.notDone |
|
Procedure.notDoneReason |
|
Procedure.context |
|
Procedure.performer.role |
|
See the Full Difference for further information
This analysis is available as XML or JSON.
See R3 <--> R4 Conversion Maps (status = 15 tests that all execute ok. 3 fail round-trip testing and 1 r3 resources are invalid (0 errors).)
See the Profiles & Extensions and the alternate definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions & the dependency analysis
Path | Definition | Type | Reference |
---|---|---|---|
Procedure.status | A code specifying the state of the procedure. | Required | EventStatus |
Procedure.statusReason | A code that identifies the reason a procedure was not performed. | Example | ProcedureNotPerformedReason(SNOMED-CT) |
Procedure.category | A code that classifies a procedure for searching, sorting and display purposes. | Example | ProcedureCategoryCodes(SNOMEDCT) |
Procedure.code | A code to identify a specific procedure . | Example | ProcedureCodes(SNOMEDCT) |
Procedure.performer.function | A code that identifies the role of a performer of the procedure. | Example | ProcedurePerformerRoleCodes |
Procedure.reasonCode | A code that identifies the reason a procedure is required. | Example | ProcedureReasonCodes |
Procedure.bodySite | Codes describing anatomical locations. May include laterality. | Example | SNOMEDCTBodyStructures |
Procedure.outcome | An outcome of a procedure - whether it was resolved or otherwise. | Example | ProcedureOutcomeCodes(SNOMEDCT) |
Procedure.complication | Codes describing complications that resulted from a procedure. | Example | Condition/Problem/DiagnosisCodes |
Procedure.followUp | Specific follow up required for a procedure e.g. removal of sutures. | Example | ProcedureFollowUpCodes(SNOMEDCT) |
Procedure.focalDevice.action | A kind of change that happened to the device during the procedure. | Preferred | ProcedureDeviceActionCodes |
Procedure.usedCode | Codes describing items used during a procedure. | Example | FHIRDeviceTypes |
Many of the elements of Procedure have inherent relationships and may 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 | Expression | In Common |
based-on | reference | A request for this procedure | Procedure.basedOn (CarePlan, ServiceRequest) | |
category | token | Classification of the procedure | Procedure.category | |
code | token | A code to identify a procedure | Procedure.code | 13 Resources |
date | date | When the procedure was performed | Procedure.performed | 17 Resources |
encounter | reference | Encounter created as part of | Procedure.encounter (Encounter) | 12 Resources |
identifier | token | A unique identifier for a procedure | Procedure.identifier | 30 Resources |
instantiates-canonical | reference | Instantiates FHIR protocol or definition | Procedure.instantiatesCanonical (Questionnaire, Measure, PlanDefinition, OperationDefinition, ActivityDefinition) | |
instantiates-uri | uri | Instantiates external protocol or definition | Procedure.instantiatesUri | |
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.where(resolve() is Patient) (Patient) | 33 Resources |
performer | reference | The reference to the practitioner | Procedure.performer.actor (Practitioner, Organization, Device, Patient, PractitionerRole, RelatedPerson) | |
reason-code | token | Coded reason procedure performed | Procedure.reasonCode | |
reason-reference | reference | The justification that the procedure was performed | Procedure.reasonReference (Condition, Observation, Procedure, DiagnosticReport, DocumentReference) | |
status | token | preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown | Procedure.status | |
subject | reference | Search by subject | Procedure.subject (Group, Patient) |