Release 4

This page is part of the FHIR Specification (v4.0.1: R4 - Mixed Normative and STU) in it's permanent home (it will always be available at this URL). 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.19 Resource DeviceRequest - Content

Orders and Observations 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.

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 CarePlan, Claim and Observation

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
... basedOn Σ0..*Reference(Any)What request fulfills
... priorRequest Σ0..*Reference(Any)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
Request priority (Required)
... code[x] Σ1..1Device requested
FHIR Device Types (Example)
.... codeReferenceReference(Device)
.... codeCodeableConceptCodeableConcept
... parameter 0..*BackboneElementDevice details
.... code 0..1CodeableConceptDevice detail
.... 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 is requesting diagnostics
... performerType Σ0..1CodeableConceptFiller role
Participant Roles (Example)
... performer Σ0..1Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson)Requested Filler
... reasonCode Σ0..*CodeableConceptCoded Reason for request
Condition/Problem/Diagnosis Codes (Example)
... reasonReference Σ0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)Linked Reason for request
... 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..*] « Any »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] « Codes representing the status of the request. (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] « The kind of diagnostic request. (Strength=Required)RequestIntent! »Indicates how quickly the {{title}} should be addressed with respect to other requestspriority : code [0..1] « Identifies the level of importance to be assigned to actioning the request. (Strength=Required)RequestPriority! »The details of the device to be usedcode[x] : Type [1..1] « Reference(Device)|CodeableConcept; Codes for devices that can be requested. (Strength=Example) FHIRDeviceTypes?? »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] : Type [0..1] « dateTime|Period|Timing »When the request transitioned to being actionableauthoredOn : dateTime [0..1]The individual who initiated the request and has responsibility for its activationrequester : Reference [0..1] « Device|Practitioner|PractitionerRole| Organization »Desired type of performer for doing the diagnostic testingperformerType : CodeableConcept [0..1] « Indicates specific responsibility of an individual within the care team, such as "Primary physician", "Team coordinator", "Caregiver", etc. (Strength=Example)ParticipantRoles?? »The desired performer for doing the diagnostic testingperformer : Reference [0..1] « Practitioner|PractitionerRole| Organization|CareTeam|HealthcareService|Patient|Device| RelatedPerson »Reason or justification for the use of this devicereasonCode : CodeableConcept [0..*] « Diagnosis or problem codes justifying the reason for requesting the device. (Strength=Example) Condition/Problem/DiagnosisCo...?? »Reason or justification for the use of this devicereasonReference : Reference [0..*] « Condition|Observation| DiagnosticReport|DocumentReference »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]The value of the device detailvalue[x] : Type [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(Any) 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 -->
 <code[x]><!-- 1..1 Reference(Device)|CodeableConcept Device requested --></code[x]>
 <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(Patient|Group|Location|Device) 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|Practitioner|PractitionerRole|Organization) Who/what is requesting diagnostics --></requester>
 <performerType><!-- 0..1 CodeableConcept Filler role --></performerType>
 <performer><!-- 0..1 Reference(Practitioner|PractitionerRole|Organization|
   CareTeam|HealthcareService|Patient|Device|RelatedPerson) Requested Filler --></performer>
 <reasonCode><!-- 0..* CodeableConcept Coded Reason for request --></reasonCode>
 <reasonReference><!-- 0..* Reference(Condition|Observation|DiagnosticReport|
   DocumentReference) Linked Reason for request --></reasonReference>
 <insurance><!-- 0..* Reference(Coverage|ClaimResponse) 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(Any) }], // 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
  // code[x]: Device requested. One of these 2:
  "codeReference" : { Reference(Device) },
  "codeCodeableConcept" : { CodeableConcept },
  "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(Patient|Group|Location|Device) }, // 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|Practitioner|PractitionerRole|Organization) }, // Who/what is requesting diagnostics
  "performerType" : { CodeableConcept }, // Filler role
  "performer" : { Reference(Practitioner|PractitionerRole|Organization|
   CareTeam|HealthcareService|Patient|Device|RelatedPerson) }, // Requested Filler
  "reasonCode" : [{ CodeableConcept }], // Coded Reason for request
  "reasonReference" : [{ Reference(Condition|Observation|DiagnosticReport|
   DocumentReference) }], // Linked Reason for request
  "insurance" : [{ Reference(Coverage|ClaimResponse) }], // 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(Any) ], ... ; # 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
  # DeviceRequest.code[x] : 1..1 Device requested. One of these 2
    fhir:DeviceRequest.codeReference [ Reference(Device) ]
    fhir:DeviceRequest.codeCodeableConcept [ CodeableConcept ]
  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(Patient|Group|Location|Device) ]; # 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|Practitioner|PractitionerRole|Organization) ]; # 0..1 Who/what is requesting diagnostics
  fhir:DeviceRequest.performerType [ CodeableConcept ]; # 0..1 Filler role
  fhir:DeviceRequest.performer [ Reference(Practitioner|PractitionerRole|Organization|CareTeam|HealthcareService|Patient|
  Device|RelatedPerson) ]; # 0..1 Requested Filler
  fhir:DeviceRequest.reasonCode [ CodeableConcept ], ... ; # 0..* Coded Reason for request
  fhir:DeviceRequest.reasonReference [ Reference(Condition|Observation|DiagnosticReport|DocumentReference) ], ... ; # 0..* Linked Reason for request
  fhir:DeviceRequest.insurance [ Reference(Coverage|ClaimResponse) ], ... ; # 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.instantiatesCanonical
  • Added Element
