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 (Implantable)

Official URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-device | Version: 1.2.0
Draft as of 2024-12-27 | Computable Name: DeviceProfile

Proposed constraints on the Device resource for the minimal set of data to query and retrieve a patient's implantable device.

# CA Baseline Device (Implantable) Profile

> This profile is seeking broader community and implementer feedback on this profile.
> The clinical substream review of this profile is paused until a Subject Matter Expert can be found who can speak to the use of implantable device data in Canada. Due to a lack of current Canadian FHIR implementation guides that surface a device profile - this profile has not undergone a Due Diligence Review and should be treated with caution until more community feedback can be acquired. Simplifier issue log for this profile.

This profile sets minimum expectations for the Device resource to record, search, and fetch UDI information associated with a 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:

- A Unique Device Identifier (UDI) numeric or alphanumeric code (Device.deviceIdentifier):
  - either as the Human Readable Form (HRF) string representation of the barcode (Device.carrierHRF)
  - or the Automatic Identification and Data Capture representation (Device.carrierAIDC)
- The type of the device (Device.type)
- A patient (Device.patient)

## 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 (Implantable) profile:

Must Support elements:

- Unique Device Identifier (UDI) Barcode string
- distinct identification string
- device manufacturer
- expiration date/time of the device
- lot number of manufacture
- 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 implantable Device profile:

- Query for a patient's implantable devices
- Record or update a patient implantable device information

Usages:

