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
Orders and Observations Work Group | Maturity Level: 1 | Compartments: Device, Encounter, Patient, Practitioner |
A record of a request for a diagnostic investigation service to be performed.
This resource is a request resource from a FHIR workflow perspective - see Workflow.
A Diagnostic Request is a record of a request for a set of diagnostic investigations to be performed. The investigation will lead to a Diagnostic Report that summarizes the outcome of the investigation, and includes any useful data and/or images that are relevant to the treatment/management of the subject.
The principal intention of the Diagnostic Request is to support ordering diagnostic investigations on patients (which includes non-human patients in veterinary medicine). However in many contexts, healthcare related processes include performing diagnostic investigations on groups of subjects, devices involved in the provision of healthcare, and even environmental locations such as ducts, bodies of water, etc. The Diagnostic Request supports all these usages.
The general work flow that this resource facilitates is that a clinical system creates a diagnostic order. The diagnostic order is then exchanged, perhaps via intermediaries, with a system that represents a diagnostic service that can perform the investigation as a request to do so. The diagnostic service will update the request as the work is performed, and then finally issue a report that references the requests that it fulfills.
DiagnosticRequest is closely related to other types of "request" resources, particularly ReferralRequest and ProcedureRequest. In fact, for some services, it may be appropriate to use any one of these resources to request that the service 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:
The DiagnosticRequest supports references to the numerous other resources that define information about the subject - the orderer, associated encounter, body site and other supporting information. For example, Patient, Practitioner and Condition are all referenced in this resource. Some systems may choose to bundle up a DiagnosticRequest and this referenced information into a Document for delivery to the recipient. However, REST, Messaging and Services are also valid architectures for managing referrals and may be more appropriate where active workflow management is needed.
The CarePlan resource can be used to describe more sophisticated requests for combinations of services and DiagnosticRequest may be referenced as part of a CarePlan. Similarly ClinicalImpression resource can reference DiagnosticRequest as part of a follow up to plan to the assessment.
Note that the Diagnostic Request itself is not a request to perform the investigation - but rather a record of the fact that a request was made. To actually initiate the workflow beyond simply the existence of a Diagnostic Request may be required. This can be achieved by using an Task resource, with the Diagnostic Request referenced from the Task.details, or by using the Diagnostic Request resource in the context of an messaging or service workflow where the request is explicit or implicit."
This resource is referenced by CarePlan, ClinicalImpression, DiagnosticReport, ImagingStudy, Procedure, QuestionnaireResponse, ReferralRequest and Specimen
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
DiagnosticRequest | DomainResource | A request for a diagnostic service | ||
identifier | Σ | 0..* | Identifier | Identifiers assigned to this order |
definition | Σ | 0..* | Reference(Any) | Protocol or definition |
basedOn | Σ | 0..* | Reference(Any) | What request fulfills |
replaces | Σ | 0..* | Reference(Any) | What request replaces |
requisition | Σ | 0..1 | Identifier | Identifier of composite request |
status | ?!Σ | 0..1 | code | draft | active | suspended | completed | entered-in-error | cancelled RequestStatus (Required) |
stage | ?!Σ | 1..1 | CodeableConcept | proposal | plan | original-order | reflex-order DiagnosticRequestStage (Extensible) |
code | Σ | 1..1 | CodeableConcept | What’s being requested/ordered LOINC Diagnostic Request Codes (Preferred) |
subject | Σ | 1..1 | Reference(Patient | Group | Location | Device) | Individual the test is ordered for |
context | Σ | 0..1 | Reference(Encounter | EpisodeOfCare) | Encounter or Episode during which request was created |
occurrence[x] | Σ | 0..1 | When testing should occur | |
occurrenceDateTime | dateTime | |||
occurrencePeriod | Period | |||
occurrenceTiming | Timing | |||
authored | Σ | 0..1 | dateTime | Date request signed |
requester | Σ | 0..1 | Reference(Device | Practitioner | Organization) | Who/what is requesting diagnostics |
performerType | Σ | 0..1 | CodeableConcept | Performer role Participant Roles (Example) |
performer | Σ | 0..1 | Reference(Practitioner | Organization | Patient | Device | RelatedPerson) | Requested perfomer |
reason | Σ | 0..* | CodeableConcept | Explanation/Justification for test Condition/Problem/Diagnosis Codes (Example) |
supportingInformation | 0..* | Reference(Any) | Additional clinical information | |
note | 0..* | Annotation | Comments | |
relevantHistory | 0..* | Reference(Provenance) | Request provenance | |
Documentation for this format |
UML Diagram (Legend)
XML Template
<DiagnosticRequest xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Identifiers assigned to this order --></identifier> <definition><!-- 0..* Reference(Any) Protocol or definition --></definition> <basedOn><!-- 0..* Reference(Any) What request fulfills --></basedOn> <replaces><!-- 0..* Reference(Any) What request replaces --></replaces> <requisition><!-- 0..1 Identifier Identifier of composite request --></requisition> <status value="[code]"/><!-- 0..1 draft | active | suspended | completed | entered-in-error | cancelled --> <stage><!-- 1..1 CodeableConcept proposal | plan | original-order | reflex-order --></stage> <code><!-- 1..1 CodeableConcept What’s being requested/ordered --></code> <subject><!-- 1..1 Reference(Patient|Group|Location|Device) Individual the test is ordered for --></subject> <context><!-- 0..1 Reference(Encounter|EpisodeOfCare) Encounter or Episode during which request was created --></context> <occurrence[x]><!-- 0..1 dateTime|Period|Timing When testing should occur --></occurrence[x]> <authored value="[dateTime]"/><!-- 0..1 Date request signed --> <requester><!-- 0..1 Reference(Device|Practitioner|Organization) Who/what is requesting diagnostics --></requester> <performerType><!-- 0..1 CodeableConcept Performer role --></performerType> <performer><!-- 0..1 Reference(Practitioner|Organization|Patient|Device| RelatedPerson) Requested perfomer --></performer> <reason><!-- 0..* CodeableConcept Explanation/Justification for test --></reason> <supportingInformation><!-- 0..* Reference(Any) Additional clinical information --></supportingInformation> <note><!-- 0..* Annotation Comments --></note> <relevantHistory><!-- 0..* Reference(Provenance) Request provenance --></relevantHistory> </DiagnosticRequest>
JSON Template
{ "resourceType" : "DiagnosticRequest", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Identifiers assigned to this order "definition" : [{ Reference(Any) }], // Protocol or definition "basedOn" : [{ Reference(Any) }], // What request fulfills "replaces" : [{ Reference(Any) }], // What request replaces "requisition" : { Identifier }, // Identifier of composite request "status" : "<code>", // draft | active | suspended | completed | entered-in-error | cancelled "stage" : { CodeableConcept }, // R! proposal | plan | original-order | reflex-order "code" : { CodeableConcept }, // R! What’s being requested/ordered "subject" : { Reference(Patient|Group|Location|Device) }, // R! Individual the test is ordered for "context" : { Reference(Encounter|EpisodeOfCare) }, // Encounter or Episode during which request was created // occurrence[x]: When testing should occur. One of these 3: "occurrenceDateTime" : "<dateTime>", "occurrencePeriod" : { Period }, "occurrenceTiming" : { Timing }, "authored" : "<dateTime>", // Date request signed "requester" : { Reference(Device|Practitioner|Organization) }, // Who/what is requesting diagnostics "performerType" : { CodeableConcept }, // Performer role "performer" : { Reference(Practitioner|Organization|Patient|Device| RelatedPerson) }, // Requested perfomer "reason" : [{ CodeableConcept }], // Explanation/Justification for test "supportingInformation" : [{ Reference(Any) }], // Additional clinical information "note" : [{ Annotation }], // Comments "relevantHistory" : [{ Reference(Provenance) }] // Request provenance }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:DiagnosticRequest; 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:DiagnosticRequest.identifier [ Identifier ], ... ; # 0..* Identifiers assigned to this order fhir:DiagnosticRequest.definition [ Reference(Any) ], ... ; # 0..* Protocol or definition fhir:DiagnosticRequest.basedOn [ Reference(Any) ], ... ; # 0..* What request fulfills fhir:DiagnosticRequest.replaces [ Reference(Any) ], ... ; # 0..* What request replaces fhir:DiagnosticRequest.requisition [ Identifier ]; # 0..1 Identifier of composite request fhir:DiagnosticRequest.status [ code ]; # 0..1 draft | active | suspended | completed | entered-in-error | cancelled fhir:DiagnosticRequest.stage [ CodeableConcept ]; # 1..1 proposal | plan | original-order | reflex-order fhir:DiagnosticRequest.code [ CodeableConcept ]; # 1..1 What’s being requested/ordered fhir:DiagnosticRequest.subject [ Reference(Patient|Group|Location|Device) ]; # 1..1 Individual the test is ordered for fhir:DiagnosticRequest.context [ Reference(Encounter|EpisodeOfCare) ]; # 0..1 Encounter or Episode during which request was created # DiagnosticRequest.occurrence[x] : 0..1 When testing should occur. One of these 3 fhir:DiagnosticRequest.occurrenceDateTime [ dateTime ] fhir:DiagnosticRequest.occurrencePeriod [ Period ] fhir:DiagnosticRequest.occurrenceTiming [ Timing ] fhir:DiagnosticRequest.authored [ dateTime ]; # 0..1 Date request signed fhir:DiagnosticRequest.requester [ Reference(Device|Practitioner|Organization) ]; # 0..1 Who/what is requesting diagnostics fhir:DiagnosticRequest.performerType [ CodeableConcept ]; # 0..1 Performer role fhir:DiagnosticRequest.performer [ Reference(Practitioner|Organization|Patient|Device|RelatedPerson) ]; # 0..1 Requested perfomer fhir:DiagnosticRequest.reason [ CodeableConcept ], ... ; # 0..* Explanation/Justification for test fhir:DiagnosticRequest.supportingInformation [ Reference(Any) ], ... ; # 0..* Additional clinical information fhir:DiagnosticRequest.note [ Annotation ], ... ; # 0..* Comments fhir:DiagnosticRequest.relevantHistory [ Reference(Provenance) ], ... ; # 0..* Request provenance ]
Changes since DSTU2
DiagnosticRequest | Name Changed from DiagnosticOrder to DiagnosticRequest |
DiagnosticRequest.definition | added |
DiagnosticRequest.basedOn | added |
DiagnosticRequest.replaces | added |
DiagnosticRequest.requisition | added |
DiagnosticRequest.status | Change value set from http://hl7.org/fhir/ValueSet/diagnostic-order-status to http://hl7.org/fhir/ValueSet/request-status |
DiagnosticRequest.stage | added |
DiagnosticRequest.code | added |
DiagnosticRequest.context |
Renamed from encounter to context Add Reference(EpisodeOfCare) |
DiagnosticRequest.occurrence[x] | added |
DiagnosticRequest.authored | added |
DiagnosticRequest.requester |
Renamed from orderer to requester Add Reference(Device), Add Reference(Organization) |
DiagnosticRequest.performerType | added |
DiagnosticRequest.performer | added |
DiagnosticRequest.supportingInformation | Remove Reference(Observation), Remove Reference(Condition), Remove Reference(DocumentReference), Add Reference(Resource) |
DiagnosticRequest.relevantHistory | added |
DiagnosticOrder.specimen | deleted |
DiagnosticOrder.priority | deleted |
DiagnosticOrder.event | deleted |
DiagnosticOrder.item | deleted |
See the Full Difference for further information
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
DiagnosticRequest | DomainResource | A request for a diagnostic service | ||
identifier | Σ | 0..* | Identifier | Identifiers assigned to this order |
definition | Σ | 0..* | Reference(Any) | Protocol or definition |
basedOn | Σ | 0..* | Reference(Any) | What request fulfills |
replaces | Σ | 0..* | Reference(Any) | What request replaces |
requisition | Σ | 0..1 | Identifier | Identifier of composite request |
status | ?!Σ | 0..1 | code | draft | active | suspended | completed | entered-in-error | cancelled RequestStatus (Required) |
stage | ?!Σ | 1..1 | CodeableConcept | proposal | plan | original-order | reflex-order DiagnosticRequestStage (Extensible) |
code | Σ | 1..1 | CodeableConcept | What’s being requested/ordered LOINC Diagnostic Request Codes (Preferred) |
subject | Σ | 1..1 | Reference(Patient | Group | Location | Device) | Individual the test is ordered for |
context | Σ | 0..1 | Reference(Encounter | EpisodeOfCare) | Encounter or Episode during which request was created |
occurrence[x] | Σ | 0..1 | When testing should occur | |
occurrenceDateTime | dateTime | |||
occurrencePeriod | Period | |||
occurrenceTiming | Timing | |||
authored | Σ | 0..1 | dateTime | Date request signed |
requester | Σ | 0..1 | Reference(Device | Practitioner | Organization) | Who/what is requesting diagnostics |
performerType | Σ | 0..1 | CodeableConcept | Performer role Participant Roles (Example) |
performer | Σ | 0..1 | Reference(Practitioner | Organization | Patient | Device | RelatedPerson) | Requested perfomer |
reason | Σ | 0..* | CodeableConcept | Explanation/Justification for test Condition/Problem/Diagnosis Codes (Example) |
supportingInformation | 0..* | Reference(Any) | Additional clinical information | |
note | 0..* | Annotation | Comments | |
relevantHistory | 0..* | Reference(Provenance) | Request provenance | |
Documentation for this format |
XML Template
<DiagnosticRequest xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Identifiers assigned to this order --></identifier> <definition><!-- 0..* Reference(Any) Protocol or definition --></definition> <basedOn><!-- 0..* Reference(Any) What request fulfills --></basedOn> <replaces><!-- 0..* Reference(Any) What request replaces --></replaces> <requisition><!-- 0..1 Identifier Identifier of composite request --></requisition> <status value="[code]"/><!-- 0..1 draft | active | suspended | completed | entered-in-error | cancelled --> <stage><!-- 1..1 CodeableConcept proposal | plan | original-order | reflex-order --></stage> <code><!-- 1..1 CodeableConcept What’s being requested/ordered --></code> <subject><!-- 1..1 Reference(Patient|Group|Location|Device) Individual the test is ordered for --></subject> <context><!-- 0..1 Reference(Encounter|EpisodeOfCare) Encounter or Episode during which request was created --></context> <occurrence[x]><!-- 0..1 dateTime|Period|Timing When testing should occur --></occurrence[x]> <authored value="[dateTime]"/><!-- 0..1 Date request signed --> <requester><!-- 0..1 Reference(Device|Practitioner|Organization) Who/what is requesting diagnostics --></requester> <performerType><!-- 0..1 CodeableConcept Performer role --></performerType> <performer><!-- 0..1 Reference(Practitioner|Organization|Patient|Device| RelatedPerson) Requested perfomer --></performer> <reason><!-- 0..* CodeableConcept Explanation/Justification for test --></reason> <supportingInformation><!-- 0..* Reference(Any) Additional clinical information --></supportingInformation> <note><!-- 0..* Annotation Comments --></note> <relevantHistory><!-- 0..* Reference(Provenance) Request provenance --></relevantHistory> </DiagnosticRequest>
JSON Template
{ "resourceType" : "DiagnosticRequest", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Identifiers assigned to this order "definition" : [{ Reference(Any) }], // Protocol or definition "basedOn" : [{ Reference(Any) }], // What request fulfills "replaces" : [{ Reference(Any) }], // What request replaces "requisition" : { Identifier }, // Identifier of composite request "status" : "<code>", // draft | active | suspended | completed | entered-in-error | cancelled "stage" : { CodeableConcept }, // R! proposal | plan | original-order | reflex-order "code" : { CodeableConcept }, // R! What’s being requested/ordered "subject" : { Reference(Patient|Group|Location|Device) }, // R! Individual the test is ordered for "context" : { Reference(Encounter|EpisodeOfCare) }, // Encounter or Episode during which request was created // occurrence[x]: When testing should occur. One of these 3: "occurrenceDateTime" : "<dateTime>", "occurrencePeriod" : { Period }, "occurrenceTiming" : { Timing }, "authored" : "<dateTime>", // Date request signed "requester" : { Reference(Device|Practitioner|Organization) }, // Who/what is requesting diagnostics "performerType" : { CodeableConcept }, // Performer role "performer" : { Reference(Practitioner|Organization|Patient|Device| RelatedPerson) }, // Requested perfomer "reason" : [{ CodeableConcept }], // Explanation/Justification for test "supportingInformation" : [{ Reference(Any) }], // Additional clinical information "note" : [{ Annotation }], // Comments "relevantHistory" : [{ Reference(Provenance) }] // Request provenance }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:DiagnosticRequest; 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:DiagnosticRequest.identifier [ Identifier ], ... ; # 0..* Identifiers assigned to this order fhir:DiagnosticRequest.definition [ Reference(Any) ], ... ; # 0..* Protocol or definition fhir:DiagnosticRequest.basedOn [ Reference(Any) ], ... ; # 0..* What request fulfills fhir:DiagnosticRequest.replaces [ Reference(Any) ], ... ; # 0..* What request replaces fhir:DiagnosticRequest.requisition [ Identifier ]; # 0..1 Identifier of composite request fhir:DiagnosticRequest.status [ code ]; # 0..1 draft | active | suspended | completed | entered-in-error | cancelled fhir:DiagnosticRequest.stage [ CodeableConcept ]; # 1..1 proposal | plan | original-order | reflex-order fhir:DiagnosticRequest.code [ CodeableConcept ]; # 1..1 What’s being requested/ordered fhir:DiagnosticRequest.subject [ Reference(Patient|Group|Location|Device) ]; # 1..1 Individual the test is ordered for fhir:DiagnosticRequest.context [ Reference(Encounter|EpisodeOfCare) ]; # 0..1 Encounter or Episode during which request was created # DiagnosticRequest.occurrence[x] : 0..1 When testing should occur. One of these 3 fhir:DiagnosticRequest.occurrenceDateTime [ dateTime ] fhir:DiagnosticRequest.occurrencePeriod [ Period ] fhir:DiagnosticRequest.occurrenceTiming [ Timing ] fhir:DiagnosticRequest.authored [ dateTime ]; # 0..1 Date request signed fhir:DiagnosticRequest.requester [ Reference(Device|Practitioner|Organization) ]; # 0..1 Who/what is requesting diagnostics fhir:DiagnosticRequest.performerType [ CodeableConcept ]; # 0..1 Performer role fhir:DiagnosticRequest.performer [ Reference(Practitioner|Organization|Patient|Device|RelatedPerson) ]; # 0..1 Requested perfomer fhir:DiagnosticRequest.reason [ CodeableConcept ], ... ; # 0..* Explanation/Justification for test fhir:DiagnosticRequest.supportingInformation [ Reference(Any) ], ... ; # 0..* Additional clinical information fhir:DiagnosticRequest.note [ Annotation ], ... ; # 0..* Comments fhir:DiagnosticRequest.relevantHistory [ Reference(Provenance) ], ... ; # 0..* Request provenance ]
Changes since DSTU2
DiagnosticRequest | Name Changed from DiagnosticOrder to DiagnosticRequest |
DiagnosticRequest.definition | added |
DiagnosticRequest.basedOn | added |
DiagnosticRequest.replaces | added |
DiagnosticRequest.requisition | added |
DiagnosticRequest.status | Change value set from http://hl7.org/fhir/ValueSet/diagnostic-order-status to http://hl7.org/fhir/ValueSet/request-status |
DiagnosticRequest.stage | added |
DiagnosticRequest.code | added |
DiagnosticRequest.context |
Renamed from encounter to context Add Reference(EpisodeOfCare) |
DiagnosticRequest.occurrence[x] | added |
DiagnosticRequest.authored | added |
DiagnosticRequest.requester |
Renamed from orderer to requester Add Reference(Device), Add Reference(Organization) |
DiagnosticRequest.performerType | added |
DiagnosticRequest.performer | added |
DiagnosticRequest.supportingInformation | Remove Reference(Observation), Remove Reference(Condition), Remove Reference(DocumentReference), Add Reference(Resource) |
DiagnosticRequest.relevantHistory | added |
DiagnosticOrder.specimen | deleted |
DiagnosticOrder.priority | deleted |
DiagnosticOrder.event | deleted |
DiagnosticOrder.item | deleted |
See the Full Difference for further information
Alternate definitions: Master Definition (XML, JSON), XML Schema/Schematron (for ) + JSON Schema, ShEx (for Turtle)
Path | Definition | Type | Reference |
---|---|---|---|
DiagnosticRequest.status | The status of a diagnostic order. | Required | RequestStatus |
DiagnosticRequest.stage | The kind of diagnostic request | Extensible | DiagnosticRequestStage |
DiagnosticRequest.code | Codes for tests/services that can be performed by diagnostic services. | Preferred | LOINC Diagnostic Request Codes |
DiagnosticRequest.performerType | Indicates specific responsibility of an individual within the care team, such as "Primary physician", "Team coordinator", "Caregiver", etc. | Example | Participant Roles |
DiagnosticRequest.reason | Diagnosis or problem codes justifying the reason for requesting the diagnostic investigation. | Example | Condition/Problem/Diagnosis Codes |
<!-- Placer identifier--> <identifier> <type> <coding> <system value="http://hl7.org/fhir/identifier-type"/> <code value="PLAC"/> </coding> <text value="Placer"/> </type> <system value="urn:oid:1.3.4.5.6.7"/> <value value="2345234234234"/> </identifier> <!-- Filler identifier--> <identifier> <type> <coding> <system value="http://hl7.org/fhir/identifier-type"/> <code value="PLAC"/> </coding> <text value="Placer"/> </type> <system value=" http://hl7.org/fhir/identifier-type"/> <value value="567890"/> </identifier>
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 |
author-date | date | When the request transitioned to being actionable | DiagnosticRequest.authored |
based-on | reference | Plan/proposal/order fulfilled by this request | DiagnosticRequest.basedOn (Any) |
code | token | What’s being requested/ordered | DiagnosticRequest.code |
definition | reference | Protocol or definition followed by this request | DiagnosticRequest.definition (Any) |
encounter | reference | Encounter or Episode during which request was created | DiagnosticRequest.context (EpisodeOfCare, Encounter) |
event-date | date | When service should occur | DiagnosticRequest.occurrenceDateTime, DiagnosticRequest.occurrencePeriod |
filler | reference | Desired performer for service | DiagnosticRequest.performer (Practitioner, Organization, Device, Patient, RelatedPerson) |
identifier | token | Business identifier for request/order | DiagnosticRequest.identifier |
patient | reference | Individual the service is ordered for | DiagnosticRequest.subject (Patient) |
replaces | reference | Request takes the place of referenced completed or terminated requests | DiagnosticRequest.replaces (Any) |
requester | reference | Who/what is requesting service | DiagnosticRequest.requester (Practitioner, Organization, Device) |
requisition | token | Composite request this is part of | DiagnosticRequest.requisition |
stage | token | proposal | plan | original-order |reflex-order | DiagnosticRequest.stage |
status | token | entered-in-error | draft | active |suspended | completed | DiagnosticRequest.status |
subject | reference | Individual the service is ordered for | DiagnosticRequest.subject (Group, Device, Patient, Location) |