Point-of-Care Device Implementation Guide
1.0.0 - STU 1

Point-of-Care Device Implementation Guide, published by HL7 International / Devices. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/uv-pocd/ and changes regularly. See the Directory of published versions

## Resource Profile: MDS Device profile

Official URL: http://hl7.org/fhir/uv/pocd/StructureDefinition/MdsDevice | Version: 1.0.0
Standards status: Trial-use | Maturity Level: 2 | Computable Name: MdsDevice

StructureDefinition for Device resources that represent a Medical Device System (MDS). This is the top-level resource in the hierarchical model of a Point-of-Care device.

## Scope and Usage

This profile sets minimum expectations for the Device resource that represents a Medical Device System (MDS). It's the top-level resource in the hierarchical model of a Point-of-Care device.

Usages:

- Refer to this Profile: Compound Numeric Observation profile, Enumeration DeviceMetric profile, Enumeration Observation profile, MDS Device profile... Show 5 more, Numeric DeviceMetric profile, Numeric Observation profile, Sample Array DeviceMetric profile, Sample Array Observation profile and VMD Device profile
- Examples for this Profile: Device/PhysioMonitorMdsDevice
- CapabilityStatements using this Profile: Server capability requirements

You can also check for usages in the FHIR IG Statistics

### 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
--- | --- | --- | --- | ---
Device | C | 0..* | Device | Item used in healthcare Constraints: pocd-dev-1
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:approvedJurisdictions | S C | 0..1 | (Complex) | Approved jurisdictions URL: http://hl7.org/fhir/uv/pocd/StructureDefinition/approved-jurisdictions Constraints: apj-1
Slices for extension |  |  |  | Content/Rules for all slices
extension:approvedJurisdiction |  | 0..* | Extension | Approved jurisdiction
url |  | 1..1 | uri | "approvedJurisdiction"
Slices for value[x] |  | 0..1 | CodeableConcept | Value of extension Slice: Unordered, Closed by type:$this
value[x]:valueCodeableConcept |  | 0..1 | CodeableConcept | Value of extension Binding: Jurisdiction ValueSet (extensible): Codes for country, country subdivision and region
extension:noApprovedJurisdictions |  | 0..1 | Extension | No approved jurisdictions
url |  | 1..1 | uri | "noApprovedJurisdictions"
Slices for value[x] |  | 0..1 | boolean | Value of extension Slice: Unordered, Closed by type:$this
value[x]:valueBoolean |  | 0..1 | boolean | Value of extension Fixed Value: true
url |  | 1..1 | uri | "http://hl7.org/fhir/uv/pocd/StructureDefinition/approved-jurisdictions"
extension:operator | S | 0..1 | Reference(Practitioner) | Operator of the device URL: http://hl7.org/fhir/uv/pocd/StructureDefinition/operator
extension:operatingHours | S | 0..1 | (Complex) | Operating hours URL: http://hl7.org/fhir/uv/pocd/StructureDefinition/operating-hours
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://hl7.org/fhir/uv/pocd/StructureDefinition/operating-hours"
Slices for value[x] |  | 1..1 | unsignedInt | Value of extension Slice: Unordered, Closed by type:$this
value[x]:valueUnsignedInt |  | 1..1 | unsignedInt | Value of extension
extension:operatingCycles | S | 0..1 | (Complex) | Operating cycles URL: http://hl7.org/fhir/uv/pocd/StructureDefinition/operating-cycles
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://hl7.org/fhir/uv/pocd/StructureDefinition/operating-cycles"
Slices for value[x] |  | 1..1 | unsignedInt | Value of extension Slice: Unordered, Closed by type:$this
value[x]:valueUnsignedInt |  | 1..1 | unsignedInt | Value of extension
extension:operatingMode | S | 0..1 | (Complex) | Operating mode URL: http://hl7.org/fhir/uv/pocd/StructureDefinition/operating-mode
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://hl7.org/fhir/uv/pocd/StructureDefinition/operating-mode"
Slices for value[x] |  | 1..1 | code | Value of extension Slice: Unordered, Closed by type:$this Binding: Operating Mode (extensible): Codes that indicate the device operating mode
value[x]:valueCode |  | 1..1 | code | Value of extension Binding: Operating Mode (extensible): Codes that indicate the device operating mode
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
Slices for identifier | S C | 0..* | Identifier | Instance identifier Slice: Unordered, Open by value:system
identifier:EUI-64 | S | 0..1 | Identifier | IEEE 64-bit Extended Unique Identifier (EUI-64)
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
system | Σ | 1..1 | uri | The namespace for the identifier value Fixed Value: urn:oid:1.2.840.10004.1.1.1.0.0.1.0.0.1.2680
value | Σ | 1..1 | string | The value that is unique Example General: 123456
udiCarrier | S Σ C | 0..* | BackboneElement | Unique Device Identifier (UDI) Barcode string
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
carrierHRF | Σ | 0..1 | string | UDI Human Readable Barcode String
status | ?!S Σ | 0..1 | code | active | inactive | entered-in-error | unknown Binding: FHIRDeviceStatus (required): The availability status of the device.
statusReason | S | 0..* | CodeableConcept | online | paused | standby | offline | not-ready | transduc-discon | hw-discon | off Binding: FHIRDeviceStatusReason (extensible): The availability status reason of the device.
manufacturer | S | 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 | S | 0..1 | string | Serial number assigned by the manufacturer
deviceName | S | 0..* | BackboneElement | The name of the device as given by the manufacturer
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 | S | 0..1 | string | The model number for the device
partNumber | S | 0..1 | string | The part number of the device
type | S | 1..1 | CodeableConcept | The kind or type of device Binding: MDC Object infrastructure and Device nomenclature (extensible)
coding | Σ | 0..* | Coding | Code defined by a terminology system
system | Σ | 0..1 | uri | Identity of the terminology system
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
version | S | 0..* | BackboneElement | The actual design of the device or software version running on the device
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type |  | 0..1 | CodeableConcept | The type of the device version
coding | Σ | 0..* | Coding | Code defined by a terminology system
system | Σ | 0..1 | uri | Identity of the terminology system
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
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
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type |  | 1..1 | CodeableConcept | Code that specifies the property DeviceDefinitionPropetyCode (Extensible)
coding | Σ | 0..* | Coding | Code defined by a terminology system
system | Σ | 0..1 | uri | Identity of the terminology system
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
valueCode |  | 0..* | CodeableConcept | Property value as a code, e.g., NTP4 (synced to NTP)
coding | Σ | 0..* | Coding | Code defined by a terminology system
system | Σ | 0..1 | uri | Identity of the terminology system
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
patient | S | 0..1 | Reference(Patient) | Patient to whom Device is affixed
location | S | 0..1 | Reference(Location) | Where the device is found
safety | S Σ | 0..* | CodeableConcept | Safety Characteristics of Device Binding: Safety Classification (extensible): Safety classification
coding | Σ | 0..* | Coding | Code defined by a terminology system
system | Σ | 0..1 | uri | Identity of the terminology system
code | Σ | 0..1 | code | Symbol in syntax defined by the system
parent | S | 0..1 | Reference(MDS Device profile) | The parent device
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Device.extension:approvedJurisdictions.​extension:approvedJurisdiction.​value[x]:valueCodeableConcept | Base | extensible | Jurisdiction | 📦4.0.1 | FHIR Std.
Device.extension:operatingMode.​value[x] | Base | extensible | Operating Mode | 📦1.0.0 | This IG
Device.extension:operatingMode.​value[x]:valueCode | Base | extensible | Operating Mode | 📦1.0.0 | This IG
Device.identifier:EUI-64.​use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
Device.status | Base | required | FHIRDeviceStatus | 📍4.0.1 | FHIR Std.
Device.statusReason | Base | extensible | FHIRDeviceStatusReason | 📍4.0.1 | FHIR Std.
Device.deviceName.type | Base | required | DeviceNameType | 📍4.0.1 | FHIR Std.
Device.type | Base | extensible | MDC Object infrastructure and Device nomenclature | 📦1.0.0 | This IG
Device.safety | Base | extensible | Safety Classification | 📦1.0.0 | This IG

