Da Vinci Prior Authorization Support (PAS) FHIR IG
2.2.0-ballot - STU 2.2 - Ballot

Da Vinci Prior Authorization Support (PAS) FHIR IG, 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-pas/ and changes regularly. See the Directory of published versions

## Resource Profile: PAS Device Request

Official URL: http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-devicerequest | Version: 2.2.0-ballot
Standards status: Trial-use Active as of 2026-01-30 | Maturity Level: 3 | Computable Name: PASDeviceRequest
Other Identifiers: OID:2.16.840.1.113883.4.642.40.24.42.56

PAS constraints on DeviceRequest resource mandating support for elements relevant to the devices being requested on a prior authorization request

Usages:

- Refer to this Profile: RequestedService and RequestedService
- Examples for this Profile: DeviceRequest/DeviceRequestExample

You can also check for usages in the FHIR IG Statistics

### Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
DeviceRequest |  | 0..* | DeviceRequest | Medical device request
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:coverage | S C | 0..1 | (Complex) | CoverageInfo 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
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
status | ?!Σ | 0..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (required): Codes representing the status of the request.
intent | ?!S Σ | 1..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option Binding: RequestIntent (required): The kind of diagnostic request. Fixed Value: order
code[x] | S Σ | 1..1 | CodeableConcept | Device requested Binding: X12278RequestedServiceType (2.2.0-ballot) (required)
subject | S Σ | 1..1 | Reference(PAS Beneficiary Patient(2.2.0-ballot)) | Focus of request
occurrence[x] | S Σ | 0..1 | PASTiming(2.2.0-ballot) | Desired time or schedule for use
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 | required | X12 278 Requested Service Type | 📍2.2.0-ballot | This IG

#### Constraints

Id | Grade | Path(s) | Description | Expression
crd-ci-q1 | error | DeviceRequest.extension:coverage | 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 | 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 | '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 | If 'pa-needed' is 'satisfied', then 'Doc-purpose' can't be 'withpa'. | `extension.where(url = 'pa-needed' and value = 'satisfied') and extension.where(url = 'doc-purpose').exists() implies extension.where(url = 'doc-purpose').all(value != 'withpa')`
crd-ci-q5 | error | DeviceRequest.extension:coverage | '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 | If 'info-needed' is Other, then reason must be specified | `extension.where(url = 'info-needed' and value = 'Other').exists() implies extension.where(url = 'reason').exists()`
crd-ci-q7 | error | DeviceRequest.extension:coverage | 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')`
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()`

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
DeviceRequest |  | 0..* | DeviceRequest | Medical device request
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:coverage | S | 0..1 | (Complex) | CoverageInfo URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information
intent | S | 1..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option Fixed Value: order
code[x] | S | 1..1 | CodeableConcept | Device requested Binding: X12278RequestedServiceType (2.2.0-ballot) (required)
subject | S | 1..1 | Reference(PAS Beneficiary Patient(2.2.0-ballot)) | Focus of request
occurrence[x] | S | 0..1 | PASTiming(2.2.0-ballot) | Desired time or schedule for use
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
DeviceRequest.code[x] | Base | required | X12 278 Requested Service Type | 📍2.2.0-ballot | This IG

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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 Bindings | Purpose
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 |  | 0..* | Resource | Contained, inline Resources
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:coverage | S C | 0..1 | (Complex) | CoverageInfo 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
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | Σ | 0..* | Identifier | External Request identifier
instantiatesCanonical | Σ | 0..* | canonical(ActivityDefinition | PlanDefinition) | Instantiates FHIR protocol or definition
instantiatesUri | Σ | 0..* | uri | Instantiates external protocol or definition
basedOn | Σ | 0..* | Reference(Resource) | What request fulfills
priorRequest | Σ | 0..* | Reference(Resource) | What request replaces
groupIdentifier | Σ | 0..1 | Identifier | Identifier of composite request
status | ?!Σ | 0..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (required): Codes representing the status of the request.
intent | ?!S Σ | 1..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option Binding: RequestIntent (required): The kind of diagnostic request. Fixed Value: order
priority | Σ | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.
code[x] | S Σ | 1..1 | CodeableConcept | Device requested Binding: X12278RequestedServiceType (2.2.0-ballot) (required)
parameter |  | 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(PAS Beneficiary Patient(2.2.0-ballot)) | Focus of request
encounter | Σ | 0..1 | Reference(Encounter) | Encounter motivating request
occurrence[x] | S Σ | 0..1 | PASTiming(2.2.0-ballot) | Desired time or schedule for use
authoredOn | Σ | 0..1 | dateTime | When recorded
requester | Σ | 0..1 | Reference(Device | Practitioner | PractitionerRole | Organization) | 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 | Σ | 0..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson) | Requested Filler
reasonCode | Σ | 0..* | CodeableConcept | Coded Reason for request Binding: Condition/Problem/DiagnosisCodes (example): Diagnosis or problem codes justifying the reason for requesting the device.
reasonReference | Σ | 0..* | Reference(Condition | Observation | DiagnosticReport | DocumentReference) | 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
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 | required | X12 278 Requested Service Type | 📍2.2.0-ballot | This IG
DeviceRequest.parameter.​code | Base | example |  | Not State | 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 | 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 | 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 | '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 | If 'pa-needed' is 'satisfied', then 'Doc-purpose' can't be 'withpa'. | `extension.where(url = 'pa-needed' and value = 'satisfied') and extension.where(url = 'doc-purpose').exists() implies extension.where(url = 'doc-purpose').all(value != 'withpa')`
crd-ci-q5 | error | DeviceRequest.extension:coverage | '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 | If 'info-needed' is Other, then reason must be specified | `extension.where(url = 'info-needed' and value = 'Other').exists() implies extension.where(url = 'reason').exists()`
crd-ci-q7 | error | DeviceRequest.extension:coverage | 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')`
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

