Advance Care Planning (PZP)
1.0.0-rc1 - trial-use

Advance Care Planning (PZP), published by IKNL. This guide is not an authorized publication; it is the continuous build for version 1.0.0-rc1 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/IKNL/PZP-FHIR-R4/ and changes regularly. See the Directory of published versions

## Resource Profile: MedicalDevice Product ICD

Official URL: https://api.iknl.nl/docs/pzp/r4/StructureDefinition/ACP-MedicalDevice.Product-ICD | Version: 1.0.0-rc1
Draft as of 2025-10-31 | Computable Name: ACPMedicalDeviceProductICD
Copyright/Legal: Copyright and related rights waived via CC0, https://creativecommons.org/publicdomain/zero/1.0/. This does not apply to information from third parties, for example a medical terminology system. The implementer alone is responsible for identifying and obtaining any necessary licenses or authorizations to utilize third party IP in connection with the specification or otherwise.

The medical device (internally or externally). In the context of ACP, this profile is used to capture information on a patient's implantable cardioverter defibrillator (ICD). Based on nl-core-MedicalDeviceProduct and HCIM MedicalDevice.

Usages:

- Refer to this Profile: MedicalDevice
- Examples for this Profile: Device/F1-ACP-MedicalDevice.Product-ICD and Device/P2-ACP-MedicalDevice.Product-ICD

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..* | NlcoreMedicalDeviceProduct | Product
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored Constraints: ext-1
Slices for identifier |  | 0..1 | Identifier | Instance identifier Slice: Unordered, Open by pattern:$this
identifier:gs1ProductID | O | 0..1 | Identifier | ProductID Required Pattern: At least the following
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 0..1 | CodeableConcept | Description of identifier
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: https://www.gs1.org/gtin
value |  | 0..1 | string | The value that is unique
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:hibcProductID | O | 0..1 | Identifier | ProductID Required Pattern: At least the following
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 0..1 | CodeableConcept | Description of identifier
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: urn:oid:2.16.840.1.113883.6.40
value |  | 0..1 | string | The value that is unique
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)
Slices for udiCarrier | Σ | 0..1 | BackboneElement | Unique Device Identifier (UDI) Barcode string Slice: Unordered, Open by value:issuer
udiCarrier:All Slices |  |  |  | Content/Rules for all slices
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
udiCarrier:gs1UdiCarrier | Σ | 0..1 | BackboneElement | Unique Device Identifier (UDI) Barcode string
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
issuer |  | 0..1 | uri | UDI Issuing Organization Required Pattern: https://www.gs1.org/gtin
carrierHRF | O Σ | 0..1 | string | ProductID
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
udiCarrier:hibcUdiCarrier | Σ | 0..1 | BackboneElement | Unique Device Identifier (UDI) Barcode string
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
issuer |  | 0..1 | uri | UDI Issuing Organization Required Pattern: urn:oid:2.16.840.1.113883.6.40
carrierHRF | O Σ | 0..1 | string | ProductID
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
status | ?!Σ | 0..1 | code | active | inactive | entered-in-error | unknown Binding: FHIRDeviceStatus (required): The availability status of the device.
type | O | 0..1 | CodeableConcept | ProductType Binding: ACPMedicalDeviceProductTypeICDVS (1.0.0-rc1) (required)
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
note |  | 0..1 | Annotation | Device notes and comments
text | O Σ | 1..1 | markdown | ProductDescription
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Device.status | Base | required | FHIRDeviceStatus | 📍4.0.1 | FHIR Std.
Device.type | Base | required | MedicalDevice ProductType ICD | 📍1.0.0-rc1 | This IG

#### 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 | Device.implicitRules, Device.modifierExtension, Device.identifier, Device.identifier:gs1ProductID, Device.identifier:hibcProductID, Device.udiCarrier, Device.udiCarrier.modifierExtension, Device.udiCarrier:gs1UdiCarrier, Device.udiCarrier:gs1UdiCarrier.modifierExtension, Device.udiCarrier:gs1UdiCarrier.issuer, Device.udiCarrier:gs1UdiCarrier.carrierHRF, Device.udiCarrier:hibcUdiCarrier, Device.udiCarrier:hibcUdiCarrier.modifierExtension, Device.udiCarrier:hibcUdiCarrier.issuer, Device.udiCarrier:hibcUdiCarrier.carrierHRF, Device.status, Device.type, Device.note, Device.note.text | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | Device.modifierExtension, Device.udiCarrier.modifierExtension, Device.udiCarrier:gs1UdiCarrier.modifierExtension, Device.udiCarrier:hibcUdiCarrier.modifierExtension | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