#### Constraints

Id | Grade | Path(s) | Description | Expression
apj-1 | error | Device.extension:approvedJurisdictions | When noApprovedJurisdictions is present, there shall be no approvedJurisdiction extensions. | `extension('noApprovedJurisdictions').exists() implies extension('approvedJurisdiction').empty()`
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()`
pocd-dev-1 | error | Device | Must have at least identifier or udiCarrier | `identifier.exists() or udiCarrier.exists()`

This structure is derived from Device

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Device | C | 0..* | Device | Item used in healthcare Constraints: pocd-dev-1
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:approvedJurisdictions | S | 0..1 | (Complex) | Approved jurisdictions URL: http://hl7.org/fhir/uv/pocd/StructureDefinition/approved-jurisdictions
valueCodeableConcept |  | 0..0 | CodeableConcept | Value of extension
extension:operator | S | 0..1 | Reference(Practitioner) | Operator of the device URL: http://hl7.org/fhir/uv/pocd/StructureDefinition/operator
extension:operatingHours | S | 0..1 | (Complex) | Operating hours URL: http://hl7.org/fhir/uv/pocd/StructureDefinition/operating-hours
valueUnsignedInt |  | 1..1 | unsignedInt | Value of extension
extension:operatingCycles | S | 0..1 | (Complex) | Operating cycles URL: http://hl7.org/fhir/uv/pocd/StructureDefinition/operating-cycles
valueUnsignedInt |  | 1..1 | unsignedInt | Value of extension
extension:operatingMode | S | 0..1 | (Complex) | Operating mode URL: http://hl7.org/fhir/uv/pocd/StructureDefinition/operating-mode
valueCode |  | 1..1 | code | Value of extension
Slices for identifier | S C | 0..* | Identifier | Instance identifier Slice: Unordered, Open by value:system
identifier:EUI-64 | S | 0..1 | Identifier | IEEE 64-bit Extended Unique Identifier (EUI-64)
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: urn:oid:1.2.840.10004.1.1.1.0.0.1.0.0.1.2680
value |  | 1..1 | string | The value that is unique
udiCarrier | S C | 0..* | BackboneElement | Unique Device Identifier (UDI) Barcode string
deviceIdentifier |  | 0..1 | string | Mandatory fixed portion of UDI
issuer |  | 0..1 | uri | UDI Issuing Organization
jurisdiction |  | 0..1 | uri | Regional UDI authority
carrierHRF |  | 0..1 | string | UDI Human Readable Barcode String
status | S | 0..1 | code | active | inactive | entered-in-error | unknown
statusReason | S | 0..* | CodeableConcept | online | paused | standby | offline | not-ready | transduc-discon | hw-discon | off
manufacturer | S | 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 | S | 0..1 | string | Serial number assigned by the manufacturer
deviceName | S | 0..* | BackboneElement | The name of the device as given by the manufacturer
name |  | 1..1 | string | The name of the device
modelNumber | S | 0..1 | string | The model number for the device
partNumber | S | 0..1 | string | The part number of the device
type | S | 1..1 | CodeableConcept | The kind or type of device Binding: MDC Object infrastructure and Device nomenclature (extensible)
coding |  | 0..* | Coding | Code defined by a terminology system
system |  | 0..1 | uri | Identity of the terminology system
version |  | 0..1 | string | Version of the system - if relevant
code |  | 0..1 | code | Symbol in syntax defined by the system
version | S | 0..* | BackboneElement | The actual design of the device or software version running on the device
type |  | 0..1 | CodeableConcept | The type of the device version
coding |  | 0..* | Coding | Code defined by a terminology system
system |  | 0..1 | uri | Identity of the terminology system
version |  | 0..1 | string | Version of the system - if relevant
code |  | 0..1 | code | Symbol in syntax defined by the system
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
type |  | 1..1 | CodeableConcept | Code that specifies the property DeviceDefinitionPropetyCode (Extensible)
coding |  | 0..* | Coding | Code defined by a terminology system
system |  | 0..1 | uri | Identity of the terminology system
version |  | 0..1 | string | Version of the system - if relevant
code |  | 0..1 | code | Symbol in syntax defined by the system
valueCode |  | 0..* | CodeableConcept | Property value as a code, e.g., NTP4 (synced to NTP)
coding |  | 0..* | Coding | Code defined by a terminology system
system |  | 0..1 | uri | Identity of the terminology system
version |  | 0..1 | string | Version of the system - if relevant
code |  | 0..1 | code | Symbol in syntax defined by the system
patient | S | 0..1 | Reference(Patient) | Patient to whom Device is affixed
location | S | 0..1 | Reference(Location) | Where the device is found
safety | S | 0..* | CodeableConcept | Safety Characteristics of Device Binding: Safety Classification (extensible): Safety classification
coding |  | 0..* | Coding | Code defined by a terminology system
system |  | 0..1 | uri | Identity of the terminology system
code |  | 0..1 | code | Symbol in syntax defined by the system
parent | S | 0..1 | Reference(MDS Device profile) | The parent device
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Device.type | Base | extensible | MDC Object infrastructure and Device nomenclature | 📦1.0.0 | This IG
Device.safety | Base | extensible | Safety Classification | 📦1.0.0 | This IG

#### Constraints

Id | Grade | Path(s) | Description | Expression
pocd-dev-1 | error | Device | Must have at least identifier or udiCarrier | `identifier.exists() or udiCarrier.exists()`

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Device | C | 0..* | Device | Item used in healthcare Constraints: pocd-dev-1
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
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:approvedJurisdictions | S C | 0..1 | (Complex) | Approved jurisdictions URL: http://hl7.org/fhir/uv/pocd/StructureDefinition/approved-jurisdictions Constraints: apj-1
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:approvedJurisdiction |  | 0..* | Extension | Approved jurisdiction
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "approvedJurisdiction"
Slices for value[x] |  | 0..1 | CodeableConcept | Value of extension Slice: Unordered, Closed by type:$this
value[x]:valueCodeableConcept |  | 0..1 | CodeableConcept | Value of extension Binding: Jurisdiction ValueSet (extensible): Codes for country, country subdivision and region
extension:noApprovedJurisdictions |  | 0..1 | Extension | No approved jurisdictions
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "noApprovedJurisdictions"
Slices for value[x] |  | 0..1 | boolean | Value of extension Slice: Unordered, Closed by type:$this
value[x]:valueBoolean |  | 0..1 | boolean | Value of extension Fixed Value: true
url |  | 1..1 | uri | "http://hl7.org/fhir/uv/pocd/StructureDefinition/approved-jurisdictions"
extension:operator | S | 0..1 | Reference(Practitioner) | Operator of the device URL: http://hl7.org/fhir/uv/pocd/StructureDefinition/operator
extension:operatingHours | S | 0..1 | (Complex) | Operating hours URL: http://hl7.org/fhir/uv/pocd/StructureDefinition/operating-hours
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://hl7.org/fhir/uv/pocd/StructureDefinition/operating-hours"
Slices for value[x] |  | 1..1 | unsignedInt | Value of extension Slice: Unordered, Closed by type:$this
value[x]:valueUnsignedInt |  | 1..1 | unsignedInt | Value of extension
extension:operatingCycles | S | 0..1 | (Complex) | Operating cycles URL: http://hl7.org/fhir/uv/pocd/StructureDefinition/operating-cycles
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://hl7.org/fhir/uv/pocd/StructureDefinition/operating-cycles"
Slices for value[x] |  | 1..1 | unsignedInt | Value of extension Slice: Unordered, Closed by type:$this
value[x]:valueUnsignedInt |  | 1..1 | unsignedInt | Value of extension
extension:operatingMode | S | 0..1 | (Complex) | Operating mode URL: http://hl7.org/fhir/uv/pocd/StructureDefinition/operating-mode
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://hl7.org/fhir/uv/pocd/StructureDefinition/operating-mode"
Slices for value[x] |  | 1..1 | code | Value of extension Slice: Unordered, Closed by type:$this Binding: Operating Mode (extensible): Codes that indicate the device operating mode
value[x]:valueCode |  | 1..1 | code | Value of extension Binding: Operating Mode (extensible): Codes that indicate the device operating mode
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
Slices for identifier | S C | 0..* | Identifier | Instance identifier Slice: Unordered, Open by value:system
identifier:EUI-64 | S | 0..1 | Identifier | IEEE 64-bit Extended Unique Identifier (EUI-64)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
type | Σ | 0..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
system | Σ | 1..1 | uri | The namespace for the identifier value Fixed Value: urn:oid:1.2.840.10004.1.1.1.0.0.1.0.0.1.2680
value | Σ | 1..1 | string | The value that is unique Example General: 123456
period | Σ | 0..1 | Period | Time period when id is/was valid for use
assigner | Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text)
definition |  | 0..1 | Reference(DeviceDefinition) | The reference to the definition for the device
udiCarrier | S Σ C | 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 | active | inactive | entered-in-error | unknown Binding: FHIRDeviceStatus (required): The availability status of the device.
statusReason | S | 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 | S | 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 | S | 0..1 | string | Serial number assigned by the manufacturer
deviceName | S | 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 | S | 0..1 | string | The model number for the device
partNumber | S | 0..1 | string | The part number of the device
type | S | 1..1 | CodeableConcept | The kind or type of device Binding: MDC Object infrastructure and Device nomenclature (extensible)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
coding | Σ | 0..* | Coding | Code defined by a terminology system
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 0..1 | uri | Identity of the terminology system
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Plain text representation of the concept
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 | S | 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
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
coding | Σ | 0..* | Coding | Code defined by a terminology system
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 0..1 | uri | Identity of the terminology system
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Plain text representation of the concept
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)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
coding | Σ | 0..* | Coding | Code defined by a terminology system
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 0..1 | uri | Identity of the terminology system
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Plain text representation of the concept
valueQuantity |  | 0..* | Quantity | Property value as a quantity
valueCode |  | 0..* | CodeableConcept | Property value as a code, e.g., NTP4 (synced to NTP)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
coding | Σ | 0..* | Coding | Code defined by a terminology system
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 0..1 | uri | Identity of the terminology system
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Plain text representation of the concept
patient | S | 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 | S | 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 | S Σ | 0..* | CodeableConcept | Safety Characteristics of Device Binding: Safety Classification (extensible): Safety classification
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
coding | Σ | 0..* | Coding | Code defined by a terminology system
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 0..1 | uri | Identity of the terminology system
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Plain text representation of the concept
parent | S | 0..1 | Reference(MDS Device profile) | The parent device
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Device.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
Device.extension:approvedJurisdictions.​extension:approvedJurisdiction.​value[x]:valueCodeableConcept | Base | extensible | Jurisdiction | 📦4.0.1 | FHIR Std.
Device.extension:operatingMode.​value[x] | Base | extensible | Operating Mode | 📦1.0.0 | This IG
Device.extension:operatingMode.​value[x]:valueCode | Base | extensible | Operating Mode | 📦1.0.0 | This IG
Device.identifier:EUI-64.​use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
Device.identifier:EUI-64.​type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std.
Device.udiCarrier.entryType | Base | required | UDIEntryType | 📍4.0.1 | FHIR Std.
Device.status | Base | required | FHIRDeviceStatus | 📍4.0.1 | FHIR Std.
Device.statusReason | Base | extensible | FHIRDeviceStatusReason | 📍4.0.1 | FHIR Std.
Device.deviceName.type | Base | required | DeviceNameType | 📍4.0.1 | FHIR Std.
Device.type | Base | extensible | MDC Object infrastructure and Device nomenclature | 📦1.0.0 | This IG
Device.safety | Base | extensible | Safety Classification | 📦1.0.0 | This IG

#### Constraints

Id | Grade | Path(s) | Description | Expression
apj-1 | error | Device.extension:approvedJurisdictions | When noApprovedJurisdictions is present, there shall be no approvedJurisdiction extensions. | `extension('noApprovedJurisdictions').exists() implies extension('approvedJurisdiction').empty()`
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()`
pocd-dev-1 | error | Device | Must have at least identifier or udiCarrier | `identifier.exists() or udiCarrier.exists()`

