Da Vinci - Coverage Requirements Discovery
2.1.0 - STU 2.1 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.1.0 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.1.0
Standards status: Trial-use Maturity Level: 3 Computable Name: CRDDeviceRequest

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.

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from DeviceRequest

NameFlagsCard.TypeDescription & Constraintsdoco
.. DeviceRequest 0..* DeviceRequest Medical device request
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... Coverage-Information S 0..* (Complex) CoverageInfo
URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information
... identifier S 0..* Identifier External Request identifier
... basedOn S 0..* Reference(Resource) What request fulfills
... code[x] S 1..1 Device requested
Binding: CRD Device Request Codes Value Set (extensible)
.... codeReference Reference(CRD Device)
.... codeCodeableConcept CodeableConcept
... 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(Condition | Observation | DiagnosticReport | DocumentReference) Linked Reason for request

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
DeviceRequest.code[x]extensibleCRDDeviceRequests
http://hl7.org/fhir/us/davinci-crd/ValueSet/deviceRequest
from this IG
NameFlagsCard.TypeDescription & Constraintsdoco
.. 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
.... Coverage-Information SC 0..* (Complex) CoverageInfo
URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information
crd-ci-q1: Questionnaire is only allowed when doc-needed exists
crd-ci-q2: If covered is set to 'not-covered', then 'pa-needed' must not exist.
crd-ci-q3: 'info-needed' SHALL exist if and only if at least one of 'covered', 'pa-needed', or 'doc-needed' is set to 'conditional'.
crd-ci-q4: If 'pa-needed' is 'satisfied', then 'Doc-purpose' can't be 'withpa'.
crd-ci-q5: 'satisfied-pa-id' must exist if and only if 'pa-needed' is set to 'satisfied'.
crd-ci-q6: If 'info-needed' is Other, then reason must be specified
crd-ci-q7: If reason.coding is present and is not from the extensible value set, then reason.text must be present
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... 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.

... code[x] SΣ 1..1 Device requested
Binding: CRD Device Request Codes Value Set (extensible)
.... codeReference Reference(CRD Device)
.... codeCodeableConcept CodeableConcept
... 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) | HRex PractitionerRole Profile) Who/what is requesting diagnostics
... performer SΣ 0..1 Reference(US Core Practitioner Profile(7.0.0) | HRex PractitionerRole Profile) 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(Condition | Observation | DiagnosticReport | DocumentReference) Linked Reason for request

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
DeviceRequest.statusrequiredRequestStatus
http://hl7.org/fhir/ValueSet/request-status|4.0.1
from the FHIR Standard
DeviceRequest.intentrequiredRequestIntent
http://hl7.org/fhir/ValueSet/request-intent|4.0.1
from the FHIR Standard
DeviceRequest.code[x]extensibleCRDDeviceRequests
http://hl7.org/fhir/us/davinci-crd/ValueSet/deviceRequest
from this IG
DeviceRequest.reasonCodeexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
crd-ci-q1errorDeviceRequest.extension:Coverage-InformationQuestionnaire is only allowed when doc-needed exists
: extension.where(url='questionnaire').exists() implies extension.where(url = 'doc-needed').exists()
crd-ci-q2errorDeviceRequest.extension:Coverage-InformationIf 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-q3errorDeviceRequest.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-q4errorDeviceRequest.extension:Coverage-InformationIf '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-q5errorDeviceRequest.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-q6errorDeviceRequest.extension:Coverage-InformationIf '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-q7errorDeviceRequest.extension:Coverage-InformationIf 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-2errorDeviceRequestIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorDeviceRequestIf 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-4errorDeviceRequestIf 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-5errorDeviceRequestIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceDeviceRequestA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. 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
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... Coverage-Information SC 0..* (Complex) CoverageInfo
URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information
crd-ci-q1: Questionnaire is only allowed when doc-needed exists
crd-ci-q2: If covered is set to 'not-covered', then 'pa-needed' must not exist.
crd-ci-q3: 'info-needed' SHALL exist if and only if at least one of 'covered', 'pa-needed', or 'doc-needed' is set to 'conditional'.
crd-ci-q4: If 'pa-needed' is 'satisfied', then 'Doc-purpose' can't be 'withpa'.
crd-ci-q5: 'satisfied-pa-id' must exist if and only if 'pa-needed' is set to 'satisfied'.
crd-ci-q6: If 'info-needed' is Other, then reason must be specified
crd-ci-q7: If reason.coding is present and is not from the extensible value set, then reason.text must be present
... 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.