Must-Support: 5 elements
Fixed: 1 element

Structures

This structure refers to these other structures:

- PAS Beneficiary Patient (http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-beneficiary|2.2.0-ballot)
- PAS Timing (http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-datatype-timing|2.2.0-ballot)

Extensions

This structure refers to these extensions:

- http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information|2.1.0

Maturity: 3

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
DeviceRequest |  | 0..* | DeviceRequest | Medical device request
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:coverage | S C | 0..1 | (Complex) | CoverageInfo 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
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
status | ?!Σ | 0..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (required): Codes representing the status of the request.
intent | ?!S Σ | 1..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option Binding: RequestIntent (required): The kind of diagnostic request. Fixed Value: order
code[x] | S Σ | 1..1 | CodeableConcept | Device requested Binding: X12278RequestedServiceType (2.2.0-ballot) (required)
subject | S Σ | 1..1 | Reference(PAS Beneficiary Patient(2.2.0-ballot)) | Focus of request
occurrence[x] | S Σ | 0..1 | PASTiming(2.2.0-ballot) | Desired time or schedule for use
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 | required | X12 278 Requested Service Type | 📍2.2.0-ballot | This IG

#### Constraints

Id | Grade | Path(s) | Description | Expression
crd-ci-q1 | error | DeviceRequest.extension:coverage | 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 | 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 | '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 | If 'pa-needed' is 'satisfied', then 'Doc-purpose' can't be 'withpa'. | `extension.where(url = 'pa-needed' and value = 'satisfied') and extension.where(url = 'doc-purpose').exists() implies extension.where(url = 'doc-purpose').all(value != 'withpa')`
crd-ci-q5 | error | DeviceRequest.extension:coverage | '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 | If 'info-needed' is Other, then reason must be specified | `extension.where(url = 'info-needed' and value = 'Other').exists() implies extension.where(url = 'reason').exists()`
crd-ci-q7 | error | DeviceRequest.extension:coverage | 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')`
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

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
DeviceRequest |  | 0..* | DeviceRequest | Medical device request
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:coverage | S | 0..1 | (Complex) | CoverageInfo URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information
intent | S | 1..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option Fixed Value: order
code[x] | S | 1..1 | CodeableConcept | Device requested Binding: X12278RequestedServiceType (2.2.0-ballot) (required)
subject | S | 1..1 | Reference(PAS Beneficiary Patient(2.2.0-ballot)) | Focus of request
occurrence[x] | S | 0..1 | PASTiming(2.2.0-ballot) | Desired time or schedule for use
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
DeviceRequest.code[x] | Base | required | X12 278 Requested Service Type | 📍2.2.0-ballot | This IG

