This page is part of the Quality Measure STU2 for FHIR R4 Implementation Guide (v2.0.0: STU 2) based on FHIR R4. The current version which supercedes this version is 3.0.0. For a full list of available versions, see the Directory of published versions
Example Software System Device |
The official URL for this profile is:
http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/device-softwaresystem-cqfm
The SoftwareSystem device profile is used to capture software details about the various systems used in authoring, testing, packaging, or evaluation of a knowledge artifact
This profile builds on Device.
This profile was published on Wed Feb 13 00:00:00 UTC 2019 as a active by Health Level Seven, Inc. - CQI WG.
Description of Profiles, Differentials, and Snapshots.
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Device | 0..* | Device | Item used in healthcare | |
manufacturer | 0..1 | string | The developers of the Software System | |
deviceName | 1..1 | BackboneElement | The name of the software | |
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 Fixed Value: manufacturer-name | |
type | 0..1 | CodeableConcept | authoring | testing | tooling | evaluation | reporting | data-capture Binding: SoftwareSystemType (extensible) | |
version | 0..1 | BackboneElement | The actual design of the device or software version running on the device | |
type | 0..0 | |||
component | 0..0 | |||
value | 1..1 | string | The version text | |
url | 0..1 | uri | Network address to contact device | |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Device | I | 0..* | Device | Item used in healthcare |
id | Σ | 0..1 | string | Logical id of this artifact |
meta | ΣI | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!ΣI | 0..1 | uri | A set of rules under which this content was created |
language | I | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!I | 0..* | Extension | Extensions that cannot be ignored |
identifier | I | 0..* | Identifier | Instance identifier |
definition | I | 0..1 | Reference(DeviceDefinition) | The reference to the definition for the device |
udiCarrier | ΣI | 0..* | BackboneElement | Unique Device Identifier (UDI) Barcode string |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
deviceIdentifier | ΣI | 0..1 | string | Mandatory fixed portion of UDI |
issuer | I | 0..1 | uri | UDI Issuing Organization |
jurisdiction | I | 0..1 | uri | Regional UDI authority |
carrierAIDC | ΣI | 0..1 | base64Binary | UDI Machine Readable Barcode String |
carrierHRF | ΣI | 0..1 | string | UDI Human Readable Barcode String |
entryType | I | 0..1 | code | barcode | rfid | manual + Binding: UDIEntryType (required) |
status | ?!ΣI | 0..1 | code | active | inactive | entered-in-error | unknown Binding: FHIRDeviceStatus (required) |
statusReason | I | 0..* | CodeableConcept | online | paused | standby | offline | not-ready | transduc-discon | hw-discon | off Binding: FHIRDeviceStatusReason (extensible) |
distinctIdentifier | I | 0..1 | string | The distinct identification string |
manufacturer | I | 0..1 | string | The developers of the Software System |
manufactureDate | I | 0..1 | dateTime | Date when the device was made |
expirationDate | I | 0..1 | dateTime | Date and time of expiry of this device (if applicable) |
lotNumber | I | 0..1 | string | Lot number of manufacture |
serialNumber | I | 0..1 | string | Serial number assigned by the manufacturer |
deviceName | I | 1..1 | BackboneElement | The name of the software |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
name | I | 1..1 | string | The name of the device |
type | I | 1..1 | code | udi-label-name | user-friendly-name | patient-reported-name | manufacturer-name | model-name | other Binding: DeviceNameType (required) Fixed Value: manufacturer-name |
modelNumber | I | 0..1 | string | The model number for the device |
partNumber | I | 0..1 | string | The part number of the device |
type | I | 0..1 | CodeableConcept | authoring | testing | tooling | evaluation | reporting | data-capture Binding: SoftwareSystemType (extensible) |
specialization | I | 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 | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
systemType | I | 1..1 | CodeableConcept | The standard that is used to operate and communicate |
version | I | 0..1 | string | The version of the standard that is used to operate and communicate |
version | I | 0..1 | 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 | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
value | I | 1..1 | string | The version text |
property | I | 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 | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
type | I | 1..1 | CodeableConcept | Code that specifies the property DeviceDefinitionPropetyCode (Extensible) |
valueQuantity | I | 0..* | Quantity | Property value as a quantity |
valueCode | I | 0..* | CodeableConcept | Property value as a code, e.g., NTP4 (synced to NTP) |
patient | I | 0..1 | Reference(Patient) | Patient to whom Device is affixed |
owner | I | 0..1 | Reference(Organization) | Organization responsible for device |
contact | I | 0..* | ContactPoint | Details for human/organization for support |
location | I | 0..1 | Reference(Location) | Where the device is found |
url | I | 0..1 | uri | Network address to contact device |
note | I | 0..* | Annotation | Device notes and comments |
safety | ΣI | 0..* | CodeableConcept | Safety Characteristics of Device |
parent | I | 0..1 | Reference(Device) | The parent device |
Documentation for this format |
Differential View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Device | 0..* | Device | Item used in healthcare | |
manufacturer | 0..1 | string | The developers of the Software System | |
deviceName | 1..1 | BackboneElement | The name of the software | |
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 Fixed Value: manufacturer-name | |
type | 0..1 | CodeableConcept | authoring | testing | tooling | evaluation | reporting | data-capture Binding: SoftwareSystemType (extensible) | |
version | 0..1 | BackboneElement | The actual design of the device or software version running on the device | |
type | 0..0 | |||
component | 0..0 | |||
value | 1..1 | string | The version text | |
url | 0..1 | uri | Network address to contact device | |
Documentation for this format |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Device | I | 0..* | Device | Item used in healthcare |
id | Σ | 0..1 | string | Logical id of this artifact |
meta | ΣI | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!ΣI | 0..1 | uri | A set of rules under which this content was created |
language | I | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!I | 0..* | Extension | Extensions that cannot be ignored |
identifier | I | 0..* | Identifier | Instance identifier |
definition | I | 0..1 | Reference(DeviceDefinition) | The reference to the definition for the device |
udiCarrier | ΣI | 0..* | BackboneElement | Unique Device Identifier (UDI) Barcode string |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
deviceIdentifier | ΣI | 0..1 | string | Mandatory fixed portion of UDI |
issuer | I | 0..1 | uri | UDI Issuing Organization |
jurisdiction | I | 0..1 | uri | Regional UDI authority |
carrierAIDC | ΣI | 0..1 | base64Binary | UDI Machine Readable Barcode String |
carrierHRF | ΣI | 0..1 | string | UDI Human Readable Barcode String |
entryType | I | 0..1 | code | barcode | rfid | manual + Binding: UDIEntryType (required) |
status | ?!ΣI | 0..1 | code | active | inactive | entered-in-error | unknown Binding: FHIRDeviceStatus (required) |
statusReason | I | 0..* | CodeableConcept | online | paused | standby | offline | not-ready | transduc-discon | hw-discon | off Binding: FHIRDeviceStatusReason (extensible) |
distinctIdentifier | I | 0..1 | string | The distinct identification string |
manufacturer | I | 0..1 | string | The developers of the Software System |
manufactureDate | I | 0..1 | dateTime | Date when the device was made |
expirationDate | I | 0..1 | dateTime | Date and time of expiry of this device (if applicable) |
lotNumber | I | 0..1 | string | Lot number of manufacture |
serialNumber | I | 0..1 | string | Serial number assigned by the manufacturer |
deviceName | I | 1..1 | BackboneElement | The name of the software |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
name | I | 1..1 | string | The name of the device |
type | I | 1..1 | code | udi-label-name | user-friendly-name | patient-reported-name | manufacturer-name | model-name | other Binding: DeviceNameType (required) Fixed Value: manufacturer-name |
modelNumber | I | 0..1 | string | The model number for the device |
partNumber | I | 0..1 | string | The part number of the device |
type | I | 0..1 | CodeableConcept | authoring | testing | tooling | evaluation | reporting | data-capture Binding: SoftwareSystemType (extensible) |
specialization | I | 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 | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
systemType | I | 1..1 | CodeableConcept | The standard that is used to operate and communicate |
version | I | 0..1 | string | The version of the standard that is used to operate and communicate |
version | I | 0..1 | 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 | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
value | I | 1..1 | string | The version text |
property | I | 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 | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
type | I | 1..1 | CodeableConcept | Code that specifies the property DeviceDefinitionPropetyCode (Extensible) |
valueQuantity | I | 0..* | Quantity | Property value as a quantity |
valueCode | I | 0..* | CodeableConcept | Property value as a code, e.g., NTP4 (synced to NTP) |
patient | I | 0..1 | Reference(Patient) | Patient to whom Device is affixed |
owner | I | 0..1 | Reference(Organization) | Organization responsible for device |
contact | I | 0..* | ContactPoint | Details for human/organization for support |
location | I | 0..1 | Reference(Location) | Where the device is found |
url | I | 0..1 | uri | Network address to contact device |
note | I | 0..* | Annotation | Device notes and comments |
safety | ΣI | 0..* | CodeableConcept | Safety Characteristics of Device |
parent | I | 0..1 | Reference(Device) | The parent device |
Documentation for this format |
Path | Conformance | ValueSet / Code |
Device.language | preferred | CommonLanguages Max Binding: AllLanguages |
Device.udiCarrier.entryType | required | UDIEntryType |
Device.status | required | FHIRDeviceStatus |
Device.statusReason | extensible | FHIRDeviceStatusReason |
Device.deviceName.type | required | Fixed Value: manufacturer-name |
Device.type | extensible | SoftwareSystemType |
Id | Path | Details | Requirements |
dom-2 | Device | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | 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 | 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 | Device | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | Device | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | Device.meta | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.implicitRules | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.language | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Device.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Device.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Device.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Device.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.definition | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.udiCarrier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.udiCarrier.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Device.udiCarrier.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Device.udiCarrier.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Device.udiCarrier.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Device.udiCarrier.deviceIdentifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.udiCarrier.issuer | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.udiCarrier.jurisdiction | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.udiCarrier.carrierAIDC | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.udiCarrier.carrierHRF | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.udiCarrier.entryType | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.status | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.statusReason | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.distinctIdentifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.manufacturer | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.manufactureDate | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.expirationDate | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.lotNumber | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.serialNumber | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.deviceName | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.deviceName.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Device.deviceName.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Device.deviceName.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Device.deviceName.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Device.deviceName.name | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.deviceName.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.modelNumber | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.partNumber | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.specialization | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.specialization.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Device.specialization.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Device.specialization.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Device.specialization.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Device.specialization.systemType | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.specialization.version | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.version | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.version.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Device.version.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Device.version.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Device.version.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Device.version.value | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.property | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.property.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Device.property.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Device.property.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Device.property.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Device.property.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.property.valueQuantity | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.property.valueCode | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.patient | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.owner | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.contact | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.location | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.url | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.note | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.safety | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Device.parent | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |