Release 5 Draft Ballot

This page is part of the FHIR Specification (v4.6.0: R5 Draft Ballot - see ballot notes). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3

12.23 Resource DeviceRequest - Content

Orders and Observations Work GroupMaturity Level: 0 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.

Trial-Use Note: In terms of scope and usage, the Orders and Observations workgroups wish to draw the attention of reviewers and implementers to the following issue:

  1. We are seeking input from the implementation community on whether to combine DeviceRequest and VisionPrescription for R4. The parameters element was added to DeviceRequest for representing custom details for ordering devices. With this change, VisionPrescription significantly overlaps DeviceRequest. To illustrate this, the devicerequest-left-lens and devicerequest-right-lens examples are based on the general glasses example in VisionPrescription.

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 dispensing of the device to the patient or for use by the patient.

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, certain devices must be implanted via a surgical or other procedure and the implantation or explantation is represented in the [Procedure](procedure.html) or [ServiceRequest](servicerequest.html) resource.

The SupplyRequest resource is similar in that it deals with requesting a particular item for a specific patient. However, DeviceRequest is concerned with items where there is a patient focus, or instructions regarding their use, whereas SupplyRequest is concerned with inventory management.

This resource is referenced by AuditEvent, CarePlan, Claim, itself, Observation and Provenance.

