This page is part of the FHIR Specification (v1.6.0:
STU
3 Ballot 4). The current version which supercedes this version is
5.0.0
.
For
a
full
list
of
available
versions,
see
the
Directory
of
published
versions
. For a full list of available versions, see the
Directory of published versions
.
Page
versions:
. Page versions:
R3
R2
|
|
Compartments
|
A request for a procedure to be performed. May be a proposal or an order.
A Procedure Request is a record of a request for a procedure to be performed. It can be used to represent a procedure that is planned, that is proposed, or that is ordered, as distinguished by the value of the ProcedureRequestStatus field.
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.
The procedure request may represent an order that is entered by a practitioner in a CPOE system as well as a proposal made by a clinical decision support (CDS) system based on a patient's clinical record and context of care. Planned procedures referenced by a
CarePlan
may
also
be
represented
by
this
resource.
may also be represented by this resource.
ProcedureRequest is closely related to other types of "request" resources, particularly
DiagnosticRequest
and
ReferralRequest
a
practitioner
might
initiate
a
DiagnosticOrder.
The
diagnostic
service
might
then
initiate
a
ProcedureRequest.
The
notion
of
ProcedureRequest
and
CommunicationRequest
are
also
closely
related.
The
boundary
between
determining
whether
an
action
is
considered
to
be
training
or
counseling
(and
thus
a
ProcedureRequest)
as
opposed
to
a
. In fact, for some services, it may be appropriate to use any one of these resources to request that the procedure be performed. Which one is used may be driven by organization practice and by context. When it is unclear which to use, the following principles may be helpful:
Irrespective of the guidance above, systems should be prepared for some degree of overlap between these resources and be prepared to execute searches against multiple resources in cases where differentiation cannot be guaranteed. As well, in some workflows more than one type of resource or even all three might exist; e.g. Upon receiving a ReferralRequest a practitioner might initiate a DiagnosticRequest. The diagnostic service might then initiate a ProcedureRequest.
The notion of ProcedureRequest and
CommunicationRequest
is
based
on
whether
there's
a
specific
intent
to
change
the
mind-set
of
the
patient.
A
request
to
merely
disclose
information
would
be
considered
a
CommunicationRequest.
Invocation
of
a
process
that
will
involve
verification
of
the
patient's
comprehension
or
an
attempt
to
change
the
patient's
mental
state
would
be
a
ProcedureRequest.
This
resource
is
referenced
by
are also closely related. The boundary between determining whether an action is considered to be training or counseling (and thus a ProcedureRequest) as opposed to a CommunicationRequest is based on whether there's a specific intent to change the mind-set of the patient. A request to merely disclose information would be considered a CommunicationRequest. Invocation of a process that will involve verification of the patient's comprehension or an attempt to change the patient's mental state would be a ProcedureRequest.
PLANNED CHANGE:
ProcedureRequest is one of the Request resources in the FHIR Workflow specification. As such, it is expected to be adjusted to align with the Request workflow pattern which will involve adding a number of additional data elements and potentially renaming a few elements. Any concerns about performing such alignment are welcome as ballot comments and/or tracker items.
This resource is referenced by
CarePlan
,
,
ClinicalImpression
,
,
DiagnosticReport
,
,
Goal
and
,
ImagingStudy
,
Procedure
,
ReferralRequest
and
Specimen
Structure
| Name | Flags | Card. | Type |
|
|---|---|---|---|---|
|
Σ | DomainResource |
|
|
|
Σ | 0..* | Identifier |
|
|
Σ | 1..1 |
Reference
(
Patient
|
|
|
Σ | 1..1 | CodeableConcept |
|
|
Σ | 0..* | CodeableConcept |
|
|
Σ | 0..1 |
|
|
|
CodeableConcept | |||
|
Reference ( Condition ) | |||
|
Σ | 0..1 |
|
|
|
dateTime | |||
|
Period | |||
|
Timing | |||
|
Σ | 0..1 | Reference ( Encounter ) |
|
|
Σ | 0..1 |
Reference
(
Practitioner
|
|
|
?! Σ | 0..1 | code |
ProcedureRequestStatus |
|
Σ | 0..* | Annotation |
|
|
Σ | 0..1 |
|
|
|
boolean | |||
|
CodeableConcept | |||
|
Σ | 0..1 | dateTime |
|
|
Σ | 0..1 |
Reference
(
Practitioner
|
|
|
Σ | 0..1 | code |
ProcedureRequestPriority |
Documentation for this format
|
||||
UML
Diagram
UML Diagram
(
Legend
)
XML
Template
XML Template
<
<ProcedureRequest xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension -->
<</identifier> <</subject> <</code> <</bodySite> <</reason[x]> <</scheduled[x]> <</encounter> <</performer> < <</notes> <</asNeeded[x]> < <</orderer> <<identifier><!-- 0..* Identifier Unique identifier for the request --></identifier> <subject><!-- 1..1 Reference(Patient|Group) Who the procedure should be done to --></subject> <code><!-- 1..1 CodeableConcept What procedure to perform --></code> <bodySite><!-- 0..* CodeableConcept What part of body to perform on --></bodySite> <reason[x]><!-- 0..1 CodeableConcept|Reference(Condition) Why procedure should occur --></reason[x]> <scheduled[x]><!-- 0..1 dateTime|Period|Timing When procedure should occur --></scheduled[x]> <encounter><!-- 0..1 Reference(Encounter) Encounter request created during --></encounter> <performer><!-- 0..1 Reference(Practitioner|Organization|Patient|RelatedPerson) Who should perform the procedure --></performer> <status value="[code]"/><!-- 0..1 proposed | draft | requested | received | accepted | in-progress | completed | suspended | rejected | aborted --> <notes><!-- 0..* Annotation Additional information about desired procedure --></notes> <asNeeded[x]><!-- 0..1 boolean|CodeableConcept Preconditions for procedure --></asNeeded[x]> <orderedOn value="[dateTime]"/><!-- 0..1 When request was created --> <orderer><!-- 0..1 Reference(Practitioner|Patient|RelatedPerson|Device) Who made request --></orderer> <priority value="[code]"/><!-- 0..1 routine | urgent | stat | asap --> </ProcedureRequest>
JSON
Template
JSON Template
{
"resourceType" : "",
{
"resourceType" : "ProcedureRequest",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"
"
"
"
"identifier" : [{ Identifier }], // Unique identifier for the request
"subject" : { Reference(Patient|Group) }, // R! Who the procedure should be done to
"code" : { CodeableConcept }, // R! What procedure to perform
"bodySite" : [{ CodeableConcept }], // What part of body to perform on
// reason[x]: Why procedure should occur. One of these 2:
" },
" },
"reasonCodeableConcept" : { CodeableConcept },
"reasonReference" : { Reference(Condition) },
// scheduled[x]: When procedure should occur. One of these 3:
">",
" },
" },
"
"
"
"
"scheduledDateTime" : "<dateTime>",
"scheduledPeriod" : { Period },
"scheduledTiming" : { Timing },
"encounter" : { Reference(Encounter) }, // Encounter request created during
"performer" : { Reference(Practitioner|Organization|Patient|RelatedPerson) }, // Who should perform the procedure
"status" : "<code>", // proposed | draft | requested | received | accepted | in-progress | completed | suspended | rejected | aborted
"notes" : [{ Annotation }], // Additional information about desired procedure
// asNeeded[x]: Preconditions for procedure. One of these 2:
">,
" },
"
"
"
"asNeededBoolean" : <boolean>,
"asNeededCodeableConcept" : { CodeableConcept },
"orderedOn" : "<dateTime>", // When request was created
"orderer" : { Reference(Practitioner|Patient|RelatedPerson|Device) }, // Who made request
"priority" : "<code>" // routine | urgent | stat | asap
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:ProcedureRequest; 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:ProcedureRequest.identifier [ Identifier ], ... ; # 0..* Unique identifier for the request fhir:ProcedureRequest.subject [ Reference(Patient|Group) ]; # 1..1 Who the procedure should be done to fhir:ProcedureRequest.code [ CodeableConcept ]; # 1..1 What procedure to perform fhir:ProcedureRequest.bodySite [ CodeableConcept ], ... ; # 0..* What part of body to perform on # ProcedureRequest.reason[x] : 0..1 Why procedure should occur. One of these 2 fhir:ProcedureRequest.reasonCodeableConcept [ CodeableConcept ] fhir:ProcedureRequest.reasonReference [ Reference(Condition) ] # ProcedureRequest.scheduled[x] : 0..1 When procedure should occur. One of these 3 fhir:ProcedureRequest.scheduledDateTime [ dateTime ] fhir:ProcedureRequest.scheduledPeriod [ Period ] fhir:ProcedureRequest.scheduledTiming [ Timing ] fhir:ProcedureRequest.encounter [ Reference(Encounter) ]; # 0..1 Encounter request created during fhir:ProcedureRequest.performer [ Reference(Practitioner|Organization|Patient|RelatedPerson) ]; # 0..1 Who should perform the procedure fhir:ProcedureRequest.status [ code ]; # 0..1 proposed | draft | requested | received | accepted | in-progress | completed | suspended | rejected | aborted fhir:ProcedureRequest.notes [ Annotation ], ... ; # 0..* Additional information about desired procedure # ProcedureRequest.asNeeded[x] : 0..1 Preconditions for procedure. One of these 2 fhir:ProcedureRequest.asNeededBoolean [ boolean ] fhir:ProcedureRequest.asNeededCodeableConcept [ CodeableConcept ] fhir:ProcedureRequest.orderedOn [ dateTime ]; # 0..1 When request was created fhir:ProcedureRequest.orderer [ Reference(Practitioner|Patient|RelatedPerson|Device) ]; # 0..1 Who made request fhir:ProcedureRequest.priority [ code ]; # 0..1 routine | urgent | stat | asap ]
Changes since DSTU2
| ProcedureRequest | No Changes |
See the Full Difference for further information
Structure
| Name | Flags | Card. | Type |
|
|---|---|---|---|---|
|
Σ | DomainResource |
|
|
|
Σ | 0..* | Identifier |
|
|
Σ | 1..1 |
Reference
(
Patient
|
|
|
Σ | 1..1 | CodeableConcept |
|
|
Σ | 0..* | CodeableConcept |
|
|
Σ | 0..1 |
|
|
|
CodeableConcept | |||
|
Reference ( Condition ) | |||
|
Σ | 0..1 |
|
|
|
dateTime | |||
|
Period | |||
|
Timing | |||
|
Σ | 0..1 | Reference ( Encounter ) |
|
|
Σ | 0..1 |
Reference
(
Practitioner
|
|
|
?! Σ | 0..1 | code |
ProcedureRequestStatus |
|
Σ | 0..* | Annotation |
|
|
Σ | 0..1 |
|
|
|
boolean | |||
|
CodeableConcept | |||
|
Σ | 0..1 | dateTime |
|
|
Σ | 0..1 |
Reference
(
Practitioner
|
|
|
Σ | 0..1 | code |
ProcedureRequestPriority |
Documentation for this format
|
||||
XML
Template
XML Template
<
<ProcedureRequest xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension -->
<</identifier> <</subject> <</code> <</bodySite> <</reason[x]> <</scheduled[x]> <</encounter> <</performer> < <</notes> <</asNeeded[x]> < <</orderer> <<identifier><!-- 0..* Identifier Unique identifier for the request --></identifier> <subject><!-- 1..1 Reference(Patient|Group) Who the procedure should be done to --></subject> <code><!-- 1..1 CodeableConcept What procedure to perform --></code> <bodySite><!-- 0..* CodeableConcept What part of body to perform on --></bodySite> <reason[x]><!-- 0..1 CodeableConcept|Reference(Condition) Why procedure should occur --></reason[x]> <scheduled[x]><!-- 0..1 dateTime|Period|Timing When procedure should occur --></scheduled[x]> <encounter><!-- 0..1 Reference(Encounter) Encounter request created during --></encounter> <performer><!-- 0..1 Reference(Practitioner|Organization|Patient|RelatedPerson) Who should perform the procedure --></performer> <status value="[code]"/><!-- 0..1 proposed | draft | requested | received | accepted | in-progress | completed | suspended | rejected | aborted --> <notes><!-- 0..* Annotation Additional information about desired procedure --></notes> <asNeeded[x]><!-- 0..1 boolean|CodeableConcept Preconditions for procedure --></asNeeded[x]> <orderedOn value="[dateTime]"/><!-- 0..1 When request was created --> <orderer><!-- 0..1 Reference(Practitioner|Patient|RelatedPerson|Device) Who made request --></orderer> <priority value="[code]"/><!-- 0..1 routine | urgent | stat | asap --> </ProcedureRequest>
JSON
Template
JSON Template
{
"resourceType" : "",
{
"resourceType" : "ProcedureRequest",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"
"
"
"
"identifier" : [{ Identifier }], // Unique identifier for the request
"subject" : { Reference(Patient|Group) }, // R! Who the procedure should be done to
"code" : { CodeableConcept }, // R! What procedure to perform
"bodySite" : [{ CodeableConcept }], // What part of body to perform on
// reason[x]: Why procedure should occur. One of these 2:
" },
" },
"reasonCodeableConcept" : { CodeableConcept },
"reasonReference" : { Reference(Condition) },
// scheduled[x]: When procedure should occur. One of these 3:
">",
" },
" },
"
"
"
"
"scheduledDateTime" : "<dateTime>",
"scheduledPeriod" : { Period },
"scheduledTiming" : { Timing },
"encounter" : { Reference(Encounter) }, // Encounter request created during
"performer" : { Reference(Practitioner|Organization|Patient|RelatedPerson) }, // Who should perform the procedure
"status" : "<code>", // proposed | draft | requested | received | accepted | in-progress | completed | suspended | rejected | aborted
"notes" : [{ Annotation }], // Additional information about desired procedure
// asNeeded[x]: Preconditions for procedure. One of these 2:
">,
" },
"
"
"
"asNeededBoolean" : <boolean>,
"asNeededCodeableConcept" : { CodeableConcept },
"orderedOn" : "<dateTime>", // When request was created
"orderer" : { Reference(Practitioner|Patient|RelatedPerson|Device) }, // Who made request
"priority" : "<code>" // routine | urgent | stat | asap
}
Alternate
definitions:
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:ProcedureRequest; 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:ProcedureRequest.identifier [ Identifier ], ... ; # 0..* Unique identifier for the request fhir:ProcedureRequest.subject [ Reference(Patient|Group) ]; # 1..1 Who the procedure should be done to fhir:ProcedureRequest.code [ CodeableConcept ]; # 1..1 What procedure to perform fhir:ProcedureRequest.bodySite [ CodeableConcept ], ... ; # 0..* What part of body to perform on # ProcedureRequest.reason[x] : 0..1 Why procedure should occur. One of these 2 fhir:ProcedureRequest.reasonCodeableConcept [ CodeableConcept ] fhir:ProcedureRequest.reasonReference [ Reference(Condition) ] # ProcedureRequest.scheduled[x] : 0..1 When procedure should occur. One of these 3 fhir:ProcedureRequest.scheduledDateTime [ dateTime ] fhir:ProcedureRequest.scheduledPeriod [ Period ] fhir:ProcedureRequest.scheduledTiming [ Timing ] fhir:ProcedureRequest.encounter [ Reference(Encounter) ]; # 0..1 Encounter request created during fhir:ProcedureRequest.performer [ Reference(Practitioner|Organization|Patient|RelatedPerson) ]; # 0..1 Who should perform the procedure fhir:ProcedureRequest.status [ code ]; # 0..1 proposed | draft | requested | received | accepted | in-progress | completed | suspended | rejected | aborted fhir:ProcedureRequest.notes [ Annotation ], ... ; # 0..* Additional information about desired procedure # ProcedureRequest.asNeeded[x] : 0..1 Preconditions for procedure. One of these 2 fhir:ProcedureRequest.asNeededBoolean [ boolean ] fhir:ProcedureRequest.asNeededCodeableConcept [ CodeableConcept ] fhir:ProcedureRequest.orderedOn [ dateTime ]; # 0..1 When request was created fhir:ProcedureRequest.orderer [ Reference(Practitioner|Patient|RelatedPerson|Device) ]; # 0..1 Who made request fhir:ProcedureRequest.priority [ code ]; # 0..1 routine | urgent | stat | asap ]
Changes since DSTU2
| ProcedureRequest | No Changes |
See the Full Difference for further information
Alternate definitions: Master Definition (
XML
,
JSON
),
XML
Schema
/
Schematron
,
Resource
Profile
(
XML
,
(for ) +
JSON
Schema
,
ShEx
(for
Turtle
),
Questionnaire
)
| Path | Definition | Type | Reference |
|---|---|---|---|
| ProcedureRequest.code |
|
Example |
|
| ProcedureRequest.bodySite |
|
Example |
|
| ProcedureRequest.reason[x] |
|
Example |
|
| ProcedureRequest.status |
|
Required | ProcedureRequestStatus |
| ProcedureRequest.asNeeded[x] |
|
Unknown |
|
| ProcedureRequest.priority |
|
Required |
ProcedureRequestPriority
|
Notes to reviewers:
At this time, the code bindings are placeholders to be fleshed out upon further review by the community.
Search parameters for this resource. The
common parameters
also apply. See
Searching
for
more
information
about
searching
in
REST,
messaging,
and
services.
for more information about searching in REST, messaging, and services.
| Name | Type | Description | Paths |
| encounter | reference |
|
ProcedureRequest.encounter
( Encounter ) |
| identifier | token |
|
ProcedureRequest.identifier |
| orderer | reference |
|
ProcedureRequest.orderer
( |
| patient | reference |
|
ProcedureRequest.subject
( Patient ) |
| performer | reference |
|
ProcedureRequest.performer
( |
| subject | reference |
|
ProcedureRequest.subject
( |