This
page
is
part
of
the
FHIR
Specification
(v0.0.82:
(v1.0.2:
DSTU
1).
2).
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 : 1 | Compartments : Encounter , Patient , Practitioner , RelatedPerson |
An
action
that
is
or
was
performed
on
a
patient.
This
can
be
a
physical
'thing'
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
exclude
things
is
not
intended
to
provide
real-time
snapshots
of
a
procedure
as
it
unfolds,
though
for
which
there
are
specific
resources,
long-running
procedures
such
as
immunizations,
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.
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
observations
Observations
and
reports.
DiagnosticReports
.
In
many
cases,
the
existence
such
an
observation
does
not
require
an
explicit
representation
of
the
procedure
is
assumed,
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 ClinicalImpression , Encounter and ImagingStudy
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
![]() |
|---|---|---|---|---|
![]() | I | DomainResource |
An
action
that
is
being
or
was
performed
on
a
patient
Reason not performed is only permitted if notPerformed indicator is true | |
![]() ![]() | Σ | 0..* | Identifier | External Identifiers for this procedure |
![]() ![]() | Σ | 1..1 | Reference ( Patient | Group ) | Who the procedure was performed on |
![]() ![]() | ?! Σ | 1..1 | code |
in-progress
|
aborted
|
completed
|
entered-in-error
ProcedureStatus ( Required ) |
![]() ![]() | Σ | 0..1 | CodeableConcept |
Classification
of
the
procedure
Procedure Category Codes (SNOMED CT) ( Example ) |
![]() ![]() | Σ | 1..1 | CodeableConcept |
Identification
of
the
procedure
Procedure Codes (SNOMED CT) ( Example ) |
![]() ![]() | ?! | 0..1 | boolean | True if procedure was not performed as scheduled |
![]() ![]() | I | 0..* | CodeableConcept |
Reason
procedure
was
not
performed
Procedure Not Performed Reason (SNOMED-CT) ( Example ) |
![]() ![]() | Σ | 0..* | CodeableConcept |
Target
body
sites
SNOMED CT Body Structures ( Example ) |
![]() ![]() | Σ | 0..1 |
Reason
procedure
performed
Procedure Reason Codes ( Example ) | |
![]() ![]() ![]() | CodeableConcept | |||
![]() ![]() ![]() | Reference ( Condition ) | |||
![]() ![]() | Σ | 0..* | BackboneElement | The people who performed the procedure |
![]() ![]() ![]() | Σ | 0..1 | Reference ( Practitioner | Organization | Patient | RelatedPerson ) | The reference to the practitioner |
![]() ![]() ![]() | Σ | 0..1 | CodeableConcept |
The
role
the
actor
was
in
Procedure Performer Role Codes ( Example ) |
![]() ![]() | Σ | 0..1 | Date/Period the procedure was performed | |
![]() ![]() ![]() | dateTime | |||
![]() ![]() ![]() | Period | |||
![]() ![]() | Σ | 0..1 | Reference ( Encounter ) | The encounter associated with the procedure |
![]() ![]() | Σ | 0..1 | Reference ( Location ) | Where the procedure happened |
![]() ![]() | Σ | 0..1 | CodeableConcept |
The
result
of
procedure
Procedure Outcome Codes (SNOMED CT) ( Example ) |
![]() ![]() | 0..* | Reference ( DiagnosticReport ) | Any report resulting from the procedure | |
![]() ![]() | 0..* | CodeableConcept |
Complication
following
the
procedure
Condition/Problem/Diagnosis Codes ( Example ) | |
![]() ![]() | 0..* | CodeableConcept |
Instructions
for
follow
up
Procedure Follow up Codes (SNOMED CT) ( Example ) | |
![]() ![]() | 0..1 | Reference ( CarePlan | DiagnosticOrder | ProcedureRequest | ReferralRequest ) | A request for this procedure | |
![]() ![]() | 0..* | Annotation | Additional information about the procedure | |
![]() ![]() | 0..* | BackboneElement | Device changed in procedure | |
![]() ![]() ![]() | 0..1 | CodeableConcept |
Kind
of
change
to
device
Procedure Device Action Codes ( Required ) | |
![]() ![]() ![]() | 1..1 | Reference ( Device ) | Device that was changed | |
![]() ![]() | 0..* | Reference ( Device | Medication | Substance ) | Items used during procedure | |
Documentation
for
this
format
| ||||
UML Diagram
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
{
"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 |
Description
&
Constraints
![]() |
|---|---|---|---|---|
![]() | I | DomainResource |
An
action
that
is
being
or
was
performed
on
a
patient
Reason not performed is only permitted if notPerformed indicator is true | |
![]() ![]() | Σ | 0..* | Identifier | External Identifiers for this procedure |
![]() ![]() | Σ | 1..1 | Reference ( Patient | Group ) | Who the procedure was performed on |
![]() ![]() | ?! Σ | 1..1 | code |
in-progress
|
aborted
|
completed
|
entered-in-error
ProcedureStatus ( Required ) |
![]() ![]() | Σ | 0..1 | CodeableConcept |
Classification
of
the
procedure
Procedure Category Codes (SNOMED CT) ( Example ) |
![]() ![]() | Σ | 1..1 | CodeableConcept |
Identification
of
the
procedure
Procedure Codes (SNOMED CT) ( Example ) |
![]() ![]() | ?! | 0..1 | boolean | True if procedure was not performed as scheduled |
![]() ![]() | I | 0..* | CodeableConcept |
Reason
procedure
was
not
performed
Procedure Not Performed Reason (SNOMED-CT) ( Example ) |
![]() ![]() | Σ | 0..* | CodeableConcept |
Target
body
sites
SNOMED CT Body Structures ( Example ) |
![]() ![]() | Σ | 0..1 |
Reason
procedure
performed
Procedure Reason Codes ( Example ) | |
![]() ![]() ![]() | CodeableConcept | |||
![]() ![]() ![]() | Reference ( Condition ) | |||
![]() ![]() | Σ | 0..* | BackboneElement | The people who performed the procedure |
![]() ![]() ![]() | Σ | 0..1 | Reference ( Practitioner | Organization | Patient | RelatedPerson ) | The reference to the practitioner |
![]() ![]() ![]() | Σ | 0..1 | CodeableConcept |
The
role
the
actor
was
in
Procedure Performer Role Codes ( Example ) |
![]() ![]() | Σ | 0..1 | Date/Period the procedure was performed | |
![]() ![]() ![]() | dateTime | |||
![]() ![]() ![]() | Period | |||
![]() ![]() | Σ | 0..1 | Reference ( Encounter ) | The encounter associated with the procedure |
![]() ![]() | Σ | 0..1 | Reference ( Location ) | Where the procedure happened |
![]() ![]() | Σ | 0..1 | CodeableConcept |
The
result
of
procedure
Procedure Outcome Codes (SNOMED CT) ( Example ) |
![]() ![]() | 0..* | Reference ( DiagnosticReport ) | Any report resulting from the procedure | |
![]() ![]() | 0..* | CodeableConcept |
Complication
following
the
procedure
Condition/Problem/Diagnosis Codes ( Example ) | |
![]() ![]() | 0..* | CodeableConcept |
Instructions
for
follow
up
Procedure Follow up Codes (SNOMED CT) ( Example ) | |
![]() ![]() | 0..1 | Reference ( CarePlan | DiagnosticOrder | ProcedureRequest | ReferralRequest ) | A request for this procedure | |
![]() ![]() | 0..* | Annotation | Additional information about the procedure | |
![]() ![]() | 0..* | BackboneElement | Device changed in procedure | |
![]() ![]() ![]() | 0..1 | CodeableConcept |
Kind
of
change
to
device
Procedure Device Action Codes ( Required ) | |
![]() ![]() ![]() | 1..1 | Reference ( Device ) | Device that was changed | |
![]() ![]() | 0..* | Reference ( Device | Medication | Substance ) | Items used during procedure | |
Documentation
for
this
format
| ||||
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>
<</date> <</encounter> < <</report> <</complication> < < < <| | | | </target> </relatedItem> <<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
{
"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: Schema / Schematron , Resource Profile ( XML , JSON ), Questionnaire
| Path | Definition | Type | Reference |
|---|---|---|---|
| Procedure.status |
| Required | ProcedureStatus |
| Procedure.category | A code that classifies a procedure for searching, sorting and display purposes. |
|
|
| Procedure.code | A code to identify a specific procedure . | Example | Procedure Codes (SNOMED CT) |
| Procedure.reasonNotPerformed | A code that identifies the reason a procedure was not performed. | Example | Procedure Not Performed Reason (SNOMED-CT) |
| Procedure.bodySite | Codes describing anatomical locations. May include laterality. | Example | SNOMED CT Body Structures |
| Procedure.reason[x] | A code that identifies the reason a procedure is required. | Example | Procedure Reason Codes |
| Procedure.performer.role | A code that identifies the role of a performer of the procedure. | Example | Procedure Performer Role Codes |
| 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 | Procedure Device Action Codes |


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
standard
common
parameters
also
apply.
See
Searching
for
more
information
about
searching
in
REST,
messaging,
and
services.
| Name | Type | Description | Paths |
|
|
token | A code to identify a procedure | Procedure.code |
| date | date | Date/Period the procedure was performed | Procedure.performed[x] |
| encounter | reference |
The
|
Procedure.encounter
( Encounter ) |
|
|
token |
|
Procedure.identifier |
|
|
|
|
( Location ) |
|
|
reference |
|
Procedure.subject
( Patient ) |
|
|
|
|
( Patient , Organization , Practitioner , RelatedPerson ) |
| subject | reference | Search by subject |
Procedure.subject
( Patient , Group ) |