This structure is derived from NlcoreMedicalDeviceProduct

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Device |  | 0..* | NlcoreMedicalDeviceProduct | Product
Slices for identifier |  |  |  | Content/Rules for all slices
identifier:gs1ProductID | O | 0..1 | Identifier | ProductID
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
identifier:hibcProductID | O | 0..1 | Identifier | ProductID
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
Slices for udiCarrier |  |  |  | Content/Rules for all slices
udiCarrier:gs1UdiCarrier |  | 0..1 | BackboneElement | Unique Device Identifier (UDI) Barcode string
carrierHRF | O | 0..1 | string | ProductID
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
udiCarrier:hibcUdiCarrier |  | 0..1 | BackboneElement | Unique Device Identifier (UDI) Barcode string
carrierHRF | O | 0..1 | string | ProductID
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
type | O | 0..1 | CodeableConcept | ProductType Binding: ACPMedicalDeviceProductTypeICDVS (1.0.0-rc1) (required)
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
note |  |  |  |
text | O | 1..1 | markdown | ProductDescription
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Device.type | Base | required | MedicalDevice ProductType ICD | 📍1.0.0-rc1 | This IG

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Device |  | 0..* | NlcoreMedicalDeviceProduct | Product
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 Constraints: ext-1
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored Constraints: ext-1
Slices for identifier |  | 0..1 | Identifier | Instance identifier Slice: Unordered, Open by pattern:$this
identifier:gs1ProductID | O | 0..1 | Identifier | ProductID Required Pattern: At least the following
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 0..1 | CodeableConcept | Description of identifier
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: https://www.gs1.org/gtin
value |  | 0..1 | string | The value that is unique
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:hibcProductID | O | 0..1 | Identifier | ProductID Required Pattern: At least the following
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 0..1 | CodeableConcept | Description of identifier
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: urn:oid:2.16.840.1.113883.6.40
value |  | 0..1 | string | The value that is unique
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
Slices for udiCarrier | Σ | 0..1 | BackboneElement | Unique Device Identifier (UDI) Barcode string Slice: Unordered, Open by value:issuer
udiCarrier: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 Constraints: ext-1
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
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.
udiCarrier:gs1UdiCarrier | Σ | 0..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 Constraints: ext-1
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
deviceIdentifier | Σ | 0..1 | string | Mandatory fixed portion of UDI
issuer |  | 0..1 | uri | UDI Issuing Organization Required Pattern: https://www.gs1.org/gtin
jurisdiction |  | 0..1 | uri | Regional UDI authority
carrierAIDC | Σ | 0..1 | base64Binary | UDI Machine Readable Barcode String
carrierHRF | O Σ | 0..1 | string | ProductID
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
entryType |  | 0..1 | code | barcode | rfid | manual + Binding: UDIEntryType (required): Codes to identify how UDI data was entered.
udiCarrier:hibcUdiCarrier | Σ | 0..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 Constraints: ext-1
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
deviceIdentifier | Σ | 0..1 | string | Mandatory fixed portion of UDI
issuer |  | 0..1 | uri | UDI Issuing Organization Required Pattern: urn:oid:2.16.840.1.113883.6.40
jurisdiction |  | 0..1 | uri | Regional UDI authority
carrierAIDC | Σ | 0..1 | base64Binary | UDI Machine Readable Barcode String
carrierHRF | O Σ | 0..1 | string | ProductID
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
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 |  | 0..1 | string | The distinct identification string
manufacturer |  | 0..1 | string | Name of device manufacturer
manufactureDate |  | 0..1 | dateTime | Date when the device was made
expirationDate |  | 0..1 | dateTime | Date and time of expiry of this device (if applicable)
lotNumber |  | 0..1 | string | Lot number of manufacture
serialNumber |  | 0..1 | string | Serial number assigned by the manufacturer
deviceName |  | 0..* | BackboneElement | The name of the device as given by the manufacturer
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Constraints: ext-1
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
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 | O | 0..1 | CodeableConcept | ProductType Binding: ACPMedicalDeviceProductTypeICDVS (1.0.0-rc1) (required)
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
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 Constraints: ext-1
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
systemType |  | 1..1 | CodeableConcept | The standard that is used to operate and communicate
version |  | 0..1 | string | The version of the standard that is used to operate and communicate
version |  | 0..* | BackboneElement | The actual design of the device or software version running on the device
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Constraints: ext-1
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
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 Constraints: ext-1
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
type |  | 1..1 | CodeableConcept | Code that specifies the property DeviceDefinitionPropetyCode (Extensible)
valueQuantity |  | 0..* | Quantity | Property value as a quantity
valueCode |  | 0..* | CodeableConcept | Property value as a code, e.g., NTP4 (synced to NTP)
patient |  | 0..1 | Reference(Patient) | Patient to whom Device is affixed
owner |  | 0..1 | Reference(Organization) | Organization responsible for device
contact |  | 0..* | ContactPoint | Details for human/organization for support
location |  | 0..1 | Reference(Location) | Where the device is found
url |  | 0..1 | uri | Network address to contact device
note |  | 0..1 | Annotation | Device notes and comments
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1
author[x] | Σ | 0..1 |  | Individual responsible for the annotation
authorReference |  |  | Reference(Practitioner | Patient | RelatedPerson | Organization) |
authorString |  |  | string |
time | Σ | 0..1 | dateTime | When the annotation was made
text | O Σ | 1..1 | markdown | ProductDescription
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
safety | Σ | 0..* | CodeableConcept | Safety Characteristics of Device
parent |  | 0..1 | Reference(Device) | 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.udiCarrier:gs1UdiCarrier.​entryType | Base | required | UDIEntryType | 📍4.0.1 | FHIR Std.
Device.udiCarrier:hibcUdiCarrier.​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 | required | MedicalDevice ProductType ICD | 📍1.0.0-rc1 | This IG

