Canadian Baseline
1.2.0 - CI Build

Canadian Baseline, published by HL7 Canada - FHIR Implementation Work Group. This guide is not an authorized publication; it is the continuous build for version 1.2.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7-Canada/ca-baseline/ and changes regularly. See the Directory of published versions

## Resource Profile: Device Profile (Medical and Non-medical)

Official URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-device-medical | Version: 1.2.0
Draft as of 2024-08-09 | Computable Name: DeviceProfileMedical

Proposed constraints on the Device resource for the minimal set of data to query and retrieve a medical or non-medical device.

# CA Baseline Device (Medical and Non-medical) Profile

This profile sets minimum expectations for the Device resource to record and search for medical and non-medical devices, wearable devices personal health devices, virtual devices such as computer programs and systems, etc., except patient's implantable device(s). It identifies which core elements SHALL be present in the resource when using this profile.

This profile defines core localization concepts for use in the Canadian context.

## Mandatory Data Elements

All elements or attributes within the FHIR specification have cardinality as part of their definition - a minimum number of required appearances and a maximum number of allowable appearances.

Most elements in the FHIR specification have a minimum cardinality of 0, so most elements are not required and subsequently they may be missing from a resource when it is exchanged between systems.

Required elements in the Device (Implantable) profile:

- The type of the device (Device.type)

## Must Support Data Elements

Some elements are marked as Must Support. This means that implementations generating, receiving, or otherwise using resources with Must Support elements SHALL provide support for those elements in some meaningful way (see Must Support definition).

The following elements are marked as Must Support in the Device (Medical and Non-medical) profile:

Must Support elements:

- Device resource identifier
- Unique Device Identifier (UDI) Barcode string
- distinct identification string
- device manufacturer
- date/time when the device was made
- expiration date/time of the device
- serial number assigned by the manufacturer
- name of the device
- type of the device
- version of the device
- patient

## Usage Note

The following are example usage scenarios for the Medical and Non-medical Device profile:

- To record and query information about Personal Health Devices (PHDs) to be used in remote patient monitoring programs.
- To record and query information about the Virtual Medical Device installed as software on the computer system.

Usages:

- Refer to this Profile: Device Profile (Medical and Non-medical)

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 |  | 0..* | Device | Device Profile
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
Slices for identifier | S | 0..* | Identifier | Instance identifier Slice: Unordered, Open by value:system
identifier:All Slices |  |  |  | Content/Rules for all slices
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
type | S Σ | 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 | S Σ | 0..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient
value | S Σ | 0..1 | string | The value that is unique within the system. Example General: 123456
identifier:EUI-64 |  | 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 .
type | S Σ | 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 | S Σ | 1..1 | uri | EUI-64 system identifier Fixed Value: urn:oid:1.2.840.10004.1.1.1.0.0.1.0.0.1.2680
value | S Σ | 1..1 | string | The value that is unique within the system. Example General: 123456
identifier:EUI-48 |  | 0..1 | Identifier | MAC Transport address identifier (EUI-48)
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
type | S Σ | 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 | S Σ | 1..1 | uri | EUI-48 system identifier Fixed Value: http://terminology.hl7.org/fhir/sid/eui-48
value | S Σ | 1..1 | string | The value that is unique within the system. Example General: 123456
udiCarrier | S Σ | 0..* | BackboneElement | Unique Device Identifier (UDI) Barcode string
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
deviceIdentifier | S Σ | 0..1 | string | Mandatory fixed portion of UDI
carrierAIDC | S Σ | 0..1 | base64Binary | UDI Machine Readable Barcode String
carrierHRF | S Σ | 0..1 | string | UDI Human Readable Barcode String
status | ?!Σ | 0..1 | code | active | inactive | entered-in-error | unknown Binding: FHIRDeviceStatus (required): The availability status of the device.
distinctIdentifier | S | 0..1 | string | The distinct identification string
manufacturer | S | 0..1 | string | Name of device manufacturer
manufactureDate | S | 0..1 | dateTime | Date when the device was made
expirationDate | S | 0..1 | dateTime | Date and time of expiry of this device (if applicable)
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.
type | S | 1..1 | CodeableConcept | The kind or type of device Binding: FHIRDeviceTypes (extensible): Codes to identify medical devices
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
value |  | 1..1 | string | The version text
patient | S | 0..1 | Reference(Patient Profile) | Patient to whom Device is affixed
parent |  | 0..1 | Reference(Device Profile (Medical and Non-medical)) | The parent device
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Device.identifier.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
Device.identifier.type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std.
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.identifier:EUI-48.​use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
Device.identifier:EUI-48.​type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std.
Device.status | Base | required | FHIRDeviceStatus | 📍4.0.1 | FHIR Std.
Device.deviceName.type | Base | required | DeviceNameType | 📍4.0.1 | FHIR Std.
Device.type | Base | extensible | FHIR Device Types | 📦4.0.1 | FHIR Std.

