This
page
is
part
of
the
FHIR
Specification
(v3.0.2:
STU
3).
The
current
version
which
supercedes
this
version
is
5.0.0
.
For
a
full
list
Continuous
Integration
Build
of
available
versions,
see
FHIR
(will
be
incorrect/inconsistent
at
times).
See
the
Directory
of
published
versions
.
Page
versions:
R5
R4B
R4
R3
R2
Responsible
Owner:
Patient
Care
Work
Group
|
|
Security Category : Patient | Compartments : Encounter , Group , Patient , Practitioner , RelatedPerson |
An
action
that
is
or
was
performed
on
or
for
a
patient.
This
patient,
practitioner,
device,
organization,
or
location.
For
example,
this
can
be
a
physical
intervention
on
a
patient
like
an
operation,
or
less
invasive
like
counseling
long
term
services,
counseling,
or
hypnotherapy.
This
can
be
a
quality
or
safety
inspection
for
a
location,
organization,
or
device.
This
can
be
an
accreditation
procedure
on
a
practitioner
for
licensing.
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
a
patient.
A
procedure
is
an
activity
that
is
performed
with
on,
with,
or
on
for
a
patient
as
part
of
the
provision
of
care.
patient,
practitioner,
device,
organization,
or
location.
Examples
include
surgical
procedures,
diagnostic
procedures,
endoscopic
procedures,
biopsies,
counseling,
physiotherapy,
personal
support
services,
adult
day
care
services,
non-emergency
transportation,
home
modification,
exercise,
verification
of
enrollment
qualifications
for
a
social
program
etc.
Procedures
may
be
performed
by
a
healthcare
professional,
a
service
provider,
a
friend
or
relative
or
in
some
cases
by
the
patient
themselves.
Procedures can be performed on other non-patient subjects. For example, a procedure can represent an inspection to verify temperature or humidity for storage at a given location. Additionally, a procedure can represent the verification of the practitioner's qualifications for accreditation.
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.
e.g.
immunizations
,
drug
administrations
and
,
communications
,
and
nutrition
intake
.
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
Procedure
resource
is
used
to
describe
the
activity.
Some
diagnostic
procedures
may
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.)
This
resource
A
Task
is
referenced
by
a
workflow
step
such
as
canceling
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.
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
Filter:
|
|---|---|---|---|---|
|
|
DomainResource |
An
action
that
is
being
or
was
performed
on
+ Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension |
|
|
Σ | 0..* | Identifier |
External
Identifiers
for
this
procedure
|
|
Σ | 0..* |
Reference
(
CarePlan
|
|
A
request
for
this
procedure
|
|
Σ | 0..* | Reference ( Procedure | Observation | MedicationAdministration ) |
Part
of
referenced
event
|
|
?! Σ | 1..1 | code |
preparation
|
in-progress
|
Binding: EventStatus ( Required ) |
|
Σ
|
0..1 | CodeableConcept |
Reason
Binding: Procedure Not Performed Reason (SNOMED-CT) ( Example ) |
|
Σ | 0..* | CodeableConcept |
Classification
of
the
procedure
Binding: Procedure Category Codes (SNOMED CT) ( Example ) |
|
Σ | 0..1 | CodeableConcept |
Identification
of
the
procedure
Binding: Procedure Codes (SNOMED CT) ( Example ) |
|
Σ | 1..1 | Reference ( Patient | Group | Device | Practitioner | Organization | Location ) |
Individual
or
entity
the
procedure
was
performed
on
|
|
?! Σ | 0..1 |
Reference
(
|
Who
is
the
target
of
the
procedure
when
it
is
not
the
subject
of
record
only
|
|
Σ | 0..1 | Reference ( Encounter ) |
The
Encounter
during
which
this
Procedure
was
created
|
| Σ | 0..1 |
When
the
procedure
|
|
|
dateTime | |||
|
Period | |||
| string | |||
| Age | |||
|
|
|
|
|
| Timing | |||
![]() ![]() | Σ | 0..1 | dateTime |
When
the
procedure
was
first
captured
in
the
subject's
record
|
| Σ | 0..1 | Reference ( Patient | RelatedPerson | Practitioner | PractitionerRole ) |
Who
recorded
the
procedure
|
![]() ![]() | Σ | 0..1 |
Reported
rather
than
primary
record
| |
| boolean | |||
| Reference ( Patient | RelatedPerson | Practitioner | PractitionerRole | Organization ) | |||
| Σ C | 0..* | BackboneElement |
Who
performed
the
procedure
and
what
they
did
+ Rule: Procedure.performer.onBehalfOf can only be populated when performer.actor isn't Practitioner or PractitionerRole |
|
Σ | 0..1 | CodeableConcept |
Type
of
performance
|
|
Σ C | 1..1 | Reference ( Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device | CareTeam | HealthcareService ) |
Who
performed
the
|
|
C | 0..1 | Reference ( Organization ) |
Organization
the
device
or
practitioner
was
acting
for
|
|
0..1 |
|
When
the
performer
performed
the
procedure
|
|
|
Σ
|
0..1 |
|
Where
the
procedure
happened
|
|
Σ | 0..* |
|
The
justification
that
Binding: Procedure Reason Codes ( Example ) |
|
Σ C | 0..* | CodeableConcept |
Target
body
sites
Binding: SNOMED CT Body Structures ( Example ) |
|
|
0..1 | Reference ( BodyStructure ) |
Target
body
structure
|
|
Σ | 0..* | CodeableReference ( Observation ) |
The
result
of
procedure
Binding: Procedure Outcome Codes (SNOMED CT) ( Example ) |
|
0..* | Reference ( DiagnosticReport | DocumentReference | Composition | Bundle ) |
Any
report
resulting
from
the
procedure
|
|
|
Σ | 0..* |
|
Complication
following
the
procedure
Binding: Condition/Problem/Diagnosis Codes ( Example ) |
|
0..* |
|
Instructions
for
follow
up
Binding: Procedure Follow up Codes (SNOMED CT) ( Example ) |
|
|
0..* | Annotation |
Additional
information
about
the
procedure
|
|
|
0..* | BackboneElement |
Manipulated,
implanted,
or
removed
device
|
|
|
0..1 | CodeableConcept |
Kind
of
change
to
device
Binding: Procedure Device Action Codes ( Preferred ) |
|
|
1..1 | Reference ( Device ) |
Device
that
was
changed
|
|
|
0..* |
|
Items
used
during
procedure
Binding: Device Type ( Example ) |
|
|
0..* |
|
Extra
information
relevant
to
the
procedure
|
|
Documentation
for
this
format
|
||||
See the Extensions for this resource
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> <| </definition> <</basedOn> <</partOf> < < <</notDoneReason> <</category><identifier><!-- 0..* Identifier External Identifiers for this procedure --></identifier> <basedOn><!-- 0..* Reference(CarePlan|MedicationRequest|ServiceRequest) A request for this procedure --></basedOn> <partOf><!-- 0..* Reference(MedicationAdministration|Observation|Procedure) 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..* CodeableConcept Classification of the procedure --></category> <code><!-- 0..1 CodeableConcept Identification of the procedure --></code><</subject> <</context> <</performed[x]> < <</role> <| </actor> <</onBehalfOf><subject><!-- 1..1 Reference(Device|Group|Location|Organization|Patient| Practitioner) Individual or entity the procedure was performed on --></subject> <focus><!-- 0..1 Reference(CareTeam|Group|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson|Specimen) Who is the target of the procedure when it is not the subject of record only --></focus> <encounter><!-- 0..1 Reference(Encounter) The Encounter during which this Procedure was created --></encounter> <occurrence[x]><!-- 0..1 dateTime|Period|string|Age|Range|Timing When the procedure occurred or is occurring --></occurrence[x]> <recorded value="[dateTime]"/><!-- 0..1 When the procedure was first captured in the subject's record --> <recorder><!-- 0..1 Reference(Patient|Practitioner|PractitionerRole| RelatedPerson) Who recorded the procedure --></recorder> <reported[x]><!-- 0..1 boolean|Reference(Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) Reported rather than primary record --></reported[x]> <performer> <!-- 0..* Who performed the procedure and what they did --> <function><!-- 0..1 CodeableConcept Type of performance --></function> <actor><!-- I 1..1 Reference(CareTeam|Device|HealthcareService|Organization| Patient|Practitioner|PractitionerRole|RelatedPerson) Who performed the procedure --></actor> <onBehalfOf><!-- I 0..1 Reference(Organization) Organization the device or practitioner was acting for --></onBehalfOf> <period><!-- 0..1 Period When the performer performed the procedure --></period> </performer> <location><!-- 0..1 Reference(Location) Where the procedure happened --></location><</reasonCode> <</reasonReference> <</bodySite> <</outcome> <</report> <</complication> <</complicationDetail> <</followUp> <</note> <<reason><!-- 0..* CodeableReference(ClinicalAssessment|Condition| DiagnosticReport|DocumentReference|Observation|Procedure) The justification that the procedure was performed --></reason> <bodySite><!-- I 0..* CodeableConcept Target body sites --></bodySite> <bodyStructure><!-- 0..1 Reference(BodyStructure) Target body structure --></bodyStructure> <outcome><!-- 0..* CodeableReference(Observation) The result of procedure --></outcome> <report><!-- 0..* Reference(Bundle|Composition|DiagnosticReport| DocumentReference) Any report resulting from the procedure --></report> <complication><!-- 0..* CodeableReference(Condition) Complication following the procedure --></complication> <followUp><!-- 0..* CodeableReference(PlanDefinition|ServiceRequest) 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> <</usedCode><used><!-- 0..* CodeableReference(BiologicallyDerivedProduct|Device|Medication| Substance) Items used during procedure --></used> <supportingInfo><!-- 0..* Reference(Any) Extra information relevant to the procedure --></supportingInfo> </Procedure>
JSON Template
{
"resourceType" : "",
"resourceType" : "Procedure",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"
"|
"
"
"
"
"
"
"
"
"
">",
" },
"
"
"|
"
"identifier" : [{ Identifier }], // External Identifiers for this procedure
"basedOn" : [{ Reference(CarePlan|MedicationRequest|ServiceRequest) }], // A request for this procedure
"partOf" : [{ Reference(MedicationAdministration|Observation|Procedure) }], // 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(Device|Group|Location|Organization|Patient|
Practitioner) }, // R! Individual or entity the procedure was performed on
"focus" : { Reference(CareTeam|Group|Organization|Patient|Practitioner|
PractitionerRole|RelatedPerson|Specimen) }, // Who is the target of the procedure when it is not the subject of record only
"encounter" : { Reference(Encounter) }, // The Encounter during which this Procedure was created
// occurrence[x]: When the procedure occurred or is occurring. One of these 6:
"occurrenceDateTime" : "<dateTime>",
"occurrencePeriod" : { Period },
"occurrenceString" : "<string>",
"occurrenceAge" : { Age },
"occurrenceRange" : { Range },
"occurrenceTiming" : { Timing },
"recorded" : "<dateTime>", // When the procedure was first captured in the subject's record
"recorder" : { Reference(Patient|Practitioner|PractitionerRole|
RelatedPerson) }, // Who recorded the procedure
// reported[x]: Reported rather than primary record. One of these 2:
"reportedBoolean" : <boolean>,
"reportedReference" : { Reference(Organization|Patient|Practitioner|
PractitionerRole|RelatedPerson) },
"performer" : [{ // Who performed the procedure and what they did
"function" : { CodeableConcept }, // Type of performance
"actor" : { Reference(CareTeam|Device|HealthcareService|Organization|
Patient|Practitioner|PractitionerRole|RelatedPerson) }, // I R! Who performed the procedure
"onBehalfOf" : { Reference(Organization) }, // I Organization the device or practitioner was acting for
"period" : { Period } // When the performer performed the procedure
}],
"
"
"
"
"
"
"
"
"
"
"
"
"
"location" : { Reference(Location) }, // Where the procedure happened
"reason" : [{ CodeableReference(ClinicalAssessment|Condition|
DiagnosticReport|DocumentReference|Observation|Procedure) }], // The justification that the procedure was performed
"bodySite" : [{ CodeableConcept }], // I Target body sites
"bodyStructure" : { Reference(BodyStructure) }, // Target body structure
"outcome" : [{ CodeableReference(Observation) }], // The result of procedure
"report" : [{ Reference(Bundle|Composition|DiagnosticReport|
DocumentReference) }], // Any report resulting from the procedure
"complication" : [{ CodeableReference(Condition) }], // Complication following the procedure
"followUp" : [{ CodeableReference(PlanDefinition|ServiceRequest) }], // 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
}],
"
"
"used" : [{ CodeableReference(BiologicallyDerivedProduct|Device|Medication|
Substance) }], // Items used during procedure
"supportingInfo" : [{ Reference(Any) }] // Extra information relevant to the procedure
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .![]()
[ a fhir:;[ a fhir:Procedure; fhir:nodeRole fhir:treeRoot; # if this is the parser root# from # from fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: # . One of these 2 fhir: ] fhir: ] fhir: fhir: fhir: fhir: ], ...; fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: ], ...; fhir: fhir:# from Resource: fhir:id, fhir:meta, fhir:implicitRules, and fhir:language # from DomainResource: fhir:text, fhir:contained, fhir:extension, and fhir:modifierExtension fhir:identifier ( [ Identifier ] ... ) ; # 0..* External Identifiers for this procedure fhir:basedOn ( [ Reference(CarePlan|MedicationRequest|ServiceRequest) ] ... ) ; # 0..* A request for this procedure fhir:partOf ( [ Reference(MedicationAdministration|Observation|Procedure) ] ... ) ; # 0..* Part of referenced event fhir:status [ code ] ; # 1..1 preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown fhir:statusReason [ CodeableConcept ] ; # 0..1 Reason for current status fhir:category ( [ CodeableConcept ] ... ) ; # 0..* Classification of the procedure fhir:code [ CodeableConcept ] ; # 0..1 Identification of the procedure fhir:subject [ Reference(Device|Group|Location|Organization|Patient|Practitioner) ] ; # 1..1 Individual or entity the procedure was performed on fhir:focus [ Reference(CareTeam|Group|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson| Specimen) ] ; # 0..1 Who is the target of the procedure when it is not the subject of record only fhir:encounter [ Reference(Encounter) ] ; # 0..1 The Encounter during which this Procedure was created # occurrence[x] : 0..1 When the procedure occurred or is occurring. One of these 6 fhir:occurrence [ a fhir:DateTime ; dateTime ] fhir:occurrence [ a fhir:Period ; Period ] fhir:occurrence [ a fhir:String ; string ] fhir:occurrence [ a fhir:Age ; Age ] fhir:occurrence [ a fhir:Range ; Range ] fhir:occurrence [ a fhir:Timing ; Timing ] fhir:recorded [ dateTime ] ; # 0..1 When the procedure was first captured in the subject's record fhir:recorder [ Reference(Patient|Practitioner|PractitionerRole|RelatedPerson) ] ; # 0..1 Who recorded the procedure # reported[x] : 0..1 Reported rather than primary record. One of these 2 fhir:reported [ a fhir:Boolean ; boolean ] fhir:reported [ a fhir:Reference ; Reference(Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ] fhir:performer ( [ # 0..* Who performed the procedure and what they did fhir:function [ CodeableConcept ] ; # 0..1 Type of performance fhir:actor [ Reference(CareTeam|Device|HealthcareService|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) ] ; # 1..1 I Who performed the procedure fhir:onBehalfOf [ Reference(Organization) ] ; # 0..1 I Organization the device or practitioner was acting for fhir:period [ Period ] ; # 0..1 When the performer performed the procedure ] ... ) ; fhir:location [ Reference(Location) ] ; # 0..1 Where the procedure happened fhir:reason ( [ CodeableReference(ClinicalAssessment|Condition|DiagnosticReport|DocumentReference|Observation| Procedure) ] ... ) ; # 0..* The justification that the procedure was performed fhir:bodySite ( [ CodeableConcept ] ... ) ; # 0..* I Target body sites fhir:bodyStructure [ Reference(BodyStructure) ] ; # 0..1 Target body structure fhir:outcome ( [ CodeableReference(Observation) ] ... ) ; # 0..* The result of procedure fhir:report ( [ Reference(Bundle|Composition|DiagnosticReport|DocumentReference) ] ... ) ; # 0..* Any report resulting from the procedure fhir:complication ( [ CodeableReference(Condition) ] ... ) ; # 0..* Complication following the procedure fhir:followUp ( [ CodeableReference(PlanDefinition|ServiceRequest) ] ... ) ; # 0..* Instructions for follow up fhir:note ( [ Annotation ] ... ) ; # 0..* Additional information about the procedure fhir:focalDevice ( [ # 0..* Manipulated, implanted, or removed device fhir:action [ CodeableConcept ] ; # 0..1 Kind of change to device fhir:manipulated [ Reference(Device) ] ; # 1..1 Device that was changed ] ... ) ; fhir:used ( [ CodeableReference(BiologicallyDerivedProduct|Device|Medication|Substance) ] ... ) ; # 0..* Items used during procedure fhir:supportingInfo ( [ Reference(Any) ] ... ) ; # 0..* Extra information relevant to the procedure ]
Changes
since
DSTU2
from
both
R4
and
R4B
| Procedure | |
|
|
|
|
|
|
| Procedure.subject |
|
| Procedure.focus |
|
|
|
|
|
|
|
|
|
|
|
|
|
| Procedure.performer.period |
|
| Procedure.reason |
|
| Procedure.bodyStructure |
|
| Procedure.outcome |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Procedure.usedReference |
|
| Procedure.usedCode |
|
See the Full Difference for further information
This
analysis
is
available
for
R4
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.).
for
R4B
as
XML
or
JSON
.
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
Filter:
|
|---|---|---|---|---|
|
|
DomainResource |
An
action
that
is
being
or
was
performed
on
+ Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension |
|
|
Σ | 0..* | Identifier |
External
Identifiers
for
this
procedure
|
|
Σ | 0..* |
Reference
(
CarePlan
|
|
A
request
for
this
procedure
|
|
Σ | 0..* | Reference ( Procedure | Observation | MedicationAdministration ) |
Part
of
referenced
event
|
|
?! Σ | 1..1 | code |
preparation
|
in-progress
|
Binding: EventStatus ( Required ) |
|
Σ
|
0..1 | CodeableConcept |
Reason
Binding: Procedure Not Performed Reason (SNOMED-CT) ( Example ) |
|
Σ | 0..* | CodeableConcept |
Classification
of
the
procedure
Binding: Procedure Category Codes (SNOMED CT) ( Example ) |
|
Σ | 0..1 | CodeableConcept |
Identification
of
the
procedure
Binding: Procedure Codes (SNOMED CT) ( Example ) |
|
Σ | 1..1 | Reference ( Patient | Group | Device | Practitioner | Organization | Location ) |
Individual
or
entity
the
procedure
was
performed
on
|
|
?! Σ | 0..1 |
Reference
(
|
Who
is
the
target
of
the
procedure
when
it
is
not
the
subject
of
record
only
|
|
Σ | 0..1 | Reference ( Encounter ) |
The
Encounter
during
which
this
Procedure
was
created
|
| Σ | 0..1 |
When
the
procedure
|
|
|
dateTime | |||
|
Period | |||
| string | |||
| Age | |||
|
|
|
|
|
| Timing | |||
![]() ![]() | Σ | 0..1 | dateTime |
When
the
procedure
was
first
captured
in
the
subject's
record
|
| Σ | 0..1 | Reference ( Patient | RelatedPerson | Practitioner | PractitionerRole ) |
Who
recorded
the
procedure
|
![]() ![]() | Σ | 0..1 |
Reported
rather
than
primary
record
| |
| boolean | |||
| Reference ( Patient | RelatedPerson | Practitioner | PractitionerRole | Organization ) | |||
| Σ C | 0..* | BackboneElement |
Who
performed
the
procedure
and
what
they
did
+ Rule: Procedure.performer.onBehalfOf can only be populated when performer.actor isn't Practitioner or PractitionerRole |
|
Σ | 0..1 | CodeableConcept |
Type
of
performance
|
|
Σ C | 1..1 | Reference ( Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device | CareTeam | HealthcareService ) |
Who
performed
the
|
|
C | 0..1 | Reference ( Organization ) |
Organization
the
device
or
practitioner
was
acting
for
|
|
0..1 |
|
When
the
performer
performed
the
procedure
|
|
|
Σ
|
0..1 |
|
Where
the
procedure
happened
|
|
Σ | 0..* |
|
The
justification
that
Binding: Procedure Reason Codes ( Example ) |
|
Σ C | 0..* | CodeableConcept |
Target
body
sites
Binding: SNOMED CT Body Structures ( Example ) |
|
|
0..1 | Reference ( BodyStructure ) |
Target
body
structure
|
|
Σ | 0..* | CodeableReference ( Observation ) |
The
result
of
procedure
Binding: Procedure Outcome Codes (SNOMED CT) ( Example ) |
|
0..* | Reference ( DiagnosticReport | DocumentReference | Composition | Bundle ) |
Any
report
resulting
from
the
procedure
|
|
|
Σ | 0..* |
|
Complication
following
the
procedure
Binding: Condition/Problem/Diagnosis Codes ( Example ) |
|
0..* |
|
Instructions
for
follow
up
Binding: Procedure Follow up Codes (SNOMED CT) ( Example ) |
|
|
0..* | Annotation |
Additional
information
about
the
procedure
|
|
|
0..* | BackboneElement |
Manipulated,
implanted,
or
removed
device
|
|
|
0..1 | CodeableConcept |
Kind
of
change
to
device
Binding: Procedure Device Action Codes ( Preferred ) |
|
|
1..1 | Reference ( Device ) |
Device
that
was
changed
|
|
|
0..* |
|
Items
used
during
procedure
Binding: Device Type ( Example ) |
|
|
0..* |
|
Extra
information
relevant
to
the
procedure
|
|
Documentation
for
this
format
|
||||
See the Extensions for this resource
XML Template
<<Procedure xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension -->
<</identifier> <| </definition> <</basedOn> <</partOf> < < <</notDoneReason> <</category><identifier><!-- 0..* Identifier External Identifiers for this procedure --></identifier> <basedOn><!-- 0..* Reference(CarePlan|MedicationRequest|ServiceRequest) A request for this procedure --></basedOn> <partOf><!-- 0..* Reference(MedicationAdministration|Observation|Procedure) 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..* CodeableConcept Classification of the procedure --></category> <code><!-- 0..1 CodeableConcept Identification of the procedure --></code><</subject> <</context> <</performed[x]> < <</role> <| </actor> <</onBehalfOf><subject><!-- 1..1 Reference(Device|Group|Location|Organization|Patient| Practitioner) Individual or entity the procedure was performed on --></subject> <focus><!-- 0..1 Reference(CareTeam|Group|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson|Specimen) Who is the target of the procedure when it is not the subject of record only --></focus> <encounter><!-- 0..1 Reference(Encounter) The Encounter during which this Procedure was created --></encounter> <occurrence[x]><!-- 0..1 dateTime|Period|string|Age|Range|Timing When the procedure occurred or is occurring --></occurrence[x]> <recorded value="[dateTime]"/><!-- 0..1 When the procedure was first captured in the subject's record --> <recorder><!-- 0..1 Reference(Patient|Practitioner|PractitionerRole| RelatedPerson) Who recorded the procedure --></recorder> <reported[x]><!-- 0..1 boolean|Reference(Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) Reported rather than primary record --></reported[x]> <performer> <!-- 0..* Who performed the procedure and what they did --> <function><!-- 0..1 CodeableConcept Type of performance --></function> <actor><!-- I 1..1 Reference(CareTeam|Device|HealthcareService|Organization| Patient|Practitioner|PractitionerRole|RelatedPerson) Who performed the procedure --></actor> <onBehalfOf><!-- I 0..1 Reference(Organization) Organization the device or practitioner was acting for --></onBehalfOf> <period><!-- 0..1 Period When the performer performed the procedure --></period> </performer> <location><!-- 0..1 Reference(Location) Where the procedure happened --></location><</reasonCode> <</reasonReference> <</bodySite> <</outcome> <</report> <</complication> <</complicationDetail> <</followUp> <</note> <<reason><!-- 0..* CodeableReference(ClinicalAssessment|Condition| DiagnosticReport|DocumentReference|Observation|Procedure) The justification that the procedure was performed --></reason> <bodySite><!-- I 0..* CodeableConcept Target body sites --></bodySite> <bodyStructure><!-- 0..1 Reference(BodyStructure) Target body structure --></bodyStructure> <outcome><!-- 0..* CodeableReference(Observation) The result of procedure --></outcome> <report><!-- 0..* Reference(Bundle|Composition|DiagnosticReport| DocumentReference) Any report resulting from the procedure --></report> <complication><!-- 0..* CodeableReference(Condition) Complication following the procedure --></complication> <followUp><!-- 0..* CodeableReference(PlanDefinition|ServiceRequest) 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> <</usedCode><used><!-- 0..* CodeableReference(BiologicallyDerivedProduct|Device|Medication| Substance) Items used during procedure --></used> <supportingInfo><!-- 0..* Reference(Any) Extra information relevant to the procedure --></supportingInfo> </Procedure>
JSON Template
{
"resourceType" : "",
"resourceType" : "Procedure",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"
"|
"
"
"
"
"
"
"
"
"
">",
" },
"
"
"|
"
"identifier" : [{ Identifier }], // External Identifiers for this procedure
"basedOn" : [{ Reference(CarePlan|MedicationRequest|ServiceRequest) }], // A request for this procedure
"partOf" : [{ Reference(MedicationAdministration|Observation|Procedure) }], // 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(Device|Group|Location|Organization|Patient|
Practitioner) }, // R! Individual or entity the procedure was performed on
"focus" : { Reference(CareTeam|Group|Organization|Patient|Practitioner|
PractitionerRole|RelatedPerson|Specimen) }, // Who is the target of the procedure when it is not the subject of record only
"encounter" : { Reference(Encounter) }, // The Encounter during which this Procedure was created
// occurrence[x]: When the procedure occurred or is occurring. One of these 6:
"occurrenceDateTime" : "<dateTime>",
"occurrencePeriod" : { Period },
"occurrenceString" : "<string>",
"occurrenceAge" : { Age },
"occurrenceRange" : { Range },
"occurrenceTiming" : { Timing },
"recorded" : "<dateTime>", // When the procedure was first captured in the subject's record
"recorder" : { Reference(Patient|Practitioner|PractitionerRole|
RelatedPerson) }, // Who recorded the procedure
// reported[x]: Reported rather than primary record. One of these 2:
"reportedBoolean" : <boolean>,
"reportedReference" : { Reference(Organization|Patient|Practitioner|
PractitionerRole|RelatedPerson) },
"performer" : [{ // Who performed the procedure and what they did
"function" : { CodeableConcept }, // Type of performance
"actor" : { Reference(CareTeam|Device|HealthcareService|Organization|
Patient|Practitioner|PractitionerRole|RelatedPerson) }, // I R! Who performed the procedure
"onBehalfOf" : { Reference(Organization) }, // I Organization the device or practitioner was acting for
"period" : { Period } // When the performer performed the procedure
}],
"
"
"
"
"
"
"
"
"
"
"
"
"
"location" : { Reference(Location) }, // Where the procedure happened
"reason" : [{ CodeableReference(ClinicalAssessment|Condition|
DiagnosticReport|DocumentReference|Observation|Procedure) }], // The justification that the procedure was performed
"bodySite" : [{ CodeableConcept }], // I Target body sites
"bodyStructure" : { Reference(BodyStructure) }, // Target body structure
"outcome" : [{ CodeableReference(Observation) }], // The result of procedure
"report" : [{ Reference(Bundle|Composition|DiagnosticReport|
DocumentReference) }], // Any report resulting from the procedure
"complication" : [{ CodeableReference(Condition) }], // Complication following the procedure
"followUp" : [{ CodeableReference(PlanDefinition|ServiceRequest) }], // 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
}],
"
"
"used" : [{ CodeableReference(BiologicallyDerivedProduct|Device|Medication|
Substance) }], // Items used during procedure
"supportingInfo" : [{ Reference(Any) }] // Extra information relevant to the procedure
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .![]()
[ a fhir:;[ a fhir:Procedure; fhir:nodeRole fhir:treeRoot; # if this is the parser root# from # from fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: # . One of these 2 fhir: ] fhir: ] fhir: fhir: fhir: fhir: ], ...; fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: ], ...; fhir: fhir:# from Resource: fhir:id, fhir:meta, fhir:implicitRules, and fhir:language # from DomainResource: fhir:text, fhir:contained, fhir:extension, and fhir:modifierExtension fhir:identifier ( [ Identifier ] ... ) ; # 0..* External Identifiers for this procedure fhir:basedOn ( [ Reference(CarePlan|MedicationRequest|ServiceRequest) ] ... ) ; # 0..* A request for this procedure fhir:partOf ( [ Reference(MedicationAdministration|Observation|Procedure) ] ... ) ; # 0..* Part of referenced event fhir:status [ code ] ; # 1..1 preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown fhir:statusReason [ CodeableConcept ] ; # 0..1 Reason for current status fhir:category ( [ CodeableConcept ] ... ) ; # 0..* Classification of the procedure fhir:code [ CodeableConcept ] ; # 0..1 Identification of the procedure fhir:subject [ Reference(Device|Group|Location|Organization|Patient|Practitioner) ] ; # 1..1 Individual or entity the procedure was performed on fhir:focus [ Reference(CareTeam|Group|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson| Specimen) ] ; # 0..1 Who is the target of the procedure when it is not the subject of record only fhir:encounter [ Reference(Encounter) ] ; # 0..1 The Encounter during which this Procedure was created # occurrence[x] : 0..1 When the procedure occurred or is occurring. One of these 6 fhir:occurrence [ a fhir:DateTime ; dateTime ] fhir:occurrence [ a fhir:Period ; Period ] fhir:occurrence [ a fhir:String ; string ] fhir:occurrence [ a fhir:Age ; Age ] fhir:occurrence [ a fhir:Range ; Range ] fhir:occurrence [ a fhir:Timing ; Timing ] fhir:recorded [ dateTime ] ; # 0..1 When the procedure was first captured in the subject's record fhir:recorder [ Reference(Patient|Practitioner|PractitionerRole|RelatedPerson) ] ; # 0..1 Who recorded the procedure # reported[x] : 0..1 Reported rather than primary record. One of these 2 fhir:reported [ a fhir:Boolean ; boolean ] fhir:reported [ a fhir:Reference ; Reference(Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ] fhir:performer ( [ # 0..* Who performed the procedure and what they did fhir:function [ CodeableConcept ] ; # 0..1 Type of performance fhir:actor [ Reference(CareTeam|Device|HealthcareService|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) ] ; # 1..1 I Who performed the procedure fhir:onBehalfOf [ Reference(Organization) ] ; # 0..1 I Organization the device or practitioner was acting for fhir:period [ Period ] ; # 0..1 When the performer performed the procedure ] ... ) ; fhir:location [ Reference(Location) ] ; # 0..1 Where the procedure happened fhir:reason ( [ CodeableReference(ClinicalAssessment|Condition|DiagnosticReport|DocumentReference|Observation| Procedure) ] ... ) ; # 0..* The justification that the procedure was performed fhir:bodySite ( [ CodeableConcept ] ... ) ; # 0..* I Target body sites fhir:bodyStructure [ Reference(BodyStructure) ] ; # 0..1 Target body structure fhir:outcome ( [ CodeableReference(Observation) ] ... ) ; # 0..* The result of procedure fhir:report ( [ Reference(Bundle|Composition|DiagnosticReport|DocumentReference) ] ... ) ; # 0..* Any report resulting from the procedure fhir:complication ( [ CodeableReference(Condition) ] ... ) ; # 0..* Complication following the procedure fhir:followUp ( [ CodeableReference(PlanDefinition|ServiceRequest) ] ... ) ; # 0..* Instructions for follow up fhir:note ( [ Annotation ] ... ) ; # 0..* Additional information about the procedure fhir:focalDevice ( [ # 0..* Manipulated, implanted, or removed device fhir:action [ CodeableConcept ] ; # 0..1 Kind of change to device fhir:manipulated [ Reference(Device) ] ; # 1..1 Device that was changed ] ... ) ; fhir:used ( [ CodeableReference(BiologicallyDerivedProduct|Device|Medication|Substance) ] ... ) ; # 0..* Items used during procedure fhir:supportingInfo ( [ Reference(Any) ] ... ) ; # 0..* Extra information relevant to the procedure ]
Changes
since
DSTU2
from
both
R4
and
R4B
| Procedure | |
|
|
|
|
|
|
| Procedure.subject |
|
|
|
|
|
|
|
|
|
|
| Procedure.reported[x] |
|
|
|
|
| Procedure.performer.period |
|
| Procedure.reason |
|
| Procedure.bodyStructure |
|
| Procedure.outcome |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Procedure.usedReference |
|
| Procedure.usedCode |
|
See the Full Difference for further information
This
analysis
is
available
for
R4
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.).
for
R4B
as
XML
or
JSON
.
Alternate
Additional
definitions:
Master
Definition
(
XML
,
+
JSON
),
,
XML
Schema
/
Schematron
(for
)
+
JSON
Schema
,
ShEx
(for
Turtle
)
+
see
the
extensions
,
the
spreadsheet
version
&
the
dependency
analysis
| Path |
|
Type |
|
|---|---|---|---|
| Procedure.status |
|
Required |
Codes identifying the lifecycle stage of an event. |
|
|
|
Example |
Situation codes describing the reason that a procedure, which might otherwise be expected, was not performed, or a procedure that was started and was not completed. Consists of SNOMED CT codes, children of procedure contraindicated (183932001), procedure discontinued (416406003), procedure not done (416237000), procedure not indicated (428119001), procedure not offered (416064006), procedure not wanted (416432009), procedure refused (183944003), and procedure stopped (394908001) as well as 410536001 Contraindicated (qualifier value). |
| Procedure.category |
|
Example |
Procedure
Category
|
| Procedure.code |
|
Example |
Procedure
|
| Procedure.performer.function |
|
Example |
Roles of participants that may be included in a care team. Defined as: Healthcare professional (occupation) or Services (qualifier value). |
|
|
|
Example |
This example value set defines the set of codes that can be used to indicate a reason for a procedure. |
| Procedure.bodySite |
|
Example |
This
value
set
includes
all
codes
from
SNOMED
CT
|
| Procedure.outcome |
|
Example |
Procedure
Outcome
|
| Procedure.complication |
|
Example |
Example
value
set
for
Condition/Problem/Diagnosis
|
| Procedure.followUp |
|
Example |
Procedure
|
| Procedure.focalDevice.action |
|
Preferred |
Example codes indicating the change that happened to the device during the procedure. Note that these are in no way complete and might not even be appropriate for some uses. |
| Procedure.used |
|
Example |
Codes used to identify medical devices. Includes concepts from SNOMED CT (http://www.snomed.org/) where concept is-a 49062001 (Device) and is provided as a suggestive example. |
| UniqueKey | Level | Location | Description | Expression |
prc-1
| Rule | Procedure.performer | Procedure.performer.onBehalfOf can only be populated when performer.actor isn't Practitioner or PractitionerRole | onBehalfOf.exists() and actor.resolve().exists() implies actor.resolve().where($this is Practitioner or $this is PractitionerRole).empty() |
con-4
| Rule | (base) |
bodyStructure
SHALL
only
|
|
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
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"
"name=amputation,
bodySite=heart".
Sometimes a complex procedure may consist of several subordinate procedures. In these cases, the list of procedures may be unwieldy for those attempting to view a procedure list. Two properties support ways of filtering and selecting procedures: the partOf property, which associates subordinate procedures to their containing procedures, and could be used to filter out those with partOf values in a higher-level list, and the category, which could be use to flag procedures that are, e.g., billable.
There are other activities that may be captured by an EHR that might not be of value to other providers (e.g. shaving, anesthesia, time admitted to recovery, etc.). The boundary between these classes may vary and is up to the judgment of the implementer. An option for capturing information of potential value that doesn't merit the name "procedure" is to use the note property.
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. See also the full list of search parameters for this resource , and check the Extensions registry for search parameters on extensions related to 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
( |
|
| category | token | Classification of the procedure | Procedure.category | |
| code | token | A code to identify a procedure | Procedure.code |
|
|
|
date |
|
|
|
|
|
reference |
|
( Encounter ) |
|
| identifier | token | A unique identifier for a procedure | Procedure.identifier |
|
| 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 |
( Patient ) |
|
| performer | reference |
|
Procedure.performer.actor
( Practitioner , Organization , CareTeam , Device , Patient , HealthcareService , PractitionerRole , RelatedPerson ) |
|
| reason-code | token | Reference to a concept (by class) | Procedure.reason.concept | |
| reason-reference | reference | Reference to a resource (by instance) | Procedure.reason.reference | |
| report | reference | Any report resulting from the procedure |
Procedure.report
( Composition , Bundle , DiagnosticReport , DocumentReference ) | |
| status | token |
preparation
|
in-progress
|
|
Procedure.status | |
| subject | reference | Search by subject |
Procedure.subject
( Practitioner , Group , Organization , Device , Patient , Location ) |