#### 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 | Device.meta, Device.implicitRules, Device.language, Device.text, Device.extension, Device.modifierExtension, Device.identifier, Device.identifier:gs1ProductID, Device.identifier:hibcProductID, Device.definition, Device.udiCarrier, Device.udiCarrier.extension, Device.udiCarrier.modifierExtension, Device.udiCarrier.deviceIdentifier, Device.udiCarrier.issuer, Device.udiCarrier.jurisdiction, Device.udiCarrier.carrierAIDC, Device.udiCarrier.carrierHRF, Device.udiCarrier.entryType, Device.udiCarrier:gs1UdiCarrier, Device.udiCarrier:gs1UdiCarrier.extension, Device.udiCarrier:gs1UdiCarrier.modifierExtension, Device.udiCarrier:gs1UdiCarrier.deviceIdentifier, Device.udiCarrier:gs1UdiCarrier.issuer, Device.udiCarrier:gs1UdiCarrier.jurisdiction, Device.udiCarrier:gs1UdiCarrier.carrierAIDC, Device.udiCarrier:gs1UdiCarrier.carrierHRF, Device.udiCarrier:gs1UdiCarrier.entryType, Device.udiCarrier:hibcUdiCarrier, Device.udiCarrier:hibcUdiCarrier.extension, Device.udiCarrier:hibcUdiCarrier.modifierExtension, Device.udiCarrier:hibcUdiCarrier.deviceIdentifier, Device.udiCarrier:hibcUdiCarrier.issuer, Device.udiCarrier:hibcUdiCarrier.jurisdiction, Device.udiCarrier:hibcUdiCarrier.carrierAIDC, Device.udiCarrier:hibcUdiCarrier.carrierHRF, Device.udiCarrier:hibcUdiCarrier.entryType, Device.status, Device.statusReason, Device.distinctIdentifier, Device.manufacturer, Device.manufactureDate, Device.expirationDate, Device.lotNumber, Device.serialNumber, Device.deviceName, Device.deviceName.extension, Device.deviceName.modifierExtension, Device.deviceName.name, Device.deviceName.type, Device.modelNumber, Device.partNumber, Device.type, Device.specialization, Device.specialization.extension, Device.specialization.modifierExtension, Device.specialization.systemType, Device.specialization.version, Device.version, Device.version.extension, Device.version.modifierExtension, Device.version.type, Device.version.component, Device.version.value, Device.property, Device.property.extension, Device.property.modifierExtension, Device.property.type, Device.property.valueQuantity, Device.property.valueCode, Device.patient, Device.owner, Device.contact, Device.location, Device.url, Device.note, Device.note.extension, Device.note.author[x], Device.note.time, Device.note.text, Device.safety, Device.parent | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | Device.extension, Device.modifierExtension, Device.udiCarrier.extension, Device.udiCarrier.modifierExtension, Device.udiCarrier:gs1UdiCarrier.extension, Device.udiCarrier:gs1UdiCarrier.modifierExtension, Device.udiCarrier:hibcUdiCarrier.extension, Device.udiCarrier:hibcUdiCarrier.modifierExtension, Device.deviceName.extension, Device.deviceName.modifierExtension, Device.specialization.extension, Device.specialization.modifierExtension, Device.version.extension, Device.version.modifierExtension, Device.property.extension, Device.property.modifierExtension, Device.note.extension | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