#### Constraints

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

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Device |  | 0..* | Device | Device Profile
Slices for identifier | S | 0..* | Identifier | Instance identifier Slice: Unordered, Open by value:system
identifier:All Slices |  |  |  | Content/Rules for all slices
type | S | 0..1 | CodeableConcept | Description of identifier
system | S | 0..1 | uri | The namespace for the identifier value
value | S | 0..1 | string | The value that is unique within the system.
identifier:EUI-64 |  | 0..1 | Identifier | IEEE 64-bit Extended Unique Identifier (EUI-64)
system |  | 1..1 | uri | EUI-64 system identifier 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 within the system.
identifier:EUI-48 |  | 0..1 | Identifier | MAC Transport address identifier (EUI-48)
system |  | 1..1 | uri | EUI-48 system identifier Fixed Value: http://terminology.hl7.org/fhir/sid/eui-48
value |  | 1..1 | string | The value that is unique within the system.
udiCarrier | S | 0..* | BackboneElement | Unique Device Identifier (UDI) Barcode string
deviceIdentifier | S | 0..1 | string | Mandatory fixed portion of UDI
carrierAIDC | S | 0..1 | base64Binary | UDI Machine Readable Barcode String
carrierHRF | S | 0..1 | string | UDI Human Readable Barcode String
distinctIdentifier | S | 0..1 | string | The distinct identification string
manufacturer | S | 0..1 | string | Name of device manufacturer
manufactureDate | S | 0..1 | dateTime | Date when the device was made
expirationDate | S | 0..1 | dateTime | Date and time of expiry of this device (if applicable)
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
type | S | 1..1 | CodeableConcept | The kind or type of device Binding: FHIRDeviceTypes (extensible): Codes to identify medical devices
version | S | 0..* | BackboneElement | The actual design of the device or software version running on the device
patient | S | 0..1 | Reference(Patient Profile) | Patient to whom Device is affixed
parent |  | 0..1 | Reference(Device Profile (Medical and Non-medical)) | The parent device
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Device.type | Base | extensible | FHIR Device Types | 📦4.0.1 | FHIR Std.

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Device |  | 0..* | Device | Device Profile
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
Slices for identifier | S | 0..* | Identifier | Instance identifier Slice: Unordered, Open by value:system
identifier:All Slices |  |  |  | Content/Rules for all slices
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 | S Σ | 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 | S Σ | 0..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient
value | S Σ | 0..1 | string | The value that is unique within the system. 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)
identifier:EUI-64 |  | 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 | S Σ | 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 | S Σ | 1..1 | uri | EUI-64 system identifier Fixed Value: urn:oid:1.2.840.10004.1.1.1.0.0.1.0.0.1.2680
value | S Σ | 1..1 | string | The value that is unique within the system. 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)
identifier:EUI-48 |  | 0..1 | Identifier | MAC Transport address identifier (EUI-48)
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 | S Σ | 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 | S Σ | 1..1 | uri | EUI-48 system identifier Fixed Value: http://terminology.hl7.org/fhir/sid/eui-48
value | S Σ | 1..1 | string | The value that is unique within the system. 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 Σ | 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 | S Σ | 0..1 | string | Mandatory fixed portion of UDI
issuer |  | 0..1 | uri | UDI Issuing Organization
jurisdiction |  | 0..1 | uri | Regional UDI authority
carrierAIDC | S Σ | 0..1 | base64Binary | UDI Machine Readable Barcode String
carrierHRF | S Σ | 0..1 | string | UDI Human Readable Barcode String
entryType |  | 0..1 | code | barcode | rfid | manual + Binding: UDIEntryType (required): Codes to identify how UDI data was entered.
status | ?!Σ | 0..1 | code | active | inactive | entered-in-error | unknown Binding: FHIRDeviceStatus (required): The availability status of the device.
statusReason |  | 0..* | CodeableConcept | online | paused | standby | offline | not-ready | transduc-discon | hw-discon | off Binding: FHIRDeviceStatusReason (extensible): The availability status reason of the device.
distinctIdentifier | S | 0..1 | string | The distinct identification string
manufacturer | S | 0..1 | string | Name of device manufacturer
manufactureDate | S | 0..1 | dateTime | Date when the device was made
expirationDate | S | 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 |  | 0..1 | string | The model number for the device
partNumber |  | 0..1 | string | The part number of the device
type | S | 1..1 | CodeableConcept | The kind or type of device Binding: FHIRDeviceTypes (extensible): Codes to identify medical devices
specialization |  | 0..* | BackboneElement | The capabilities supported on a device, the standards to which the device conforms for a particular purpose, and used for the communication
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
systemType |  | 1..1 | CodeableConcept | The standard that is used to operate and communicate
version |  | 0..1 | string | The version of the standard that is used to operate and communicate
version | 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
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 | S | 0..1 | Reference(Patient Profile) | 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 Profile (Medical and Non-medical)) | 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.identifier.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
Device.identifier.type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std.
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.identifier:EUI-48.​use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
Device.identifier:EUI-48.​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 | FHIR Device Types | 📦4.0.1 | FHIR Std.

