R6 Ballot (1st Draft)

This page is part of the FHIR Specification v6.0.0-ballot1: Release 6 Ballot (1st Draft) (see Ballot Notes). The current version is 5.0.0. For a full list of available versions, see the Directory of published versions

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 TUDomainResourceMedical device request

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

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

... instantiatesUri Σ0..*uriInstantiates external protocol or definition

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

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

.... code 0..1CodeableConceptDevice detail
Binding: ParameterCode (Example)
.... value[x] 0..1Value of detail
..... valueCodeableConceptCodeableConcept
..... valueQuantityQuantity
..... valueRangeRange
..... valueBooleanboolean
... subject Σ1..1Reference(Patient | Group | Location | Device)Focus of request
... encounter Σ0..1Reference(Encounter)Encounter motivating request
... occurrence[x] Σ0..1Desired time or schedule for use
.... occurrenceDateTimedateTime
.... occurrencePeriodPeriod
.... occurrenceTimingTiming
... authoredOn Σ0..1dateTimeWhen recorded
... requester Σ0..1Reference(Device | Practitioner | PractitionerRole | Organization)Who/what submitted the device request
... performer Σ0..1CodeableReference(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..1booleanPRN status of request
... asNeededFor 0..1CodeableConceptDevice usage reason
... insurance 0..*Reference(Coverage | ClaimResponse)Associated insurance coverage

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

... note 0..*AnnotationNotes 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.

See R4 <--> R5 Conversion Maps (status = See Conversions Summary.)

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. DeviceRequest TUDomainResourceMedical device request

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

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

... instantiatesUri Σ0..*uriInstantiates external protocol or definition

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

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

.... code 0..1CodeableConceptDevice detail
Binding: ParameterCode (Example)
.... value[x] 0..1Value of detail
..... valueCodeableConceptCodeableConcept
..... valueQuantityQuantity
..... valueRangeRange
..... valueBooleanboolean
... subject Σ1..1Reference(Patient | Group | Location | Device)Focus of request
... encounter Σ0..1Reference(Encounter)Encounter motivating request
... occurrence[x] Σ0..1Desired time or schedule for use
.... occurrenceDateTimedateTime
.... occurrencePeriodPeriod
.... occurrenceTimingTiming
... authoredOn Σ0..1dateTimeWhen recorded
... requester Σ0..1Reference(Device | Practitioner | PractitionerRole | Organization)Who/what submitted the device request
... performer Σ0..1CodeableReference(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..1booleanPRN status of request
... asNeededFor 0..1CodeableConceptDevice usage reason
... insurance 0..*Reference(Coverage | ClaimResponse)Associated insurance coverage

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

... note 0..*AnnotationNotes 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.

See R4 <--> R5 Conversion Maps (status = See Conversions Summary.)

 

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

PathValueSetTypeDocumentation
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.

NameTypeDescriptionExpressionIn Common
authored-ondateWhen the request transitioned to being actionableDeviceRequest.authoredOn
based-onreferencePlan/proposal/order fulfilled by this requestDeviceRequest.basedOn
(Any)
codetokenCode for what is being requested/orderedDeviceRequest.code.concept22 Resources
devicereferenceReference to resource that is being requested/orderedDeviceRequest.code.reference
encounterreferenceEncounter during which request was createdDeviceRequest.encounter
(Encounter)
29 Resources
event-datedateWhen service should occur(DeviceRequest.occurrence.ofType(dateTime)) | (DeviceRequest.occurrence.ofType(Period))
group-identifiertokenComposite request this is part ofDeviceRequest.groupIdentifier
identifiertokenBusiness identifier for request/orderDeviceRequest.identifier65 Resources
instantiates-canonicalreferenceInstantiates FHIR protocol or definitionDeviceRequest.instantiatesCanonical
(PlanDefinition, ActivityDefinition)
instantiates-uriuriInstantiates external protocol or definitionDeviceRequest.instantiatesUri
insurancereferenceAssociated insurance coverageDeviceRequest.insurance
(ClaimResponse, Coverage)
intenttokenproposal | plan | original-order |reflex-orderDeviceRequest.intent
patientreferenceIndividual the service is ordered forDeviceRequest.subject.where(resolve() is Patient)
(Patient)
66 Resources
performerreferenceDesired performer for serviceDeviceRequest.performer.reference
performer-codetokenDesired performer for serviceDeviceRequest.performer.concept
prior-requestreferenceRequest takes the place of referenced completed or terminated requestsDeviceRequest.replaces
(DeviceRequest)
requesterreferenceWho/what is requesting serviceDeviceRequest.requester
(Practitioner, Organization, Device, PractitionerRole)
statustokenentered-in-error | draft | active |suspended | completedDeviceRequest.status
subjectreferenceIndividual the service is ordered forDeviceRequest.subject
(Group, Device, Patient, Location)