This structure is derived from NlcoreMedicalDeviceProduct

Summary

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Device |  | 0..* | NlcoreMedicalDeviceProduct | Product
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored Constraints: ext-1
Slices for identifier |  | 0..1 | Identifier | Instance identifier Slice: Unordered, Open by pattern:$this
identifier:gs1ProductID | O | 0..1 | Identifier | ProductID Required Pattern: At least the following
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 0..1 | CodeableConcept | Description of identifier
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: https://www.gs1.org/gtin
value |  | 0..1 | string | The value that is unique
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:hibcProductID | O | 0..1 | Identifier | ProductID Required Pattern: At least the following
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 0..1 | CodeableConcept | Description of identifier
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: urn:oid:2.16.840.1.113883.6.40
value |  | 0..1 | string | The value that is unique
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)
Slices for udiCarrier | Σ | 0..1 | BackboneElement | Unique Device Identifier (UDI) Barcode string Slice: Unordered, Open by value:issuer
udiCarrier:All Slices |  |  |  | Content/Rules for all slices
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
udiCarrier:gs1UdiCarrier | Σ | 0..1 | BackboneElement | Unique Device Identifier (UDI) Barcode string
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
issuer |  | 0..1 | uri | UDI Issuing Organization Required Pattern: https://www.gs1.org/gtin
carrierHRF | O Σ | 0..1 | string | ProductID
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
udiCarrier:hibcUdiCarrier | Σ | 0..1 | BackboneElement | Unique Device Identifier (UDI) Barcode string
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
issuer |  | 0..1 | uri | UDI Issuing Organization Required Pattern: urn:oid:2.16.840.1.113883.6.40
carrierHRF | O Σ | 0..1 | string | ProductID
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
status | ?!Σ | 0..1 | code | active | inactive | entered-in-error | unknown Binding: FHIRDeviceStatus (required): The availability status of the device.
type | O | 0..1 | CodeableConcept | ProductType Binding: ACPMedicalDeviceProductTypeICDVS (1.0.0-rc1) (required)
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
note |  | 0..1 | Annotation | Device notes and comments
text | O Σ | 1..1 | markdown | ProductDescription
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Device.status | Base | required | FHIRDeviceStatus | 📍4.0.1 | FHIR Std.
Device.type | Base | required | MedicalDevice ProductType ICD | 📍1.0.0-rc1 | This IG

#### 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 | Device.implicitRules, Device.modifierExtension, Device.identifier, Device.identifier:gs1ProductID, Device.identifier:hibcProductID, Device.udiCarrier, Device.udiCarrier.modifierExtension, Device.udiCarrier:gs1UdiCarrier, Device.udiCarrier:gs1UdiCarrier.modifierExtension, Device.udiCarrier:gs1UdiCarrier.issuer, Device.udiCarrier:gs1UdiCarrier.carrierHRF, Device.udiCarrier:hibcUdiCarrier, Device.udiCarrier:hibcUdiCarrier.modifierExtension, Device.udiCarrier:hibcUdiCarrier.issuer, Device.udiCarrier:hibcUdiCarrier.carrierHRF, Device.status, Device.type, Device.note, Device.note.text | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | Device.modifierExtension, Device.udiCarrier.modifierExtension, Device.udiCarrier:gs1UdiCarrier.modifierExtension, Device.udiCarrier:hibcUdiCarrier.modifierExtension | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

Differential View

