R6 Ballot (2nd Draft)

Publish-box (todo)

12.24 Resource DeviceRequest - Content

Orders and Observations icon Work GroupMaturity Level: 1 Trial UseSecurity Category: Patient Compartments: Device, Encounter, Patient, Practitioner

Represents a request for a patient to employ a medical device. The device may be an implantable device, or an external assistive device, such as a walker.

This resource is a request resource from a FHIR workflow perspective - see Workflow.

This resource describes the request for the use of a device by a patient. The device may be any pertinent device specified in the Device resource. Examples of devices that may be requested include wheelchair, hearing aids, or an insulin pump. The request may lead to the delivery of the device to the patient directly, or to, e.g., a surgery suite for an implantation procedure.

The device use request may represent an order or a prescription entered by a practitioner in a CPOE system or a proposal made by a clinical decision support (CDS) system based on a patient's clinical record and context of care.

This resource deals with the allocation of a device to a patient and while it may contain instructions on how to use the device, the data about getting the device to the patient is addressed in other resources. For example, when requesting an oxygen pump for home use instructions on how to use it may be included. For devices that must be implanted via a surgical or other procedure the implantation is represented in the Procedure resource.

VisionPrescription may appear to overlap with DeviceRequest, but not completely as there are specific vision lens specification details that are present in VisionPrescription. To illustrate this, the devicerequest-left-lens and devicerequest-right-lens examples are based on the general glasses example.

To determine the purchase date, a search of DeviceRequest, SupplyRequest, DeviceDispense, or SupplyDelivery as defined in an implementation guide can be done , as the context of the use case actually determines which date of either resource is considered the purchase date.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. DeviceRequest TU DomainResource Medical device request

Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ 0..* Identifier External Request identifier

... instantiatesCanonical Σ 0..* canonical(ActivityDefinition | PlanDefinition) Instantiates FHIR protocol or definition

... instantiatesUri Σ 0..* uri Instantiates external protocol or definition

... replaces Σ 0..* Reference(DeviceRequest) What request replaces

... groupIdentifier Σ 0..1 Identifier Identifier of composite request
... status ?!Σ 0..1 code draft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (Required)
... intent ?!Σ 1..1 code proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
Binding: RequestIntent (Required)
... priority Σ 0..1 code routine | urgent | asap | stat
Binding: RequestPriority (Required)
... doNotPerform ?!Σ 0..1 boolean True if the request is to stop or not to start using the device
... code Σ 1..1 CodeableReference(Device | DeviceDefinition) Device requested
Binding: Device Type (Example)
... quantity 0..1 integer Quantity of devices to supply
... parameter 0..* BackboneElement Device details

.... code 0..1 CodeableConcept Device detail
Binding: ParameterCode (Example)
.... value[x] 0..1 Value of detail
..... valueCodeableConcept CodeableConcept
..... valueQuantity Quantity
..... valueRange Range
..... valueBoolean boolean
... subject Σ 1..1 Reference(Patient | Group | Location | Device) Focus of request
... encounter Σ 0..1 Reference(Encounter) Encounter motivating request
... occurrence[x] Σ 0..1 Desired time or schedule for use
.... occurrenceDateTime dateTime
.... occurrencePeriod Period
.... occurrenceTiming Timing
... authoredOn Σ 0..1 dateTime When recorded
... requester Σ 0..1 Reference(Device | Practitioner | PractitionerRole | Organization) Who/what submitted the device request
... performer Σ 0..1 CodeableReference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson) Requested Filler
... reason Σ 0..* CodeableReference(Condition | Observation | DiagnosticReport | DocumentReference) Coded/Linked Reason for request
Binding: Condition/Problem/Diagnosis Codes (Example)

... asNeeded 0..1 boolean PRN status of request
... asNeededFor 0..1 CodeableConcept Device usage reason
... insurance 0..* Reference(Coverage | ClaimResponse) Associated insurance coverage

... supportingInfo 0..* Reference(Any) Additional clinical information

... note 0..* Annotation Notes or comments

... relevantHistory 0..* Reference(Provenance) Request provenance


doco Documentation for this format icon

See the Extensions for this resource

UML Diagram (Legend)

