This
page
is
part
of
the
FHIR
Specification
(v4.3.0:
R4B
(v5.0.0-ballot:
R5
Ballot
-
STU
see
ballot
notes
).
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
patient,
practitioner,
device,
organization,
or
location.
For
example,
this
can
be
a
physical
intervention
on
a
patient
like
an
operation,
or
less
invasive
like
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
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.
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. 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.
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
TU | 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..* | canonical ( PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire ) |
Instantiates
FHIR
protocol
or
definition
|
|
Σ | 0..* | uri |
Instantiates
external
protocol
or
definition
|
|
Σ | 0..* | Reference ( CarePlan | ServiceRequest ) |
A
request
for
this
procedure
|
|
Σ | 0..* | Reference ( Procedure | Observation | MedicationAdministration ) |
Part
of
referenced
event
|
|
?! Σ | 1..1 | code |
preparation
|
in-progress
|
not-done
|
on-hold
|
stopped
|
completed
|
entered-in-error
|
unknown
EventStatus ( Required ) |
|
Σ | 0..1 | CodeableConcept |
Reason
for
current
status
Procedure Not Performed Reason (SNOMED-CT) ( Example ) |
|
Σ |
|
CodeableConcept |
Classification
of
the
procedure
Procedure Category Codes (SNOMED CT) ( Example ) |
|
Σ | 0..1 | CodeableConcept |
Identification
of
the
procedure
Procedure Codes (SNOMED CT) ( Example ) |
|
Σ | 1..1 | Reference ( Patient | Group | Device | Practitioner | Organization | Location ) |
|
|
Σ | 0..1 |
Reference
(
|
|
|
Σ | 0..1 | Reference ( Encounter ) |
The
Encounter
during
which
this
Procedure
was
created
|
![]() ![]() | Σ | 0..1 |
When
the
procedure
|
|
| dateTime | |||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Σ | 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 ) | |||
|
Σ | 0..* | BackboneElement |
The
people
who
performed
the
procedure
|
|
Σ | 0..1 | CodeableConcept |
Type
of
performance
Procedure Performer Role Codes ( Example ) |
|
Σ | 1..1 | Reference ( Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device | CareTeam | HealthcareService ) |
Who
performed
the
|
|
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
the
procedure
was
performed
Procedure Reason Codes ( Example ) |
|
Σ | 0..* | CodeableConcept |
Target
body
sites
SNOMED CT Body Structures ( Example ) |
|
Σ | 0..1 | CodeableConcept |
The
result
of
procedure
Procedure Outcome Codes (SNOMED CT) ( Example ) |
|
0..* | Reference ( DiagnosticReport | DocumentReference | Composition ) |
Any
report
resulting
from
the
procedure
|
|
|
0..* | CodeableConcept |
Complication
following
the
procedure
Condition/Problem/Diagnosis Codes ( Example ) |
|
|
0..* | Reference ( Condition ) |
A
condition
that
is
a
result
of
the
procedure
|
|
|
0..* | CodeableConcept |
Instructions
for
follow
up
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
Procedure Device Action Codes ( Preferred ) |
|
|
1..1 | Reference ( Device ) |
Device
that
was
changed
|
|
|
0..* |
|
Items
used
during
procedure
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><!-- 0..* Identifier External Identifiers for this procedure --></identifier> <instantiatesCanonical><!-- 0..* canonical(ActivityDefinition|Measure| OperationDefinition|PlanDefinition|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(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><category><!-- 0..* CodeableConcept Classification of the procedure --></category> <code><!-- 0..1 CodeableConcept Identification of the procedure --></code><</subject> <</encounter> <</performed[x]><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) 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><| </asserter><reported[x]><!-- 0..1 boolean|Reference(Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) Reported rather than primary record --></reported[x]> <performer> <!-- 0..* The people who performed the procedure --> <function><!-- 0..1 CodeableConcept Type of performance --></function><| </actor><actor><!-- 1..1 Reference(CareTeam|Device|HealthcareService|Organization| Patient|Practitioner|PractitionerRole|RelatedPerson) Who performed the procedure --></actor> <onBehalfOf><!-- 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><reason><!-- 0..* CodeableReference(Condition|DiagnosticReport|DocumentReference| Observation|Procedure) The justification that the procedure was performed --></reason> <bodySite><!-- 0..* CodeableConcept Target body sites --></bodySite> <outcome><!-- 0..1 CodeableConcept The result of procedure --></outcome> <report><!-- 0..* Reference(Composition|DiagnosticReport|DocumentReference) 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> <</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
"|
"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(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) }, // 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" : [{ // The people who performed the procedure
"function" : { CodeableConcept }, // Type of performance
"|
"
"actor" : { Reference(CareTeam|Device|HealthcareService|Organization|
Patient|Practitioner|PractitionerRole|RelatedPerson) }, // R! Who performed the procedure
"onBehalfOf" : { Reference(Organization) }, // 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(Condition|DiagnosticReport|DocumentReference|
Observation|Procedure) }], // The justification that the procedure was performed
"bodySite" : [{ CodeableConcept }], // Target body sites
"outcome" : { CodeableConcept }, // The result of procedure
"report" : [{ Reference(Composition|DiagnosticReport|DocumentReference) }], // 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
}],
"
"
"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 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(ActivityDefinition|Measure|OperationDefinition|PlanDefinition|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(MedicationAdministration|Observation|Procedure) ], ... ; # 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 statusfhir:fhir:Procedure.category [ CodeableConcept ], ... ; # 0..* Classification of the procedure fhir:Procedure.code [ CodeableConcept ]; # 0..1 Identification of the procedurefhir: fhir: # . One of these 5 fhir: ] fhir: ] fhir: ] fhir: ] fhir: ]fhir:Procedure.subject [ Reference(Device|Group|Location|Organization|Patient|Practitioner) ]; # 1..1 Individual or entity the procedure was performed on fhir:Procedure.focus [ Reference(CareTeam|Group|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ]; # 0..1 Who is the target of the procedure when it is not the subject of record only fhir:Procedure.encounter [ Reference(Encounter) ]; # 0..1 The Encounter during which this Procedure was created # Procedure.occurrence[x] : 0..1 When the procedure occurred or is occurring. One of these 6 fhir:Procedure.occurrenceDateTime [ dateTime ] fhir:Procedure.occurrencePeriod [ Period ] fhir:Procedure.occurrenceString [ string ] fhir:Procedure.occurrenceAge [ Age ] fhir:Procedure.occurrenceRange [ Range ] fhir:Procedure.occurrenceTiming [ Timing ] fhir:Procedure.recorded [ dateTime ]; # 0..1 When the procedure was first captured in the subject's record fhir:Procedure.recorder [ Reference(Patient|Practitioner|PractitionerRole|RelatedPerson) ]; # 0..1 Who recorded the procedurefhir:# Procedure.reported[x] : 0..1 Reported rather than primary record. One of these 2 fhir:Procedure.reportedBoolean [ boolean ] fhir:Procedure.reportedReference [ Reference(Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ] fhir:Procedure.performer [ # 0..* The people who performed the procedure fhir:Procedure.performer.function [ CodeableConcept ]; # 0..1 Type of performancefhir:fhir:Procedure.performer.actor [ Reference(CareTeam|Device|HealthcareService|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) ]; # 1..1 Who performed the procedure fhir:Procedure.performer.onBehalfOf [ Reference(Organization) ]; # 0..1 Organization the device or practitioner was acting for fhir:Procedure.performer.period [ Period ]; # 0..1 When the performer performed the procedure ], ...; fhir:Procedure.location [ Reference(Location) ]; # 0..1 Where the procedure happenedfhir: fhir:fhir:Procedure.reason [ CodeableReference(Condition|DiagnosticReport|DocumentReference|Observation|Procedure) ], ... ; # 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(Composition|DiagnosticReport|DocumentReference) ], ... ; # 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: fhir:fhir:Procedure.used [ CodeableReference(BiologicallyDerivedProduct|Device|Medication|Substance) ], ... ; # 0..* Items used during procedure fhir:Procedure.supportingInfo [ Reference(Any) ], ... ; # 0..* Extra information relevant to the procedure ]
Changes since R4
| Procedure | |
| Procedure.category |
|
| Procedure.subject |
|
| Procedure.focus |
|
| Procedure.occurrence[x] |
|
| Procedure.recorded |
|
| Procedure.reported[x] |
|
| Procedure.performer.actor |
|
| Procedure.performer.period |
|
| Procedure.reason |
|
| Procedure.used |
|
| Procedure.supportingInfo |
|
| Procedure.performed[x] |
|
| Procedure.asserter |
|
| Procedure.reasonCode |
|
| Procedure.reasonReference |
|
| Procedure.usedReference |
|
| Procedure.usedCode |
|
See the Full Difference for further information
This analysis is available as XML or JSON .
Conversions
between
R3
and
R4
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
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
TU | 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..* | canonical ( PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire ) |
Instantiates
FHIR
protocol
or
definition
|
|
Σ | 0..* | uri |
Instantiates
external
protocol
or
definition
|
|
Σ | 0..* | Reference ( CarePlan | ServiceRequest ) |
A
request
for
this
procedure
|
|
Σ | 0..* | Reference ( Procedure | Observation | MedicationAdministration ) |
Part
of
referenced
event
|
|
?! Σ | 1..1 | code |
preparation
|
in-progress
|
not-done
|
on-hold
|
stopped
|
completed
|
entered-in-error
|
unknown
EventStatus ( Required ) |
|
Σ | 0..1 | CodeableConcept |
Reason
for
current
status
Procedure Not Performed Reason (SNOMED-CT) ( Example ) |
|
Σ |
|
CodeableConcept |
Classification
of
the
procedure
Procedure Category Codes (SNOMED CT) ( Example ) |
|
Σ | 0..1 | CodeableConcept |
Identification
of
the
procedure
Procedure Codes (SNOMED CT) ( Example ) |
|
Σ | 1..1 | Reference ( Patient | Group | Device | Practitioner | Organization | Location ) |
|
|
Σ | 0..1 |
Reference
(
|
|
|
Σ | 0..1 | Reference ( Encounter ) |
The
Encounter
during
which
this
Procedure
was
created
|
![]() ![]() | Σ | 0..1 |
When
the
procedure
|
|
| dateTime | |||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Σ | 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 ) | |||
|
Σ | 0..* | BackboneElement |
The
people
who
performed
the
procedure
|
|
Σ | 0..1 | CodeableConcept |
Type
of
performance
Procedure Performer Role Codes ( Example ) |
|
Σ | 1..1 | Reference ( Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device | CareTeam | HealthcareService ) |
Who
performed
the
|
|
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
the
procedure
was
performed
Procedure Reason Codes ( Example ) |
|
Σ | 0..* | CodeableConcept |
Target
body
sites
SNOMED CT Body Structures ( Example ) |
|
Σ | 0..1 | CodeableConcept |
The
result
of
procedure
Procedure Outcome Codes (SNOMED CT) ( Example ) |
|
0..* | Reference ( DiagnosticReport | DocumentReference | Composition ) |
Any
report
resulting
from
the
procedure
|
|
|
0..* | CodeableConcept |
Complication
following
the
procedure
Condition/Problem/Diagnosis Codes ( Example ) |
|
|
0..* | Reference ( Condition ) |
A
condition
that
is
a
result
of
the
procedure
|
|
|
0..* | CodeableConcept |
Instructions
for
follow
up
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
Procedure Device Action Codes ( Preferred ) |
|
|
1..1 | Reference ( Device ) |
Device
that
was
changed
|
|
|
0..* |
|
Items
used
during
procedure
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><!-- 0..* Identifier External Identifiers for this procedure --></identifier> <instantiatesCanonical><!-- 0..* canonical(ActivityDefinition|Measure| OperationDefinition|PlanDefinition|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(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><category><!-- 0..* CodeableConcept Classification of the procedure --></category> <code><!-- 0..1 CodeableConcept Identification of the procedure --></code><</subject> <</encounter> <</performed[x]><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) 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><| </asserter><reported[x]><!-- 0..1 boolean|Reference(Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) Reported rather than primary record --></reported[x]> <performer> <!-- 0..* The people who performed the procedure --> <function><!-- 0..1 CodeableConcept Type of performance --></function><| </actor><actor><!-- 1..1 Reference(CareTeam|Device|HealthcareService|Organization| Patient|Practitioner|PractitionerRole|RelatedPerson) Who performed the procedure --></actor> <onBehalfOf><!-- 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><reason><!-- 0..* CodeableReference(Condition|DiagnosticReport|DocumentReference| Observation|Procedure) The justification that the procedure was performed --></reason> <bodySite><!-- 0..* CodeableConcept Target body sites --></bodySite> <outcome><!-- 0..1 CodeableConcept The result of procedure --></outcome> <report><!-- 0..* Reference(Composition|DiagnosticReport|DocumentReference) 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> <</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
"|
"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(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) }, // 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" : [{ // The people who performed the procedure
"function" : { CodeableConcept }, // Type of performance
"|
"
"actor" : { Reference(CareTeam|Device|HealthcareService|Organization|
Patient|Practitioner|PractitionerRole|RelatedPerson) }, // R! Who performed the procedure
"onBehalfOf" : { Reference(Organization) }, // 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(Condition|DiagnosticReport|DocumentReference|
Observation|Procedure) }], // The justification that the procedure was performed
"bodySite" : [{ CodeableConcept }], // Target body sites
"outcome" : { CodeableConcept }, // The result of procedure
"report" : [{ Reference(Composition|DiagnosticReport|DocumentReference) }], // 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
}],
"
"
"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 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(ActivityDefinition|Measure|OperationDefinition|PlanDefinition|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(MedicationAdministration|Observation|Procedure) ], ... ; # 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 statusfhir:fhir:Procedure.category [ CodeableConcept ], ... ; # 0..* Classification of the procedure fhir:Procedure.code [ CodeableConcept ]; # 0..1 Identification of the procedurefhir: fhir: # . One of these 5 fhir: ] fhir: ] fhir: ] fhir: ] fhir: ]fhir:Procedure.subject [ Reference(Device|Group|Location|Organization|Patient|Practitioner) ]; # 1..1 Individual or entity the procedure was performed on fhir:Procedure.focus [ Reference(CareTeam|Group|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ]; # 0..1 Who is the target of the procedure when it is not the subject of record only fhir:Procedure.encounter [ Reference(Encounter) ]; # 0..1 The Encounter during which this Procedure was created # Procedure.occurrence[x] : 0..1 When the procedure occurred or is occurring. One of these 6 fhir:Procedure.occurrenceDateTime [ dateTime ] fhir:Procedure.occurrencePeriod [ Period ] fhir:Procedure.occurrenceString [ string ] fhir:Procedure.occurrenceAge [ Age ] fhir:Procedure.occurrenceRange [ Range ] fhir:Procedure.occurrenceTiming [ Timing ] fhir:Procedure.recorded [ dateTime ]; # 0..1 When the procedure was first captured in the subject's record fhir:Procedure.recorder [ Reference(Patient|Practitioner|PractitionerRole|RelatedPerson) ]; # 0..1 Who recorded the procedurefhir:# Procedure.reported[x] : 0..1 Reported rather than primary record. One of these 2 fhir:Procedure.reportedBoolean [ boolean ] fhir:Procedure.reportedReference [ Reference(Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ] fhir:Procedure.performer [ # 0..* The people who performed the procedure fhir:Procedure.performer.function [ CodeableConcept ]; # 0..1 Type of performancefhir:fhir:Procedure.performer.actor [ Reference(CareTeam|Device|HealthcareService|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) ]; # 1..1 Who performed the procedure fhir:Procedure.performer.onBehalfOf [ Reference(Organization) ]; # 0..1 Organization the device or practitioner was acting for fhir:Procedure.performer.period [ Period ]; # 0..1 When the performer performed the procedure ], ...; fhir:Procedure.location [ Reference(Location) ]; # 0..1 Where the procedure happenedfhir: fhir:fhir:Procedure.reason [ CodeableReference(Condition|DiagnosticReport|DocumentReference|Observation|Procedure) ], ... ; # 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(Composition|DiagnosticReport|DocumentReference) ], ... ; # 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: fhir:fhir:Procedure.used [ CodeableReference(BiologicallyDerivedProduct|Device|Medication|Substance) ], ... ; # 0..* Items used during procedure fhir:Procedure.supportingInfo [ Reference(Any) ], ... ; # 0..* Extra information relevant to the procedure ]
Changes since Release 4
| Procedure | |
| Procedure.category |
|
| Procedure.subject |
|
| Procedure.focus |
|
| Procedure.occurrence[x] |
|
| Procedure.recorded |
|
| Procedure.reported[x] |
|
| Procedure.performer.actor |
|
| Procedure.performer.period |
|
| Procedure.reason |
|
| Procedure.used |
|
| Procedure.supportingInfo |
|
| Procedure.performed[x] |
|
| Procedure.asserter |
|
| Procedure.reasonCode |
|
| Procedure.reasonReference |
|
| Procedure.usedReference |
|
| Procedure.usedCode |
|
See the Full Difference for further information
This analysis is available as XML or JSON .
Conversions
between
R3
and
R4
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
Additional
definitions:
Master
Definition
XML
+
JSON
,
XML
Schema
/
Schematron
+
JSON
Schema
,
ShEx
(for
Turtle
)
+
see
the
extensions
,
the
spreadsheet
version
&
the
dependency
analysis
| Path | Definition | Type | Reference |
|---|---|---|---|
| Procedure.status |
Codes identifying the lifecycle stage of an event. |
Required | EventStatus |
| Procedure.statusReason |
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). |
Example | ProcedureNotPerformedReason(SNOMED-CT) |
| Procedure.category |
Procedure Category code: A selection of relevant SNOMED CT codes. |
Example | ProcedureCategoryCodes(SNOMEDCT) |
| Procedure.code |
Procedure Code: All SNOMED CT procedure codes. |
Example | ProcedureCodes(SNOMEDCT) |
| Procedure.performer.function |
This example value set defines the set of codes that can be used to indicate a role of a procedure performer. |
Example | ProcedurePerformerRoleCodes |
|
|
This example value set defines the set of codes that can be used to indicate a reason for a procedure. |
Example | ProcedureReasonCodes |
| Procedure.bodySite |
This
value
set
includes
all
codes
from
SNOMED
CT
|
Example | SNOMEDCTBodyStructures |
| Procedure.outcome |
Procedure Outcome code: A selection of relevant SNOMED CT codes. |
Example | ProcedureOutcomeCodes(SNOMEDCT) |
| Procedure.complication |
Example value set for Condition/Problem/Diagnosis codes. |
Example | Condition/Problem/DiagnosisCodes |
| Procedure.followUp |
Procedure follow up codes: A selection of SNOMED CT codes relevant to procedure follow up. |
Example | ProcedureFollowUpCodes(SNOMEDCT) |
| Procedure.focalDevice.action |
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. |
Preferred | ProcedureDeviceActionCodes |
| Procedure.used |
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. |
Example |
|
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 | |
| date | date |
When
the
procedure
|
|
|
| encounter | reference |
The
Encounter
during
which
this
Procedure
was
created
|
Procedure.encounter
( Encounter ) |
|
| identifier | token | A unique identifier for a procedure | Procedure.identifier | |
| instantiates-canonical N | reference | Instantiates FHIR protocol or definition |
Procedure.instantiatesCanonical
( Questionnaire , Measure , PlanDefinition , OperationDefinition , ActivityDefinition ) |
|
| instantiates-uri N | 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 ) |
|
| performer | reference |
|
Procedure.performer.actor
( Practitioner , Organization , CareTeam , Device , Patient , HealthcareService , PractitionerRole , RelatedPerson ) |
|
| reason-code D | token |
|
|
|
| reason-reference D | reference |
| Procedure.reason.reference | |
| report | reference |
Any
report
resulting
from
the
procedure
|
( |
|
| status N | token | preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown | Procedure.status | |
| subject | reference | Search by subject |
Procedure.subject
( Practitioner , Group , Organization , Device , Patient , Location ) |