This structure is derived from NlcoreMedicalDeviceProduct

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Device |  | 0..* | NlcoreMedicalDeviceProduct | Product
Slices for identifier |  |  |  | Content/Rules for all slices
identifier:gs1ProductID | O | 0..1 | Identifier | ProductID
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
identifier:hibcProductID | O | 0..1 | Identifier | ProductID
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
Slices for udiCarrier |  |  |  | Content/Rules for all slices
udiCarrier:gs1UdiCarrier |  | 0..1 | BackboneElement | Unique Device Identifier (UDI) Barcode string
carrierHRF | O | 0..1 | string | ProductID
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
udiCarrier:hibcUdiCarrier |  | 0..1 | BackboneElement | Unique Device Identifier (UDI) Barcode string
carrierHRF | O | 0..1 | string | ProductID
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
type | O | 0..1 | CodeableConcept | ProductType Binding: ACPMedicalDeviceProductTypeICDVS (1.0.0-rc1) (required)
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
note |  |  |  |
text | O | 1..1 | markdown | ProductDescription
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Device.type | Base | required | MedicalDevice ProductType ICD | 📍1.0.0-rc1 | This IG

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Device |  | 0..* | NlcoreMedicalDeviceProduct | Product
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 Constraints: ext-1
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored Constraints: ext-1
Slices for identifier |  | 0..1 | Identifier | Instance identifier Slice: Unordered, Open by pattern:$this
identifier:gs1ProductID | O | 0..1 | Identifier | ProductID Required Pattern: At least the following
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 0..1 | CodeableConcept | Description of identifier
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: https://www.gs1.org/gtin
value |  | 0..1 | string | The value that is unique
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:hibcProductID | O | 0..1 | Identifier | ProductID Required Pattern: At least the following
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 0..1 | CodeableConcept | Description of identifier
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: urn:oid:2.16.840.1.113883.6.40
value |  | 0..1 | string | The value that is unique
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
Slices for udiCarrier | Σ | 0..1 | BackboneElement | Unique Device Identifier (UDI) Barcode string Slice: Unordered, Open by value:issuer
udiCarrier: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 Constraints: ext-1
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
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.
udiCarrier:gs1UdiCarrier | Σ | 0..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 Constraints: ext-1
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
deviceIdentifier | Σ | 0..1 | string | Mandatory fixed portion of UDI
issuer |  | 0..1 | uri | UDI Issuing Organization Required Pattern: https://www.gs1.org/gtin
jurisdiction |  | 0..1 | uri | Regional UDI authority
carrierAIDC | Σ | 0..1 | base64Binary | UDI Machine Readable Barcode String
carrierHRF | O Σ | 0..1 | string | ProductID
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
entryType |  | 0..1 | code | barcode | rfid | manual + Binding: UDIEntryType (required): Codes to identify how UDI data was entered.
udiCarrier:hibcUdiCarrier | Σ | 0..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 Constraints: ext-1
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
deviceIdentifier | Σ | 0..1 | string | Mandatory fixed portion of UDI
issuer |  | 0..1 | uri | UDI Issuing Organization Required Pattern: urn:oid:2.16.840.1.113883.6.40
jurisdiction |  | 0..1 | uri | Regional UDI authority
carrierAIDC | Σ | 0..1 | base64Binary | UDI Machine Readable Barcode String
carrierHRF | O Σ | 0..1 | string | ProductID
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
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 |  | 0..1 | string | The distinct identification string
manufacturer |  | 0..1 | string | Name of device manufacturer
manufactureDate |  | 0..1 | dateTime | Date when the device was made
expirationDate |  | 0..1 | dateTime | Date and time of expiry of this device (if applicable)
lotNumber |  | 0..1 | string | Lot number of manufacture
serialNumber |  | 0..1 | string | Serial number assigned by the manufacturer
deviceName |  | 0..* | BackboneElement | The name of the device as given by the manufacturer
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Constraints: ext-1
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
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 | O | 0..1 | CodeableConcept | ProductType Binding: ACPMedicalDeviceProductTypeICDVS (1.0.0-rc1) (required)
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
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 Constraints: ext-1
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
systemType |  | 1..1 | CodeableConcept | The standard that is used to operate and communicate
version |  | 0..1 | string | The version of the standard that is used to operate and communicate
version |  | 0..* | BackboneElement | The actual design of the device or software version running on the device
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Constraints: ext-1
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
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 Constraints: ext-1
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
type |  | 1..1 | CodeableConcept | Code that specifies the property DeviceDefinitionPropetyCode (Extensible)
valueQuantity |  | 0..* | Quantity | Property value as a quantity
valueCode |  | 0..* | CodeableConcept | Property value as a code, e.g., NTP4 (synced to NTP)
patient |  | 0..1 | Reference(Patient) | Patient to whom Device is affixed
owner |  | 0..1 | Reference(Organization) | Organization responsible for device
contact |  | 0..* | ContactPoint | Details for human/organization for support
location |  | 0..1 | Reference(Location) | Where the device is found
url |  | 0..1 | uri | Network address to contact device
note |  | 0..1 | Annotation | Device notes and comments
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1
author[x] | Σ | 0..1 |  | Individual responsible for the annotation
authorReference |  |  | Reference(Practitioner | Patient | RelatedPerson | Organization) |
authorString |  |  | string |
time | Σ | 0..1 | dateTime | When the annotation was made
text | O Σ | 1..1 | markdown | ProductDescription
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
safety | Σ | 0..* | CodeableConcept | Safety Characteristics of Device
parent |  | 0..1 | Reference(Device) | 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.udiCarrier:gs1UdiCarrier.​entryType | Base | required | UDIEntryType | 📍4.0.1 | FHIR Std.
Device.udiCarrier:hibcUdiCarrier.​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 | required | MedicalDevice ProductType ICD | 📍1.0.0-rc1 | This IG