Snapshot ViewView

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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 Bindings | Purpose
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 |  | 0..* | Resource | Contained, inline Resources
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:coverage | S C | 0..1 | (Complex) | CoverageInfo 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
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | Σ | 0..* | Identifier | External Request identifier
instantiatesCanonical | Σ | 0..* | canonical(ActivityDefinition | PlanDefinition) | Instantiates FHIR protocol or definition
instantiatesUri | Σ | 0..* | uri | Instantiates external protocol or definition
basedOn | Σ | 0..* | Reference(Resource) | What request fulfills
priorRequest | Σ | 0..* | Reference(Resource) | What request replaces
groupIdentifier | Σ | 0..1 | Identifier | Identifier of composite request
status | ?!Σ | 0..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (required): Codes representing the status of the request.
intent | ?!S Σ | 1..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option Binding: RequestIntent (required): The kind of diagnostic request. Fixed Value: order
priority | Σ | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.
code[x] | S Σ | 1..1 | CodeableConcept | Device requested Binding: X12278RequestedServiceType (2.2.0-ballot) (required)
parameter |  | 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(PAS Beneficiary Patient(2.2.0-ballot)) | Focus of request
encounter | Σ | 0..1 | Reference(Encounter) | Encounter motivating request
occurrence[x] | S Σ | 0..1 | PASTiming(2.2.0-ballot) | Desired time or schedule for use
authoredOn | Σ | 0..1 | dateTime | When recorded
requester | Σ | 0..1 | Reference(Device | Practitioner | PractitionerRole | Organization) | 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 | Σ | 0..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson) | Requested Filler
reasonCode | Σ | 0..* | CodeableConcept | Coded Reason for request Binding: Condition/Problem/DiagnosisCodes (example): Diagnosis or problem codes justifying the reason for requesting the device.
reasonReference | Σ | 0..* | Reference(Condition | Observation | DiagnosticReport | DocumentReference) | 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
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 | required | X12 278 Requested Service Type | 📍2.2.0-ballot | This IG
DeviceRequest.parameter.​code | Base | example |  | Not State | 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 | 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 | 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 | '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 | If 'pa-needed' is 'satisfied', then 'Doc-purpose' can't be 'withpa'. | `extension.where(url = 'pa-needed' and value = 'satisfied') and extension.where(url = 'doc-purpose').exists() implies extension.where(url = 'doc-purpose').all(value != 'withpa')`
crd-ci-q5 | error | DeviceRequest.extension:coverage | '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 | If 'info-needed' is Other, then reason must be specified | `extension.where(url = 'info-needed' and value = 'Other').exists() implies extension.where(url = 'reason').exists()`
crd-ci-q7 | error | DeviceRequest.extension:coverage | 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')`
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

Must-Support: 5 elements
Fixed: 1 element

Structures

This structure refers to these other structures:

- PAS Beneficiary Patient (http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-beneficiary|2.2.0-ballot)
- PAS Timing (http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-datatype-timing|2.2.0-ballot)

Extensions

This structure refers to these extensions:

- http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information|2.1.0

Maturity: 3

Other representations of profile: CSV, Excel, Schematron