DeviceRequest.instantiatesUri
  • Added Element
DeviceRequest.status
  • Change value set from http://hl7.org/fhir/ValueSet/request-status to http://hl7.org/fhir/ValueSet/request-status|4.0.1
DeviceRequest.intent
  • Type changed from CodeableConcept to code
  • Change value set from http://build.fhir.org/valueset-request-intent.html to http://hl7.org/fhir/ValueSet/request-intent|4.0.1
DeviceRequest.priority
  • Change value set from http://hl7.org/fhir/ValueSet/request-priority to http://hl7.org/fhir/ValueSet/request-priority|4.0.1
  • Default Value "If missing, normal priority" removed
DeviceRequest.parameter
  • Added Element
DeviceRequest.parameter.code
  • Added Element
DeviceRequest.parameter.value[x]
  • Added Element
DeviceRequest.encounter
  • Added Element
DeviceRequest.requester
  • Type changed from BackboneElement to Reference(Device | Practitioner | PractitionerRole | Organization)
DeviceRequest.performer
  • Type Reference: Added Target Types PractitionerRole, CareTeam
DeviceRequest.reasonReference
  • Type Reference: Added Target Types Condition, Observation, DiagnosticReport, DocumentReference
  • Type Reference: Removed Target Type Resource
DeviceRequest.insurance
  • Added Element
DeviceRequest.definition
  • deleted
DeviceRequest.context
  • deleted
DeviceRequest.requester.agent
  • deleted
DeviceRequest.requester.onBehalfOf
  • 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
... basedOn Σ0..*Reference(Any)What request fulfills
... priorRequest Σ0..*Reference(Any)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
Request priority (Required)
... code[x] Σ1..1Device requested
FHIR Device Types (Example)
.... codeReferenceReference(Device)
.... codeCodeableConceptCodeableConcept
... parameter 0..*BackboneElementDevice details
.... code 0..1CodeableConceptDevice detail
.... 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 is requesting diagnostics
... performerType Σ0..1CodeableConceptFiller role
Participant Roles (Example)
... performer Σ0..1Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson)Requested Filler
... reasonCode Σ0..*CodeableConceptCoded Reason for request
Condition/Problem/Diagnosis Codes (Example)
... reasonReference Σ0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)Linked Reason for request
... 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..*] « Any »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] « Codes representing the status of the request. (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] « The kind of diagnostic request. (Strength=Required)RequestIntent! »Indicates how quickly the {{title}} should be addressed with respect to other requestspriority : code [0..1] « Identifies the level of importance to be assigned to actioning the request. (Strength=Required)RequestPriority! »The details of the device to be usedcode[x] : Type [1..1] « Reference(Device)|CodeableConcept; Codes for devices that can be requested. (Strength=Example) FHIRDeviceTypes?? »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] : Type [0..1] « dateTime|Period|Timing »When the request transitioned to being actionableauthoredOn : dateTime [0..1]The individual who initiated the request and has responsibility for its activationrequester : Reference [0..1] « Device|Practitioner|PractitionerRole| Organization »Desired type of performer for doing the diagnostic testingperformerType : CodeableConcept [0..1] « Indicates specific responsibility of an individual within the care team, such as "Primary physician", "Team coordinator", "Caregiver", etc. (Strength=Example)ParticipantRoles?? »The desired performer for doing the diagnostic testingperformer : Reference [0..1] « Practitioner|PractitionerRole| Organization|CareTeam|HealthcareService|Patient|Device| RelatedPerson »Reason or justification for the use of this devicereasonCode : CodeableConcept [0..*] « Diagnosis or problem codes justifying the reason for requesting the device. (Strength=Example) Condition/Problem/DiagnosisCo...?? »Reason or justification for the use of this devicereasonReference : Reference [0..*] « Condition|Observation| DiagnosticReport|DocumentReference »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]The value of the device detailvalue[x] : Type [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(Any) 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 -->
 <code[x]><!-- 1..1 Reference(Device)|CodeableConcept Device requested --></code[x]>
 <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(Patient|Group|Location|Device) 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|Practitioner|PractitionerRole|Organization) Who/what is requesting diagnostics --></requester>
 <performerType><!-- 0..1 CodeableConcept Filler role --></performerType>
 <performer><!-- 0..1 Reference(Practitioner|PractitionerRole|Organization|
   CareTeam|HealthcareService|Patient|Device|RelatedPerson) Requested Filler --></performer>
 <reasonCode><!-- 0..* CodeableConcept Coded Reason for request --></reasonCode>
 <reasonReference><!-- 0..* Reference(Condition|Observation|DiagnosticReport|
   DocumentReference) Linked Reason for request --></reasonReference>
 <insurance><!-- 0..* Reference(Coverage|ClaimResponse) 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(Any) }], // 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
  // code[x]: Device requested. One of these 2:
  "codeReference" : { Reference(Device) },
  "codeCodeableConcept" : { CodeableConcept },
  "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(Patient|Group|Location|Device) }, // 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|Practitioner|PractitionerRole|Organization) }, // Who/what is requesting diagnostics
  "performerType" : { CodeableConcept }, // Filler role
  "performer" : { Reference(Practitioner|PractitionerRole|Organization|
   CareTeam|HealthcareService|Patient|Device|RelatedPerson) }, // Requested Filler
  "reasonCode" : [{ CodeableConcept }], // Coded Reason for request
  "reasonReference" : [{ Reference(Condition|Observation|DiagnosticReport|
   DocumentReference) }], // Linked Reason for request
  "insurance" : [{ Reference(Coverage|ClaimResponse) }], // 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(Any) ], ... ; # 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
  # DeviceRequest.code[x] : 1..1 Device requested. One of these 2
    fhir:DeviceRequest.codeReference [ Reference(Device) ]
    fhir:DeviceRequest.codeCodeableConcept [ CodeableConcept ]
  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(Patient|Group|Location|Device) ]; # 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|Practitioner|PractitionerRole|Organization) ]; # 0..1 Who/what is requesting diagnostics
  fhir:DeviceRequest.performerType [ CodeableConcept ]; # 0..1 Filler role
  fhir:DeviceRequest.performer [ Reference(Practitioner|PractitionerRole|Organization|CareTeam|HealthcareService|Patient|
  Device|RelatedPerson) ]; # 0..1 Requested Filler
  fhir:DeviceRequest.reasonCode [ CodeableConcept ], ... ; # 0..* Coded Reason for request
  fhir:DeviceRequest.reasonReference [ Reference(Condition|Observation|DiagnosticReport|DocumentReference) ], ... ; # 0..* Linked Reason for request
  fhir:DeviceRequest.insurance [ Reference(Coverage|ClaimResponse) ], ... ; # 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.instantiatesCanonical
  • Added Element