#### Constraints

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

Summary

Mandatory: 1 element(4 nested mandatory elements)
Must-Support: 17 elements
Fixed: 2 elements

Structures

This structure refers to these other structures:

- Patient Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-patient)
- Device Profile (Medical and Non-medical) (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-device-medical)

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of Device.identifier

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Device |  | 0..* | Device | Device Profile
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
Slices for identifier | S | 0..* | Identifier | Instance identifier Slice: Unordered, Open by value:system
identifier:All Slices |  |  |  | Content/Rules for all slices
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
type | S Σ | 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 | S Σ | 0..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient
value | S Σ | 0..1 | string | The value that is unique within the system. Example General: 123456
identifier:EUI-64 |  | 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 .
type | S Σ | 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 | S Σ | 1..1 | uri | EUI-64 system identifier Fixed Value: urn:oid:1.2.840.10004.1.1.1.0.0.1.0.0.1.2680
value | S Σ | 1..1 | string | The value that is unique within the system. Example General: 123456
identifier:EUI-48 |  | 0..1 | Identifier | MAC Transport address identifier (EUI-48)
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
type | S Σ | 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 | S Σ | 1..1 | uri | EUI-48 system identifier Fixed Value: http://terminology.hl7.org/fhir/sid/eui-48
value | S Σ | 1..1 | string | The value that is unique within the system. Example General: 123456
udiCarrier | S Σ | 0..* | BackboneElement | Unique Device Identifier (UDI) Barcode string
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
deviceIdentifier | S Σ | 0..1 | string | Mandatory fixed portion of UDI
carrierAIDC | S Σ | 0..1 | base64Binary | UDI Machine Readable Barcode String
carrierHRF | S Σ | 0..1 | string | UDI Human Readable Barcode String
status | ?!Σ | 0..1 | code | active | inactive | entered-in-error | unknown Binding: FHIRDeviceStatus (required): The availability status of the device.
distinctIdentifier | S | 0..1 | string | The distinct identification string
manufacturer | S | 0..1 | string | Name of device manufacturer
manufactureDate | S | 0..1 | dateTime | Date when the device was made
expirationDate | S | 0..1 | dateTime | Date and time of expiry of this device (if applicable)
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.
type | S | 1..1 | CodeableConcept | The kind or type of device Binding: FHIRDeviceTypes (extensible): Codes to identify medical devices
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
value |  | 1..1 | string | The version text
patient | S | 0..1 | Reference(Patient Profile) | Patient to whom Device is affixed
parent |  | 0..1 | Reference(Device Profile (Medical and Non-medical)) | The parent device
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Device.identifier.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
Device.identifier.type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std.
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.identifier:EUI-48.​use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
Device.identifier:EUI-48.​type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std.
Device.status | Base | required | FHIRDeviceStatus | 📍4.0.1 | FHIR Std.
Device.deviceName.type | Base | required | DeviceNameType | 📍4.0.1 | FHIR Std.
Device.type | Base | extensible | FHIR Device Types | 📦4.0.1 | FHIR Std.

#### Constraints

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

Differential View