This resource implements the Request pattern.

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
... priorRequest Σ0..*Reference(DeviceRequest)What request replaces
... groupIdentifier Σ0..1IdentifierIdentifier of composite request
... status ?!Σ0..1codedraft | active | on-hold | revoked | completed | entered-in-error | unknown
RequestStatus (Required)
... intent ?!Σ1..1codeproposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
RequestIntent (Required)
... priority Σ0..1coderoutine | urgent | asap | stat
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
Device Type (Example)
... quantity 0..1integerQuantity of devices to supply
... parameter 0..*BackboneElementDevice details
.... code 0..1CodeableConceptDevice detail
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
... performerType Σ0..1CodeableConceptFiller role
Participant Roles (Example)
... performer Σ0..1Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson)Requested Filler
... reason Σ0..*CodeableReference(Condition | Observation | DiagnosticReport | DocumentReference)Coded/Linked Reason for request
Condition/Problem/Diagnosis Codes (Example)
... 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

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)priorRequest : Reference [0..*] « DeviceRequest »Composite request this is part ofgroupIdentifier : 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 : DataType [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 kind of individual or entity to provide the device to the subject of the request (e.g., patient, location)performerType : CodeableConcept [0..1] « null (Strength=Example)ParticipantRoles?? »The desired individual or entity to provide the device to the subject of the request (e.g., patient, location)performer : Reference [0..1] « Practitioner|PractitionerRole| Organization|CareTeam|HealthcareService|Patient|Device| RelatedPerson »Reason or justification for the use of this devicereason : DataType [0..*] « Condition|Observation|DiagnosticReport| DocumentReference; null (Strength=Example)Condition/Problem/DiagnosisCo...?? »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>
 <priorRequest><!-- 0..* Reference(DeviceRequest) What request replaces --></priorRequest>
 <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>
 <performerType><!-- 0..1 CodeableConcept Filler role --></performerType>
 <performer><!-- 0..1 Reference(CareTeam|Device|HealthcareService|Organization|
   Patient|Practitioner|PractitionerRole|RelatedPerson) Requested Filler --></performer>
 <reason><!-- 0..* CodeableReference(Condition|DiagnosticReport|DocumentReference|
   Observation) Coded/Linked Reason for request --></reason>
 <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
  "priorRequest" : [{ 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
  "performerType" : { CodeableConcept }, // Filler role
  "performer" : { Reference(CareTeam|Device|HealthcareService|Organization|
   Patient|Practitioner|PractitionerRole|RelatedPerson) }, // Requested Filler
  "reason" : [{ CodeableReference(Condition|DiagnosticReport|DocumentReference|
   Observation) }], // Coded/Linked Reason for request
  "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:DeviceRequest.identifier [ Identifier ], ... ; # 0..* External Request identifier
  fhir:DeviceRequest.instantiatesCanonical [ canonical(ActivityDefinition|PlanDefinition) ], ... ; # 0..* Instantiates FHIR protocol or definition
  fhir:DeviceRequest.instantiatesUri [ uri ], ... ; # 0..* Instantiates external protocol or definition
  fhir:DeviceRequest.basedOn [ Reference(Any) ], ... ; # 0..* What request fulfills
  fhir:DeviceRequest.priorRequest [ Reference(DeviceRequest) ], ... ; # 0..* What request replaces
  fhir:DeviceRequest.groupIdentifier [ Identifier ]; # 0..1 Identifier of composite request
  fhir:DeviceRequest.status [ code ]; # 0..1 draft | active | on-hold | revoked | completed | entered-in-error | unknown
  fhir:DeviceRequest.intent [ code ]; # 1..1 proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
  fhir:DeviceRequest.priority [ code ]; # 0..1 routine | urgent | asap | stat
  fhir:DeviceRequest.doNotPerform [ boolean ]; # 0..1 True if the request is to stop or not to start using the device
  fhir:DeviceRequest.code [ CodeableReference(Device|DeviceDefinition) ]; # 1..1 Device requested
  fhir:DeviceRequest.quantity [ integer ]; # 0..1 Quantity of devices to supply
  fhir:DeviceRequest.parameter [ # 0..* Device details
    fhir:DeviceRequest.parameter.code [ CodeableConcept ]; # 0..1 Device detail
    # DeviceRequest.parameter.value[x] : 0..1 Value of detail. One of these 4
      fhir:DeviceRequest.parameter.valueCodeableConcept [ CodeableConcept ]
      fhir:DeviceRequest.parameter.valueQuantity [ Quantity ]
      fhir:DeviceRequest.parameter.valueRange [ Range ]
      fhir:DeviceRequest.parameter.valueBoolean [ boolean ]
  ], ...;
  fhir:DeviceRequest.subject [ Reference(Device|Group|Location|Patient) ]; # 1..1 Focus of request
  fhir:DeviceRequest.encounter [ Reference(Encounter) ]; # 0..1 Encounter motivating request
  # DeviceRequest.occurrence[x] : 0..1 Desired time or schedule for use. One of these 3
    fhir:DeviceRequest.occurrenceDateTime [ dateTime ]
    fhir:DeviceRequest.occurrencePeriod [ Period ]
    fhir:DeviceRequest.occurrenceTiming [ Timing ]
  fhir:DeviceRequest.authoredOn [ dateTime ]; # 0..1 When recorded
  fhir:DeviceRequest.requester [ Reference(Device|Organization|Practitioner|PractitionerRole) ]; # 0..1 Who/what submitted the device request
  fhir:DeviceRequest.performerType [ CodeableConcept ]; # 0..1 Filler role
  fhir:DeviceRequest.performer [ Reference(CareTeam|Device|HealthcareService|Organization|Patient|Practitioner|
  PractitionerRole|RelatedPerson) ]; # 0..1 Requested Filler
  fhir:DeviceRequest.reason [ CodeableReference(Condition|DiagnosticReport|DocumentReference|Observation) ], ... ; # 0..* Coded/Linked Reason for request
  fhir:DeviceRequest.insurance [ Reference(ClaimResponse|Coverage) ], ... ; # 0..* Associated insurance coverage
  fhir:DeviceRequest.supportingInfo [ Reference(Any) ], ... ; # 0..* Additional clinical information
  fhir:DeviceRequest.note [ Annotation ], ... ; # 0..* Notes or comments
  fhir:DeviceRequest.relevantHistory [ Reference(Provenance) ], ... ; # 0..* Request provenance
]

Changes since R3

DeviceRequest
DeviceRequest.priorRequest
  • Type Reference: Added Target Type DeviceRequest
  • Type Reference: Removed Target Type Resource
DeviceRequest.status
  • Change value set from http://hl7.org/fhir/ValueSet/request-status|4.0.0 to http://hl7.org/fhir/ValueSet/request-status|4.6.0
DeviceRequest.intent
  • Change value set from http://hl7.org/fhir/ValueSet/request-intent|4.0.0 to http://hl7.org/fhir/ValueSet/request-intent|4.6.0
DeviceRequest.priority
  • Change value set from http://hl7.org/fhir/ValueSet/request-priority|4.0.0 to http://hl7.org/fhir/ValueSet/request-priority|4.6.0
DeviceRequest.doNotPerform
  • Added Element
DeviceRequest.code
  • Added Mandatory Element
DeviceRequest.quantity
  • Added Element
DeviceRequest.reason
  • Added Element
DeviceRequest.code[x]
  • deleted
DeviceRequest.reasonCode
  • deleted
DeviceRequest.reasonReference
  • deleted

See the Full Difference for further information

This analysis is available as XML or JSON.

See R3 <--> R4 Conversion Maps (status = 2 tests that all execute ok. 2 fail round-trip testing and 1 r3 resources are invalid (0 errors).)

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
... priorRequest Σ0..*Reference(DeviceRequest)What request replaces
... groupIdentifier Σ0..1IdentifierIdentifier of composite request
... status ?!Σ0..1codedraft | active | on-hold | revoked | completed | entered-in-error | unknown
RequestStatus (Required)
... intent ?!Σ1..1codeproposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
RequestIntent (Required)
... priority Σ0..1coderoutine | urgent | asap | stat
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
Device Type (Example)
... quantity 0..1integerQuantity of devices to supply
... parameter 0..*BackboneElementDevice details
.... code 0..1CodeableConceptDevice detail
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
... performerType Σ0..1CodeableConceptFiller role
Participant Roles (Example)
... performer Σ0..1Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson)Requested Filler
... reason Σ0..*CodeableReference(Condition | Observation | DiagnosticReport | DocumentReference)Coded/Linked Reason for request
Condition/Problem/Diagnosis Codes (Example)
... 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

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)priorRequest : Reference [0..*] « DeviceRequest »Composite request this is part ofgroupIdentifier : 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 : DataType [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 kind of individual or entity to provide the device to the subject of the request (e.g., patient, location)performerType : CodeableConcept [0..1] « null (Strength=Example)ParticipantRoles?? »The desired individual or entity to provide the device to the subject of the request (e.g., patient, location)performer : Reference [0..1] « Practitioner|PractitionerRole| Organization|CareTeam|HealthcareService|Patient|Device| RelatedPerson »Reason or justification for the use of this devicereason : DataType [0..*] « Condition|Observation|DiagnosticReport| DocumentReference; null (Strength=Example)Condition/Problem/DiagnosisCo...?? »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>
 <priorRequest><!-- 0..* Reference(DeviceRequest) What request replaces --></priorRequest>
 <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>
 <performerType><!-- 0..1 CodeableConcept Filler role --></performerType>
 <performer><!-- 0..1 Reference(CareTeam|Device|HealthcareService|Organization|
   Patient|Practitioner|PractitionerRole|RelatedPerson) Requested Filler --></performer>
 <reason><!-- 0..* CodeableReference(Condition|DiagnosticReport|DocumentReference|
   Observation) Coded/Linked Reason for request --></reason>
 <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
  "priorRequest" : [{ 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
  "performerType" : { CodeableConcept }, // Filler role
  "performer" : { Reference(CareTeam|Device|HealthcareService|Organization|
   Patient|Practitioner|PractitionerRole|RelatedPerson) }, // Requested Filler
  "reason" : [{ CodeableReference(Condition|DiagnosticReport|DocumentReference|
   Observation) }], // Coded/Linked Reason for request
  "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:DeviceRequest.identifier [ Identifier ], ... ; # 0..* External Request identifier
  fhir:DeviceRequest.instantiatesCanonical [ canonical(ActivityDefinition|PlanDefinition) ], ... ; # 0..* Instantiates FHIR protocol or definition
  fhir:DeviceRequest.instantiatesUri [ uri ], ... ; # 0..* Instantiates external protocol or definition
  fhir:DeviceRequest.basedOn [ Reference(Any) ], ... ; # 0..* What request fulfills
  fhir:DeviceRequest.priorRequest [ Reference(DeviceRequest) ], ... ; # 0..* What request replaces
  fhir:DeviceRequest.groupIdentifier [ Identifier ]; # 0..1 Identifier of composite request
  fhir:DeviceRequest.status [ code ]; # 0..1 draft | active | on-hold | revoked | completed | entered-in-error | unknown
  fhir:DeviceRequest.intent [ code ]; # 1..1 proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
  fhir:DeviceRequest.priority [ code ]; # 0..1 routine | urgent | asap | stat
  fhir:DeviceRequest.doNotPerform [ boolean ]; # 0..1 True if the request is to stop or not to start using the device
  fhir:DeviceRequest.code [ CodeableReference(Device|DeviceDefinition) ]; # 1..1 Device requested
  fhir:DeviceRequest.quantity [ integer ]; # 0..1 Quantity of devices to supply
  fhir:DeviceRequest.parameter [ # 0..* Device details
    fhir:DeviceRequest.parameter.code [ CodeableConcept ]; # 0..1 Device detail
    # DeviceRequest.parameter.value[x] : 0..1 Value of detail. One of these 4
      fhir:DeviceRequest.parameter.valueCodeableConcept [ CodeableConcept ]
      fhir:DeviceRequest.parameter.valueQuantity [ Quantity ]
      fhir:DeviceRequest.parameter.valueRange [ Range ]
      fhir:DeviceRequest.parameter.valueBoolean [ boolean ]
  ], ...;
  fhir:DeviceRequest.subject [ Reference(Device|Group|Location|Patient) ]; # 1..1 Focus of request
  fhir:DeviceRequest.encounter [ Reference(Encounter) ]; # 0..1 Encounter motivating request
  # DeviceRequest.occurrence[x] : 0..1 Desired time or schedule for use. One of these 3
    fhir:DeviceRequest.occurrenceDateTime [ dateTime ]
    fhir:DeviceRequest.occurrencePeriod [ Period ]
    fhir:DeviceRequest.occurrenceTiming [ Timing ]
  fhir:DeviceRequest.authoredOn [ dateTime ]; # 0..1 When recorded
  fhir:DeviceRequest.requester [ Reference(Device|Organization|Practitioner|PractitionerRole) ]; # 0..1 Who/what submitted the device request
  fhir:DeviceRequest.performerType [ CodeableConcept ]; # 0..1 Filler role
  fhir:DeviceRequest.performer [ Reference(CareTeam|Device|HealthcareService|Organization|Patient|Practitioner|
  PractitionerRole|RelatedPerson) ]; # 0..1 Requested Filler
  fhir:DeviceRequest.reason [ CodeableReference(Condition|DiagnosticReport|DocumentReference|Observation) ], ... ; # 0..* Coded/Linked Reason for request
  fhir:DeviceRequest.insurance [ Reference(ClaimResponse|Coverage) ], ... ; # 0..* Associated insurance coverage
  fhir:DeviceRequest.supportingInfo [ Reference(Any) ], ... ; # 0..* Additional clinical information
  fhir:DeviceRequest.note [ Annotation ], ... ; # 0..* Notes or comments
  fhir:DeviceRequest.relevantHistory [ Reference(Provenance) ], ... ; # 0..* Request provenance
]

Changes since Release 3

DeviceRequest
DeviceRequest.priorRequest
  • Type Reference: Added Target Type DeviceRequest
  • Type Reference: Removed Target Type Resource
DeviceRequest.status
  • Change value set from http://hl7.org/fhir/ValueSet/request-status|4.0.0 to http://hl7.org/fhir/ValueSet/request-status|4.6.0
DeviceRequest.intent
  • Change value set from http://hl7.org/fhir/ValueSet/request-intent|4.0.0 to http://hl7.org/fhir/ValueSet/request-intent|4.6.0
DeviceRequest.priority
  • Change value set from http://hl7.org/fhir/ValueSet/request-priority|4.0.0 to http://hl7.org/fhir/ValueSet/request-priority|4.6.0
DeviceRequest.doNotPerform
  • Added Element
DeviceRequest.code
  • Added Mandatory Element
DeviceRequest.quantity
  • Added Element
DeviceRequest.reason
  • Added Element
DeviceRequest.code[x]
  • deleted
DeviceRequest.reasonCode
  • deleted
DeviceRequest.reasonReference
  • deleted

See the Full Difference for further information

This analysis is available as XML or JSON.

See R3 <--> R4 Conversion Maps (status = 2 tests that all execute ok. 2 fail round-trip testing and 1 r3 resources are invalid (0 errors).)

 

See the Profiles & Extensions and the alternate definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions, the spreadsheet version & the dependency analysis a

PathDefinitionTypeReference
DeviceRequest.status RequiredRequestStatus
DeviceRequest.intent RequiredRequestIntent
DeviceRequest.priority RequiredRequestPriority
DeviceRequest.code ExampleDeviceType
DeviceRequest.parameter.code Example??
DeviceRequest.performerType ExampleParticipantRoles
DeviceRequest.reason ExampleCondition/Problem/DiagnosisCodes

Notes to reviewers:

At this time, the code bindings are placeholders to be fleshed out upon further review by the community.

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

NameTypeDescriptionExpressionIn Common
authored-on NdateWhen the request transitioned to being actionableDeviceRequest.authoredOn
based-onreferencePlan/proposal/order fulfilled by this requestDeviceRequest.basedOn
(Any)
code DtokenCode for what is being requested/orderedDeviceRequest.code.concept
device DreferenceReference to resource that is being requested/orderedDeviceRequest.code.reference
encounterreferenceEncounter during which request was createdDeviceRequest.encounter
(Encounter)
event-datedateWhen service should occur(DeviceRequest.occurrence as dateTime) | (DeviceRequest.occurrence as Period)
group-identifiertokenComposite request this is part ofDeviceRequest.groupIdentifier
identifiertokenBusiness identifier for request/orderDeviceRequest.identifier
instantiates-canonical NreferenceInstantiates FHIR protocol or definitionDeviceRequest.instantiatesCanonical
(PlanDefinition, ActivityDefinition)
instantiates-uri NuriInstantiates external protocol or definitionDeviceRequest.instantiatesUri
insurancereferenceAssociated insurance coverageDeviceRequest.insurance
(ClaimResponse, Coverage)
intent Ntokenproposal | plan | original-order |reflex-orderDeviceRequest.intent
patientreferenceIndividual the service is ordered forDeviceRequest.subject.where(resolve() is Patient)
(Group, Device, Patient, Location)
performerreferenceDesired performer for serviceDeviceRequest.performer
(Practitioner, Organization, CareTeam, Device, Patient, HealthcareService, PractitionerRole, RelatedPerson)
prior-requestreferenceRequest takes the place of referenced completed or terminated requestsDeviceRequest.priorRequest
(DeviceRequest)
requesterreferenceWho/what is requesting serviceDeviceRequest.requester
(Practitioner, Organization, Device, PractitionerRole)
status Ntokenentered-in-error | draft | active |suspended | completedDeviceRequest.status
subjectreferenceIndividual the service is ordered forDeviceRequest.subject
(Group, Device, Patient, Location)