DeviceRequest (DomainResource)Identifiers assigned to this order by the orderer or by the receiveridentifier : Identifier [0..*]The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this DeviceRequestinstantiatesCanonical : canonical [0..*] « ActivityDefinition| PlanDefinition »The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this DeviceRequestinstantiatesUri : uri [0..*]Plan/proposal/order fulfilled by this requestbasedOn : Reference [0..*] « Any »The request takes the place of the referenced completed or terminated request(s)replaces : Reference [0..*] « DeviceRequest »A shared identifier common to multiple independent Request instances that were activated/authorized more or less simultaneously by a single author. The presence of the same identifier on each request ties those requests together and may have business ramifications in terms of reporting of results, billing, etc. E.g. a requisition number shared by a set of lab tests ordered together, or a prescription number shared by all meds ordered at one timegroupIdentifier : Identifier [0..1]The status of the request (this element modifies the meaning of other elements)status : code [0..1] « null (Strength=Required)RequestStatus! »Whether the request is a proposal, plan, an original order or a reflex order (this element modifies the meaning of other elements)intent : code [1..1] « null (Strength=Required)RequestIntent! »Indicates how quickly the request should be addressed with respect to other requestspriority : code [0..1] « null (Strength=Required)RequestPriority! »If true, indicates that the provider is asking for the patient to either stop using or to not start using the specified device or category of devices. For example, the patient has undergone surgery and the provider is indicating that the patient should not wear contact lenses (this element modifies the meaning of other elements)doNotPerform : boolean [0..1]The details of the device to be usedcode : CodeableReference [1..1] « Device|DeviceDefinition; null (Strength=Example) DeviceType?? »The number of devices to be providedquantity : integer [0..1]The patient who will use the devicesubject : Reference [1..1] « Patient|Group|Location|Device »An encounter that provides additional context in which this request is madeencounter : Reference [0..1] « Encounter »The timing schedule for the use of the device. The Schedule data type allows many different expressions, for example. "Every 8 hours"; "Three times a day"; "1/2 an hour before breakfast for 10 days from 23-Dec 2011:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013"occurrence[x] : DataType [0..1] « dateTime|Period|Timing »When the request transitioned to being actionableauthoredOn : dateTime [0..1]The individual or entity who initiated the request and has responsibility for its activationrequester : Reference [0..1] « Device|Practitioner|PractitionerRole| Organization »The desired individual or entity to provide the device to the subject of the request (e.g., patient, location)performer : CodeableReference [0..1] « Practitioner|PractitionerRole| Organization|CareTeam|HealthcareService|Patient|Device| RelatedPerson »Reason or justification for the use of this devicereason : CodeableReference [0..*] « Condition|Observation| DiagnosticReport|DocumentReference; null (Strength=Example) ConditionProblemDiagnosisCodes?? »This status is to indicate whether the request is a PRN or may be given as neededasNeeded : boolean [0..1]The reason for using the deviceasNeededFor : CodeableConcept [0..1]Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be required for delivering the requested serviceinsurance : Reference [0..*] « Coverage|ClaimResponse »Additional clinical information about the patient that may influence the request fulfilment. For example, this may include where on the subject's body the device will be used (i.e. the target site)supportingInfo : Reference [0..*] « Any »Details about this request that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statementnote : Annotation [0..*]Key events in the history of the requestrelevantHistory : Reference [0..*] « Provenance »ParameterA code or string that identifies the device detail being assertedcode : CodeableConcept [0..1] « null (Strength=Example)ParameterCode?? »The value of the device detailvalue[x] : DataType [0..1] « CodeableConcept|Quantity|Range|boolean »Specific parameters for the ordered item. For example, the prism value for lensesparameter[0..*]

XML Template