- Refer to this Profile: Device Profile (Implantable), DiagnosticReport Profile for Laboratory Results Reporting, DocumentReference Profile for metadata about the document, MedicationAdministration Profile... Show 4 more, MedicationDispense Profile, MedicationRequest Profile, Procedure Profile and ServiceRequest Profile for Results Reporting

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 | Device Profile Constraints: ca-device-1, ca-device-2
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
udiCarrier | S Σ | 1..1 | BackboneElement | Unique Device Identifier (UDI) Barcode string
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
deviceIdentifier | S Σ | 1..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
expirationDate | S | 0..1 | dateTime | Date and time of expiry of this device (if applicable)
lotNumber | S | 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.
type | S | 1..1 | CodeableConcept | The kind or type of device Binding: FHIR Device Types (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 |  | 1..1 | Reference(Patient Profile) | Patient to whom Device is affixed
parent |  | 0..1 | Reference(Device Profile (Implantable)) | The parent device
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
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 | 📦1.0.1 | THO v6.5

#### Constraints

Id | Grade | Path(s) | Description | Expression
ca-device-1 | warning | Device | Implantable medical devices that have UDI information MAY represent this information in either carrierAIDC or carrierHRF. | `udiCarrier.empty() or (udiCarrier.carrierAIDC.exists() or udiCarrier.carrierHRF.exists())`
ca-device-2 | warning | Device | For implantable medical devices that have UDI information, at least one of the Production Identifiers (UDI-PI) MAY be present. | `udiCarrier.empty() or (manufactureDate.exists() or expirationDate.exists() or lotNumber.exists() or serialNumber.exists() or distinctIdentifier.exists())`
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 | C | 0..* | Device | Device Profile Constraints: ca-device-1, ca-device-2
udiCarrier | S | 1..1 | BackboneElement | Unique Device Identifier (UDI) Barcode string
deviceIdentifier | S | 1..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
expirationDate | S | 0..1 | dateTime | Date and time of expiry of this device (if applicable)
lotNumber | S | 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
type | S | 1..1 | CodeableConcept | The kind or type of device Binding: FHIR Device Types (extensible): Codes to identify medical devices
version | S | 0..* | BackboneElement | The actual design of the device or software version running on the device
patient |  | 1..1 | Reference(Patient Profile) | Patient to whom Device is affixed
parent |  | 0..1 | Reference(Device Profile (Implantable)) | The parent device
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Device.type | Base | extensible | FHIR Device Types | 📦1.0.1 | THO v6.5

#### Constraints

Id | Grade | Path(s) | Description | Expression
ca-device-1 | warning | Device | Implantable medical devices that have UDI information MAY represent this information in either carrierAIDC or carrierHRF. | `udiCarrier.empty() or (udiCarrier.carrierAIDC.exists() or udiCarrier.carrierHRF.exists())`
ca-device-2 | warning | Device | For implantable medical devices that have UDI information, at least one of the Production Identifiers (UDI-PI) MAY be present. | `udiCarrier.empty() or (manufactureDate.exists() or expirationDate.exists() or lotNumber.exists() or serialNumber.exists() or distinctIdentifier.exists())`

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Device | C | 0..* | Device | Device Profile Constraints: ca-device-1, ca-device-2
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
identifier |  | 0..* | Identifier | Instance identifier
definition |  | 0..1 | Reference(DeviceDefinition) | The reference to the definition for the device
udiCarrier | S Σ | 1..1 | BackboneElement | Unique Device Identifier (UDI) Barcode string
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
deviceIdentifier | S Σ | 1..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 |  | 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 | S | 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: FHIR Device Types (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 |  | 1..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 (Implantable)) | 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.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 | 📦1.0.1 | THO v6.5

#### Constraints

Id | Grade | Path(s) | Description | Expression
ca-device-1 | warning | Device | Implantable medical devices that have UDI information MAY represent this information in either carrierAIDC or carrierHRF. | `udiCarrier.empty() or (udiCarrier.carrierAIDC.exists() or udiCarrier.carrierHRF.exists())`
ca-device-2 | warning | Device | For implantable medical devices that have UDI information, at least one of the Production Identifiers (UDI-PI) MAY be present. | `udiCarrier.empty() or (manufactureDate.exists() or expirationDate.exists() or lotNumber.exists() or serialNumber.exists() or distinctIdentifier.exists())`
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: 4 elements
Must-Support: 12 elements

Structures

This structure refers to these other structures:

- Patient Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-patient)
- Device Profile (Implantable) (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-device)

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Device | C | 0..* | Device | Device Profile Constraints: ca-device-1, ca-device-2
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
udiCarrier | S Σ | 1..1 | BackboneElement | Unique Device Identifier (UDI) Barcode string
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
deviceIdentifier | S Σ | 1..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
expirationDate | S | 0..1 | dateTime | Date and time of expiry of this device (if applicable)
lotNumber | S | 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.
type | S | 1..1 | CodeableConcept | The kind or type of device Binding: FHIR Device Types (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 |  | 1..1 | Reference(Patient Profile) | Patient to whom Device is affixed
parent |  | 0..1 | Reference(Device Profile (Implantable)) | The parent device
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
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 | 📦1.0.1 | THO v6.5

#### Constraints

Id | Grade | Path(s) | Description | Expression
ca-device-1 | warning | Device | Implantable medical devices that have UDI information MAY represent this information in either carrierAIDC or carrierHRF. | `udiCarrier.empty() or (udiCarrier.carrierAIDC.exists() or udiCarrier.carrierHRF.exists())`
ca-device-2 | warning | Device | For implantable medical devices that have UDI information, at least one of the Production Identifiers (UDI-PI) MAY be present. | `udiCarrier.empty() or (manufactureDate.exists() or expirationDate.exists() or lotNumber.exists() or serialNumber.exists() or distinctIdentifier.exists())`
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 | C | 0..* | Device | Device Profile Constraints: ca-device-1, ca-device-2
udiCarrier | S | 1..1 | BackboneElement | Unique Device Identifier (UDI) Barcode string
deviceIdentifier | S | 1..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
expirationDate | S | 0..1 | dateTime | Date and time of expiry of this device (if applicable)
lotNumber | S | 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
type | S | 1..1 | CodeableConcept | The kind or type of device Binding: FHIR Device Types (extensible): Codes to identify medical devices
version | S | 0..* | BackboneElement | The actual design of the device or software version running on the device
patient |  | 1..1 | Reference(Patient Profile) | Patient to whom Device is affixed
parent |  | 0..1 | Reference(Device Profile (Implantable)) | The parent device
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Device.type | Base | extensible | FHIR Device Types | 📦1.0.1 | THO v6.5

#### Constraints

Id | Grade | Path(s) | Description | Expression
ca-device-1 | warning | Device | Implantable medical devices that have UDI information MAY represent this information in either carrierAIDC or carrierHRF. | `udiCarrier.empty() or (udiCarrier.carrierAIDC.exists() or udiCarrier.carrierHRF.exists())`
ca-device-2 | warning | Device | For implantable medical devices that have UDI information, at least one of the Production Identifiers (UDI-PI) MAY be present. | `udiCarrier.empty() or (manufactureDate.exists() or expirationDate.exists() or lotNumber.exists() or serialNumber.exists() or distinctIdentifier.exists())`

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Device | C | 0..* | Device | Device Profile Constraints: ca-device-1, ca-device-2
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
identifier |  | 0..* | Identifier | Instance identifier
definition |  | 0..1 | Reference(DeviceDefinition) | The reference to the definition for the device
udiCarrier | S Σ | 1..1 | BackboneElement | Unique Device Identifier (UDI) Barcode string
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
deviceIdentifier | S Σ | 1..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 |  | 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 | S | 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: FHIR Device Types (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 |  | 1..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 (Implantable)) | 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.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 | 📦1.0.1 | THO v6.5

#### Constraints

Id | Grade | Path(s) | Description | Expression
ca-device-1 | warning | Device | Implantable medical devices that have UDI information MAY represent this information in either carrierAIDC or carrierHRF. | `udiCarrier.empty() or (udiCarrier.carrierAIDC.exists() or udiCarrier.carrierHRF.exists())`
ca-device-2 | warning | Device | For implantable medical devices that have UDI information, at least one of the Production Identifiers (UDI-PI) MAY be present. | `udiCarrier.empty() or (manufactureDate.exists() or expirationDate.exists() or lotNumber.exists() or serialNumber.exists() or distinctIdentifier.exists())`
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: 4 elements
Must-Support: 12 elements

Structures

This structure refers to these other structures:

- Patient Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-patient)
- Device Profile (Implantable) (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-device)

Other representations of profile: CSV, Excel, Schematron