... code[x] SΣ 1..1 Device requested
Binding: CRD Device Request Codes Value Set (extensible)
.... codeReference Reference(CRD Device)
.... codeCodeableConcept CodeableConcept
... 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 (No ValueSet): (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(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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
DeviceRequest.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
DeviceRequest.statusrequiredRequestStatus
http://hl7.org/fhir/ValueSet/request-status|4.0.1
from the FHIR Standard
DeviceRequest.intentrequiredRequestIntent
http://hl7.org/fhir/ValueSet/request-intent|4.0.1
from the FHIR Standard
DeviceRequest.priorityrequiredRequestPriority
http://hl7.org/fhir/ValueSet/request-priority|4.0.1
from the FHIR Standard
DeviceRequest.code[x]extensibleCRDDeviceRequests
http://hl7.org/fhir/us/davinci-crd/ValueSet/deviceRequest
from this IG
DeviceRequest.parameter.codeexample
DeviceRequest.performerTypeexampleParticipantRoles
http://hl7.org/fhir/ValueSet/participant-role
from the FHIR Standard
DeviceRequest.reasonCodeexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
crd-ci-q1errorDeviceRequest.extension:Coverage-InformationQuestionnaire is only allowed when doc-needed exists
: extension.where(url='questionnaire').exists() implies extension.where(url = 'doc-needed').exists()
crd-ci-q2errorDeviceRequest.extension:Coverage-InformationIf 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-q3errorDeviceRequest.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-q4errorDeviceRequest.extension:Coverage-InformationIf '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-q5errorDeviceRequest.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-q6errorDeviceRequest.extension:Coverage-InformationIf '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-q7errorDeviceRequest.extension:Coverage-InformationIf 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-2errorDeviceRequestIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorDeviceRequestIf 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-4errorDeviceRequestIf 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-5errorDeviceRequestIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceDeviceRequestA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Differential View

This structure is derived from DeviceRequest

NameFlagsCard.TypeDescription & Constraintsdoco
.. DeviceRequest 0..* DeviceRequest Medical device request
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... Coverage-Information S 0..* (Complex) CoverageInfo
URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information
... identifier S 0..* Identifier External Request identifier
... basedOn S 0..* Reference(Resource) What request fulfills
... code[x] S 1..1 Device requested
Binding: CRD Device Request Codes Value Set (extensible)
.... codeReference Reference(CRD Device)
.... codeCodeableConcept CodeableConcept
... 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(Condition | Observation | DiagnosticReport | DocumentReference) Linked Reason for request

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
DeviceRequest.code[x]extensibleCRDDeviceRequests
http://hl7.org/fhir/us/davinci-crd/ValueSet/deviceRequest
from this IG

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. 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
.... Coverage-Information SC 0..* (Complex) CoverageInfo
URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information
crd-ci-q1: Questionnaire is only allowed when doc-needed exists
crd-ci-q2: If covered is set to 'not-covered', then 'pa-needed' must not exist.
crd-ci-q3: 'info-needed' SHALL exist if and only if at least one of 'covered', 'pa-needed', or 'doc-needed' is set to 'conditional'.
crd-ci-q4: If 'pa-needed' is 'satisfied', then 'Doc-purpose' can't be 'withpa'.
crd-ci-q5: 'satisfied-pa-id' must exist if and only if 'pa-needed' is set to 'satisfied'.
crd-ci-q6: If 'info-needed' is Other, then reason must be specified
crd-ci-q7: If reason.coding is present and is not from the extensible value set, then reason.text must be present
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... 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.

... code[x] SΣ 1..1 Device requested
Binding: CRD Device Request Codes Value Set (extensible)
.... codeReference Reference(CRD Device)
.... codeCodeableConcept CodeableConcept
... 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) | HRex PractitionerRole Profile) Who/what is requesting diagnostics
... performer SΣ 0..1 Reference(US Core Practitioner Profile(7.0.0) | HRex PractitionerRole Profile) 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(Condition | Observation | DiagnosticReport | DocumentReference) Linked Reason for request

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
DeviceRequest.statusrequiredRequestStatus
http://hl7.org/fhir/ValueSet/request-status|4.0.1
from the FHIR Standard
DeviceRequest.intentrequiredRequestIntent
http://hl7.org/fhir/ValueSet/request-intent|4.0.1
from the FHIR Standard
DeviceRequest.code[x]extensibleCRDDeviceRequests
http://hl7.org/fhir/us/davinci-crd/ValueSet/deviceRequest
from this IG
DeviceRequest.reasonCodeexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
crd-ci-q1errorDeviceRequest.extension:Coverage-InformationQuestionnaire is only allowed when doc-needed exists
: extension.where(url='questionnaire').exists() implies extension.where(url = 'doc-needed').exists()
crd-ci-q2errorDeviceRequest.extension:Coverage-InformationIf 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-q3errorDeviceRequest.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-q4errorDeviceRequest.extension:Coverage-InformationIf '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-q5errorDeviceRequest.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-q6errorDeviceRequest.extension:Coverage-InformationIf '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-q7errorDeviceRequest.extension:Coverage-InformationIf 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-2errorDeviceRequestIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorDeviceRequestIf 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-4errorDeviceRequestIf 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-5errorDeviceRequestIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceDeviceRequestA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. 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
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... Coverage-Information SC 0..* (Complex) CoverageInfo
URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information
crd-ci-q1: Questionnaire is only allowed when doc-needed exists
crd-ci-q2: If covered is set to 'not-covered', then 'pa-needed' must not exist.
crd-ci-q3: 'info-needed' SHALL exist if and only if at least one of 'covered', 'pa-needed', or 'doc-needed' is set to 'conditional'.
crd-ci-q4: If 'pa-needed' is 'satisfied', then 'Doc-purpose' can't be 'withpa'.
crd-ci-q5: 'satisfied-pa-id' must exist if and only if 'pa-needed' is set to 'satisfied'.
crd-ci-q6: If 'info-needed' is Other, then reason must be specified
crd-ci-q7: If reason.coding is present and is not from the extensible value set, then reason.text must be present
... 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.