<DeviceRequest xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier External Request identifier --></identifier>
 <instantiatesCanonical><!-- 0..* canonical(ActivityDefinition|PlanDefinition) Instantiates FHIR protocol or definition --></instantiatesCanonical>
 <instantiatesUri value="[uri]"/><!-- 0..* Instantiates external protocol or definition -->
 <basedOn><!-- 0..* Reference(Any) What request fulfills --></basedOn>
 <replaces><!-- 0..* Reference(DeviceRequest) What request replaces --></replaces>
 <groupIdentifier><!-- 0..1 Identifier Identifier of composite request --></groupIdentifier>
 <status value="[code]"/><!-- 0..1 draft | active | on-hold | revoked | completed | entered-in-error | unknown -->
 <intent value="[code]"/><!-- 1..1 proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option -->
 <priority value="[code]"/><!-- 0..1 routine | urgent | asap | stat -->
 <doNotPerform value="[boolean]"/><!-- 0..1 True if the request is to stop or not to start using the device -->
 <code><!-- 1..1 CodeableReference(Device|DeviceDefinition) Device requested --></code>
 <quantity value="[integer]"/><!-- 0..1 Quantity of devices to supply -->
 <parameter>  <!-- 0..* Device details -->
  <code><!-- 0..1 CodeableConcept Device detail --></code>
  <value[x]><!-- 0..1 CodeableConcept|Quantity|Range|boolean Value of detail --></value[x]>
 </parameter>
 <subject><!-- 1..1 Reference(Device|Group|Location|Patient) Focus of request --></subject>
 <encounter><!-- 0..1 Reference(Encounter) Encounter motivating request --></encounter>
 <occurrence[x]><!-- 0..1 dateTime|Period|Timing Desired time or schedule for use --></occurrence[x]>
 <authoredOn value="[dateTime]"/><!-- 0..1 When recorded -->
 <requester><!-- 0..1 Reference(Device|Organization|Practitioner|PractitionerRole) Who/what submitted the device request --></requester>
 <performer><!-- 0..1 CodeableReference(CareTeam|Device|HealthcareService|
   Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) Requested Filler --></performer>
 <reason><!-- 0..* CodeableReference(Condition|DiagnosticReport|DocumentReference|
   Observation) Coded/Linked Reason for request --></reason>
 <asNeeded value="[boolean]"/><!-- 0..1 PRN status of request -->
 <asNeededFor><!-- 0..1 CodeableConcept Device usage reason --></asNeededFor>
 <insurance><!-- 0..* Reference(ClaimResponse|Coverage) Associated insurance coverage --></insurance>
 <supportingInfo><!-- 0..* Reference(Any) Additional clinical information --></supportingInfo>
 <note><!-- 0..* Annotation Notes or comments --></note>
 <relevantHistory><!-- 0..* Reference(Provenance) Request provenance --></relevantHistory>
</DeviceRequest>

JSON Template

