PATIENT ADMINISTRTAION (PA) Workgroup Development Draft

4.22 Resource DiagnosticOrder - Content

This resource maintained by the Orders and Observations Work Group

A record of a request for a diagnostic investigation service to be performed.

4.22.1 Scope and Usage

A Diagnostic Order 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 Order 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 Order 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.

4.22.2 Boundaries and Relationships

Note that the Diagnostic Order itself is not a request to perform the investigation - it is just a record of the fact that a request was made. To actually request that a diagnostic procedure be performed, additional workflow beyond simply the existence of a Diagnostic Order is required. This can be achieved by using an Order resource, with the Diagnostic Order referenced from the Order.details, or by using the Diagnostic Order 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 and ImagingStudy

4.22.3 Resource Content

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. DiagnosticOrder DomainResourceA request for a diagnostic service
... subject Σ1..1Patient | Group | Location | DeviceWho and/or what test is about
... orderer Σ0..1PractitionerWho ordered the test
... identifier Σ0..*IdentifierIdentifiers assigned to this order
... encounter Σ0..1EncounterThe encounter that this diagnostic order is associated with
... clinicalNotes 0..1stringExplanation/Justification for test
... supportingInformation 0..*Observation | Condition | DocumentReferenceAdditional clinical information
... specimen 0..*SpecimenIf the whole order relates to specific specimens
... status ?! Σ0..1codeproposed | draft | planned | requested | received | accepted | in-progress | review | completed | cancelled | suspended | rejected | failed
DiagnosticOrderStatus (Required)
... priority Σ0..1coderoutine | urgent | stat | asap
DiagnosticOrderPriority (Required)
... event 0..*ElementA list of events of interest in the lifecycle
.... status Σ1..1codeproposed | draft | planned | requested | received | accepted | in-progress | review | completed | cancelled | suspended | rejected | failed
DiagnosticOrderStatus (Required)
.... description Σ0..1CodeableConceptMore information about the event and its context
Diagnostic Order Event Codes (Example)
.... dateTime Σ1..1dateTimeThe date at which the event happened
.... actor 0..1Practitioner | DeviceWho recorded or did this
... item 0..*ElementThe items the orderer requested
.... code Σ1..1CodeableConceptCode to indicate the item (test or panel) being ordered
LOINC Diagnostic Order Codes (Required)
.... specimen 0..*SpecimenIf this item relates to specific specimens
.... bodySite[x] Location of requested test (if applicable)
SNOMED CT Body Structures (Example)
..... bodySiteCodeableConcept0..1CodeableConcept
..... bodySiteReference0..1BodySite
.... status Σ0..1codeproposed | draft | planned | requested | received | accepted | in-progress | review | completed | cancelled | suspended | rejected | failed
DiagnosticOrderStatus (Required)
.... event Σ0..*see eventEvents specific to this item

UML Diagram