#### 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 | Device.meta, Device.implicitRules, Device.language, Device.text, Device.extension, Device.modifierExtension, Device.identifier, Device.identifier:gs1ProductID, Device.identifier:hibcProductID, Device.definition, Device.udiCarrier, Device.udiCarrier.extension, Device.udiCarrier.modifierExtension, Device.udiCarrier.deviceIdentifier, Device.udiCarrier.issuer, Device.udiCarrier.jurisdiction, Device.udiCarrier.carrierAIDC, Device.udiCarrier.carrierHRF, Device.udiCarrier.entryType, Device.udiCarrier:gs1UdiCarrier, Device.udiCarrier:gs1UdiCarrier.extension, Device.udiCarrier:gs1UdiCarrier.modifierExtension, Device.udiCarrier:gs1UdiCarrier.deviceIdentifier, Device.udiCarrier:gs1UdiCarrier.issuer, Device.udiCarrier:gs1UdiCarrier.jurisdiction, Device.udiCarrier:gs1UdiCarrier.carrierAIDC, Device.udiCarrier:gs1UdiCarrier.carrierHRF, Device.udiCarrier:gs1UdiCarrier.entryType, Device.udiCarrier:hibcUdiCarrier, Device.udiCarrier:hibcUdiCarrier.extension, Device.udiCarrier:hibcUdiCarrier.modifierExtension, Device.udiCarrier:hibcUdiCarrier.deviceIdentifier, Device.udiCarrier:hibcUdiCarrier.issuer, Device.udiCarrier:hibcUdiCarrier.jurisdiction, Device.udiCarrier:hibcUdiCarrier.carrierAIDC, Device.udiCarrier:hibcUdiCarrier.carrierHRF, Device.udiCarrier:hibcUdiCarrier.entryType, Device.status, Device.statusReason, Device.distinctIdentifier, Device.manufacturer, Device.manufactureDate, Device.expirationDate, Device.lotNumber, Device.serialNumber, Device.deviceName, Device.deviceName.extension, Device.deviceName.modifierExtension, Device.deviceName.name, Device.deviceName.type, Device.modelNumber, Device.partNumber, Device.type, Device.specialization, Device.specialization.extension, Device.specialization.modifierExtension, Device.specialization.systemType, Device.specialization.version, Device.version, Device.version.extension, Device.version.modifierExtension, Device.version.type, Device.version.component, Device.version.value, Device.property, Device.property.extension, Device.property.modifierExtension, Device.property.type, Device.property.valueQuantity, Device.property.valueCode, Device.patient, Device.owner, Device.contact, Device.location, Device.url, Device.note, Device.note.extension, Device.note.author[x], Device.note.time, Device.note.text, Device.safety, Device.parent | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | Device.extension, Device.modifierExtension, Device.udiCarrier.extension, Device.udiCarrier.modifierExtension, Device.udiCarrier:gs1UdiCarrier.extension, Device.udiCarrier:gs1UdiCarrier.modifierExtension, Device.udiCarrier:hibcUdiCarrier.extension, Device.udiCarrier:hibcUdiCarrier.modifierExtension, Device.deviceName.extension, Device.deviceName.modifierExtension, Device.specialization.extension, Device.specialization.modifierExtension, Device.version.extension, Device.version.modifierExtension, Device.property.extension, Device.property.modifierExtension, Device.note.extension | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

This structure is derived from NlcoreMedicalDeviceProduct

Summary

Other representations of profile: CSV, Excel, Schematron