{doco
  "resourceType" : "DeviceRequest",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // External Request identifier
  "instantiatesCanonical" : ["<canonical(ActivityDefinition|PlanDefinition)>"], // Instantiates FHIR protocol or definition
  "instantiatesUri" : ["<uri>"], // Instantiates external protocol or definition
  "basedOn" : [{ Reference(Any) }], // What request fulfills
  "replaces" : [{ Reference(DeviceRequest) }], // What request replaces
  "groupIdentifier" : { Identifier }, // Identifier of composite request
  "status" : "<code>", // draft | active | on-hold | revoked | completed | entered-in-error | unknown
  "intent" : "<code>", // R!  proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
  "priority" : "<code>", // routine | urgent | asap | stat
  "doNotPerform" : <boolean>, // True if the request is to stop or not to start using the device
  "code" : { CodeableReference(Device|DeviceDefinition) }, // R!  Device requested
  "quantity" : <integer>, // Quantity of devices to supply
  "parameter" : [{ // Device details
    "code" : { CodeableConcept }, // Device detail
    // value[x]: Value of detail. One of these 4:
    "valueCodeableConcept" : { CodeableConcept },
    "valueQuantity" : { Quantity },
    "valueRange" : { Range },
    "valueBoolean" : <boolean>
  }],
  "subject" : { Reference(Device|Group|Location|Patient) }, // R!  Focus of request
  "encounter" : { Reference(Encounter) }, // Encounter motivating request
  // occurrence[x]: Desired time or schedule for use. One of these 3:
  "occurrenceDateTime" : "<dateTime>",
  "occurrencePeriod" : { Period },
  "occurrenceTiming" : { Timing },
  "authoredOn" : "<dateTime>", // When recorded
  "requester" : { Reference(Device|Organization|Practitioner|PractitionerRole) }, // Who/what submitted the device request
  "performer" : { CodeableReference(CareTeam|Device|HealthcareService|
   Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) }, // Requested Filler
  "reason" : [{ CodeableReference(Condition|DiagnosticReport|DocumentReference|
   Observation) }], // Coded/Linked Reason for request
  "asNeeded" : <boolean>, // PRN status of request
  "asNeededFor" : { CodeableConcept }, // Device usage reason
  "insurance" : [{ Reference(ClaimResponse|Coverage) }], // Associated insurance coverage
  "supportingInfo" : [{ Reference(Any) }], // Additional clinical information
  "note" : [{ Annotation }], // Notes or comments
  "relevantHistory" : [{ Reference(Provenance) }] // Request provenance
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:DeviceRequest;
  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:identifier  ( [ Identifier ] ... ) ; # 0..* External Request identifier
  fhir:instantiatesCanonical  ( [ canonical(ActivityDefinition|PlanDefinition) ] ... ) ; # 0..* Instantiates FHIR protocol or definition
  fhir:instantiatesUri  ( [ uri ] ... ) ; # 0..* Instantiates external protocol or definition
  fhir:basedOn  ( [ Reference(Any) ] ... ) ; # 0..* What request fulfills
  fhir:replaces  ( [ Reference(DeviceRequest) ] ... ) ; # 0..* What request replaces
  fhir:groupIdentifier [ Identifier ] ; # 0..1 Identifier of composite request
  fhir:status [ code ] ; # 0..1 draft | active | on-hold | revoked | completed | entered-in-error | unknown
  fhir:intent [ code ] ; # 1..1 proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
  fhir:priority [ code ] ; # 0..1 routine | urgent | asap | stat
  fhir:doNotPerform [ boolean ] ; # 0..1 True if the request is to stop or not to start using the device
  fhir:code [ CodeableReference(Device|DeviceDefinition) ] ; # 1..1 Device requested
  fhir:quantity [ integer ] ; # 0..1 Quantity of devices to supply
  fhir:parameter ( [ # 0..* Device details
    fhir:code [ CodeableConcept ] ; # 0..1 Device detail
    # value[x] : 0..1 Value of detail. One of these 4
      fhir:value [  a fhir:CodeableConcept ; CodeableConcept ]
      fhir:value [  a fhir:Quantity ; Quantity ]
      fhir:value [  a fhir:Range ; Range ]
      fhir:value [  a fhir:boolean ; boolean ]
  ] ... ) ;
  fhir:subject [ Reference(Device|Group|Location|Patient) ] ; # 1..1 Focus of request
  fhir:encounter [ Reference(Encounter) ] ; # 0..1 Encounter motivating request
  # occurrence[x] : 0..1 Desired time or schedule for use. One of these 3
    fhir:occurrence [  a fhir:dateTime ; dateTime ]
    fhir:occurrence [  a fhir:Period ; Period ]
    fhir:occurrence [  a fhir:Timing ; Timing ]
  fhir:authoredOn [ dateTime ] ; # 0..1 When recorded
  fhir:requester [ Reference(Device|Organization|Practitioner|PractitionerRole) ] ; # 0..1 Who/what submitted the device request
  fhir:performer [ CodeableReference(CareTeam|Device|HealthcareService|Organization|Patient|Practitioner|
  PractitionerRole|RelatedPerson) ] ; # 0..1 Requested Filler
  fhir:reason  ( [ CodeableReference(Condition|DiagnosticReport|DocumentReference|Observation) ] ... ) ; # 0..* Coded/Linked Reason for request
  fhir:asNeeded [ boolean ] ; # 0..1 PRN status of request
  fhir:asNeededFor [ CodeableConcept ] ; # 0..1 Device usage reason
  fhir:insurance  ( [ Reference(ClaimResponse|Coverage) ] ... ) ; # 0..* Associated insurance coverage
  fhir:supportingInfo  ( [ Reference(Any) ] ... ) ; # 0..* Additional clinical information
  fhir:note  ( [ Annotation ] ... ) ; # 0..* Notes or comments
  fhir:relevantHistory  ( [ Reference(Provenance) ] ... ) ; # 0..* Request provenance
]

Changes from both R4 and R4B

DeviceRequest
DeviceRequest.replaces
  • Renamed from priorRequest to replaces
  • Type Reference: Added Target Type DeviceRequest
  • Type Reference: Removed Target Type Resource
DeviceRequest.doNotPerform
  • Added Element
DeviceRequest.code
  • Renamed from code[x] to code
  • Add Type CodeableReference
  • Remove Types Reference(Device), CodeableConcept
DeviceRequest.quantity
  • Added Element
DeviceRequest.performer
  • Type changed from Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson) to CodeableReference
DeviceRequest.reason
  • Added Element
DeviceRequest.asNeeded
  • Added Element
DeviceRequest.asNeededFor
  • Added Element
DeviceRequest.performerType
  • Deleted (-> performer)
DeviceRequest.reasonCode
  • Deleted (-> reason)
DeviceRequest.reasonReference
  • Deleted (-> reason)

See the Full Difference for further information

This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. DeviceRequest TU DomainResource Medical device request

Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ 0..* Identifier External Request identifier

... instantiatesCanonical Σ 0..* canonical(ActivityDefinition | PlanDefinition) Instantiates FHIR protocol or definition

... instantiatesUri Σ 0..* uri Instantiates external protocol or definition

... replaces Σ 0..* Reference(DeviceRequest) What request replaces