DiagnosticOrder (DomainResource)Who or what the investigation is to be performed on. This is usually a human patient, but diagnostic tests can also be requested on animals, groups of humans or animals, devices such as dialysis machines, or even locations (typically for environmental scans)subject : Reference(Patient|Group|Location|Device) 1..1The practitioner that holds legal responsibility for ordering the investigationorderer : Reference(Practitioner) 0..1Identifiers assigned to this order by the orderer and/or the receiver and/or order fulfilleridentifier : Identifier 0..*An encounter that provides additional information about the healthcare context in which this request is madeencounter : Reference(Encounter) 0..1An explanation or justification for why this diagnostic investigation is being requestedclinicalNotes : string 0..1Additional clinical information about the patient or specimen that may influence test interpretationssupportingInformation : Reference(Observation|Condition| DocumentReference) 0..*One or more specimens that the diagnostic investigation is aboutspecimen : Reference(Specimen) 0..*The status of the order (this element modifies the meaning of other elements)status : code 0..1 « The status of a diagnostic orderDiagnosticOrderStatus »The clinical priority associated with this orderpriority : code 0..1 « The clinical priority of a diagnostic orderDiagnosticOrderPriority »EventThe status for the eventstatus : code 1..1 « The status of a diagnostic orderDiagnosticOrderStatus »Additional information about the event that occurred - e.g. if the status remained unchangeddescription : CodeableConcept 0..1 « (Additional information about an event that occurred to a diagnostic order - e.g. if the status remained unchangedDiagnostic Order Event Codes) »The date/time at which the event occurreddateTime : dateTime 1..1The person who was responsible for performing or recording the actionactor : Reference(Practitioner|Device) 0..1ItemA code that identifies a particular diagnostic investigation, or panel of investigations, that have been requestedcode : CodeableConcept 1..1 « Codes for tests/services that can be performed by diagnostic servicesLOINC Diagnostic Order Codes »If the item is related to a specific specimenspecimen : Reference(Specimen) 0..*Anatomical location where the request test should be performed. This is the target sitebodySite[x] : CodeableConcept|Reference(BodySite) 0..1 « (Codes describing anatomical locations. May include lateralitySNOMED CT Body Structures) »The status of this individual item within the orderstatus : code 0..1 « The status of a diagnostic orderDiagnosticOrderStatus »A summary of the events of interest that have occurred as the request is processed. E.g. when the order was made, various processing steps (specimens received), when it was completedevent0..*A summary of the events of interest that have occurred as this item of the request is processedevent0..*The specific diagnostic investigations that are requested as part of this request. Sometimes, there can only be one item per request, but in most contexts, more than one investigation can be requesteditem0..*

XML Template

<DiagnosticOrder xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <subject><!-- 1..1 Reference(Patient|Group|Location|Device) Who and/or what test is about --></subject>
 <orderer><!-- 0..1 Reference(Practitioner) Who ordered the test --></orderer>
 <identifier><!-- 0..* Identifier Identifiers assigned to this order --></identifier>
 <encounter><!-- 0..1 Reference(Encounter) The encounter that this diagnostic order is associated with --></encounter>
 <clinicalNotes value="[string]"/><!-- 0..1 Explanation/Justification for test -->
 <supportingInformation><!-- 0..* Reference(Observation|Condition|
   DocumentReference) Additional clinical information --></supportingInformation>
 <specimen><!-- 0..* Reference(Specimen) If the whole order relates to specific specimens --></specimen>
 <status value="[code]"/><!-- 0..1 proposed | draft | planned | requested | received | accepted | in-progress | review | completed | cancelled | suspended | rejected | failed -->
 <priority value="[code]"/><!-- 0..1 routine | urgent | stat | asap -->
 <event>  <!-- 0..* A list of events of interest in the lifecycle -->
  <status value="[code]"/><!-- 1..1 proposed | draft | planned | requested | received | accepted | in-progress | review | completed | cancelled | suspended | rejected | failed -->
  <description><!-- 0..1 CodeableConcept More information about the event and its context --></description>
  <dateTime value="[dateTime]"/><!-- 1..1 The date at which the event happened -->
  <actor><!-- 0..1 Reference(Practitioner|Device) Who recorded or did this --></actor>
 </event>
 <item>  <!-- 0..* The items the orderer requested -->
  <code><!-- 1..1 CodeableConcept Code to indicate the item (test or panel) being ordered --></code>
  <specimen><!-- 0..* Reference(Specimen) If this item relates to specific specimens --></specimen>
  <bodySite[x]><!-- 0..1 CodeableConcept|Reference(BodySite) Location of requested test (if applicable) --></bodySite[x]>
  <status value="[code]"/><!-- 0..1 proposed | draft | planned | requested | received | accepted | in-progress | review | completed | cancelled | suspended | rejected | failed -->
  <event><!-- 0..* Content as for DiagnosticOrder.event Events specific to this item --></event>
 </item>
</DiagnosticOrder>

JSON Template

