This
page
is
part
of
the
FHIR
Specification
(v3.0.2:
STU
3).
(v3.3.0:
R4
Ballot
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 : 3 | Trial Use | Compartments : Encounter , Patient , Practitioner , RelatedPerson |
An action that is or was performed on a patient. This can be a physical intervention like an operation, or less invasive like counseling or hypnotherapy.
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 or on a patient as part of the provision of care. Examples include surgical procedures, diagnostic procedures, endoscopic procedures, biopsies, counseling, physiotherapy, exercise, etc. Procedures may be performed by a healthcare professional, a friend or relative or in some cases by the patient themselves.
This resource provides summary information about the occurrence of the procedure and is not intended to provide real-time snapshots of a procedure as it unfolds, though for long-running procedures such as psychotherapy, it could represent summary level information about overall progress. The creation of a resource to support detailed real-time procedure information awaits the identification of a specific implementation use-case to share such information.
The Procedure resource should not be used to capture an event if a more specific resource already exists - i.e. immunizations , drug administrations and 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
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 is referenced by AdverseEvent , Appointment , ChargeItem , Claim , ClinicalImpression , DeviceUseStatement , Encounter , ExplanationOfBenefit , Flag , ImagingStudy , MedicationAdministration , MedicationDispense , MedicationStatement , Observation and QuestionnaireResponse
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
|
DomainResource |
An
action
that
is
being
or
was
performed
on
a
patient
|
|
|
Σ | 0..* | Identifier |
External
Identifiers
for
this
procedure
|
|
Σ | 0..* |
|
Instantiates
protocol
or
definition
|
|
Σ | 0..* |
Reference
(
CarePlan
|
|
A
request
for
this
procedure
|
|
Σ | 0..* | Reference ( Procedure | Observation | MedicationAdministration ) |
Part
of
referenced
event
|
|
?! Σ | 1..1 | code |
preparation
|
in-progress
|
not-done
|
suspended
|
aborted
|
completed
|
entered-in-error
|
unknown
EventStatus ( Required ) |
|
Σ
|
0..1 | CodeableConcept |
Reason
Procedure Not Performed Reason (SNOMED-CT) ( Example ) |
|
Σ | 0..1 | 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 ) | Who the procedure was performed on |
|
Σ | 0..1 | Reference ( Encounter | EpisodeOfCare ) | Encounter or episode associated with the procedure |
|
Σ | 0..1 |
|
|
|
dateTime | |||
|
Period | |||
| string | |||
![]() ![]() ![]() | Age | |||
![]() ![]() ![]() | Range | |||
![]() ![]() | Σ | 0..1 | Reference ( Patient | RelatedPerson | Practitioner | PractitionerRole ) | Who recorded the procedure |
![]() ![]() | Σ | 0..1 | Reference ( Patient | RelatedPerson | Practitioner | PractitionerRole ) | Person who asserts this procedure |
|
Σ | 0..* | BackboneElement |
The
people
who
performed
the
procedure
|
|
Σ | 0..1 | CodeableConcept |
The
role
the
actor
was
in
Procedure Performer Role Codes ( Example ) |
|
Σ | 1..1 | Reference ( Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device ) | The reference to the practitioner |
|
0..1 | Reference ( Organization ) | Organization the device or practitioner was acting for | |
|
Σ | 0..1 | Reference ( Location ) | Where the procedure happened |
|
Σ | 0..* | CodeableConcept |
Coded
reason
procedure
performed
Procedure Reason Codes ( Example ) |
|
Σ | 0..* | Reference ( Condition | Observation | Procedure | DiagnosticReport | DocumentReference ) |
|
|
Σ | 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
|
|
|
0..* | CodeableConcept |
Instructions
for
follow
up
Procedure Follow up Codes (SNOMED CT) ( Example ) |
|
|
0..* | Annotation |
Additional
information
about
the
procedure
|
|
|
0..* | BackboneElement |
|
|
|
0..1 | CodeableConcept |
Kind
of
change
to
device
Procedure Device Action Codes ( Preferred ) |
|
|
1..1 | Reference ( Device ) | Device that was changed | |
|
0..* | Reference ( Device | Medication | Substance ) |
Items
used
during
procedure
|
|
|
0..* | CodeableConcept |
Coded
items
used
during
the
procedure
FHIR Device Types ( Example ) |
|
Documentation
for
this
format
|
||||
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><identifier><!-- 0..* Identifier External Identifiers for this procedure --></identifier> <instantiates value="[uri]"/><!-- 0..* Instantiates protocol or definition --> <basedOn><!-- 0..* Reference(CarePlan|ServiceRequest) A request for this procedure --></basedOn> <partOf><!-- 0..* Reference(Procedure|Observation|MedicationAdministration) Part of referenced event --></partOf>< < <</notDoneReason><status value="[code]"/><!-- 1..1 preparation | in-progress | not-done | suspended | aborted | completed | entered-in-error | unknown --> <statusReason><!-- 0..1 CodeableConcept Reason for current status --></statusReason> <category><!-- 0..1 CodeableConcept Classification of the procedure --></category> <code><!-- 0..1 CodeableConcept Identification of the procedure --></code> <subject><!-- 1..1 Reference(Patient|Group) Who the procedure was performed on --></subject> <context><!-- 0..1 Reference(Encounter|EpisodeOfCare) Encounter or episode associated with the procedure --></context><</performed[x]><performed[x]><!-- 0..1 dateTime|Period|string|Age|Range When the procedure was performed --></performed[x]> <recorder><!-- 0..1 Reference(Patient|RelatedPerson|Practitioner| PractitionerRole) Who recorded the procedure --></recorder> <asserter><!-- 0..1 Reference(Patient|RelatedPerson|Practitioner| PractitionerRole) Person who asserts this procedure --></asserter> <performer> <!-- 0..* The people who performed the procedure --> <role><!-- 0..1 CodeableConcept The role the actor was in --></role><| </actor><actor><!-- 1..1 Reference(Practitioner|PractitionerRole|Organization|Patient| RelatedPerson|Device) The reference to the practitioner --></actor> <onBehalfOf><!-- 0..1 Reference(Organization) Organization the device or practitioner was acting for --></onBehalfOf> </performer> <location><!-- 0..1 Reference(Location) Where the procedure happened --></location> <reasonCode><!-- 0..* CodeableConcept Coded reason procedure performed --></reasonCode><</reasonReference><reasonReference><!-- 0..* Reference(Condition|Observation|Procedure| DiagnosticReport|DocumentReference) The justification that the procedure was performed --></reasonReference> <bodySite><!-- 0..* CodeableConcept Target body sites --></bodySite> <outcome><!-- 0..1 CodeableConcept The result of procedure --></outcome><</report><report><!-- 0..* Reference(DiagnosticReport|DocumentReference|Composition) Any report resulting from the procedure --></report> <complication><!-- 0..* CodeableConcept Complication following the procedure --></complication><</complicationDetail><complicationDetail><!-- 0..* Reference(Condition) A condition that is a result of the procedure --></complicationDetail> <followUp><!-- 0..* CodeableConcept Instructions for follow up --></followUp><</note> <<note><!-- 0..* Annotation Additional information about the procedure --></note> <focalDevice> <!-- 0..* Manipulated, implanted, or removed device --> <action><!-- 0..1 CodeableConcept Kind of change to device --></action> <manipulated><!-- 1..1 Reference(Device) Device that was changed --></manipulated> </focalDevice> <usedReference><!-- 0..* Reference(Device|Medication|Substance) Items used during procedure --></usedReference> <usedCode><!-- 0..* CodeableConcept Coded items used during the procedure --></usedCode> </Procedure>
JSON Template
{
"resourceType" : "",
"resourceType" : "Procedure",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"
"|
"
"
"
"
"
"
"
"
"
">",
" },
"
"
"|
"
"identifier" : [{ Identifier }], // External Identifiers for this procedure
"instantiates" : ["<uri>"], // Instantiates protocol or definition
"basedOn" : [{ Reference(CarePlan|ServiceRequest) }], // A request for this procedure
"partOf" : [{ Reference(Procedure|Observation|MedicationAdministration) }], // Part of referenced event
"status" : "<code>", // R! preparation | in-progress | not-done | suspended | aborted | completed | entered-in-error | unknown
"statusReason" : { CodeableConcept }, // Reason for current status
"category" : { CodeableConcept }, // Classification of the procedure
"code" : { CodeableConcept }, // Identification of the procedure
"subject" : { Reference(Patient|Group) }, // R! Who the procedure was performed on
"context" : { Reference(Encounter|EpisodeOfCare) }, // Encounter or episode associated with the procedure
// performed[x]: When the procedure was performed. One of these 5:
"performedDateTime" : "<dateTime>",
"performedPeriod" : { Period },
"performedString" : "<string>",
"performedAge" : { Age },
"performedRange" : { Range },
"recorder" : { Reference(Patient|RelatedPerson|Practitioner|
PractitionerRole) }, // Who recorded the procedure
"asserter" : { Reference(Patient|RelatedPerson|Practitioner|
PractitionerRole) }, // Person who asserts this procedure
"performer" : [{ // The people who performed the procedure
"role" : { CodeableConcept }, // The role the actor was in
"actor" : { Reference(Practitioner|PractitionerRole|Organization|Patient|
RelatedPerson|Device) }, // R! The reference to the practitioner
"onBehalfOf" : { Reference(Organization) } // Organization the device or practitioner was acting for
}],
"
"
"
"
"
"
"
"
"
"
"
"
"
"location" : { Reference(Location) }, // Where the procedure happened
"reasonCode" : [{ CodeableConcept }], // Coded reason procedure performed
"reasonReference" : [{ Reference(Condition|Observation|Procedure|
DiagnosticReport|DocumentReference) }], // The justification that the procedure was performed
"bodySite" : [{ CodeableConcept }], // Target body sites
"outcome" : { CodeableConcept }, // The result of procedure
"report" : [{ Reference(DiagnosticReport|DocumentReference|Composition) }], // Any report resulting from the procedure
"complication" : [{ CodeableConcept }], // Complication following the procedure
"complicationDetail" : [{ Reference(Condition) }], // A condition that is a result of the procedure
"followUp" : [{ CodeableConcept }], // Instructions for follow up
"note" : [{ Annotation }], // Additional information about the procedure
"focalDevice" : [{ // Manipulated, implanted, or removed device
"action" : { CodeableConcept }, // Kind of change to device
"manipulated" : { Reference(Device) } // R! Device that was changed
}],
"
"
"usedReference" : [{ Reference(Device|Medication|Substance) }], // Items used during procedure
"usedCode" : [{ CodeableConcept }] // Coded items used during the procedure
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:Procedure; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension
fhir: fhir: fhir:fhir:Procedure.identifier [ Identifier ], ... ; # 0..* External Identifiers for this procedure fhir:Procedure.instantiates [ uri ], ... ; # 0..* Instantiates protocol or definition fhir:Procedure.basedOn [ Reference(CarePlan|ServiceRequest) ], ... ; # 0..* A request for this procedure fhir:Procedure.partOf [ Reference(Procedure|Observation|MedicationAdministration) ], ... ; # 0..* Part of referenced eventfhir: fhir: fhir:fhir:Procedure.status [ code ]; # 1..1 preparation | in-progress | not-done | suspended | aborted | completed | entered-in-error | unknown fhir:Procedure.statusReason [ CodeableConcept ]; # 0..1 Reason for current status fhir:Procedure.category [ CodeableConcept ]; # 0..1 Classification of the procedure fhir:Procedure.code [ CodeableConcept ]; # 0..1 Identification of the procedure fhir:Procedure.subject [ Reference(Patient|Group) ]; # 1..1 Who the procedure was performed on fhir:Procedure.context [ Reference(Encounter|EpisodeOfCare) ]; # 0..1 Encounter or episode associated with the procedure# . One of these 2 fhir: ] fhir: ]# Procedure.performed[x] : 0..1 When the procedure was performed. One of these 5 fhir:Procedure.performedDateTime [ dateTime ] fhir:Procedure.performedPeriod [ Period ] fhir:Procedure.performedString [ string ] fhir:Procedure.performedAge [ Age ] fhir:Procedure.performedRange [ Range ] fhir:Procedure.recorder [ Reference(Patient|RelatedPerson|Practitioner|PractitionerRole) ]; # 0..1 Who recorded the procedure fhir:Procedure.asserter [ Reference(Patient|RelatedPerson|Practitioner|PractitionerRole) ]; # 0..1 Person who asserts this procedure fhir:Procedure.performer [ # 0..* The people who performed the procedure fhir:Procedure.performer.role [ CodeableConcept ]; # 0..1 The role the actor was infhir:fhir:Procedure.performer.actor [ Reference(Practitioner|PractitionerRole|Organization|Patient|RelatedPerson|Device) ]; # 1..1 The reference to the practitioner fhir:Procedure.performer.onBehalfOf [ Reference(Organization) ]; # 0..1 Organization the device or practitioner was acting for ], ...; fhir:Procedure.location [ Reference(Location) ]; # 0..1 Where the procedure happened fhir:Procedure.reasonCode [ CodeableConcept ], ... ; # 0..* Coded reason procedure performedfhir:fhir:Procedure.reasonReference [ Reference(Condition|Observation|Procedure|DiagnosticReport|DocumentReference) ], ... ; # 0..* The justification that the procedure was performed fhir:Procedure.bodySite [ CodeableConcept ], ... ; # 0..* Target body sites fhir:Procedure.outcome [ CodeableConcept ]; # 0..1 The result of procedurefhir:fhir:Procedure.report [ Reference(DiagnosticReport|DocumentReference|Composition) ], ... ; # 0..* Any report resulting from the procedure fhir:Procedure.complication [ CodeableConcept ], ... ; # 0..* Complication following the procedurefhir:fhir:Procedure.complicationDetail [ Reference(Condition) ], ... ; # 0..* A condition that is a result of the procedure fhir:Procedure.followUp [ CodeableConcept ], ... ; # 0..* Instructions for follow upfhir: fhir:fhir:Procedure.note [ Annotation ], ... ; # 0..* Additional information about the procedure fhir:Procedure.focalDevice [ # 0..* Manipulated, implanted, or removed device fhir:Procedure.focalDevice.action [ CodeableConcept ]; # 0..1 Kind of change to device fhir:Procedure.focalDevice.manipulated [ Reference(Device) ]; # 1..1 Device that was changed ], ...; fhir:Procedure.usedReference [ Reference(Device|Medication|Substance) ], ... ; # 0..* Items used during procedure fhir:Procedure.usedCode [ CodeableConcept ], ... ; # 0..* Coded items used during the procedure ]
Changes
since
DSTU2
R3
| Procedure | |
|
|
|
| Procedure.basedOn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
See the Full Difference for further information
This analysis is available 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.). Note: these have note yet been updated to be R3 to R4
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
|
DomainResource |
An
action
that
is
being
or
was
performed
on
a
patient
|
|
|
Σ | 0..* | Identifier |
External
Identifiers
for
this
procedure
|
|
Σ | 0..* |
|
Instantiates
protocol
or
definition
|
|
Σ | 0..* |
Reference
(
CarePlan
|
|
A
request
for
this
procedure
|
|
Σ | 0..* | Reference ( Procedure | Observation | MedicationAdministration ) |
Part
of
referenced
event
|
|
?! Σ | 1..1 | code |
preparation
|
in-progress
|
not-done
|
suspended
|
aborted
|
completed
|
entered-in-error
|
unknown
EventStatus ( Required ) |
|
Σ
|
0..1 | CodeableConcept |
Reason
Procedure Not Performed Reason (SNOMED-CT) ( Example ) |
|
Σ | 0..1 | 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 ) | Who the procedure was performed on |
|
Σ | 0..1 | Reference ( Encounter | EpisodeOfCare ) | Encounter or episode associated with the procedure |
|
Σ | 0..1 |
|
|
|
dateTime | |||
|
Period | |||
| string | |||
![]() ![]() ![]() | Age | |||
![]() ![]() ![]() | Range | |||
![]() ![]() | Σ | 0..1 | Reference ( Patient | RelatedPerson | Practitioner | PractitionerRole ) | Who recorded the procedure |
![]() ![]() | Σ | 0..1 | Reference ( Patient | RelatedPerson | Practitioner | PractitionerRole ) | Person who asserts this procedure |
|
Σ | 0..* | BackboneElement |
The
people
who
performed
the
procedure
|
|
Σ | 0..1 | CodeableConcept |
The
role
the
actor
was
in
Procedure Performer Role Codes ( Example ) |
|
Σ | 1..1 | Reference ( Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device ) | The reference to the practitioner |
|
0..1 | Reference ( Organization ) | Organization the device or practitioner was acting for | |
|
Σ | 0..1 | Reference ( Location ) | Where the procedure happened |
|
Σ | 0..* | CodeableConcept |
Coded
reason
procedure
performed
Procedure Reason Codes ( Example ) |
|
Σ | 0..* | Reference ( Condition | Observation | Procedure | DiagnosticReport | DocumentReference ) |
|
|
Σ | 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
|
|
|
0..* | CodeableConcept |
Instructions
for
follow
up
Procedure Follow up Codes (SNOMED CT) ( Example ) |
|
|
0..* | Annotation |
Additional
information
about
the
procedure
|
|
|
0..* | BackboneElement |
|
|
|
0..1 | CodeableConcept |
Kind
of
change
to
device
Procedure Device Action Codes ( Preferred ) |
|
|
1..1 | Reference ( Device ) | Device that was changed | |
|
0..* | Reference ( Device | Medication | Substance ) |
Items
used
during
procedure
|
|
|
0..* | CodeableConcept |
Coded
items
used
during
the
procedure
FHIR Device Types ( Example ) |
|
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> <| </definition> <</basedOn><identifier><!-- 0..* Identifier External Identifiers for this procedure --></identifier> <instantiates value="[uri]"/><!-- 0..* Instantiates protocol or definition --> <basedOn><!-- 0..* Reference(CarePlan|ServiceRequest) A request for this procedure --></basedOn> <partOf><!-- 0..* Reference(Procedure|Observation|MedicationAdministration) Part of referenced event --></partOf>< < <</notDoneReason><status value="[code]"/><!-- 1..1 preparation | in-progress | not-done | suspended | aborted | completed | entered-in-error | unknown --> <statusReason><!-- 0..1 CodeableConcept Reason for current status --></statusReason> <category><!-- 0..1 CodeableConcept Classification of the procedure --></category> <code><!-- 0..1 CodeableConcept Identification of the procedure --></code> <subject><!-- 1..1 Reference(Patient|Group) Who the procedure was performed on --></subject> <context><!-- 0..1 Reference(Encounter|EpisodeOfCare) Encounter or episode associated with the procedure --></context><</performed[x]><performed[x]><!-- 0..1 dateTime|Period|string|Age|Range When the procedure was performed --></performed[x]> <recorder><!-- 0..1 Reference(Patient|RelatedPerson|Practitioner| PractitionerRole) Who recorded the procedure --></recorder> <asserter><!-- 0..1 Reference(Patient|RelatedPerson|Practitioner| PractitionerRole) Person who asserts this procedure --></asserter> <performer> <!-- 0..* The people who performed the procedure --> <role><!-- 0..1 CodeableConcept The role the actor was in --></role><| </actor><actor><!-- 1..1 Reference(Practitioner|PractitionerRole|Organization|Patient| RelatedPerson|Device) The reference to the practitioner --></actor> <onBehalfOf><!-- 0..1 Reference(Organization) Organization the device or practitioner was acting for --></onBehalfOf> </performer> <location><!-- 0..1 Reference(Location) Where the procedure happened --></location> <reasonCode><!-- 0..* CodeableConcept Coded reason procedure performed --></reasonCode><</reasonReference><reasonReference><!-- 0..* Reference(Condition|Observation|Procedure| DiagnosticReport|DocumentReference) The justification that the procedure was performed --></reasonReference> <bodySite><!-- 0..* CodeableConcept Target body sites --></bodySite> <outcome><!-- 0..1 CodeableConcept The result of procedure --></outcome><</report><report><!-- 0..* Reference(DiagnosticReport|DocumentReference|Composition) Any report resulting from the procedure --></report> <complication><!-- 0..* CodeableConcept Complication following the procedure --></complication><</complicationDetail><complicationDetail><!-- 0..* Reference(Condition) A condition that is a result of the procedure --></complicationDetail> <followUp><!-- 0..* CodeableConcept Instructions for follow up --></followUp><</note> <<note><!-- 0..* Annotation Additional information about the procedure --></note> <focalDevice> <!-- 0..* Manipulated, implanted, or removed device --> <action><!-- 0..1 CodeableConcept Kind of change to device --></action> <manipulated><!-- 1..1 Reference(Device) Device that was changed --></manipulated> </focalDevice> <usedReference><!-- 0..* Reference(Device|Medication|Substance) Items used during procedure --></usedReference> <usedCode><!-- 0..* CodeableConcept Coded items used during the procedure --></usedCode> </Procedure>
JSON Template
{
"resourceType" : "",
"resourceType" : "Procedure",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"
"|
"
"
"
"
"
"
"
"
"
">",
" },
"
"
"|
"
"identifier" : [{ Identifier }], // External Identifiers for this procedure
"instantiates" : ["<uri>"], // Instantiates protocol or definition
"basedOn" : [{ Reference(CarePlan|ServiceRequest) }], // A request for this procedure
"partOf" : [{ Reference(Procedure|Observation|MedicationAdministration) }], // Part of referenced event
"status" : "<code>", // R! preparation | in-progress | not-done | suspended | aborted | completed | entered-in-error | unknown
"statusReason" : { CodeableConcept }, // Reason for current status
"category" : { CodeableConcept }, // Classification of the procedure
"code" : { CodeableConcept }, // Identification of the procedure
"subject" : { Reference(Patient|Group) }, // R! Who the procedure was performed on
"context" : { Reference(Encounter|EpisodeOfCare) }, // Encounter or episode associated with the procedure
// performed[x]: When the procedure was performed. One of these 5:
"performedDateTime" : "<dateTime>",
"performedPeriod" : { Period },
"performedString" : "<string>",
"performedAge" : { Age },
"performedRange" : { Range },
"recorder" : { Reference(Patient|RelatedPerson|Practitioner|
PractitionerRole) }, // Who recorded the procedure
"asserter" : { Reference(Patient|RelatedPerson|Practitioner|
PractitionerRole) }, // Person who asserts this procedure
"performer" : [{ // The people who performed the procedure
"role" : { CodeableConcept }, // The role the actor was in
"actor" : { Reference(Practitioner|PractitionerRole|Organization|Patient|
RelatedPerson|Device) }, // R! The reference to the practitioner
"onBehalfOf" : { Reference(Organization) } // Organization the device or practitioner was acting for
}],
"
"
"
"
"
"
"
"
"
"
"
"
"
"location" : { Reference(Location) }, // Where the procedure happened
"reasonCode" : [{ CodeableConcept }], // Coded reason procedure performed
"reasonReference" : [{ Reference(Condition|Observation|Procedure|
DiagnosticReport|DocumentReference) }], // The justification that the procedure was performed
"bodySite" : [{ CodeableConcept }], // Target body sites
"outcome" : { CodeableConcept }, // The result of procedure
"report" : [{ Reference(DiagnosticReport|DocumentReference|Composition) }], // Any report resulting from the procedure
"complication" : [{ CodeableConcept }], // Complication following the procedure
"complicationDetail" : [{ Reference(Condition) }], // A condition that is a result of the procedure
"followUp" : [{ CodeableConcept }], // Instructions for follow up
"note" : [{ Annotation }], // Additional information about the procedure
"focalDevice" : [{ // Manipulated, implanted, or removed device
"action" : { CodeableConcept }, // Kind of change to device
"manipulated" : { Reference(Device) } // R! Device that was changed
}],
"
"
"usedReference" : [{ Reference(Device|Medication|Substance) }], // Items used during procedure
"usedCode" : [{ CodeableConcept }] // Coded items used during the procedure
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:Procedure; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension
fhir: fhir: fhir:fhir:Procedure.identifier [ Identifier ], ... ; # 0..* External Identifiers for this procedure fhir:Procedure.instantiates [ uri ], ... ; # 0..* Instantiates protocol or definition fhir:Procedure.basedOn [ Reference(CarePlan|ServiceRequest) ], ... ; # 0..* A request for this procedure fhir:Procedure.partOf [ Reference(Procedure|Observation|MedicationAdministration) ], ... ; # 0..* Part of referenced eventfhir: fhir: fhir:fhir:Procedure.status [ code ]; # 1..1 preparation | in-progress | not-done | suspended | aborted | completed | entered-in-error | unknown fhir:Procedure.statusReason [ CodeableConcept ]; # 0..1 Reason for current status fhir:Procedure.category [ CodeableConcept ]; # 0..1 Classification of the procedure fhir:Procedure.code [ CodeableConcept ]; # 0..1 Identification of the procedure fhir:Procedure.subject [ Reference(Patient|Group) ]; # 1..1 Who the procedure was performed on fhir:Procedure.context [ Reference(Encounter|EpisodeOfCare) ]; # 0..1 Encounter or episode associated with the procedure# . One of these 2 fhir: ] fhir: ]# Procedure.performed[x] : 0..1 When the procedure was performed. One of these 5 fhir:Procedure.performedDateTime [ dateTime ] fhir:Procedure.performedPeriod [ Period ] fhir:Procedure.performedString [ string ] fhir:Procedure.performedAge [ Age ] fhir:Procedure.performedRange [ Range ] fhir:Procedure.recorder [ Reference(Patient|RelatedPerson|Practitioner|PractitionerRole) ]; # 0..1 Who recorded the procedure fhir:Procedure.asserter [ Reference(Patient|RelatedPerson|Practitioner|PractitionerRole) ]; # 0..1 Person who asserts this procedure fhir:Procedure.performer [ # 0..* The people who performed the procedure fhir:Procedure.performer.role [ CodeableConcept ]; # 0..1 The role the actor was infhir:fhir:Procedure.performer.actor [ Reference(Practitioner|PractitionerRole|Organization|Patient|RelatedPerson|Device) ]; # 1..1 The reference to the practitioner fhir:Procedure.performer.onBehalfOf [ Reference(Organization) ]; # 0..1 Organization the device or practitioner was acting for ], ...; fhir:Procedure.location [ Reference(Location) ]; # 0..1 Where the procedure happened fhir:Procedure.reasonCode [ CodeableConcept ], ... ; # 0..* Coded reason procedure performedfhir:fhir:Procedure.reasonReference [ Reference(Condition|Observation|Procedure|DiagnosticReport|DocumentReference) ], ... ; # 0..* The justification that the procedure was performed fhir:Procedure.bodySite [ CodeableConcept ], ... ; # 0..* Target body sites fhir:Procedure.outcome [ CodeableConcept ]; # 0..1 The result of procedurefhir:fhir:Procedure.report [ Reference(DiagnosticReport|DocumentReference|Composition) ], ... ; # 0..* Any report resulting from the procedure fhir:Procedure.complication [ CodeableConcept ], ... ; # 0..* Complication following the procedurefhir:fhir:Procedure.complicationDetail [ Reference(Condition) ], ... ; # 0..* A condition that is a result of the procedure fhir:Procedure.followUp [ CodeableConcept ], ... ; # 0..* Instructions for follow upfhir: fhir:fhir:Procedure.note [ Annotation ], ... ; # 0..* Additional information about the procedure fhir:Procedure.focalDevice [ # 0..* Manipulated, implanted, or removed device fhir:Procedure.focalDevice.action [ CodeableConcept ]; # 0..1 Kind of change to device fhir:Procedure.focalDevice.manipulated [ Reference(Device) ]; # 1..1 Device that was changed ], ...; fhir:Procedure.usedReference [ Reference(Device|Medication|Substance) ], ... ; # 0..* Items used during procedure fhir:Procedure.usedCode [ CodeableConcept ], ... ; # 0..* Coded items used during the procedure ]
Changes since DSTU2
| Procedure | |
|
|
|
| Procedure.basedOn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
See the Full Difference for further information
This analysis is available 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.). Note: these have note yet been updated to be R3 to R4
Alternate
definitions:
Master
Definition
(
XML
,
+
JSON
),
,
XML
Schema
/
Schematron
(for
)
+
JSON
Schema
,
ShEx
(for
Turtle
)
+
see
the
extensions
&
the
dependency
analysis
| Path | Definition | Type | Reference |
|---|---|---|---|
| Procedure.status | A code specifying the state of the procedure. | Required | EventStatus |
|
|
A code that identifies the reason a procedure was not performed. | Example | Procedure Not Performed Reason (SNOMED-CT) |
| Procedure.category | A code that classifies a procedure for searching, sorting and display purposes. | Example | Procedure Category Codes (SNOMED CT) |
| Procedure.code | A code to identify a specific procedure . | Example | Procedure Codes (SNOMED CT) |
| Procedure.performer.role | A code that identifies the role of a performer of the procedure. | Example | Procedure Performer Role Codes |
| Procedure.reasonCode | A code that identifies the reason a procedure is required. | Example | Procedure Reason Codes |
| Procedure.bodySite | Codes describing anatomical locations. May include laterality. | Example | SNOMED CT Body Structures |
| 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. | Preferred | Procedure Device Action Codes |
| Procedure.usedCode | Codes describing items used during a procedure | Example | FHIR Device Types |
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"
"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
( |
|
| category | token | Classification of the procedure | Procedure.category | |
| code | token | A code to identify a procedure | Procedure.code | 8 Resources |
| context | reference | Encounter or episode associated with the procedure |
Procedure.context
( EpisodeOfCare , Encounter ) |
|
| date | date |
|
Procedure.performed |
|
|
|
reference | Search by encounter |
Procedure.context
( Encounter ) |
12 Resources |
| identifier | token | A unique identifier for a procedure | Procedure.identifier | 26 Resources |
| instantiates | uri | Instantiates protocol or definition | Procedure.instantiates | |
| 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
( Patient ) |
|
| performer | reference | The reference to the practitioner |
Procedure.performer.actor
( Practitioner , Organization , Device , Patient , PractitionerRole , RelatedPerson ) |
|
| status | token | preparation | in-progress | not-done | suspended | aborted | completed | entered-in-error | unknown | Procedure.status | |
| subject | reference | Search by subject |
Procedure.subject
( Group , Patient ) |