... groupIdentifier Σ 0..1 Identifier Identifier of composite request
... status ?!Σ 0..1 code draft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (Required)
... intent ?!Σ 1..1 code proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
Binding: RequestIntent (Required)
... priority Σ 0..1 code routine | urgent | asap | stat
Binding: RequestPriority (Required)
... doNotPerform ?!Σ 0..1 boolean True if the request is to stop or not to start using the device
... code Σ 1..1 CodeableReference(Device | DeviceDefinition) Device requested
Binding: Device Type (Example)
... quantity 0..1 integer Quantity of devices to supply
... parameter 0..* BackboneElement Device details

.... code 0..1 CodeableConcept Device detail
Binding: ParameterCode (Example)
.... value[x] 0..1 Value of detail
..... valueCodeableConcept CodeableConcept
..... valueQuantity Quantity
..... valueRange Range
..... valueBoolean boolean
... subject Σ 1..1 Reference(Patient | Group | Location | Device) Focus of request
... encounter Σ 0..1 Reference(Encounter) Encounter motivating request
... occurrence[x] Σ 0..1 Desired time or schedule for use
.... occurrenceDateTime dateTime
.... occurrencePeriod Period
.... occurrenceTiming Timing
... authoredOn Σ 0..1 dateTime When recorded
... requester Σ 0..1 Reference(Device | Practitioner | PractitionerRole | Organization) Who/what submitted the device request
... performer Σ 0..1 CodeableReference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson) Requested Filler
... reason Σ 0..* CodeableReference(Condition | Observation | DiagnosticReport | DocumentReference) Coded/Linked Reason for request
Binding: Condition/Problem/Diagnosis Codes (Example)

... asNeeded 0..1 boolean PRN status of request
... asNeededFor 0..1 CodeableConcept Device usage reason
... insurance 0..* Reference(Coverage | ClaimResponse) Associated insurance coverage

... supportingInfo 0..* Reference(Any) Additional clinical information

... note 0..* Annotation Notes or comments

... relevantHistory 0..* Reference(Provenance) Request provenance


doco Documentation for this format icon

See the Extensions for this resource

UML Diagram (Legend)

DeviceRequest (DomainResource)Identifiers assigned to this order by the orderer or by the receiveridentifier : Identifier [0..*]The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this DeviceRequestinstantiatesCanonical : canonical [0..*] « ActivityDefinition| PlanDefinition »The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this DeviceRequestinstantiatesUri : uri [0..*]Plan/proposal/order fulfilled by this requestbasedOn : Reference [0..*] « Any »The request takes the place of the referenced completed or terminated request(s)replaces : Reference [0..*] « DeviceRequest »A shared identifier common to multiple independent Request instances that were activated/authorized more or less simultaneously by a single author. The presence of the same identifier on each request ties those requests together and may have business ramifications in terms of reporting of results, billing, etc. E.g. a requisition number shared by a set of lab tests ordered together, or a prescription number shared by all meds ordered at one timegroupIdentifier : Identifier [0..1]The status of the request (this element modifies the meaning of other elements)status : code [0..1] « null (Strength=Required)RequestStatus! »Whether the request is a proposal, plan, an original order or a reflex order (this element modifies the meaning of other elements)intent : code [1..1] « null (Strength=Required)RequestIntent! »Indicates how quickly the request should be addressed with respect to other requestspriority : code [0..1] « null (Strength=Required)RequestPriority! »If true, indicates that the provider is asking for the patient to either stop using or to not start using the specified device or category of devices. For example, the patient has undergone surgery and the provider is indicating that the patient should not wear contact lenses (this element modifies the meaning of other elements)doNotPerform : boolean [0..1]The details of the device to be usedcode : CodeableReference [1..1] « Device|DeviceDefinition; null (Strength=Example) DeviceType?? »The number of devices to be providedquantity : integer [0..1]The patient who will use the devicesubject : Reference [1..1] « Patient|Group|Location|Device »An encounter that provides additional context in which this request is madeencounter : Reference [0..1] « Encounter »The timing schedule for the use of the device. The Schedule data type allows many different expressions, for example. "Every 8 hours"; "Three times a day"; "1/2 an hour before breakfast for 10 days from 23-Dec 2011:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013"occurrence[x] : DataType [0..1] « dateTime|Period|Timing »When the request transitioned to being actionableauthoredOn : dateTime [0..1]The individual or entity who initiated the request and has responsibility for its activationrequester : Reference [0..1] « Device|Practitioner|PractitionerRole| Organization »The desired individual or entity to provide the device to the subject of the request (e.g., patient, location)performer : CodeableReference [0..1] « Practitioner|PractitionerRole| Organization|CareTeam|HealthcareService|Patient|Device| RelatedPerson »Reason or justification for the use of this devicereason : CodeableReference [0..*] « Condition|Observation| DiagnosticReport|DocumentReference; null (Strength=Example) ConditionProblemDiagnosisCodes?? »This status is to indicate whether the request is a PRN or may be given as neededasNeeded : boolean [0..1]The reason for using the deviceasNeededFor : CodeableConcept [0..1]Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be required for delivering the requested serviceinsurance : Reference [0..*] « Coverage|ClaimResponse »Additional clinical information about the patient that may influence the request fulfilment. For example, this may include where on the subject's body the device will be used (i.e. the target site)supportingInfo : Reference [0..*] « Any »Details about this request that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statementnote : Annotation [0..*]Key events in the history of the requestrelevantHistory : Reference [0..*] « Provenance »ParameterA code or string that identifies the device detail being assertedcode : CodeableConcept [0..1] « null (Strength=Example)ParameterCode?? »The value of the device detailvalue[x] : DataType [0..1] « CodeableConcept|Quantity|Range|boolean »Specific parameters for the ordered item. For example, the prism value for lensesparameter[0..*]

