Patient Cost Transparency Implementation Guide
2.0.1 - STU 2

Patient Cost Transparency Implementation Guide, published by HL7 International / Financial Management. This guide is not an authorized publication; it is the continuous build for version 2.0.1 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/davinci-pct/ and changes regularly. See the Directory of published versions

## Resource Profile: PCT GFE DeviceRequest

Official URL: http://hl7.org/fhir/us/davinci-pct/StructureDefinition/davinci-pct-devicerequest | Version: 2.0.1
Standards status: Draft | Maturity Level: 0 | Computable Name: PCTDeviceRequest
Other Identifiers: OID:2.16.840.1.113883.4.642.40.4.42.21

The PCT DeviceRequest including details about a device for which a GFE is being requested.

The following profile relates to the Good Faith Estimate (GFE) Coordination workflow and is marked as DRAFT. This content has not yet met the requisite level of testing to be balloted as trial-use. However, this part of the specification has been reviewed by the Da Vinci Patient Cost Transparency (PCT) open community of providers, payers, and health information technology (IT) vendors and was determined to be at a sufficient level of development to be included in this publication for the purposes of soliciting feedback from, and enabling testing by, the larger implementation community with the intention of bringing the content related to the GFE Coordination workflow to full standard for trial use (STU) status in a future version. Feedback is welcome and may be submitted through the FHIR change tracker indicating "US Da Vinci Patient Cost Transparency (PCT)(FHIR)" as the specification.

Usages:

- Use this Profile: PCT GFE Information Bundle and PCT GFE Missing Bundle
- Examples for this Profile: DeviceRequest/PCT-DeviceRequest-1

You can also check for usages in the FHIR IG Statistics

Changes since version 1.1.0:

- New Content

### Formal Views of Profile Content

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

- 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
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. Required Pattern: active
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. Required Pattern: proposal
code[x] | S Σ | 1..1 |  | Device requested Binding: FHIRDeviceTypes (example): Codes for devices that can be requested.
codeReference |  |  | Reference(Device) |
codeCodeableConcept |  |  | CodeableConcept |
subject | Σ | 1..1 | Reference(US Core Patient Profile(7.0.0)) | Focus of request
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 | example | FHIR Device Types | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
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()`

This structure is derived from DeviceRequest

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
DeviceRequest |  |  | DeviceRequest |
status |  | 0..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Required Pattern: active
intent |  | 1..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option Required Pattern: proposal
code[x] | S | 1..1 | Reference(Device), CodeableConcept | Device requested
subject |  | 1..1 | Reference(US Core Patient Profile(7.0.0)) | Focus of request
Documentation for this format

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
extension |  | 0..* | Extension | Additional content defined by implementations
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. Required Pattern: active
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. Required Pattern: proposal
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: FHIRDeviceTypes (example): Codes for devices that can be requested.
codeReference |  |  | Reference(Device) |
codeCodeableConcept |  |  | CodeableConcept |
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 | Σ | 1..1 | Reference(US Core Patient Profile(7.0.0)) | Focus of request
encounter | Σ | 0..1 | Reference(Encounter) | Encounter motivating request
occurrence[x] | Σ | 0..1 |  | Desired time or schedule for use
occurrenceDateTime |  |  | dateTime |
occurrencePeriod |  |  | Period |
occurrenceTiming |  |  | Timing |
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 | example | FHIR Device Types | 📍4.0.1 | FHIR Std.
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
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()`

This structure is derived from DeviceRequest

Summary

Must-Support: 1 element

Structures

This structure refers to these other structures:

- US Core Patient Profile (http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient|7.0.0)

Maturity: 0

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
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. Required Pattern: active
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. Required Pattern: proposal
code[x] | S Σ | 1..1 |  | Device requested Binding: FHIRDeviceTypes (example): Codes for devices that can be requested.
codeReference |  |  | Reference(Device) |
codeCodeableConcept |  |  | CodeableConcept |
subject | Σ | 1..1 | Reference(US Core Patient Profile(7.0.0)) | Focus of request
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 | example | FHIR Device Types | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
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

This structure is derived from DeviceRequest

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
DeviceRequest |  |  | DeviceRequest |
status |  | 0..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Required Pattern: active
intent |  | 1..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option Required Pattern: proposal
code[x] | S | 1..1 | Reference(Device), CodeableConcept | Device requested
subject |  | 1..1 | Reference(US Core Patient Profile(7.0.0)) | Focus of request
Documentation for this format

Snapshot View

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
extension |  | 0..* | Extension | Additional content defined by implementations
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. Required Pattern: active
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. Required Pattern: proposal
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: FHIRDeviceTypes (example): Codes for devices that can be requested.
codeReference |  |  | Reference(Device) |
codeCodeableConcept |  |  | CodeableConcept |
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 | Σ | 1..1 | Reference(US Core Patient Profile(7.0.0)) | Focus of request
encounter | Σ | 0..1 | Reference(Encounter) | Encounter motivating request
occurrence[x] | Σ | 0..1 |  | Desired time or schedule for use
occurrenceDateTime |  |  | dateTime |
occurrencePeriod |  |  | Period |
occurrenceTiming |  |  | Timing |
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 | example | FHIR Device Types | 📍4.0.1 | FHIR Std.
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
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()`

This structure is derived from DeviceRequest

Summary

Must-Support: 1 element

Structures

This structure refers to these other structures:

- US Core Patient Profile (http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient|7.0.0)

Maturity: 0

Other representations of profile: CSV, Excel, Schematron