This structure is derived from Device

The profile defines the following rules:

- `Device.identifier` or `Device.udiCarrier` (or both) shall be present.
- `Device.identifier` may include an EUI-64 with either base-16 or hex encoding (octets separated by hyphens). See IEEE Guidelines for Use of EUI, OUI, and CID for details.
- `Device.type` shall be present and have a coding from the ISO/IEEE 11073 MDC Device nomenclature if there is an appropriate code available.
- `Device.parent` is optional and may refer to another MDS Device resource as a composite MDS.
- Extensions allow approved jurisdictions, device operator, operating hours, operating cycles, and operating mode to be added.

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Device | C | 0..* | Device | Item used in healthcare Constraints: pocd-dev-1
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:approvedJurisdictions | S C | 0..1 | (Complex) | Approved jurisdictions URL: http://hl7.org/fhir/uv/pocd/StructureDefinition/approved-jurisdictions Constraints: apj-1
Slices for extension |  |  |  | Content/Rules for all slices
extension:approvedJurisdiction |  | 0..* | Extension | Approved jurisdiction
url |  | 1..1 | uri | "approvedJurisdiction"
Slices for value[x] |  | 0..1 | CodeableConcept | Value of extension Slice: Unordered, Closed by type:$this
value[x]:valueCodeableConcept |  | 0..1 | CodeableConcept | Value of extension Binding: Jurisdiction ValueSet (extensible): Codes for country, country subdivision and region
extension:noApprovedJurisdictions |  | 0..1 | Extension | No approved jurisdictions
url |  | 1..1 | uri | "noApprovedJurisdictions"
Slices for value[x] |  | 0..1 | boolean | Value of extension Slice: Unordered, Closed by type:$this
value[x]:valueBoolean |  | 0..1 | boolean | Value of extension Fixed Value: true
url |  | 1..1 | uri | "http://hl7.org/fhir/uv/pocd/StructureDefinition/approved-jurisdictions"
extension:operator | S | 0..1 | Reference(Practitioner) | Operator of the device URL: http://hl7.org/fhir/uv/pocd/StructureDefinition/operator
extension:operatingHours | S | 0..1 | (Complex) | Operating hours URL: http://hl7.org/fhir/uv/pocd/StructureDefinition/operating-hours
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://hl7.org/fhir/uv/pocd/StructureDefinition/operating-hours"
Slices for value[x] |  | 1..1 | unsignedInt | Value of extension Slice: Unordered, Closed by type:$this
value[x]:valueUnsignedInt |  | 1..1 | unsignedInt | Value of extension
extension:operatingCycles | S | 0..1 | (Complex) | Operating cycles URL: http://hl7.org/fhir/uv/pocd/StructureDefinition/operating-cycles
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://hl7.org/fhir/uv/pocd/StructureDefinition/operating-cycles"
Slices for value[x] |  | 1..1 | unsignedInt | Value of extension Slice: Unordered, Closed by type:$this
value[x]:valueUnsignedInt |  | 1..1 | unsignedInt | Value of extension
extension:operatingMode | S | 0..1 | (Complex) | Operating mode URL: http://hl7.org/fhir/uv/pocd/StructureDefinition/operating-mode
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://hl7.org/fhir/uv/pocd/StructureDefinition/operating-mode"
Slices for value[x] |  | 1..1 | code | Value of extension Slice: Unordered, Closed by type:$this Binding: Operating Mode (extensible): Codes that indicate the device operating mode
value[x]:valueCode |  | 1..1 | code | Value of extension Binding: Operating Mode (extensible): Codes that indicate the device operating mode
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
Slices for identifier | S C | 0..* | Identifier | Instance identifier Slice: Unordered, Open by value:system
identifier:EUI-64 | S | 0..1 | Identifier | IEEE 64-bit Extended Unique Identifier (EUI-64)
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
system | Σ | 1..1 | uri | The namespace for the identifier value Fixed Value: urn:oid:1.2.840.10004.1.1.1.0.0.1.0.0.1.2680
value | Σ | 1..1 | string | The value that is unique Example General: 123456
udiCarrier | S Σ C | 0..* | BackboneElement | Unique Device Identifier (UDI) Barcode string
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
carrierHRF | Σ | 0..1 | string | UDI Human Readable Barcode String
status | ?!S Σ | 0..1 | code | active | inactive | entered-in-error | unknown Binding: FHIRDeviceStatus (required): The availability status of the device.
statusReason | S | 0..* | CodeableConcept | online | paused | standby | offline | not-ready | transduc-discon | hw-discon | off Binding: FHIRDeviceStatusReason (extensible): The availability status reason of the device.
manufacturer | S | 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 | S | 0..1 | string | Serial number assigned by the manufacturer
deviceName | S | 0..* | BackboneElement | The name of the device as given by the manufacturer
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 | S | 0..1 | string | The model number for the device
partNumber | S | 0..1 | string | The part number of the device
type | S | 1..1 | CodeableConcept | The kind or type of device Binding: MDC Object infrastructure and Device nomenclature (extensible)
coding | Σ | 0..* | Coding | Code defined by a terminology system
system | Σ | 0..1 | uri | Identity of the terminology system
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
version | S | 0..* | BackboneElement | The actual design of the device or software version running on the device
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type |  | 0..1 | CodeableConcept | The type of the device version
coding | Σ | 0..* | Coding | Code defined by a terminology system
system | Σ | 0..1 | uri | Identity of the terminology system
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
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
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type |  | 1..1 | CodeableConcept | Code that specifies the property DeviceDefinitionPropetyCode (Extensible)
coding | Σ | 0..* | Coding | Code defined by a terminology system
system | Σ | 0..1 | uri | Identity of the terminology system
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
valueCode |  | 0..* | CodeableConcept | Property value as a code, e.g., NTP4 (synced to NTP)
coding | Σ | 0..* | Coding | Code defined by a terminology system
system | Σ | 0..1 | uri | Identity of the terminology system
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
patient | S | 0..1 | Reference(Patient) | Patient to whom Device is affixed
location | S | 0..1 | Reference(Location) | Where the device is found
safety | S Σ | 0..* | CodeableConcept | Safety Characteristics of Device Binding: Safety Classification (extensible): Safety classification
coding | Σ | 0..* | Coding | Code defined by a terminology system
system | Σ | 0..1 | uri | Identity of the terminology system
code | Σ | 0..1 | code | Symbol in syntax defined by the system
parent | S | 0..1 | Reference(MDS Device profile) | The parent device
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Device.extension:approvedJurisdictions.​extension:approvedJurisdiction.​value[x]:valueCodeableConcept | Base | extensible | Jurisdiction | 📦4.0.1 | FHIR Std.
Device.extension:operatingMode.​value[x] | Base | extensible | Operating Mode | 📦1.0.0 | This IG
Device.extension:operatingMode.​value[x]:valueCode | Base | extensible | Operating Mode | 📦1.0.0 | This IG
Device.identifier:EUI-64.​use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
Device.status | Base | required | FHIRDeviceStatus | 📍4.0.1 | FHIR Std.
Device.statusReason | Base | extensible | FHIRDeviceStatusReason | 📍4.0.1 | FHIR Std.
Device.deviceName.type | Base | required | DeviceNameType | 📍4.0.1 | FHIR Std.
Device.type | Base | extensible | MDC Object infrastructure and Device nomenclature | 📦1.0.0 | This IG
Device.safety | Base | extensible | Safety Classification | 📦1.0.0 | This IG