XML Template

<DeviceRequest xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier External Request identifier --></identifier>
 <instantiatesCanonical><!-- 0..* canonical(ActivityDefinition|PlanDefinition) Instantiates FHIR protocol or definition --></instantiatesCanonical>
 <instantiatesUri value="[uri]"/><!-- 0..* Instantiates external protocol or definition -->
 <basedOn><!-- 0..* Reference(Any) What request fulfills --></basedOn>
 <replaces><!-- 0..* Reference(DeviceRequest) What request replaces --></replaces>
 <groupIdentifier><!-- 0..1 Identifier Identifier of composite request --></groupIdentifier>
 <status value="[code]"/><!-- 0..1 draft | active | on-hold | revoked | completed | entered-in-error | unknown -->
 <intent value="[code]"/><!-- 1..1 proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option -->
 <priority value="[code]"/><!-- 0..1 routine | urgent | asap | stat -->
 <doNotPerform value="[boolean]"/><!-- 0..1 True if the request is to stop or not to start using the device -->
 <code><!-- 1..1 CodeableReference(Device|DeviceDefinition) Device requested --></code>
 <quantity value="[integer]"/><!-- 0..1 Quantity of devices to supply -->
 <parameter>  <!-- 0..* Device details -->
  <code><!-- 0..1 CodeableConcept Device detail --></code>
  <value[x]><!-- 0..1 CodeableConcept|Quantity|Range|boolean Value of detail --></value[x]>
 </parameter>
 <subject><!-- 1..1 Reference(Device|Group|Location|Patient) Focus of request --></subject>
 <encounter><!-- 0..1 Reference(Encounter) Encounter motivating request --></encounter>
 <occurrence[x]><!-- 0..1 dateTime|Period|Timing Desired time or schedule for use --></occurrence[x]>
 <authoredOn value="[dateTime]"/><!-- 0..1 When recorded -->
 <requester><!-- 0..1 Reference(Device|Organization|Practitioner|PractitionerRole) Who/what submitted the device request --></requester>
 <performer><!-- 0..1 CodeableReference(CareTeam|Device|HealthcareService|
   Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) Requested Filler --></performer>
 <reason><!-- 0..* CodeableReference(Condition|DiagnosticReport|DocumentReference|
   Observation) Coded/Linked Reason for request --></reason>
 <asNeeded value="[boolean]"/><!-- 0..1 PRN status of request -->
 <asNeededFor><!-- 0..1 CodeableConcept Device usage reason --></asNeededFor>
 <insurance><!-- 0..* Reference(ClaimResponse|Coverage) Associated insurance coverage --></insurance>
 <supportingInfo><!-- 0..* Reference(Any) Additional clinical information --></supportingInfo>
 <note><!-- 0..* Annotation Notes or comments --></note>
 <relevantHistory><!-- 0..* Reference(Provenance) Request provenance --></relevantHistory>
</DeviceRequest>

JSON Template