{doco
  "resourceType" : "DiagnosticOrder",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "subject" : { Reference(Patient|Group|Location|Device) }, // R!  Who and/or what test is about
  "orderer" : { Reference(Practitioner) }, // Who ordered the test
  "identifier" : [{ Identifier }], // Identifiers assigned to this order
  "encounter" : { Reference(Encounter) }, // The encounter that this diagnostic order is associated with
  "clinicalNotes" : "<string>", // Explanation/Justification for test
  "supportingInformation" : [{ Reference(Observation|Condition|
   DocumentReference) }], // Additional clinical information
  "specimen" : [{ Reference(Specimen) }], // If the whole order relates to specific specimens
  "status" : "<code>", // proposed | draft | planned | requested | received | accepted | in-progress | review | completed | cancelled | suspended | rejected | failed
  "priority" : "<code>", // routine | urgent | stat | asap
  "event" : [{ // A list of events of interest in the lifecycle
    "status" : "<code>", // R!  proposed | draft | planned | requested | received | accepted | in-progress | review | completed | cancelled | suspended | rejected | failed
    "description" : { CodeableConcept }, // More information about the event and its context
    "dateTime" : "<dateTime>", // R!  The date at which the event happened
    "actor" : { Reference(Practitioner|Device) } // Who recorded or did this
  }],
  "item" : [{ // The items the orderer requested
    "code" : { CodeableConcept }, // R!  Code to indicate the item (test or panel) being ordered
    "specimen" : [{ Reference(Specimen) }], // If this item relates to specific specimens
    // bodySite[x]: Location of requested test (if applicable). One of these 2:
    "bodySiteCodeableConcept" : { CodeableConcept },
    "bodySiteReference" : { Reference(BodySite) },
    "status" : "<code>", // proposed | draft | planned | requested | received | accepted | in-progress | review | completed | cancelled | suspended | rejected | failed
    "event" : [{ Content as for DiagnosticOrder.event }] // Events specific to this item
  }]
}

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. DiagnosticOrder DomainResourceA request for a diagnostic service
... subject Σ1..1Patient | Group | Location | DeviceWho and/or what test is about
... orderer Σ0..1PractitionerWho ordered the test
... identifier Σ0..*IdentifierIdentifiers assigned to this order
... encounter Σ0..1EncounterThe encounter that this diagnostic order is associated with
... clinicalNotes 0..1stringExplanation/Justification for test
... supportingInformation 0..*Observation | Condition | DocumentReferenceAdditional clinical information
... specimen 0..*SpecimenIf the whole order relates to specific specimens
... status ?! Σ0..1codeproposed | draft | planned | requested | received | accepted | in-progress | review | completed | cancelled | suspended | rejected | failed
DiagnosticOrderStatus (Required)
... priority Σ0..1coderoutine | urgent | stat | asap
DiagnosticOrderPriority (Required)
... event 0..*ElementA list of events of interest in the lifecycle
.... status Σ1..1codeproposed | draft | planned | requested | received | accepted | in-progress | review | completed | cancelled | suspended | rejected | failed
DiagnosticOrderStatus (Required)
.... description Σ0..1CodeableConceptMore information about the event and its context
Diagnostic Order Event Codes (Example)
.... dateTime Σ1..1dateTimeThe date at which the event happened
.... actor 0..1Practitioner | DeviceWho recorded or did this
... item 0..*ElementThe items the orderer requested
.... code Σ1..1CodeableConceptCode to indicate the item (test or panel) being ordered
LOINC Diagnostic Order Codes (Required)
.... specimen 0..*SpecimenIf this item relates to specific specimens
.... bodySite[x] Location of requested test (if applicable)
SNOMED CT Body Structures (Example)
..... bodySiteCodeableConcept0..1CodeableConcept
..... bodySiteReference0..1BodySite
.... status Σ0..1codeproposed | draft | planned | requested | received | accepted | in-progress | review | completed | cancelled | suspended | rejected | failed
DiagnosticOrderStatus (Required)
.... event Σ0..*see eventEvents specific to this item