This structure is derived from Device

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Device |  | 0..* | Device | Device Profile
Slices for identifier | S | 0..* | Identifier | Instance identifier Slice: Unordered, Open by value:system
identifier:All Slices |  |  |  | Content/Rules for all slices
type | S | 0..1 | CodeableConcept | Description of identifier
system | S | 0..1 | uri | The namespace for the identifier value
value | S | 0..1 | string | The value that is unique within the system.
identifier:EUI-64 |  | 0..1 | Identifier | IEEE 64-bit Extended Unique Identifier (EUI-64)
system |  | 1..1 | uri | EUI-64 system identifier 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 within the system.
identifier:EUI-48 |  | 0..1 | Identifier | MAC Transport address identifier (EUI-48)
system |  | 1..1 | uri | EUI-48 system identifier Fixed Value: http://terminology.hl7.org/fhir/sid/eui-48
value |  | 1..1 | string | The value that is unique within the system.
udiCarrier | S | 0..* | BackboneElement | Unique Device Identifier (UDI) Barcode string
deviceIdentifier | S | 0..1 | string | Mandatory fixed portion of UDI
carrierAIDC | S | 0..1 | base64Binary | UDI Machine Readable Barcode String
carrierHRF | S | 0..1 | string | UDI Human Readable Barcode String
distinctIdentifier | S | 0..1 | string | The distinct identification string
manufacturer | S | 0..1 | string | Name of device manufacturer
manufactureDate | S | 0..1 | dateTime | Date when the device was made
expirationDate | S | 0..1 | dateTime | Date and time of expiry of this device (if applicable)
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
type | S | 1..1 | CodeableConcept | The kind or type of device Binding: FHIRDeviceTypes (extensible): Codes to identify medical devices
version | S | 0..* | BackboneElement | The actual design of the device or software version running on the device
patient | S | 0..1 | Reference(Patient Profile) | Patient to whom Device is affixed
parent |  | 0..1 | Reference(Device Profile (Medical and Non-medical)) | The parent device
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Device.type | Base | extensible | FHIR Device Types | 📦4.0.1 | FHIR Std.

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Device |  | 0..* | Device | Device Profile
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
Slices for identifier | S | 0..* | Identifier | Instance identifier Slice: Unordered, Open by value:system
identifier:All Slices |  |  |  | Content/Rules for all slices
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 | S Σ | 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 | S Σ | 0..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient
value | S Σ | 0..1 | string | The value that is unique within the system. 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)
identifier:EUI-64 |  | 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 | S Σ | 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 | S Σ | 1..1 | uri | EUI-64 system identifier Fixed Value: urn:oid:1.2.840.10004.1.1.1.0.0.1.0.0.1.2680
value | S Σ | 1..1 | string | The value that is unique within the system. 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)
identifier:EUI-48 |  | 0..1 | Identifier | MAC Transport address identifier (EUI-48)
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 | S Σ | 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 | S Σ | 1..1 | uri | EUI-48 system identifier Fixed Value: http://terminology.hl7.org/fhir/sid/eui-48
value | S Σ | 1..1 | string | The value that is unique within the system. 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 Σ | 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 | S Σ | 0..1 | string | Mandatory fixed portion of UDI
issuer |  | 0..1 | uri | UDI Issuing Organization
jurisdiction |  | 0..1 | uri | Regional UDI authority
carrierAIDC | S Σ | 0..1 | base64Binary | UDI Machine Readable Barcode String
carrierHRF | S Σ | 0..1 | string | UDI Human Readable Barcode String
entryType |  | 0..1 | code | barcode | rfid | manual + Binding: UDIEntryType (required): Codes to identify how UDI data was entered.
status | ?!Σ | 0..1 | code | active | inactive | entered-in-error | unknown Binding: FHIRDeviceStatus (required): The availability status of the device.
statusReason |  | 0..* | CodeableConcept | online | paused | standby | offline | not-ready | transduc-discon | hw-discon | off Binding: FHIRDeviceStatusReason (extensible): The availability status reason of the device.
distinctIdentifier | S | 0..1 | string | The distinct identification string
manufacturer | S | 0..1 | string | Name of device manufacturer
manufactureDate | S | 0..1 | dateTime | Date when the device was made
expirationDate | S | 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 |  | 0..1 | string | The model number for the device
partNumber |  | 0..1 | string | The part number of the device
type | S | 1..1 | CodeableConcept | The kind or type of device Binding: FHIRDeviceTypes (extensible): Codes to identify medical devices
specialization |  | 0..* | BackboneElement | The capabilities supported on a device, the standards to which the device conforms for a particular purpose, and used for the communication
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
systemType |  | 1..1 | CodeableConcept | The standard that is used to operate and communicate
version |  | 0..1 | string | The version of the standard that is used to operate and communicate
version | 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
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 | S | 0..1 | Reference(Patient Profile) | 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 Profile (Medical and Non-medical)) | 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.identifier.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
Device.identifier.type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std.
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.identifier:EUI-48.​use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
Device.identifier:EUI-48.​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 | FHIR Device Types | 📦4.0.1 | FHIR Std.

#### Constraints

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

Summary

Mandatory: 1 element(4 nested mandatory elements)
Must-Support: 17 elements
Fixed: 2 elements

Structures

This structure refers to these other structures:

- Patient Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-patient)
- Device Profile (Medical and Non-medical) (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-device-medical)

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of Device.identifier

Other representations of profile: CSV, Excel, Schematron

### Notes:

## Identifier

The Device.identifier specifies a unique instance identifiers assigned to a device by manufacturer. This Device profile constrains the use of the Extended Unique Identifier (EUI) such as 64-bit Extended Unique Identifier (EUI-64) or 48-bit Extended Unique Identifier (EUI-48) by fixing the Identifier.system namespace for the identifier value.