Da Vinci - Coverage Requirements Discovery
2.2.0-ballot - United States of America flag

Da Vinci - Coverage Requirements Discovery, published by HL7 International / Financial Management. This guide is not an authorized publication; it is the continuous build for version 2.2.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/davinci-crd/ and changes regularly. See the Directory of published versions

Resource Profile: CRD Device Request

Official URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-devicerequest Version: 2.2.0-ballot
Standards status: Trial-use Active as of 2025-10-30 Maturity Level: 4 Computable Name: CRDDeviceRequest
Other Identifiers: OID:2.16.840.1.113883.4.642.40.18.42.9

This profile specifies extensions and constraints on the DeviceRequest resource to support coverage requirements discovery.

Usage


CRD Clients SHALL use this profile to resolve references to DeviceRequest resources passed to CRD Servers (e.g. selections context references) and to populate draftOrders context objects when invoking the following CDS Hooks:

Information provided in Must Support elements will commonly be required for CRD Servers to perform coverage requirements discovery.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. DeviceRequest 0..* DeviceRequest Medical device request
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained S 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:Coverage-Information SC 0..* (Complex) Coverage Info
URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information
Constraints: crd-ci-q1, crd-ci-q2, crd-ci-q3, crd-ci-q4, crd-ci-q5, crd-ci-q6, crd-ci-q7, crd-ci-q8
... identifier SΣ 0..* Identifier External Request identifier
... basedOn SΣ 0..* Reference(Resource) What request fulfills
... status ?!SΣ 1..1 code draft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required): Codes representing the status of the request.
Example General: draft
... intent ?!Σ 1..1 code proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
Binding: RequestIntent (required): The kind of diagnostic request.
... Slices for code[x] SΣ 1..1 Device requested
Slice: Unordered, Closed by type:$this
Binding: CRD Device Request Codes Value Set (extensible)
.... codeReference Reference(CRD Device)
.... codeCodeableConcept CodeableConcept
.... code[x]:codeCodeableConcept SΣ 0..1 CodeableConcept Device requested
Binding: FHIRDeviceTypes (example): Codes for devices that can be requested.
..... Slices for extension Content/Rules for all slices
...... extension:BillingOptions S 0..* CodeableConcept Expected Billing Code(s)
URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-billing-options
Binding: CRD Billing Codes Value Set (extensible)
.... code[x]:codeReference SΣ 0..1 Reference(CRD Device) Device requested
... parameter S 0..* BackboneElement Device details
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
... subject SΣ 1..1 Reference(CRD Patient) Focus of request
... encounter Σ 0..1 Reference(CRD Encounter) Encounter motivating request
... occurrence[x] SΣ 0..1 Desired time or schedule for use
.... occurrenceDateTime dateTime
.... occurrencePeriod Period
.... occurrenceTiming Timing
... authoredOn SΣ 1..1 dateTime When recorded
... requester SΣ 1..1 Reference(US Core Practitioner Profile(7.0.0) S | HRex PractitionerRole Profile S) Who/what is requesting diagnostics
... performer SΣ 0..1 Reference(US Core Practitioner Profile(7.0.0) S | HRex PractitionerRole Profile S) Requested Filler
... reasonCode SΣ 0..* CodeableConcept Coded Reason for request
Binding: Condition/Problem/DiagnosisCodes (example): Diagnosis or problem codes justifying the reason for requesting the device.
... reasonReference SΣ 0..* Reference(US Core Condition Problems and Health Concerns Profile(7.0.0) | US Core Condition Encounter Diagnosis Profile(7.0.0) | US Core DiagnosticReport Profile for Laboratory Results Reporting(7.0.0) | US Core DiagnosticReport Profile for Report and Note Exchange(7.0.0) | US Core DocumentReference Profile(7.0.0) | Observation) Linked Reason for request

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
DeviceRequest.status Base required RequestStatus 📍4.0.1 FHIR Std.
DeviceRequest.intent Base required RequestIntent 📍4.0.1 FHIR Std.
DeviceRequest.code[x] Base extensible CRD Device Request Codes Value Set 📦2.2.0-ballot This IG
DeviceRequest.code[x]:codeCodeableConcept Base example FHIR Device Types 📍4.0.1 FHIR Std.
DeviceRequest.reasonCode Base example Condition/Problem/Diagnosis Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
crd-ci-q1 error DeviceRequest.extension:Coverage-Information Questionnaire is only allowed when doc-needed exists extension.where(url='questionnaire').exists() implies extension.where(url = 'doc-needed').exists()
crd-ci-q2 error DeviceRequest.extension:Coverage-Information If covered is set to 'not-covered', then 'pa-needed' must not exist. extension.where(url = 'covered' and value = 'not-covered').exists() implies extension.where(url = 'pa-needed').exists().not()
crd-ci-q3 error DeviceRequest.extension:Coverage-Information 'info-needed' SHALL exist if and only if at least one of 'covered', 'pa-needed', or 'doc-needed' is set to 'conditional'. extension.where((url = 'covered' or url = 'pa-needed' or url = 'doc-needed') and value = 'conditional').count() >= 1 implies extension.where(url = 'info-needed').exists()
crd-ci-q4 error DeviceRequest.extension:Coverage-Information If 'pa-needed' is 'satisfied', 'noauth', or 'not-covered', then 'Doc-purpose' can't be 'withpa'. extension.where(url = 'pa-needed' and (value = 'satisfied' or value = 'noauth' or value = 'not-covered')) and extension.where(url = 'doc-purpose').exists() implies extension.where(url = 'doc-purpose').all(value != 'withpa')
crd-ci-q5 error DeviceRequest.extension:Coverage-Information 'satisfied-pa-id' must exist if and only if 'pa-needed' is set to 'satisfied'. extension.where(url = 'pa-needed' and value = 'satisfied').exists() = extension.where(url = 'satisfied-pa-id').exists()
crd-ci-q6 error DeviceRequest.extension:Coverage-Information If 'info-needed' is OTH, then reason must be specified extension.where(url = 'info-needed' and value = 'OTH').exists() implies extension.where(url = 'reason').exists()
crd-ci-q7 error DeviceRequest.extension:Coverage-Information If reason.coding is present and is not from the extensible value set, then reason.text must be present extension.where(url = 'reason').empty() or extension.where(url = 'reason').value.text.exists() or extension.where(url = 'reason').value.memberOf('http://hl7.org/fhir/us/davinci-crd/ValueSet/coverageAssertionReasons')
crd-ci-q8 error DeviceRequest.extension:Coverage-Information If doc-purpose is present with a value other than 'conditional', then reason must be present extension.where(url = 'doc-purpose' and value != 'conditional').exists() implies extension.where(url = 'reason').exists()
dom-2 error DeviceRequest If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error DeviceRequest If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error DeviceRequest If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error DeviceRequest If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice DeviceRequest A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. DeviceRequest DeviceRequest
... contained S 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:Coverage-Information S 0..* (Complex) Coverage Info
URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information
... identifier S 0..* Identifier External Request identifier
... status S 1..1 code draft | active | on-hold | revoked | completed | entered-in-error | unknown
Example General: draft
... Slices for code[x] S 1..1 Device requested
Slice: Unordered, Open by type:$this
Binding: CRD Device Request Codes Value Set (extensible)
.... codeReference Reference(CRD Device)
.... codeCodeableConcept CodeableConcept
.... code[x]:codeCodeableConcept S 0..1 CodeableConcept Device requested
..... Slices for extension Content/Rules for all slices
...... extension:BillingOptions S 0..* CodeableConcept Expected Billing Code(s)
URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-billing-options
Binding: CRD Billing Codes Value Set (extensible)
.... code[x]:codeReference S 0..1 Reference(CRD Device) Device requested
... parameter S 0..* BackboneElement Device details
... subject S 1..1 Reference(CRD Patient) Focus of request
... encounter 0..1 Reference(CRD Encounter) Encounter motivating request
... occurrence[x] S 0..1 dateTime, Period, Timing Desired time or schedule for use
... authoredOn S 1..1 dateTime When recorded
... requester S 1..1 Reference(US Core Practitioner Profile(7.0.0) S | HRex PractitionerRole Profile S) Who/what is requesting diagnostics
... performer S 0..1 Reference(US Core Practitioner Profile(7.0.0) S | HRex PractitionerRole Profile S) Requested Filler
... reasonCode S 0..* CodeableConcept Coded Reason for request
... reasonReference S 0..* Reference(US Core Condition Problems and Health Concerns Profile(7.0.0) | US Core Condition Encounter Diagnosis Profile(7.0.0) | US Core DiagnosticReport Profile for Laboratory Results Reporting(7.0.0) | US Core DiagnosticReport Profile for Report and Note Exchange(7.0.0) | US Core DocumentReference Profile(7.0.0) | Observation) Linked Reason for request

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
DeviceRequest.code[x] Base extensible CRD Device Request Codes Value Set 📦2.2.0-ballot This IG
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. DeviceRequest 0..* DeviceRequest Medical device request
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained S 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:Coverage-Information SC 0..* (Complex) Coverage Info
URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information
Constraints: crd-ci-q1, crd-ci-q2, crd-ci-q3, crd-ci-q4, crd-ci-q5, crd-ci-q6, crd-ci-q7, crd-ci-q8
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier SΣ 0..* Identifier External Request identifier
... instantiatesCanonical Σ 0..* canonical(ActivityDefinition | PlanDefinition) Instantiates FHIR protocol or definition
... instantiatesUri Σ 0..* uri Instantiates external protocol or definition
... basedOn SΣ 0..* Reference(Resource) What request fulfills
... priorRequest Σ 0..* Reference(Resource) What request replaces
... groupIdentifier Σ 0..1 Identifier Identifier of composite request
... status ?!SΣ 1..1 code draft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required): Codes representing the status of the request.
Example General: draft
... intent ?!Σ 1..1 code proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
Binding: RequestIntent (required): The kind of diagnostic request.
... priority Σ 0..1 code routine | urgent | asap | stat
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.
... Slices for code[x] SΣ 1..1 Device requested
Slice: Unordered, Closed by type:$this
Binding: CRD Device Request Codes Value Set (extensible)
.... codeReference Reference(CRD Device)
.... codeCodeableConcept CodeableConcept
.... code[x]:codeCodeableConcept SΣ 0..1 CodeableConcept Device requested
Binding: FHIRDeviceTypes (example): Codes for devices that can be requested.
..... id 0..1 string Unique id for inter-element referencing
..... Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... extension:BillingOptions S 0..* CodeableConcept Expected Billing Code(s)
URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-billing-options
Binding: CRD Billing Codes Value Set (extensible)
..... coding Σ 0..* Coding Code defined by a terminology system
..... text Σ 0..1 string Plain text representation of the concept
.... code[x]:codeReference SΣ 0..1 Reference(CRD Device) Device requested
... parameter S 0..* BackboneElement Device details
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... code 0..1 CodeableConcept Device detail
Binding Description: (example): A code that identifies the device detail.
.... value[x] 0..1 Value of detail
..... valueCodeableConcept CodeableConcept
..... valueQuantity Quantity
..... valueRange Range
..... valueBoolean boolean
... subject SΣ 1..1 Reference(CRD Patient) Focus of request
... encounter Σ 0..1 Reference(CRD Encounter) Encounter motivating request
... occurrence[x] SΣ 0..1 Desired time or schedule for use
.... occurrenceDateTime dateTime
.... occurrencePeriod Period
.... occurrenceTiming Timing
... authoredOn SΣ 1..1 dateTime When recorded
... requester SΣ 1..1 Reference(US Core Practitioner Profile(7.0.0) S | HRex PractitionerRole Profile S) Who/what is requesting diagnostics
... performerType Σ 0..1 CodeableConcept Filler role
Binding: ParticipantRoles (example): Indicates specific responsibility of an individual within the care team, such as "Primary physician", "Team coordinator", "Caregiver", etc.
... performer SΣ 0..1 Reference(US Core Practitioner Profile(7.0.0) S | HRex PractitionerRole Profile S) Requested Filler
... reasonCode SΣ 0..* CodeableConcept Coded Reason for request
Binding: Condition/Problem/DiagnosisCodes (example): Diagnosis or problem codes justifying the reason for requesting the device.
... reasonReference SΣ 0..* Reference(US Core Condition Problems and Health Concerns Profile(7.0.0) | US Core Condition Encounter Diagnosis Profile(7.0.0) | US Core DiagnosticReport Profile for Laboratory Results Reporting(7.0.0) | US Core DiagnosticReport Profile for Report and Note Exchange(7.0.0) | US Core DocumentReference Profile(7.0.0) | Observation) Linked Reason for request
... insurance 0..* Reference(Coverage | ClaimResponse) Associated insurance coverage
... supportingInfo 0..* Reference(Resource) Additional clinical information
... note 0..* Annotation Notes or comments
... relevantHistory 0..* Reference(Provenance) Request provenance

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
DeviceRequest.language Base preferred Common Languages 📍4.0.1 FHIR Std.
DeviceRequest.status Base required RequestStatus 📍4.0.1 FHIR Std.
DeviceRequest.intent Base required RequestIntent 📍4.0.1 FHIR Std.
DeviceRequest.priority Base required Request priority 📍4.0.1 FHIR Std.
DeviceRequest.code[x] Base extensible CRD Device Request Codes Value Set 📦2.2.0-ballot This IG
DeviceRequest.code[x]:codeCodeableConcept Base example FHIR Device Types 📍4.0.1 FHIR Std.
DeviceRequest.parameter.​code Base example Not Stated Unknown
DeviceRequest.performerType Base example Participant Roles 📍4.0.1 FHIR Std.
DeviceRequest.reasonCode Base example Condition/Problem/Diagnosis Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
crd-ci-q1 error DeviceRequest.extension:Coverage-Information Questionnaire is only allowed when doc-needed exists extension.where(url='questionnaire').exists() implies extension.where(url = 'doc-needed').exists()
crd-ci-q2 error DeviceRequest.extension:Coverage-Information If covered is set to 'not-covered', then 'pa-needed' must not exist. extension.where(url = 'covered' and value = 'not-covered').exists() implies extension.where(url = 'pa-needed').exists().not()
crd-ci-q3 error DeviceRequest.extension:Coverage-Information 'info-needed' SHALL exist if and only if at least one of 'covered', 'pa-needed', or 'doc-needed' is set to 'conditional'. extension.where((url = 'covered' or url = 'pa-needed' or url = 'doc-needed') and value = 'conditional').count() >= 1 implies extension.where(url = 'info-needed').exists()
crd-ci-q4 error DeviceRequest.extension:Coverage-Information If 'pa-needed' is 'satisfied', 'noauth', or 'not-covered', then 'Doc-purpose' can't be 'withpa'. extension.where(url = 'pa-needed' and (value = 'satisfied' or value = 'noauth' or value = 'not-covered')) and extension.where(url = 'doc-purpose').exists() implies extension.where(url = 'doc-purpose').all(value != 'withpa')
crd-ci-q5 error DeviceRequest.extension:Coverage-Information 'satisfied-pa-id' must exist if and only if 'pa-needed' is set to 'satisfied'. extension.where(url = 'pa-needed' and value = 'satisfied').exists() = extension.where(url = 'satisfied-pa-id').exists()
crd-ci-q6 error DeviceRequest.extension:Coverage-Information If 'info-needed' is OTH, then reason must be specified extension.where(url = 'info-needed' and value = 'OTH').exists() implies extension.where(url = 'reason').exists()
crd-ci-q7 error DeviceRequest.extension:Coverage-Information If reason.coding is present and is not from the extensible value set, then reason.text must be present extension.where(url = 'reason').empty() or extension.where(url = 'reason').value.text.exists() or extension.where(url = 'reason').value.memberOf('http://hl7.org/fhir/us/davinci-crd/ValueSet/coverageAssertionReasons')
crd-ci-q8 error DeviceRequest.extension:Coverage-Information If doc-purpose is present with a value other than 'conditional', then reason must be present extension.where(url = 'doc-purpose' and value != 'conditional').exists() implies extension.where(url = 'reason').exists()
dom-2 error DeviceRequest If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error DeviceRequest If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error DeviceRequest If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error DeviceRequest If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice DeviceRequest A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Summary