UML Diagram

DiagnosticOrder (DomainResource)Who or what the investigation is to be performed on. This is usually a human patient, but diagnostic tests can also be requested on animals, groups of humans or animals, devices such as dialysis machines, or even locations (typically for environmental scans)subject : Reference(Patient|Group|Location|Device) 1..1The practitioner that holds legal responsibility for ordering the investigationorderer : Reference(Practitioner) 0..1Identifiers assigned to this order by the orderer and/or the receiver and/or order fulfilleridentifier : Identifier 0..*An encounter that provides additional information about the healthcare context in which this request is madeencounter : Reference(Encounter) 0..1An explanation or justification for why this diagnostic investigation is being requestedclinicalNotes : string 0..1Additional clinical information about the patient or specimen that may influence test interpretationssupportingInformation : Reference(Observation|Condition| DocumentReference) 0..*One or more specimens that the diagnostic investigation is aboutspecimen : Reference(Specimen) 0..*The status of the order (this element modifies the meaning of other elements)status : code 0..1 « The status of a diagnostic orderDiagnosticOrderStatus »The clinical priority associated with this orderpriority : code 0..1 « The clinical priority of a diagnostic orderDiagnosticOrderPriority »EventThe status for the eventstatus : code 1..1 « The status of a diagnostic orderDiagnosticOrderStatus »Additional information about the event that occurred - e.g. if the status remained unchangeddescription : CodeableConcept 0..1 « (Additional information about an event that occurred to a diagnostic order - e.g. if the status remained unchangedDiagnostic Order Event Codes) »The date/time at which the event occurreddateTime : dateTime 1..1The person who was responsible for performing or recording the actionactor : Reference(Practitioner|Device) 0..1ItemA code that identifies a particular diagnostic investigation, or panel of investigations, that have been requestedcode : CodeableConcept 1..1 « Codes for tests/services that can be performed by diagnostic servicesLOINC Diagnostic Order Codes »If the item is related to a specific specimenspecimen : Reference(Specimen) 0..*Anatomical location where the request test should be performed. This is the target sitebodySite[x] : CodeableConcept|Reference(BodySite) 0..1 « (Codes describing anatomical locations. May include lateralitySNOMED CT Body Structures) »The status of this individual item within the orderstatus : code 0..1 « The status of a diagnostic orderDiagnosticOrderStatus »A summary of the events of interest that have occurred as the request is processed. E.g. when the order was made, various processing steps (specimens received), when it was completedevent0..*A summary of the events of interest that have occurred as this item of the request is processedevent0..*The specific diagnostic investigations that are requested as part of this request. Sometimes, there can only be one item per request, but in most contexts, more than one investigation can be requesteditem0..*

XML Template

<DiagnosticOrder xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <subject><!-- 1..1 Reference(Patient|Group|Location|Device) Who and/or what test is about --></subject>
 <orderer><!-- 0..1 Reference(Practitioner) Who ordered the test --></orderer>
 <identifier><!-- 0..* Identifier Identifiers assigned to this order --></identifier>
 <encounter><!-- 0..1 Reference(Encounter) The encounter that this diagnostic order is associated with --></encounter>
 <clinicalNotes value="[string]"/><!-- 0..1 Explanation/Justification for test -->
 <supportingInformation><!-- 0..* Reference(Observation|Condition|
   DocumentReference) Additional clinical information --></supportingInformation>
 <specimen><!-- 0..* Reference(Specimen) If the whole order relates to specific specimens --></specimen>
 <status value="[code]"/><!-- 0..1 proposed | draft | planned | requested | received | accepted | in-progress | review | completed | cancelled | suspended | rejected | failed -->
 <priority value="[code]"/><!-- 0..1 routine | urgent | stat | asap -->
 <event>  <!-- 0..* A list of events of interest in the lifecycle -->
  <status value="[code]"/><!-- 1..1 proposed | draft | planned | requested | received | accepted | in-progress | review | completed | cancelled | suspended | rejected | failed -->
  <description><!-- 0..1 CodeableConcept More information about the event and its context --></description>
  <dateTime value="[dateTime]"/><!-- 1..1 The date at which the event happened -->
  <actor><!-- 0..1 Reference(Practitioner|Device) Who recorded or did this --></actor>
 </event>
 <item>  <!-- 0..* The items the orderer requested -->
  <code><!-- 1..1 CodeableConcept Code to indicate the item (test or panel) being ordered --></code>
  <specimen><!-- 0..* Reference(Specimen) If this item relates to specific specimens --></specimen>
  <bodySite[x]><!-- 0..1 CodeableConcept|Reference(BodySite) Location of requested test (if applicable) --></bodySite[x]>
  <status value="[code]"/><!-- 0..1 proposed | draft | planned | requested | received | accepted | in-progress | review | completed | cancelled | suspended | rejected | failed -->
  <event><!-- 0..* Content as for DiagnosticOrder.event Events specific to this item --></event>
 </item>
