This page is part of the Da Vinci Coverage Requirements Discovery (CRD) FHIR IG (v1.1.0-ballot: STU 1.1 Ballot 1) based on FHIR R4. The current version which supercedes this version is 1.0.0. For a full list of available versions, see the Directory of published versions
Official URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-device | Version: 1.1.0-ballot | |||
Draft as of 2018-07-25 | Computable Name: Device |
This profile specifies additional constraints on the US Core Device Profile to support coverage requirements discovery.
CRD Clients SHALL use this profile to resolve references to Device resources passed to CRD Services.
Information provided in Must Support elements will commonly be required for CRD Services to perform coverage requirements discovery.
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from Device
This structure is derived from Device
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Device | 0..* | Device | Item used in healthcare | |
udiCarrier | S | 0..1 | BackboneElement | Unique Device Identifier (UDI) Barcode string |
deviceIdentifier | S | 0..1 | string | Mandatory fixed portion of UDI |
property | S | 0..* | BackboneElement | The actual configuration settings of a device as it actually operates, e.g., regulation status, time properties |
type | S | 1..1 | CodeableConcept | Code that specifies the property DeviceDefinitionPropetyCode (Extensible) |
valueQuantity | S | 0..* | Quantity | Property value as a quantity |
valueCode | S | 0..* | CodeableConcept | Property value as a code, e.g., NTP4 (synced to NTP) |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Device | 0..* | Device | Item used in healthcare | |
id | Σ | 0..1 | string | 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) Max Binding: AllLanguages: A human language. | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
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 | Instance identifier | |
definition | 0..1 | Reference(DeviceDefinition) | The reference to the definition for the device | |
udiCarrier | SΣ | 0..1 | BackboneElement | Unique Device Identifier (UDI) Barcode string |
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 |
deviceIdentifier | SΣ | 0..1 | string | Mandatory fixed portion of UDI |
issuer | 0..1 | uri | UDI Issuing Organization | |
jurisdiction | 0..1 | uri | Regional UDI authority | |
carrierAIDC | Σ | 0..1 | base64Binary | UDI Machine Readable Barcode String |
carrierHRF | Σ | 0..1 | string | UDI Human Readable Barcode String |
entryType | 0..1 | code | barcode | rfid | manual + Binding: UDIEntryType (required): Codes to identify how UDI data was entered. | |
status | ?!Σ | 0..1 | code | active | inactive | entered-in-error | unknown Binding: FHIRDeviceStatus (required): The availability status of the device. |
statusReason | 0..* | CodeableConcept | online | paused | standby | offline | not-ready | transduc-discon | hw-discon | off Binding: FHIRDeviceStatusReason (extensible): The availability status reason of the device. | |
distinctIdentifier | 0..1 | string | The distinct identification string | |
manufacturer | 0..1 | string | Name of device manufacturer | |
manufactureDate | 0..1 | dateTime | Date when the device was made | |
expirationDate | 0..1 | dateTime | Date and time of expiry of this device (if applicable) | |
lotNumber | 0..1 | string | Lot number of manufacture | |
serialNumber | 0..1 | string | Serial number assigned by the manufacturer | |
deviceName | 0..* | BackboneElement | The name of the device as given by the manufacturer | |
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 |
name | 1..1 | string | The name of the device | |
type | 1..1 | code | udi-label-name | user-friendly-name | patient-reported-name | manufacturer-name | model-name | other Binding: DeviceNameType (required): The type of name the device is referred by. | |
modelNumber | 0..1 | string | The model number for the device | |
partNumber | 0..1 | string | The part number of the device | |
type | 0..1 | CodeableConcept | The kind or type of device Binding: DeviceType (example): Codes to identify medical devices. | |
specialization | 0..* | BackboneElement | The capabilities supported on a device, the standards to which the device conforms for a particular purpose, and used for the communication | |
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 |
systemType | 1..1 | CodeableConcept | The standard that is used to operate and communicate | |
version | 0..1 | string | The version of the standard that is used to operate and communicate | |
version | 0..* | BackboneElement | The actual design of the device or software version running on the device | |
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 |
type | 0..1 | CodeableConcept | The type of the device version | |
component | 0..1 | Identifier | A single component of the device version | |
value | 1..1 | string | The version text | |
property | S | 0..* | BackboneElement | The actual configuration settings of a device as it actually operates, e.g., regulation status, time properties |
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 |
type | S | 1..1 | CodeableConcept | Code that specifies the property DeviceDefinitionPropetyCode (Extensible) |
valueQuantity | S | 0..* | Quantity | Property value as a quantity |
valueCode | S | 0..* | CodeableConcept | Property value as a code, e.g., NTP4 (synced to NTP) |
patient | 0..1 | Reference(Patient) | Patient to whom Device is affixed | |
owner | 0..1 | Reference(Organization) | Organization responsible for device | |
contact | 0..* | ContactPoint | Details for human/organization for support | |
location | 0..1 | Reference(Location) | Where the device is found | |
url | 0..1 | uri | Network address to contact device | |
note | 0..* | Annotation | Device notes and comments | |
safety | Σ | 0..* | CodeableConcept | Safety Characteristics of Device |
parent | 0..1 | Reference(Device) | The parent device | |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Device | 0..* | Device | Item used in healthcare | |
udiCarrier | Σ | 0..1 | BackboneElement | Unique Device Identifier (UDI) Barcode string |
deviceIdentifier | Σ | 0..1 | string | Mandatory fixed portion of UDI |
property | 0..* | BackboneElement | The actual configuration settings of a device as it actually operates, e.g., regulation status, time properties | |
type | 1..1 | CodeableConcept | Code that specifies the property DeviceDefinitionPropetyCode (Extensible) | |
valueQuantity | 0..* | Quantity | Property value as a quantity | |
valueCode | 0..* | CodeableConcept | Property value as a code, e.g., NTP4 (synced to NTP) | |
Documentation for this format |
This structure is derived from Device
Differential View
This structure is derived from Device
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Device | 0..* | Device | Item used in healthcare | |
udiCarrier | S | 0..1 | BackboneElement | Unique Device Identifier (UDI) Barcode string |
deviceIdentifier | S | 0..1 | string | Mandatory fixed portion of UDI |
property | S | 0..* | BackboneElement | The actual configuration settings of a device as it actually operates, e.g., regulation status, time properties |
type | S | 1..1 | CodeableConcept | Code that specifies the property DeviceDefinitionPropetyCode (Extensible) |
valueQuantity | S | 0..* | Quantity | Property value as a quantity |
valueCode | S | 0..* | CodeableConcept | Property value as a code, e.g., NTP4 (synced to NTP) |
Documentation for this format |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Device | 0..* | Device | Item used in healthcare | |
id | Σ | 0..1 | string | 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) Max Binding: AllLanguages: A human language. | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
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 | Instance identifier | |
definition | 0..1 | Reference(DeviceDefinition) | The reference to the definition for the device | |
udiCarrier | SΣ | 0..1 | BackboneElement | Unique Device Identifier (UDI) Barcode string |
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 |
deviceIdentifier | SΣ | 0..1 | string | Mandatory fixed portion of UDI |
issuer | 0..1 | uri | UDI Issuing Organization | |
jurisdiction | 0..1 | uri | Regional UDI authority | |
carrierAIDC | Σ | 0..1 | base64Binary | UDI Machine Readable Barcode String |
carrierHRF | Σ | 0..1 | string | UDI Human Readable Barcode String |
entryType | 0..1 | code | barcode | rfid | manual + Binding: UDIEntryType (required): Codes to identify how UDI data was entered. | |
status | ?!Σ | 0..1 | code | active | inactive | entered-in-error | unknown Binding: FHIRDeviceStatus (required): The availability status of the device. |
statusReason | 0..* | CodeableConcept | online | paused | standby | offline | not-ready | transduc-discon | hw-discon | off Binding: FHIRDeviceStatusReason (extensible): The availability status reason of the device. | |
distinctIdentifier | 0..1 | string | The distinct identification string | |
manufacturer | 0..1 | string | Name of device manufacturer | |
manufactureDate | 0..1 | dateTime | Date when the device was made | |
expirationDate | 0..1 | dateTime | Date and time of expiry of this device (if applicable) | |
lotNumber | 0..1 | string | Lot number of manufacture | |
serialNumber | 0..1 | string | Serial number assigned by the manufacturer | |
deviceName | 0..* | BackboneElement | The name of the device as given by the manufacturer | |
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 |
name | 1..1 | string | The name of the device | |
type | 1..1 | code | udi-label-name | user-friendly-name | patient-reported-name | manufacturer-name | model-name | other Binding: DeviceNameType (required): The type of name the device is referred by. | |
modelNumber | 0..1 | string | The model number for the device | |
partNumber | 0..1 | string | The part number of the device | |
type | 0..1 | CodeableConcept | The kind or type of device Binding: DeviceType (example): Codes to identify medical devices. | |
specialization | 0..* | BackboneElement | The capabilities supported on a device, the standards to which the device conforms for a particular purpose, and used for the communication | |
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 |
systemType | 1..1 | CodeableConcept | The standard that is used to operate and communicate | |
version | 0..1 | string | The version of the standard that is used to operate and communicate | |
version | 0..* | BackboneElement | The actual design of the device or software version running on the device | |
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 |
type | 0..1 | CodeableConcept | The type of the device version | |
component | 0..1 | Identifier | A single component of the device version | |
value | 1..1 | string | The version text | |
property | S | 0..* | BackboneElement | The actual configuration settings of a device as it actually operates, e.g., regulation status, time properties |
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 |
type | S | 1..1 | CodeableConcept | Code that specifies the property DeviceDefinitionPropetyCode (Extensible) |
valueQuantity | S | 0..* | Quantity | Property value as a quantity |
valueCode | S | 0..* | CodeableConcept | Property value as a code, e.g., NTP4 (synced to NTP) |
patient | 0..1 | Reference(Patient) | Patient to whom Device is affixed | |
owner | 0..1 | Reference(Organization) | Organization responsible for device | |
contact | 0..* | ContactPoint | Details for human/organization for support | |
location | 0..1 | Reference(Location) | Where the device is found | |
url | 0..1 | uri | Network address to contact device | |
note | 0..* | Annotation | Device notes and comments | |
safety | Σ | 0..* | CodeableConcept | Safety Characteristics of Device |
parent | 0..1 | Reference(Device) | The parent device | |
Documentation for this format |
Other representations of profile: CSV, Excel, Schematron
Path | Conformance | ValueSet |
Device.language | preferred | CommonLanguages Max Binding: AllLanguages |
Device.udiCarrier.entryType | required | UDIEntryType |
Device.status | required | FHIRDeviceStatus |
Device.statusReason | extensible | FHIRDeviceStatusReason |
Device.deviceName.type | required | DeviceNameType |
Device.type | example | DeviceType |
Id | Grade | Path | Details | Requirements |
dom-2 | error | Device | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Device | 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 | Device | 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 | Device | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | Best Practice | Device | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | Device.meta | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.implicitRules | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.language | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Device.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Device.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Device.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Device.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.definition | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.udiCarrier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.udiCarrier.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Device.udiCarrier.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Device.udiCarrier.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Device.udiCarrier.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Device.udiCarrier.deviceIdentifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.udiCarrier.issuer | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.udiCarrier.jurisdiction | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.udiCarrier.carrierAIDC | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.udiCarrier.carrierHRF | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.udiCarrier.entryType | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.status | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.statusReason | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.distinctIdentifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.manufacturer | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.manufactureDate | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.expirationDate | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.lotNumber | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.serialNumber | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.deviceName | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.deviceName.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Device.deviceName.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Device.deviceName.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Device.deviceName.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Device.deviceName.name | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.deviceName.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.modelNumber | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.partNumber | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.specialization | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.specialization.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Device.specialization.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Device.specialization.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Device.specialization.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Device.specialization.systemType | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.specialization.version | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.version | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.version.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Device.version.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Device.version.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Device.version.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Device.version.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.version.component | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.version.value | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.property | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.property.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Device.property.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Device.property.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Device.property.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Device.property.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.property.valueQuantity | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.property.valueCode | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.patient | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.owner | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.contact | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.location | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.url | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.note | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.safety | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Device.parent | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |