This page is part of the FHIR Specification (v1.4.0:
STU
3 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
. For a full list of available versions, see the
Directory of published versions
.
Page
versions:
. Page versions:
R5
R4B
R4
R3
R2
|
|
Compartments
|
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.
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
,
drug administrations
and
communications
.
The
boundary
between
determining
whether
an
action
is
considered
to
be
training
or
counseling
(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
. The boundary between determining whether an action is considered to be training or counseling (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
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.
anesthetic,
incision,
scope
size,
etc.)
This
resource
is
referenced
by
. 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. anesthetic, incision, scope size, etc.)
This resource is referenced by
Claim
,
ClinicalImpression
,
,
Encounter
and
,
ExplanationOfBenefit
and
ImagingStudy
Structure
| Name | Flags | Card. | Type |
|
|---|---|---|---|---|
|
I | DomainResource |
|
|
|
Σ | 0..* | Identifier |
|
|
Σ | 1..1 |
Reference
(
Patient
|
|
|
|
1..1 | code |
ProcedureStatus |
|
Σ | 0..1 | CodeableConcept |
|
|
Σ | 1..1 | CodeableConcept |
|
|
?! | 0..1 | boolean |
|
|
I | 0..* | CodeableConcept |
|
|
Σ | 0..* | CodeableConcept |
|
|
Σ | 0..1 |
|
|
|
CodeableConcept | |||
|
Reference ( Condition ) | |||
|
Σ | 0..* | BackboneElement |
|
|
Σ | 0..1 |
Reference
(
Practitioner
|
|
|
Σ | 0..1 | CodeableConcept |
|
|
Σ | 0..1 |
|
|
|
dateTime | |||
|
Period | |||
|
Σ | 0..1 | Reference ( Encounter ) |
|
|
Σ | 0..1 | Reference ( Location ) |
|
|
Σ | 0..1 | CodeableConcept |
|
|
0..* | Reference ( DiagnosticReport ) |
|
|
|
0..* | CodeableConcept |
|
|
|
0..* | CodeableConcept |
|
|
|
0..1 |
Reference
(
CarePlan
|
|
|
|
0..* | Annotation |
|
|
|
0..* | BackboneElement |
|
|
|
0..1 | CodeableConcept |
|
|
|
1..1 | Reference ( Device ) |
|
|
|
0..* |
Reference
(
Device
|
|
|
Documentation for this format
|
||||
UML
Diagram
UML Diagram
XML
Template
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> <subject><!-- 1..1 Reference(Patient|Group) Who the 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 was 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 associated with the procedure --></encounter> <location><!-- 0..1 Reference(Location) Where the procedure happened --></location> <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> <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 the 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
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
"subject" : { Reference(Patient|Group) }, // R! Who the 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 was 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 associated with the procedure
"location" : { Reference(Location) }, // Where the procedure happened
"outcome" : { CodeableConcept }, // The result of procedure
"report" : [{ Reference(DiagnosticReport) }], // Any report resulting 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 the 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
| Name | Flags | Card. | Type |
|
|---|---|---|---|---|
|
I | DomainResource |
|
|
|
Σ | 0..* | Identifier |
|
|
Σ | 1..1 |
Reference
(
Patient
|
|
|
|
1..1 | code |
ProcedureStatus |
|
Σ | 0..1 | CodeableConcept |
|
|
Σ | 1..1 | CodeableConcept |
|
|
?! | 0..1 | boolean |
|
|
I | 0..* | CodeableConcept |
|
|
Σ | 0..* | CodeableConcept |
|
|
Σ | 0..1 |
|
|
|
CodeableConcept | |||
|
Reference ( Condition ) | |||
|
Σ | 0..* | BackboneElement |
|
|
Σ | 0..1 |
Reference
(
Practitioner
|
|
|
Σ | 0..1 | CodeableConcept |
|
|
Σ | 0..1 |
|
|
|
dateTime | |||
|
Period | |||
|
Σ | 0..1 | Reference ( Encounter ) |
|
|
Σ | 0..1 | Reference ( Location ) |
|
|
Σ | 0..1 | CodeableConcept |
|
|
0..* | Reference ( DiagnosticReport ) |
|
|
|
0..* | CodeableConcept |
|
|
|
0..* | CodeableConcept |
|
|
|
0..1 |
Reference
(
CarePlan
|
|
|
|
0..* | Annotation |
|
|
|
0..* | BackboneElement |
|
|
|
0..1 | CodeableConcept |
|
|
|
1..1 | Reference ( Device ) |
|
|
|
0..* |
Reference
(
Device
|
|
|
Documentation for this format
|
||||
XML
Template
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> <subject><!-- 1..1 Reference(Patient|Group) Who the 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 was 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 associated with the procedure --></encounter> <location><!-- 0..1 Reference(Location) Where the procedure happened --></location> <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> <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 the 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
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
"subject" : { Reference(Patient|Group) }, // R! Who the 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 was 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 associated with the procedure
"location" : { Reference(Location) }, // Where the procedure happened
"outcome" : { CodeableConcept }, // The result of procedure
"report" : [{ Reference(DiagnosticReport) }], // Any report resulting 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 the 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:
Alternate definitions:
Schema
/
Schematron
,
Resource
Profile
(
, Resource Profile (
XML
,
,
JSON
),
),
Questionnaire
| Path | Definition | Type | Reference |
|---|---|---|---|
|
|
|
Required | ProcedureStatus |
|
|
|
Example |
|
|
|
|
Example |
|
|
|
|
Example |
|
|
|
|
Example |
|
|
|
|
Example |
|
|
|
|
Example |
|
|
|
|
Example |
|
|
|
|
Example |
|
|
|
|
Example |
|
|
|
|
Required |
|
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.
for more information about searching in REST, messaging, and services.
| Name | Type | Description | Paths |
| code | token |
|
Procedure.code |
| date | date |
|
Procedure.performed[x] |
| encounter | reference |
|
Procedure.encounter
( Encounter ) |
| identifier | token |
|
Procedure.identifier |
| location | reference |
|
Procedure.location
( Location ) |
| patient | reference |
|
Procedure.subject
( Patient ) |
| performer | reference |
|
Procedure.performer.actor
( Patient |
| subject | reference |
|
Procedure.subject
( Patient |