{doco
  "resourceType" : "DeviceRequest",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // External Request identifier
  "instantiatesCanonical" : ["<canonical(ActivityDefinition|PlanDefinition)>"], // Instantiates FHIR protocol or definition
  "instantiatesUri" : ["<uri>"], // Instantiates external protocol or definition
  "basedOn" : [{ Reference(Any) }], // What request fulfills
  "replaces" : [{ Reference(DeviceRequest) }], // What request replaces
  "groupIdentifier" : { Identifier }, // Identifier of composite request
  "status" : "<code>", // draft | active | on-hold | revoked | completed | entered-in-error | unknown
  "intent" : "<code>", // R!  proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
  "priority" : "<code>", // routine | urgent | asap | stat
  "doNotPerform" : <boolean>, // True if the request is to stop or not to start using the device
  "code" : { CodeableReference(Device|DeviceDefinition) }, // R!  Device requested
  "quantity" : <integer>, // Quantity of devices to supply
  "parameter" : [{ // Device details
    "code" : { CodeableConcept }, // Device detail
    // value[x]: Value of detail. One of these 4:
    "valueCodeableConcept" : { CodeableConcept },
    "valueQuantity" : { Quantity },
    "valueRange" : { Range },
    "valueBoolean" : <boolean>
  }],
  "subject" : { Reference(Device|Group|Location|Patient) }, // R!  Focus of request
  "encounter" : { Reference(Encounter) }, // Encounter motivating request
  // occurrence[x]: Desired time or schedule for use. One of these 3:
  "occurrenceDateTime" : "<dateTime>",
  "occurrencePeriod" : { Period },
  "occurrenceTiming" : { Timing },
  "authoredOn" : "<dateTime>", // When recorded
  "requester" : { Reference(Device|Organization|Practitioner|PractitionerRole) }, // Who/what submitted the device request
  "performer" : { CodeableReference(CareTeam|Device|HealthcareService|
   Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) }, // Requested Filler
  "reason" : [{ CodeableReference(Condition|DiagnosticReport|DocumentReference|
   Observation) }], // Coded/Linked Reason for request
  "asNeeded" : <boolean>, // PRN status of request
  "asNeededFor" : { CodeableConcept }, // Device usage reason
  "insurance" : [{ Reference(ClaimResponse|Coverage) }], // Associated insurance coverage
  "supportingInfo" : [{ Reference(Any) }], // Additional clinical information
  "note" : [{ Annotation }], // Notes or comments
  "relevantHistory" : [{ Reference(Provenance) }] // Request provenance
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:DeviceRequest;
  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:identifier  ( [ Identifier ] ... ) ; # 0..* External Request identifier
  fhir:instantiatesCanonical  ( [ canonical(ActivityDefinition|PlanDefinition) ] ... ) ; # 0..* Instantiates FHIR protocol or definition
  fhir:instantiatesUri  ( [ uri ] ... ) ; # 0..* Instantiates external protocol or definition
  fhir:basedOn  ( [ Reference(Any) ] ... ) ; # 0..* What request fulfills
  fhir:replaces  ( [ Reference(DeviceRequest) ] ... ) ; # 0..* What request replaces
  fhir:groupIdentifier [ Identifier ] ; # 0..1 Identifier of composite request
  fhir:status [ code ] ; # 0..1 draft | active | on-hold | revoked | completed | entered-in-error | unknown
  fhir:intent [ code ] ; # 1..1 proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
  fhir:priority [ code ] ; # 0..1 routine | urgent | asap | stat
  fhir:doNotPerform [ boolean ] ; # 0..1 True if the request is to stop or not to start using the device
  fhir:code [ CodeableReference(Device|DeviceDefinition) ] ; # 1..1 Device requested
  fhir:quantity [ integer ] ; # 0..1 Quantity of devices to supply
  fhir:parameter ( [ # 0..* Device details
    fhir:code [ CodeableConcept ] ; # 0..1 Device detail
    # value[x] : 0..1 Value of detail. One of these 4
      fhir:value [  a fhir:CodeableConcept ; CodeableConcept ]
      fhir:value [  a fhir:Quantity ; Quantity ]
      fhir:value [  a fhir:Range ; Range ]
      fhir:value [  a fhir:boolean ; boolean ]
  ] ... ) ;
  fhir:subject [ Reference(Device|Group|Location|Patient) ] ; # 1..1 Focus of request
  fhir:encounter [ Reference(Encounter) ] ; # 0..1 Encounter motivating request
  # occurrence[x] : 0..1 Desired time or schedule for use. One of these 3
    fhir:occurrence [  a fhir:dateTime ; dateTime ]
    fhir:occurrence [  a fhir:Period ; Period ]
    fhir:occurrence [  a fhir:Timing ; Timing ]
  fhir:authoredOn [ dateTime ] ; # 0..1 When recorded
  fhir:requester [ Reference(Device|Organization|Practitioner|PractitionerRole) ] ; # 0..1 Who/what submitted the device request
  fhir:performer [ CodeableReference(CareTeam|Device|HealthcareService|Organization|Patient|Practitioner|
  PractitionerRole|RelatedPerson) ] ; # 0..1 Requested Filler
  fhir:reason  ( [ CodeableReference(Condition|DiagnosticReport|DocumentReference|Observation) ] ... ) ; # 0..* Coded/Linked Reason for request
  fhir:asNeeded [ boolean ] ; # 0..1 PRN status of request
  fhir:asNeededFor [ CodeableConcept ] ; # 0..1 Device usage reason
  fhir:insurance  ( [ Reference(ClaimResponse|Coverage) ] ... ) ; # 0..* Associated insurance coverage
  fhir:supportingInfo  ( [ Reference(Any) ] ... ) ; # 0..* Additional clinical information
  fhir:note  ( [ Annotation ] ... ) ; # 0..* Notes or comments
  fhir:relevantHistory  ( [ Reference(Provenance) ] ... ) ; # 0..* Request provenance
]