#### Constraints

Id | Grade | Path(s) | Description | Expression
apj-1 | error | Device.extension:approvedJurisdictions | When noApprovedJurisdictions is present, there shall be no approvedJurisdiction extensions. | `extension('noApprovedJurisdictions').exists() implies extension('approvedJurisdiction').empty()`
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()`
pocd-dev-1 | error | Device | Must have at least identifier or udiCarrier | `identifier.exists() or udiCarrier.exists()`

Differential View

This structure is derived from Device

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Device | C | 0..* | Device | Item used in healthcare Constraints: pocd-dev-1
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:approvedJurisdictions | S | 0..1 | (Complex) | Approved jurisdictions URL: http://hl7.org/fhir/uv/pocd/StructureDefinition/approved-jurisdictions
valueCodeableConcept |  | 0..0 | CodeableConcept | Value of extension
extension:operator | S | 0..1 | Reference(Practitioner) | Operator of the device URL: http://hl7.org/fhir/uv/pocd/StructureDefinition/operator
extension:operatingHours | S | 0..1 | (Complex) | Operating hours URL: http://hl7.org/fhir/uv/pocd/StructureDefinition/operating-hours
valueUnsignedInt |  | 1..1 | unsignedInt | Value of extension
extension:operatingCycles | S | 0..1 | (Complex) | Operating cycles URL: http://hl7.org/fhir/uv/pocd/StructureDefinition/operating-cycles
valueUnsignedInt |  | 1..1 | unsignedInt | Value of extension
extension:operatingMode | S | 0..1 | (Complex) | Operating mode URL: http://hl7.org/fhir/uv/pocd/StructureDefinition/operating-mode
valueCode |  | 1..1 | code | Value of extension
Slices for identifier | S C | 0..* | Identifier | Instance identifier Slice: Unordered, Open by value:system
identifier:EUI-64 | S | 0..1 | Identifier | IEEE 64-bit Extended Unique Identifier (EUI-64)
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: urn:oid:1.2.840.10004.1.1.1.0.0.1.0.0.1.2680
value |  | 1..1 | string | The value that is unique
udiCarrier | S C | 0..* | BackboneElement | Unique Device Identifier (UDI) Barcode string
deviceIdentifier |  | 0..1 | string | Mandatory fixed portion of UDI
issuer |  | 0..1 | uri | UDI Issuing Organization
jurisdiction |  | 0..1 | uri | Regional UDI authority
carrierHRF |  | 0..1 | string | UDI Human Readable Barcode String
status | S | 0..1 | code | active | inactive | entered-in-error | unknown
statusReason | S | 0..* | CodeableConcept | online | paused | standby | offline | not-ready | transduc-discon | hw-discon | off
manufacturer | S | 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 | S | 0..1 | string | Serial number assigned by the manufacturer
deviceName | S | 0..* | BackboneElement | The name of the device as given by the manufacturer
name |  | 1..1 | string | The name of the device
modelNumber | S | 0..1 | string | The model number for the device
partNumber | S | 0..1 | string | The part number of the device
type | S | 1..1 | CodeableConcept | The kind or type of device Binding: MDC Object infrastructure and Device nomenclature (extensible)
coding |  | 0..* | Coding | Code defined by a terminology system
system |  | 0..1 | uri | Identity of the terminology system
version |  | 0..1 | string | Version of the system - if relevant
code |  | 0..1 | code | Symbol in syntax defined by the system
version | S | 0..* | BackboneElement | The actual design of the device or software version running on the device
type |  | 0..1 | CodeableConcept | The type of the device version
coding |  | 0..* | Coding | Code defined by a terminology system
system |  | 0..1 | uri | Identity of the terminology system
version |  | 0..1 | string | Version of the system - if relevant
code |  | 0..1 | code | Symbol in syntax defined by the system
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
type |  | 1..1 | CodeableConcept | Code that specifies the property DeviceDefinitionPropetyCode (Extensible)
coding |  | 0..* | Coding | Code defined by a terminology system
system |  | 0..1 | uri | Identity of the terminology system
version |  | 0..1 | string | Version of the system - if relevant
code |  | 0..1 | code | Symbol in syntax defined by the system
valueCode |  | 0..* | CodeableConcept | Property value as a code, e.g., NTP4 (synced to NTP)
coding |  | 0..* | Coding | Code defined by a terminology system
system |  | 0..1 | uri | Identity of the terminology system
version |  | 0..1 | string | Version of the system - if relevant
code |  | 0..1 | code | Symbol in syntax defined by the system
patient | S | 0..1 | Reference(Patient) | Patient to whom Device is affixed
location | S | 0..1 | Reference(Location) | Where the device is found
safety | S | 0..* | CodeableConcept | Safety Characteristics of Device Binding: Safety Classification (extensible): Safety classification
coding |  | 0..* | Coding | Code defined by a terminology system
system |  | 0..1 | uri | Identity of the terminology system
code |  | 0..1 | code | Symbol in syntax defined by the system
parent | S | 0..1 | Reference(MDS Device profile) | The parent device
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Device.type | Base | extensible | MDC Object infrastructure and Device nomenclature | 📦1.0.0 | This IG
Device.safety | Base | extensible | Safety Classification | 📦1.0.0 | This IG

#### Constraints

Id | Grade | Path(s) | Description | Expression
pocd-dev-1 | error | Device | Must have at least identifier or udiCarrier | `identifier.exists() or udiCarrier.exists()`

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Device | C | 0..* | Device | Item used in healthcare Constraints: pocd-dev-1
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
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:approvedJurisdictions | S C | 0..1 | (Complex) | Approved jurisdictions URL: http://hl7.org/fhir/uv/pocd/StructureDefinition/approved-jurisdictions Constraints: apj-1
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:approvedJurisdiction |  | 0..* | Extension | Approved jurisdiction
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "approvedJurisdiction"
Slices for value[x] |  | 0..1 | CodeableConcept | Value of extension Slice: Unordered, Closed by type:$this
value[x]:valueCodeableConcept |  | 0..1 | CodeableConcept | Value of extension Binding: Jurisdiction ValueSet (extensible): Codes for country, country subdivision and region
extension:noApprovedJurisdictions |  | 0..1 | Extension | No approved jurisdictions
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "noApprovedJurisdictions"
Slices for value[x] |  | 0..1 | boolean | Value of extension Slice: Unordered, Closed by type:$this
value[x]:valueBoolean |  | 0..1 | boolean | Value of extension Fixed Value: true
url |  | 1..1 | uri | "http://hl7.org/fhir/uv/pocd/StructureDefinition/approved-jurisdictions"
extension:operator | S | 0..1 | Reference(Practitioner) | Operator of the device URL: http://hl7.org/fhir/uv/pocd/StructureDefinition/operator
extension:operatingHours | S | 0..1 | (Complex) | Operating hours URL: http://hl7.org/fhir/uv/pocd/StructureDefinition/operating-hours
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://hl7.org/fhir/uv/pocd/StructureDefinition/operating-hours"
Slices for value[x] |  | 1..1 | unsignedInt | Value of extension Slice: Unordered, Closed by type:$this
value[x]:valueUnsignedInt |  | 1..1 | unsignedInt | Value of extension
extension:operatingCycles | S | 0..1 | (Complex) | Operating cycles URL: http://hl7.org/fhir/uv/pocd/StructureDefinition/operating-cycles
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://hl7.org/fhir/uv/pocd/StructureDefinition/operating-cycles"
Slices for value[x] |  | 1..1 | unsignedInt | Value of extension Slice: Unordered, Closed by type:$this
value[x]:valueUnsignedInt |  | 1..1 | unsignedInt | Value of extension
extension:operatingMode | S | 0..1 | (Complex) | Operating mode URL: http://hl7.org/fhir/uv/pocd/StructureDefinition/operating-mode
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://hl7.org/fhir/uv/pocd/StructureDefinition/operating-mode"
Slices for value[x] |  | 1..1 | code | Value of extension Slice: Unordered, Closed by type:$this Binding: Operating Mode (extensible): Codes that indicate the device operating mode
value[x]:valueCode |  | 1..1 | code | Value of extension Binding: Operating Mode (extensible): Codes that indicate the device operating mode
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
Slices for identifier | S C | 0..* | Identifier | Instance identifier Slice: Unordered, Open by value:system
identifier:EUI-64 | S | 0..1 | Identifier | IEEE 64-bit Extended Unique Identifier (EUI-64)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
type | Σ | 0..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
system | Σ | 1..1 | uri | The namespace for the identifier value Fixed Value: urn:oid:1.2.840.10004.1.1.1.0.0.1.0.0.1.2680
value | Σ | 1..1 | string | The value that is unique Example General: 123456
period | Σ | 0..1 | Period | Time period when id is/was valid for use
assigner | Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text)
definition |  | 0..1 | Reference(DeviceDefinition) | The reference to the definition for the device
udiCarrier | S Σ C | 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 | active | inactive | entered-in-error | unknown Binding: FHIRDeviceStatus (required): The availability status of the device.
statusReason | S | 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 | S | 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 | S | 0..1 | string | Serial number assigned by the manufacturer
deviceName | S | 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 | S | 0..1 | string | The model number for the device
partNumber | S | 0..1 | string | The part number of the device
type | S | 1..1 | CodeableConcept | The kind or type of device Binding: MDC Object infrastructure and Device nomenclature (extensible)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
coding | Σ | 0..* | Coding | Code defined by a terminology system
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 0..1 | uri | Identity of the terminology system
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Plain text representation of the concept
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 | S | 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
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
coding | Σ | 0..* | Coding | Code defined by a terminology system
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 0..1 | uri | Identity of the terminology system
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Plain text representation of the concept
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)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
coding | Σ | 0..* | Coding | Code defined by a terminology system
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 0..1 | uri | Identity of the terminology system
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Plain text representation of the concept
valueQuantity |  | 0..* | Quantity | Property value as a quantity
valueCode |  | 0..* | CodeableConcept | Property value as a code, e.g., NTP4 (synced to NTP)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
coding | Σ | 0..* | Coding | Code defined by a terminology system
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 0..1 | uri | Identity of the terminology system
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Plain text representation of the concept
patient | S | 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 | S | 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 | S Σ | 0..* | CodeableConcept | Safety Characteristics of Device Binding: Safety Classification (extensible): Safety classification
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
coding | Σ | 0..* | Coding | Code defined by a terminology system
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 0..1 | uri | Identity of the terminology system
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Plain text representation of the concept
parent | S | 0..1 | Reference(MDS Device profile) | The parent device
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Device.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
Device.extension:approvedJurisdictions.​extension:approvedJurisdiction.​value[x]:valueCodeableConcept | Base | extensible | Jurisdiction | 📦4.0.1 | FHIR Std.
Device.extension:operatingMode.​value[x] | Base | extensible | Operating Mode | 📦1.0.0 | This IG
Device.extension:operatingMode.​value[x]:valueCode | Base | extensible | Operating Mode | 📦1.0.0 | This IG
Device.identifier:EUI-64.​use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
Device.identifier:EUI-64.​type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std.
Device.udiCarrier.entryType | Base | required | UDIEntryType | 📍4.0.1 | FHIR Std.
Device.status | Base | required | FHIRDeviceStatus | 📍4.0.1 | FHIR Std.
Device.statusReason | Base | extensible | FHIRDeviceStatusReason | 📍4.0.1 | FHIR Std.
Device.deviceName.type | Base | required | DeviceNameType | 📍4.0.1 | FHIR Std.
Device.type | Base | extensible | MDC Object infrastructure and Device nomenclature | 📦1.0.0 | This IG
Device.safety | Base | extensible | Safety Classification | 📦1.0.0 | This IG

#### Constraints

Id | Grade | Path(s) | Description | Expression
apj-1 | error | Device.extension:approvedJurisdictions | When noApprovedJurisdictions is present, there shall be no approvedJurisdiction extensions. | `extension('noApprovedJurisdictions').exists() implies extension('approvedJurisdiction').empty()`
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()`
pocd-dev-1 | error | Device | Must have at least identifier or udiCarrier | `identifier.exists() or udiCarrier.exists()`

This structure is derived from Device

The profile defines the following rules:

- `Device.identifier` or `Device.udiCarrier` (or both) shall be present.
- `Device.identifier` may include an EUI-64 with either base-16 or hex encoding (octets separated by hyphens). See IEEE Guidelines for Use of EUI, OUI, and CID for details.
- `Device.type` shall be present and have a coding from the ISO/IEEE 11073 MDC Device nomenclature if there is an appropriate code available.
- `Device.parent` is optional and may refer to another MDS Device resource as a composite MDS.
- Extensions allow approved jurisdictions, device operator, operating hours, operating cycles, and operating mode to be added.

Other representations of profile: CSV, Excel, Schematron