</DiagnosticOrder>

JSON Template

{doco
  "resourceType" : "DiagnosticOrder",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "subject" : { Reference(Patient|Group|Location|Device) }, // R!  Who and/or what test is about
  "orderer" : { Reference(Practitioner) }, // Who ordered the test
  "identifier" : [{ Identifier }], // Identifiers assigned to this order
  "encounter" : { Reference(Encounter) }, // The encounter that this diagnostic order is associated with
  "clinicalNotes" : "<string>", // Explanation/Justification for test
  "supportingInformation" : [{ Reference(Observation|Condition|
   DocumentReference) }], // Additional clinical information
  "specimen" : [{ Reference(Specimen) }], // If the whole order relates to specific specimens
  "status" : "<code>", // proposed | draft | planned | requested | received | accepted | in-progress | review | completed | cancelled | suspended | rejected | failed
  "priority" : "<code>", // routine | urgent | stat | asap
  "event" : [{ // A list of events of interest in the lifecycle
    "status" : "<code>", // R!  proposed | draft | planned | requested | received | accepted | in-progress | review | completed | cancelled | suspended | rejected | failed
    "description" : { CodeableConcept }, // More information about the event and its context
    "dateTime" : "<dateTime>", // R!  The date at which the event happened
    "actor" : { Reference(Practitioner|Device) } // Who recorded or did this
  }],
  "item" : [{ // The items the orderer requested
    "code" : { CodeableConcept }, // R!  Code to indicate the item (test or panel) being ordered
    "specimen" : [{ Reference(Specimen) }], // If this item relates to specific specimens
    // bodySite[x]: Location of requested test (if applicable). One of these 2:
    "bodySiteCodeableConcept" : { CodeableConcept },
    "bodySiteReference" : { Reference(BodySite) },
    "status" : "<code>", // proposed | draft | planned | requested | received | accepted | in-progress | review | completed | cancelled | suspended | rejected | failed
    "event" : [{ Content as for DiagnosticOrder.event }] // Events specific to this item
  }]
}

 

Alternate definitions: Schema/Schematron, Resource Profile (XML, JSON)

4.22.3.1 Terminology Bindings

PathDefinitionTypeReference
DiagnosticOrder.status
DiagnosticOrder.event.status
DiagnosticOrder.item.status
The status of a diagnostic orderRequiredhttp://hl7.org/fhir/diagnostic-order-status
DiagnosticOrder.priority The clinical priority of a diagnostic orderRequiredhttp://hl7.org/fhir/diagnostic-order-priority
DiagnosticOrder.event.description Additional information about an event that occurred to a diagnostic order - e.g. if the status remained unchangedExamplehttp://hl7.org/fhir/vs/diagnostic-order-event
DiagnosticOrder.item.code Codes for tests/services that can be performed by diagnostic servicesRequiredhttp://hl7.org/fhir/vs/diagnostic-requests
DiagnosticOrder.item.bodySite[x] Codes describing anatomical locations. May include lateralityExamplehttp://hl7.org/fhir/vs/body-site