Changes from both R4 and R4B

DeviceRequest
DeviceRequest.replaces
  • Renamed from priorRequest to replaces
  • Type Reference: Added Target Type DeviceRequest
  • Type Reference: Removed Target Type Resource
DeviceRequest.doNotPerform
  • Added Element
DeviceRequest.code
  • Renamed from code[x] to code
  • Add Type CodeableReference
  • Remove Types Reference(Device), CodeableConcept
DeviceRequest.quantity
  • Added Element
DeviceRequest.performer
  • Type changed from Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson) to CodeableReference
DeviceRequest.reason
  • Added Element
DeviceRequest.asNeeded
  • Added Element
DeviceRequest.asNeededFor
  • Added Element
DeviceRequest.performerType
  • Deleted (-> performer)
DeviceRequest.reasonCode
  • Deleted (-> reason)
DeviceRequest.reasonReference
  • Deleted (-> reason)

See the Full Difference for further information

This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.

 

Additional definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions, the spreadsheet version & the dependency analysis

Path ValueSet Type Documentation
DeviceRequest.status RequestStatus Required

Codes identifying the lifecycle stage of a request.

DeviceRequest.intent RequestIntent Required

Codes indicating the degree of authority/intentionality associated with a request.

DeviceRequest.priority RequestPriority Required

Identifies the level of importance to be assigned to actioning the request.

DeviceRequest.code DeviceType Example

Codes used to identify medical devices. Includes concepts from SNOMED CT (http://www.snomed.org/) where concept is-a 49062001 (Device) and is provided as a suggestive example.

DeviceRequest.parameter.code Example
DeviceRequest.reason ConditionProblemDiagnosisCodes Example

Example value set for Condition/Problem/Diagnosis codes.

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. See also the full list of search parameters for this resource, and check the Extensions registry for search parameters on extensions related to 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
authored-on date When the request transitioned to being actionable DeviceRequest.authoredOn
based-on reference Plan/proposal/order fulfilled by this request DeviceRequest.basedOn
(Any)
code token Code for what is being requested/ordered DeviceRequest.code.concept 21 Resources
device reference Reference to resource that is being requested/ordered DeviceRequest.code.reference
encounter reference Encounter during which request was created DeviceRequest.encounter
(Encounter)
29 Resources
event-date date When service should occur (DeviceRequest.occurrence.ofType(dateTime)) | (DeviceRequest.occurrence.ofType(Period))
group-identifier token Composite request this is part of DeviceRequest.groupIdentifier
identifier token Business identifier for request/order DeviceRequest.identifier 65 Resources
instantiates-canonical reference Instantiates FHIR protocol or definition DeviceRequest.instantiatesCanonical
(PlanDefinition, ActivityDefinition)
instantiates-uri uri Instantiates external protocol or definition DeviceRequest.instantiatesUri
insurance reference Associated insurance coverage DeviceRequest.insurance
(ClaimResponse, Coverage)
intent token proposal | plan | original-order |reflex-order DeviceRequest.intent
patient reference Individual the service is ordered for DeviceRequest.subject.where(resolve() is Patient)
(Patient)
65 Resources
performer reference Desired performer for service DeviceRequest.performer.reference
performer-code token Desired performer for service DeviceRequest.performer.concept
prior-request reference Request takes the place of referenced completed or terminated requests DeviceRequest.replaces
(DeviceRequest)
requester reference Who/what is requesting service DeviceRequest.requester
(Practitioner, Organization, Device, PractitionerRole)
status token entered-in-error | draft | active |suspended | completed DeviceRequest.status
subject reference Individual the service is ordered for DeviceRequest.subject
(Group, Device, Patient, Location)