Mandatory: 3 elements
Must-Support: 17 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of DeviceRequest.code[x]

Maturity: 4

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. DeviceRequest 0..* DeviceRequest Medical device request
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained S 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:Coverage-Information SC 0..* (Complex) Coverage Info
URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information
Constraints: crd-ci-q1, crd-ci-q2, crd-ci-q3, crd-ci-q4, crd-ci-q5, crd-ci-q6, crd-ci-q7, crd-ci-q8
... identifier SΣ 0..* Identifier External Request identifier
... basedOn SΣ 0..* Reference(Resource) What request fulfills
... status ?!SΣ 1..1 code draft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required): Codes representing the status of the request.
Example General: draft
... intent ?!Σ 1..1 code proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
Binding: RequestIntent (required): The kind of diagnostic request.
... Slices for code[x] SΣ 1..1 Device requested
Slice: Unordered, Closed by type:$this
Binding: CRD Device Request Codes Value Set (extensible)
.... codeReference Reference(CRD Device)
.... codeCodeableConcept CodeableConcept
.... code[x]:codeCodeableConcept SΣ 0..1 CodeableConcept Device requested
Binding: FHIRDeviceTypes (example): Codes for devices that can be requested.
..... Slices for extension Content/Rules for all slices
...... extension:BillingOptions S 0..* CodeableConcept Expected Billing Code(s)
URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-billing-options
Binding: CRD Billing Codes Value Set (extensible)
.... code[x]:codeReference SΣ 0..1 Reference(CRD Device) Device requested
... parameter S 0..* BackboneElement Device details
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
... subject SΣ 1..1 Reference(CRD Patient) Focus of request
... encounter Σ 0..1 Reference(CRD Encounter) Encounter motivating request
... occurrence[x] SΣ 0..1 Desired time or schedule for use
.... occurrenceDateTime dateTime
.... occurrencePeriod Period
.... occurrenceTiming Timing
... authoredOn SΣ 1..1 dateTime When recorded
... requester SΣ 1..1 Reference(US Core Practitioner Profile(7.0.0) S | HRex PractitionerRole Profile S) Who/what is requesting diagnostics
... performer SΣ 0..1 Reference(US Core Practitioner Profile(7.0.0) S | HRex PractitionerRole Profile S) Requested Filler
... reasonCode SΣ 0..* CodeableConcept Coded Reason for request
Binding: Condition/Problem/DiagnosisCodes (example): Diagnosis or problem codes justifying the reason for requesting the device.
... reasonReference SΣ 0..* Reference(US Core Condition Problems and Health Concerns Profile(7.0.0) | US Core Condition Encounter Diagnosis Profile(7.0.0) | US Core DiagnosticReport Profile for Laboratory Results Reporting(7.0.0) | US Core DiagnosticReport Profile for Report and Note Exchange(7.0.0) | US Core DocumentReference Profile(7.0.0) | Observation) Linked Reason for request

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
DeviceRequest.status Base required RequestStatus 📍4.0.1 FHIR Std.
DeviceRequest.intent Base required RequestIntent 📍4.0.1 FHIR Std.
DeviceRequest.code[x] Base extensible CRD Device Request Codes Value Set 📦2.2.0-ballot This IG
DeviceRequest.code[x]:codeCodeableConcept Base example FHIR Device Types 📍4.0.1 FHIR Std.
DeviceRequest.reasonCode Base example Condition/Problem/Diagnosis Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
crd-ci-q1 error DeviceRequest.extension:Coverage-Information Questionnaire is only allowed when doc-needed exists extension.where(url='questionnaire').exists() implies extension.where(url = 'doc-needed').exists()
crd-ci-q2 error DeviceRequest.extension:Coverage-Information If covered is set to 'not-covered', then 'pa-needed' must not exist. extension.where(url = 'covered' and value = 'not-covered').exists() implies extension.where(url = 'pa-needed').exists().not()
crd-ci-q3 error DeviceRequest.extension:Coverage-Information 'info-needed' SHALL exist if and only if at least one of 'covered', 'pa-needed', or 'doc-needed' is set to 'conditional'. extension.where((url = 'covered' or url = 'pa-needed' or url = 'doc-needed') and value = 'conditional').count() >= 1 implies extension.where(url = 'info-needed').exists()
crd-ci-q4 error DeviceRequest.extension:Coverage-Information If 'pa-needed' is 'satisfied', 'noauth', or 'not-covered', then 'Doc-purpose' can't be 'withpa'. extension.where(url = 'pa-needed' and (value = 'satisfied' or value = 'noauth' or value = 'not-covered')) and extension.where(url = 'doc-purpose').exists() implies extension.where(url = 'doc-purpose').all(value != 'withpa')
crd-ci-q5 error DeviceRequest.extension:Coverage-Information 'satisfied-pa-id' must exist if and only if 'pa-needed' is set to 'satisfied'. extension.where(url = 'pa-needed' and value = 'satisfied').exists() = extension.where(url = 'satisfied-pa-id').exists()
crd-ci-q6 error DeviceRequest.extension:Coverage-Information If 'info-needed' is OTH, then reason must be specified extension.where(url = 'info-needed' and value = 'OTH').exists() implies extension.where(url = 'reason').exists()
crd-ci-q7 error DeviceRequest.extension:Coverage-Information If reason.coding is present and is not from the extensible value set, then reason.text must be present extension.where(url = 'reason').empty() or extension.where(url = 'reason').value.text.exists() or extension.where(url = 'reason').value.memberOf('http://hl7.org/fhir/us/davinci-crd/ValueSet/coverageAssertionReasons')
crd-ci-q8 error DeviceRequest.extension:Coverage-Information If doc-purpose is present with a value other than 'conditional', then reason must be present extension.where(url = 'doc-purpose' and value != 'conditional').exists() implies extension.where(url = 'reason').exists()
dom-2 error DeviceRequest If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error DeviceRequest If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error DeviceRequest If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error DeviceRequest If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice DeviceRequest A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Differential View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. DeviceRequest DeviceRequest
... contained S 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:Coverage-Information S 0..* (Complex) Coverage Info
URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information
... identifier S 0..* Identifier External Request identifier
... status S 1..1 code draft | active | on-hold | revoked | completed | entered-in-error | unknown
Example General: draft
... Slices for code[x] S 1..1 Device requested
Slice: Unordered, Open by type:$this
Binding: CRD Device Request Codes Value Set (extensible)
.... codeReference Reference(CRD Device)
.... codeCodeableConcept CodeableConcept
.... code[x]:codeCodeableConcept S 0..1 CodeableConcept Device requested
..... Slices for extension Content/Rules for all slices
...... extension:BillingOptions S 0..* CodeableConcept Expected Billing Code(s)
URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-billing-options
Binding: CRD Billing Codes Value Set (extensible)
.... code[x]:codeReference S 0..1 Reference(CRD Device) Device requested
... parameter S 0..* BackboneElement Device details
... subject S 1..1 Reference(CRD Patient) Focus of request
... encounter 0..1 Reference(CRD Encounter) Encounter motivating request
... occurrence[x] S 0..1 dateTime, Period, Timing Desired time or schedule for use
... authoredOn S 1..1 dateTime When recorded
... requester S 1..1 Reference(US Core Practitioner Profile(7.0.0) S | HRex PractitionerRole Profile S) Who/what is requesting diagnostics
... performer S 0..1 Reference(US Core Practitioner Profile(7.0.0) S | HRex PractitionerRole Profile S) Requested Filler
... reasonCode S 0..* CodeableConcept Coded Reason for request
... reasonReference S 0..* Reference(US Core Condition Problems and Health Concerns Profile(7.0.0) | US Core Condition Encounter Diagnosis Profile(7.0.0) | US Core DiagnosticReport Profile for Laboratory Results Reporting(7.0.0) | US Core DiagnosticReport Profile for Report and Note Exchange(7.0.0) | US Core DocumentReference Profile(7.0.0) | Observation) Linked Reason for request

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
DeviceRequest.code[x] Base extensible CRD Device Request Codes Value Set 📦2.2.0-ballot This IG

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. DeviceRequest 0..* DeviceRequest Medical device request
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained S 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:Coverage-Information SC 0..* (Complex) Coverage Info
URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information
Constraints: crd-ci-q1, crd-ci-q2, crd-ci-q3, crd-ci-q4, crd-ci-q5, crd-ci-q6, crd-ci-q7, crd-ci-q8
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier SΣ 0..* Identifier External Request identifier
... instantiatesCanonical Σ 0..* canonical(ActivityDefinition | PlanDefinition) Instantiates FHIR protocol or definition
... instantiatesUri Σ 0..* uri Instantiates external protocol or definition
... basedOn SΣ 0..* Reference(Resource) What request fulfills
... priorRequest Σ 0..* Reference(Resource) What request replaces
... groupIdentifier Σ 0..1 Identifier Identifier of composite request
... status ?!SΣ 1..1 code draft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required): Codes representing the status of the request.
Example General: draft
... intent ?!Σ 1..1 code proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
Binding: RequestIntent (required): The kind of diagnostic request.
... priority Σ 0..1 code routine | urgent | asap | stat
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.
... Slices for code[x] SΣ 1..1 Device requested
Slice: Unordered, Closed by type:$this
Binding: CRD Device Request Codes Value Set (extensible)
.... codeReference Reference(CRD Device)
.... codeCodeableConcept CodeableConcept
.... code[x]:codeCodeableConcept SΣ 0..1 CodeableConcept Device requested
Binding: FHIRDeviceTypes (example): Codes for devices that can be requested.
..... id 0..1 string Unique id for inter-element referencing
..... Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... extension:BillingOptions S 0..* CodeableConcept Expected Billing Code(s)
URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-billing-options
Binding: CRD Billing Codes Value Set (extensible)
..... coding Σ 0..* Coding Code defined by a terminology system
..... text Σ 0..1 string Plain text representation of the concept
.... code[x]:codeReference SΣ 0..1 Reference(CRD Device) Device requested
... parameter S 0..* BackboneElement Device details
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... code 0..1 CodeableConcept Device detail
Binding Description: (example): A code that identifies the device detail.
.... value[x] 0..1 Value of detail
..... valueCodeableConcept CodeableConcept
..... valueQuantity Quantity
..... valueRange Range
..... valueBoolean boolean
... subject SΣ 1..1 Reference(CRD Patient) Focus of request
... encounter Σ 0..1 Reference(CRD Encounter) Encounter motivating request
... occurrence[x] SΣ 0..1 Desired time or schedule for use
.... occurrenceDateTime dateTime
.... occurrencePeriod Period
.... occurrenceTiming Timing
... authoredOn SΣ 1..1 dateTime When recorded
... requester SΣ 1..1 Reference(US Core Practitioner Profile(7.0.0) S | HRex PractitionerRole Profile S) Who/what is requesting diagnostics
... performerType Σ 0..1 CodeableConcept Filler role
Binding: ParticipantRoles (example): Indicates specific responsibility of an individual within the care team, such as "Primary physician", "Team coordinator", "Caregiver", etc.
... performer SΣ 0..1 Reference(US Core Practitioner Profile(7.0.0) S | HRex PractitionerRole Profile S) Requested Filler
... reasonCode SΣ 0..* CodeableConcept Coded Reason for request
Binding: Condition/Problem/DiagnosisCodes (example): Diagnosis or problem codes justifying the reason for requesting the device.
... reasonReference SΣ 0..* Reference(US Core Condition Problems and Health Concerns Profile(7.0.0) | US Core Condition Encounter Diagnosis Profile(7.0.0) | US Core DiagnosticReport Profile for Laboratory Results Reporting(7.0.0) | US Core DiagnosticReport Profile for Report and Note Exchange(7.0.0) | US Core DocumentReference Profile(7.0.0) | Observation) Linked Reason for request
... insurance 0..* Reference(Coverage | ClaimResponse) Associated insurance coverage
... supportingInfo 0..* Reference(Resource) Additional clinical information
... note 0..* Annotation Notes or comments
... relevantHistory 0..* Reference(Provenance) Request provenance

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
DeviceRequest.language Base preferred Common Languages 📍4.0.1 FHIR Std.
DeviceRequest.status Base required RequestStatus 📍4.0.1 FHIR Std.
DeviceRequest.intent Base required RequestIntent 📍4.0.1 FHIR Std.
DeviceRequest.priority Base required Request priority 📍4.0.1 FHIR Std.
DeviceRequest.code[x] Base extensible CRD Device Request Codes Value Set 📦2.2.0-ballot This IG
DeviceRequest.code[x]:codeCodeableConcept Base example FHIR Device Types 📍4.0.1 FHIR Std.
DeviceRequest.parameter.​code Base example Not Stated Unknown
DeviceRequest.performerType Base example Participant Roles 📍4.0.1 FHIR Std.
DeviceRequest.reasonCode Base example Condition/Problem/Diagnosis Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
crd-ci-q1 error DeviceRequest.extension:Coverage-Information Questionnaire is only allowed when doc-needed exists extension.where(url='questionnaire').exists() implies extension.where(url = 'doc-needed').exists()
crd-ci-q2 error DeviceRequest.extension:Coverage-Information If covered is set to 'not-covered', then 'pa-needed' must not exist. extension.where(url = 'covered' and value = 'not-covered').exists() implies extension.where(url = 'pa-needed').exists().not()
crd-ci-q3 error DeviceRequest.extension:Coverage-Information 'info-needed' SHALL exist if and only if at least one of 'covered', 'pa-needed', or 'doc-needed' is set to 'conditional'. extension.where((url = 'covered' or url = 'pa-needed' or url = 'doc-needed') and value = 'conditional').count() >= 1 implies extension.where(url = 'info-needed').exists()
crd-ci-q4 error DeviceRequest.extension:Coverage-Information If 'pa-needed' is 'satisfied', 'noauth', or 'not-covered', then 'Doc-purpose' can't be 'withpa'. extension.where(url = 'pa-needed' and (value = 'satisfied' or value = 'noauth' or value = 'not-covered')) and extension.where(url = 'doc-purpose').exists() implies extension.where(url = 'doc-purpose').all(value != 'withpa')
crd-ci-q5 error DeviceRequest.extension:Coverage-Information 'satisfied-pa-id' must exist if and only if 'pa-needed' is set to 'satisfied'. extension.where(url = 'pa-needed' and value = 'satisfied').exists() = extension.where(url = 'satisfied-pa-id').exists()
crd-ci-q6 error DeviceRequest.extension:Coverage-Information If 'info-needed' is OTH, then reason must be specified extension.where(url = 'info-needed' and value = 'OTH').exists() implies extension.where(url = 'reason').exists()
crd-ci-q7 error DeviceRequest.extension:Coverage-Information If reason.coding is present and is not from the extensible value set, then reason.text must be present extension.where(url = 'reason').empty() or extension.where(url = 'reason').value.text.exists() or extension.where(url = 'reason').value.memberOf('http://hl7.org/fhir/us/davinci-crd/ValueSet/coverageAssertionReasons')
crd-ci-q8 error DeviceRequest.extension:Coverage-Information If doc-purpose is present with a value other than 'conditional', then reason must be present extension.where(url = 'doc-purpose' and value != 'conditional').exists() implies extension.where(url = 'reason').exists()
dom-2 error DeviceRequest If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error DeviceRequest If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error DeviceRequest If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error DeviceRequest If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice DeviceRequest A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Summary

Mandatory: 3 elements
Must-Support: 17 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of DeviceRequest.code[x]

Maturity: 4

 

Other representations of profile: CSV, Excel, Schematron