This page is part of the FHIR Specification (v0.5.0: DSTU 2 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: R3 R2
This resource maintained by the Patient Care Work Group
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.
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, counselling, 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.
ProcedureRequest is closely related to other types of "request" resources, particularly DiagnosticOrder and ReferralRequest. 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 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 counselling (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.
This resource is referenced by CarePlan, ClinicalImpression and Goal
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ProcedureRequest | DomainResource | A request for a procedure to be performed | ||
identifier | 0..* | Identifier | Identifier | |
subject | 1..1 | Patient | Subject | |
type | 1..1 | CodeableConcept | Procedure Type | |
bodySite | 0..* | Element | Target body sites | |
site[x] | Target body site | |||
siteCodeableConcept | 1..1 | CodeableConcept | ||
siteReference | 1..1 | BodySite | ||
indication | 0..* | CodeableConcept | Indication | |
timing[x] | Procedure timing schedule | |||
timingDateTime | 0..1 | dateTime | ||
timingPeriod | 0..1 | Period | ||
timingTiming | 0..1 | Timing | ||
encounter | 0..1 | Encounter | Encounter | |
performer | 0..1 | Practitioner | Organization | Patient | RelatedPerson | Performer | |
status | ?! | 0..1 | code | proposed | draft | requested | received | accepted | in-progress | completed | suspended | rejected | aborted ProcedureRequestStatus (Required) |
notes | 0..* | string | Notes | |
asNeeded[x] | PRN | |||
asNeededBoolean | 0..1 | boolean | ||
asNeededCodeableConcept | 0..1 | CodeableConcept | ||
orderedOn | 0..1 | dateTime | When Requested | |
orderer | 0..1 | Practitioner | Patient | RelatedPerson | Device | Ordering Party | |
priority | 0..1 | code | routine | urgent | stat | asap ProcedureRequestPriority (Required) |
UML Diagram
XML Template
<ProcedureRequest xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Identifier --></identifier> <subject><!-- 1..1 Reference(Patient) Subject --></subject> <type><!-- 1..1 CodeableConcept Procedure Type --></type> <bodySite> <!-- 0..* Target body sites --> <site[x]><!-- 1..1 CodeableConcept|Reference(BodySite) Target body site --></site[x]> </bodySite> <indication><!-- 0..* CodeableConcept Indication --></indication> <timing[x]><!-- 0..1 dateTime|Period|Timing Procedure timing schedule --></timing[x]> <encounter><!-- 0..1 Reference(Encounter) Encounter --></encounter> <performer><!-- 0..1 Reference(Practitioner|Organization|Patient|RelatedPerson) Performer --></performer> <status value="[code]"/><!-- 0..1 proposed | draft | requested | received | accepted | in-progress | completed | suspended | rejected | aborted --> <notes value="[string]"/><!-- 0..* Notes --> <asNeeded[x]><!-- 0..1 boolean|CodeableConcept PRN --></asNeeded[x]> <orderedOn value="[dateTime]"/><!-- 0..1 When Requested --> <orderer><!-- 0..1 Reference(Practitioner|Patient|RelatedPerson|Device) Ordering Party --></orderer> <priority value="[code]"/><!-- 0..1 routine | urgent | stat | asap --> </ProcedureRequest>
JSON Template
{ "resourceType" : "ProcedureRequest", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Identifier "subject" : { Reference(Patient) }, // R! Subject "type" : { CodeableConcept }, // R! Procedure Type "bodySite" : [{ // Target body sites // site[x]: Target body site. One of these 2: "siteCodeableConcept" : { CodeableConcept } "siteReference" : { Reference(BodySite) } }], "indication" : [{ CodeableConcept }], // Indication // timing[x]: Procedure timing schedule. One of these 3: "timingDateTime" : "<dateTime>", "timingPeriod" : { Period }, "timingTiming" : { Timing }, "encounter" : { Reference(Encounter) }, // Encounter "performer" : { Reference(Practitioner|Organization|Patient|RelatedPerson) }, // Performer "status" : "<code>", // proposed | draft | requested | received | accepted | in-progress | completed | suspended | rejected | aborted "notes" : ["<string>"], // Notes // asNeeded[x]: PRN. One of these 2: "asNeededBoolean" : <boolean>, "asNeededCodeableConcept" : { CodeableConcept }, "orderedOn" : "<dateTime>", // When Requested "orderer" : { Reference(Practitioner|Patient|RelatedPerson|Device) }, // Ordering Party "priority" : "<code>" // routine | urgent | stat | asap }
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ProcedureRequest | DomainResource | A request for a procedure to be performed | ||
identifier | 0..* | Identifier | Identifier | |
subject | 1..1 | Patient | Subject | |
type | 1..1 | CodeableConcept | Procedure Type | |
bodySite | 0..* | Element | Target body sites | |
site[x] | Target body site | |||
siteCodeableConcept | 1..1 | CodeableConcept | ||
siteReference | 1..1 | BodySite | ||
indication | 0..* | CodeableConcept | Indication | |
timing[x] | Procedure timing schedule | |||
timingDateTime | 0..1 | dateTime | ||
timingPeriod | 0..1 | Period | ||
timingTiming | 0..1 | Timing | ||
encounter | 0..1 | Encounter | Encounter | |
performer | 0..1 | Practitioner | Organization | Patient | RelatedPerson | Performer | |
status | ?! | 0..1 | code | proposed | draft | requested | received | accepted | in-progress | completed | suspended | rejected | aborted ProcedureRequestStatus (Required) |
notes | 0..* | string | Notes | |
asNeeded[x] | PRN | |||
asNeededBoolean | 0..1 | boolean | ||
asNeededCodeableConcept | 0..1 | CodeableConcept | ||
orderedOn | 0..1 | dateTime | When Requested | |
orderer | 0..1 | Practitioner | Patient | RelatedPerson | Device | Ordering Party | |
priority | 0..1 | code | routine | urgent | stat | asap ProcedureRequestPriority (Required) |
XML Template
<ProcedureRequest xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Identifier --></identifier> <subject><!-- 1..1 Reference(Patient) Subject --></subject> <type><!-- 1..1 CodeableConcept Procedure Type --></type> <bodySite> <!-- 0..* Target body sites --> <site[x]><!-- 1..1 CodeableConcept|Reference(BodySite) Target body site --></site[x]> </bodySite> <indication><!-- 0..* CodeableConcept Indication --></indication> <timing[x]><!-- 0..1 dateTime|Period|Timing Procedure timing schedule --></timing[x]> <encounter><!-- 0..1 Reference(Encounter) Encounter --></encounter> <performer><!-- 0..1 Reference(Practitioner|Organization|Patient|RelatedPerson) Performer --></performer> <status value="[code]"/><!-- 0..1 proposed | draft | requested | received | accepted | in-progress | completed | suspended | rejected | aborted --> <notes value="[string]"/><!-- 0..* Notes --> <asNeeded[x]><!-- 0..1 boolean|CodeableConcept PRN --></asNeeded[x]> <orderedOn value="[dateTime]"/><!-- 0..1 When Requested --> <orderer><!-- 0..1 Reference(Practitioner|Patient|RelatedPerson|Device) Ordering Party --></orderer> <priority value="[code]"/><!-- 0..1 routine | urgent | stat | asap --> </ProcedureRequest>
JSON Template
{ "resourceType" : "ProcedureRequest", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Identifier "subject" : { Reference(Patient) }, // R! Subject "type" : { CodeableConcept }, // R! Procedure Type "bodySite" : [{ // Target body sites // site[x]: Target body site. One of these 2: "siteCodeableConcept" : { CodeableConcept } "siteReference" : { Reference(BodySite) } }], "indication" : [{ CodeableConcept }], // Indication // timing[x]: Procedure timing schedule. One of these 3: "timingDateTime" : "<dateTime>", "timingPeriod" : { Period }, "timingTiming" : { Timing }, "encounter" : { Reference(Encounter) }, // Encounter "performer" : { Reference(Practitioner|Organization|Patient|RelatedPerson) }, // Performer "status" : "<code>", // proposed | draft | requested | received | accepted | in-progress | completed | suspended | rejected | aborted "notes" : ["<string>"], // Notes // asNeeded[x]: PRN. One of these 2: "asNeededBoolean" : <boolean>, "asNeededCodeableConcept" : { CodeableConcept }, "orderedOn" : "<dateTime>", // When Requested "orderer" : { Reference(Practitioner|Patient|RelatedPerson|Device) }, // Ordering Party "priority" : "<code>" // routine | urgent | stat | asap }
Alternate definitions: Schema/Schematron, Resource Profile (XML, JSON)
Path | Definition | Type | Reference |
---|---|---|---|
ProcedureRequest.status | The status of the request | Required | http://hl7.org/fhir/procedure-request-status |
ProcedureRequest.priority | The priority of the request | Required | http://hl7.org/fhir/procedure-request-priority |
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.
Name | Type | Description | Paths |
encounter | reference | Encounter | ProcedureRequest.encounter (Encounter) |
orderer | reference | Ordering Party | ProcedureRequest.orderer (Device, Patient, Practitioner, RelatedPerson) |
patient | reference | Search by subject - a patient | ProcedureRequest.subject (Patient) |
performer | reference | Performer | ProcedureRequest.performer (Patient, Organization, Practitioner, RelatedPerson) |
subject | reference | Search by subject | ProcedureRequest.subject (Patient) |