... code[x] SΣ 1..1 Device requested
Binding: CRD Device Request Codes Value Set (extensible)
.... codeReference Reference(CRD Device)
.... codeCodeableConcept CodeableConcept
... 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 (No ValueSet): (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(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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
DeviceRequest.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
DeviceRequest.statusrequiredRequestStatus
http://hl7.org/fhir/ValueSet/request-status|4.0.1
from the FHIR Standard
DeviceRequest.intentrequiredRequestIntent
http://hl7.org/fhir/ValueSet/request-intent|4.0.1
from the FHIR Standard
DeviceRequest.priorityrequiredRequestPriority
http://hl7.org/fhir/ValueSet/request-priority|4.0.1
from the FHIR Standard
DeviceRequest.code[x]extensibleCRDDeviceRequests
http://hl7.org/fhir/us/davinci-crd/ValueSet/deviceRequest
from this IG
DeviceRequest.parameter.codeexample
DeviceRequest.performerTypeexampleParticipantRoles
http://hl7.org/fhir/ValueSet/participant-role
from the FHIR Standard
DeviceRequest.reasonCodeexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
crd-ci-q1errorDeviceRequest.extension:Coverage-InformationQuestionnaire is only allowed when doc-needed exists
: extension.where(url='questionnaire').exists() implies extension.where(url = 'doc-needed').exists()
crd-ci-q2errorDeviceRequest.extension:Coverage-InformationIf 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-q3errorDeviceRequest.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-q4errorDeviceRequest.extension:Coverage-InformationIf '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-q5errorDeviceRequest.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-q6errorDeviceRequest.extension:Coverage-InformationIf '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-q7errorDeviceRequest.extension:Coverage-InformationIf 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-2errorDeviceRequestIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorDeviceRequestIf 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-4errorDeviceRequestIf 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-5errorDeviceRequestIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceDeviceRequestA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

 

Other representations of profile: CSV, Excel, Schematron