Interweave Implementation Guide
0.1.0 - ci-build
Interweave Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the STU3 profiles here.
Official URL: https://fhir.interweavedigital.nhs.uk/R4/StructureDefinition/UKCore-Device | Version: 1.2.0 | |||
Draft as of 2023-12-12 | Computable Name: UKCoreDevice | |||
Copyright/Legal: Copyright © 2021+ HL7 UK Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. HL7® FHIR® standard Copyright © 2011+ HL7 The HL7® FHIR® standard is used under the FHIR license. You may obtain a copy of the FHIR license at https://www.hl7.org/fhir/license.html. |
This profile defines the UK constraints and extensions on the International FHIR resource Device.
The purpose of this profile is to hold information about a type of a manufactured item that is used in the provision of healthcare without being substantially changed through that activity. The device may be a medical or non-medical device. It is referenced by other resources for recording which device performed an action such as a procedure or an observation, referenced when prescribing and dispensing devices for patient use or for ordering supplies, and used to record and transmit Unique Device Identifier (UDI) information about a device such as a patient's implant.
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from Device
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Device | Device | |||
status | S | 0..1 | code | The status of the Device. |
type | S | 0..1 | CodeableConcept | The type of the Device. Binding: UK Core Device Type (preferred): A code from the SNOMED Clinical Terminology UK coding system that describes a type of device. |
Documentation for this format |
Path | Conformance | ValueSet | URI |
Device.type | preferred | UKCoreDeviceTypehttps://fhir.hl7.org.uk/ValueSet/UKCore-DeviceType from this IG |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Device | 0..* | Device | Item used in healthcare | |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
status | ?!SΣ | 0..1 | code | The status of the Device. Binding: FHIRDeviceStatus (required): The availability status of the device. |
type | S | 0..1 | CodeableConcept | The type of the Device. Binding: UK Core Device Type (preferred): A code from the SNOMED Clinical Terminology UK coding system that describes a type of device. |
Documentation for this format |
Path | Conformance | ValueSet | URI |
Device.status | required | FHIRDeviceStatushttp://hl7.org/fhir/ValueSet/device-status|4.0.1 from the FHIR Standard | |
Device.type | preferred | UKCoreDeviceTypehttps://fhir.hl7.org.uk/ValueSet/UKCore-DeviceType from this IG |
Id | Grade | Path(s) | 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 | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Device | 0..* | Device | Item used in healthcare | |||||
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.
| |||||
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 | Σ | 0..* | 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 | Σ | 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 | ?!SΣ | 0..1 | code | The status of the Device. 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 | S | 0..1 | CodeableConcept | The type of the Device. Binding: UK Core Device Type (preferred): A code from the SNOMED Clinical Terminology UK coding system that describes a type of device. | ||||
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 | 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 | 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) | |||||
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 |
Path | Conformance | ValueSet | URI | |||
Device.language | preferred | CommonLanguages
http://hl7.org/fhir/ValueSet/languages from the FHIR Standard | ||||
Device.udiCarrier.entryType | required | UDIEntryTypehttp://hl7.org/fhir/ValueSet/udi-entry-type|4.0.1 from the FHIR Standard | ||||
Device.status | required | FHIRDeviceStatushttp://hl7.org/fhir/ValueSet/device-status|4.0.1 from the FHIR Standard | ||||
Device.statusReason | extensible | FHIRDeviceStatusReasonhttp://hl7.org/fhir/ValueSet/device-status-reason from the FHIR Standard | ||||
Device.deviceName.type | required | DeviceNameTypehttp://hl7.org/fhir/ValueSet/device-nametype|4.0.1 from the FHIR Standard | ||||
Device.type | preferred | UKCoreDeviceTypehttps://fhir.hl7.org.uk/ValueSet/UKCore-DeviceType from this IG |
Id | Grade | Path(s) | 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 | **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 Device
Differential View
This structure is derived from Device
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Device | Device | |||
status | S | 0..1 | code | The status of the Device. |
type | S | 0..1 | CodeableConcept | The type of the Device. Binding: UK Core Device Type (preferred): A code from the SNOMED Clinical Terminology UK coding system that describes a type of device. |
Documentation for this format |
Path | Conformance | ValueSet | URI |
Device.type | preferred | UKCoreDeviceTypehttps://fhir.hl7.org.uk/ValueSet/UKCore-DeviceType from this IG |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Device | 0..* | Device | Item used in healthcare | |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
status | ?!SΣ | 0..1 | code | The status of the Device. Binding: FHIRDeviceStatus (required): The availability status of the device. |
type | S | 0..1 | CodeableConcept | The type of the Device. Binding: UK Core Device Type (preferred): A code from the SNOMED Clinical Terminology UK coding system that describes a type of device. |
Documentation for this format |
Path | Conformance | ValueSet | URI |
Device.status | required | FHIRDeviceStatushttp://hl7.org/fhir/ValueSet/device-status|4.0.1 from the FHIR Standard | |
Device.type | preferred | UKCoreDeviceTypehttps://fhir.hl7.org.uk/ValueSet/UKCore-DeviceType from this IG |
Id | Grade | Path(s) | 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 | **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() |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Device | 0..* | Device | Item used in healthcare | |||||
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.
| |||||
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 | Σ | 0..* | 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 | Σ | 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 | ?!SΣ | 0..1 | code | The status of the Device. 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 | S | 0..1 | CodeableConcept | The type of the Device. Binding: UK Core Device Type (preferred): A code from the SNOMED Clinical Terminology UK coding system that describes a type of device. | ||||
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 | 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 | 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) | |||||
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 |
Path | Conformance | ValueSet | URI | |||
Device.language | preferred | CommonLanguages
http://hl7.org/fhir/ValueSet/languages from the FHIR Standard | ||||
Device.udiCarrier.entryType | required | UDIEntryTypehttp://hl7.org/fhir/ValueSet/udi-entry-type|4.0.1 from the FHIR Standard | ||||
Device.status | required | FHIRDeviceStatushttp://hl7.org/fhir/ValueSet/device-status|4.0.1 from the FHIR Standard | ||||
Device.statusReason | extensible | FHIRDeviceStatusReasonhttp://hl7.org/fhir/ValueSet/device-status-reason from the FHIR Standard | ||||
Device.deviceName.type | required | DeviceNameTypehttp://hl7.org/fhir/ValueSet/device-nametype|4.0.1 from the FHIR Standard | ||||
Device.type | preferred | UKCoreDeviceTypehttps://fhir.hl7.org.uk/ValueSet/UKCore-DeviceType from this IG |
Id | Grade | Path(s) | 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 | **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 Device
Other representations of profile: CSV, Excel, Schematron