4.22.4 Notes:

  • In normal practice, there would always be at least one item in a request (no point requesting nothing), but the minimum cardinality is 0 so that a workflow can quote order details (identifiers, requester) without having to list the items
  • Typically the system placing the order sets the status to requested. There after, the order is maintained by the receiver that updates the status as the request is processed
  • If the request has multiple items that have their own life cycles, then the items will have their own status while the overall diagnostic order is (usually) "in-progress"
  • The event list is not the same as an audit trail - it is a view of the important things that happened in the past. Typically, there would only be one entry for any given status, and systems may not record all the status events
  • Many investigation requests will create a need for specimens, but in these cases, the request itself is not actually about the specimens. This specimen elements in this resource are provided for when the diagnostic investigation is requested on already existing specimens
  • A single specimen should not appear in both DiagnosticOrder.specimen and DiagnosticOrder.item.specimen - DiagnosticOrder.specimen should only be used when the entire order relates to a single specimen, and then there is no need to repeat it for each item
  • The clinical notes may be used to decide how the diagnostic investigation will be performed, or even if it will be performed at all
  • The identifier.type element is used to distinguish between the identifiers assigned by the orderer (known as the 'Placer' in HL7 v2 ) and the producer of the observations in response to the order ( known the 'Filler' in HL7 v2) . Use the type code "PLAC" for the Placer Identifier and use the type code "FILL" for the Filler identifier. See the example code below:
    
    <!-- Placer identifier-->
      <identifier>
      	<type value="PLAC"/>
      	<system value="http://aceclinic.com"/>
      	<value value="ORD000123A"/>
      </identifier>
    <!-- Filler identifier-->
      <identifier>
    	<type value="FILL"/>
    	<system value="http://acmelabs.com"/>
    	<value value="567890"/>
      </identifier>
    

4.22.5 Search Parameters

Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

NameTypeDescriptionPaths
actorreferenceWho recorded or did thisDiagnosticOrder.event.actor, DiagnosticOrder.item.event.actor
(Practitioner, Device)
bodysitetokenLocation of requested test (if applicable)DiagnosticOrder.item.bodySite[x]
codetokenCode to indicate the item (test or panel) being orderedDiagnosticOrder.item.code
encounterreferenceThe encounter that this diagnostic order is associated withDiagnosticOrder.encounter
(Encounter)
event-datedateThe date at which the event happenedDiagnosticOrder.event.dateTime
event-statustokenproposed | draft | planned | requested | received | accepted | in-progress | review | completed | cancelled | suspended | rejected | failedDiagnosticOrder.event.status
event-status-datecompositeA combination of past-status and date
identifiertokenIdentifiers assigned to this orderDiagnosticOrder.identifier
item-datedateThe date at which the event happenedDiagnosticOrder.item.event.dateTime
item-past-statustokenproposed | draft | planned | requested | received | accepted | in-progress | review | completed | cancelled | suspended | rejected | failedDiagnosticOrder.item.event.status
item-statustokenproposed | draft | planned | requested | received | accepted | in-progress | review | completed | cancelled | suspended | rejected | failedDiagnosticOrder.item.status
item-status-datecompositeA combination of item-past-status and item-date
ordererreferenceWho ordered the testDiagnosticOrder.orderer
(Practitioner)
patientreferenceWho and/or what test is aboutDiagnosticOrder.subject
(Patient)
specimenreferenceIf the whole order relates to specific specimensDiagnosticOrder.specimen, DiagnosticOrder.item.specimen
(Specimen)
statustokenproposed | draft | planned | requested | received | accepted | in-progress | review | completed | cancelled | suspended | rejected | failedDiagnosticOrder.status
subjectreferenceWho and/or what test is aboutDiagnosticOrder.subject
(Group, Device, Patient, Location)