DeviceRequest.instantiatesUri
  • Added Element
DeviceRequest.status
  • Change value set from http://hl7.org/fhir/ValueSet/request-status to http://hl7.org/fhir/ValueSet/request-status|4.0.1
DeviceRequest.intent
  • Type changed from CodeableConcept to code
  • Change value set from http://build.fhir.org/valueset-request-intent.html to http://hl7.org/fhir/ValueSet/request-intent|4.0.1
DeviceRequest.priority
  • Change value set from http://hl7.org/fhir/ValueSet/request-priority to http://hl7.org/fhir/ValueSet/request-priority|4.0.1
  • Default Value "If missing, normal priority" removed
DeviceRequest.parameter
  • Added Element
DeviceRequest.parameter.code
  • Added Element
DeviceRequest.parameter.value[x]
  • Added Element
DeviceRequest.encounter
  • Added Element
DeviceRequest.requester
  • Type changed from BackboneElement to Reference(Device | Practitioner | PractitionerRole | Organization)
DeviceRequest.performer
  • Type Reference: Added Target Types PractitionerRole, CareTeam
DeviceRequest.reasonReference
  • Type Reference: Added Target Types Condition, Observation, DiagnosticReport, DocumentReference
  • Type Reference: Removed Target Type Resource
DeviceRequest.insurance
  • Added Element
DeviceRequest.definition
  • deleted
DeviceRequest.context
  • deleted
DeviceRequest.requester.agent
  • deleted
DeviceRequest.requester.onBehalfOf
  • 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 dependency analysis

PathDefinitionTypeReference
DeviceRequest.status Codes representing the status of the request.RequiredRequestStatus
DeviceRequest.intent The kind of diagnostic request.RequiredRequestIntent
DeviceRequest.priority Identifies the level of importance to be assigned to actioning the request.RequiredRequestPriority
DeviceRequest.code[x] Codes for devices that can be requested.ExampleFHIRDeviceTypes
DeviceRequest.parameter.code A code that identifies the device detail.UnknownNo details provided yet
DeviceRequest.performerType Indicates specific responsibility of an individual within the care team, such as "Primary physician", "Team coordinator", "Caregiver", etc.ExampleParticipantRoles
DeviceRequest.reasonCode Diagnosis or problem codes justifying the reason for requesting the device.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-ondateWhen the request transitioned to being actionableDeviceRequest.authoredOn
based-onreferencePlan/proposal/order fulfilled by this requestDeviceRequest.basedOn
(Any)
codetokenCode for what is being requested/ordered(DeviceRequest.code as CodeableConcept)13 Resources
devicereferenceReference to resource that is being requested/ordered(DeviceRequest.code as Reference)
(Device)
encounterreferenceEncounter during which request was createdDeviceRequest.encounter
(Encounter)
12 Resources
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.identifier30 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)
33 Resources
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
(Any)
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)