Order Catalog Implementation Guide
1.0.0 - STU 1

Order Catalog Implementation Guide, published by HL7 International / Orders and Observations. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-order-catalog/ and changes regularly. See the Directory of published versions

## Resource Profile: DeviceModel Profile

Official URL: http://hl7.org/fhir/uv/order-catalog/StructureDefinition/DeviceModel | Version: 1.0.0
Standards status: Trial-use | Maturity Level: 2 | Computable Name: DeviceModel
Other Identifiers: OID:2.16.840.1.113883.4.642.40.55.42.2

This profile constrains the base resource DeviceDefinition to represent a model of device in a catalog of medical devices

Usages:

- Examples for this Profile: DeviceDefinition/example-devicemodel-breast-pump, DeviceDefinition/example-devicemodel-interbody-fusion-system and DeviceDefinition/example-devicemodel-presthetics-accessories
- CapabilityStatements using this Profile: CapabilityStatement for custodian of catalog of medical devices

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
--- | --- | --- | --- | ---
DeviceDefinition |  | 0..* | DeviceDefinition | An instance of a medical-related component of a medical device
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
contained |  | 0..* | Resource | Contained, inline Resources
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:CatalogReference |  | 0..* | Reference(Catalog Header) | Reference to a catalog URL: http://hl7.org/fhir/uv/order-catalog/StructureDefinition/CatalogReference
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
description | S | 0..1 | markdown | Additional information to describe the device
identifier | S Σ | 0..* | Identifier | Instance identifier
udiDeviceIdentifier | S | 0..* | BackboneElement | Unique Device Identifier (UDI) Barcode string
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
deviceIdentifier |  | 1..1 | string | The identifier that is to be associated with every Device that references this DeviceDefintiion for the issuer and jurisdiction provided in the DeviceDefinition.udiDeviceIdentifier
issuer |  | 1..1 | uri | The organization that assigns the identifier algorithm
jurisdiction |  | 1..1 | uri | The jurisdiction to which the deviceIdentifier applies
marketDistribution | S | 0..* | BackboneElement | Indicates whether and when the device is available on the market
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
marketPeriod |  | 1..1 | Period | Begin and end dates for the commercial distribution of the device
start | Σ C | 0..1 | dateTime | Starting time with inclusive boundary
end | Σ C | 0..1 | dateTime | End time with inclusive boundary, if not ongoing
subJurisdiction |  | 1..1 | uri | National state or territory where the device is commercialized
partNumber | S | 0..1 | string | The part number or catalog number of the device
manufacturer | S Σ | 0..1 | Reference(Organization) | Name of device manufacturer
deviceName | S Σ | 0..* | BackboneElement | The name or names of the device as given by the manufacturer
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
name | Σ | 1..1 | string | A name that is used to refer to the device
type | Σ | 1..1 | code | registered-name | user-friendly-name | patient-reported-name Binding: DeviceNameType (required): The type of name the device is referred by.
modelNumber | S Σ | 0..1 | string | The catalog or model number for the device for example as defined by the manufacturer
Slices for classification | Σ | 0..* | BackboneElement | What kind of device or device system this is Slice: Unordered, Open by value:type.coding.system
classification:All Slices |  |  |  | Content/Rules for all slices
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type | Σ | 1..1 | CodeableConcept | A classification or risk class of the device model Binding: DeviceType (example): Type of device e.g. according to official classification.
classification:gmdn | Σ | 0..* | BackboneElement | GMDN classification
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type | Σ | 1..1 | CodeableConcept | A classification or risk class of the device model Binding: DeviceType (example): Type of device e.g. according to official classification.
classification:snomed | Σ | 0..1 | BackboneElement | SNOMED CT
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type | Σ | 1..1 | CodeableConcept | A classification or risk class of the device model Binding: DeviceType (example): Type of device e.g. according to official classification.
classification:emdn | Σ | 0..1 | BackboneElement | EMDN
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type | Σ | 1..1 | CodeableConcept | A classification or risk class of the device model Binding: DeviceType (example): Type of device e.g. according to official classification.
hasPart | Σ | 0..* | BackboneElement | A device, part of the current one
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
reference | Σ | 1..1 | Reference(DeviceDefinition) | Reference to the part
count | S | 0..1 | integer | Number of occurrences of the part
packaging |  | 0..* | BackboneElement | Information about the packaging of the device, i.e. how the device is packaged
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type |  | 0..1 | CodeableConcept | A code that defines the specific type of packaging
count | S | 0..1 | integer | The number of items contained in the package (devices or sub-packages)
udiDeviceIdentifier | S | 0..* | BackboneElement | Unique Device Identifier (UDI) Barcode string on the packaging
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
deviceIdentifier |  | 1..1 | string | The identifier that is to be associated with every Device that references this DeviceDefintiion for the issuer and jurisdiction provided in the DeviceDefinition.udiDeviceIdentifier
issuer |  | 1..1 | uri | The organization that assigns the identifier algorithm
jurisdiction |  | 1..1 | uri | The jurisdiction to which the deviceIdentifier applies
safety | S Σ | 0..* | CodeableConcept | Safety characteristics of the device Binding: DeviceSafety (example)
property | S | 0..* | BackboneElement | Inherent, essentially fixed, characteristics of this kind of device, e.g., time properties, size, etc
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type |  | 1..1 | CodeableConcept | Code that specifies the property being represented Binding: DeviceType (example): Device property type.
value[x] |  | 1..1 |  | Value of the property
valueQuantity |  |  | Quantity |
valueCodeableConcept |  |  | CodeableConcept |
valueString |  |  | string |
valueBoolean |  |  | boolean |
valueInteger |  |  | integer |
valueRange |  |  | Range |
valueAttachment |  |  | Attachment |
contact |  | 0..* | ContactPoint | Details for human/organization for support
productionIdentifierInUDI |  | 0..* | code | lot-number | manufactured-date | serial-number | expiration-date | biological-source | software-version Binding: DeviceProductionIdentifierInUDI (required): The production identifier(s) that are expected to appear in the UDI carrier.
guideline | S | 0..1 | BackboneElement | Information aimed at providing directions for the usage of this model of device
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
DeviceDefinition.deviceName.​type | Base | required | Device Name Type | 📍5.0.0 | FHIR Std.
DeviceDefinition.classification.​type | Base | example | Device Type | 📍5.0.0 | FHIR Std.
DeviceDefinition.classification:gmdn.​type | Base | example | Device Type | 📍5.0.0 | FHIR Std.
DeviceDefinition.classification:snomed.​type | Base | example | Device Type | 📍5.0.0 | FHIR Std.
DeviceDefinition.classification:emdn.​type | Base | example | Device Type | 📍5.0.0 | FHIR Std.
DeviceDefinition.safety | Base | example | Device Safety | 📍5.0.0 | FHIR Std.
DeviceDefinition.property.​type | Base | example | Device Property Type | 📍5.0.0 | FHIR Std.
DeviceDefinition.productionIdentifierInUDI | Base | required | Device Production Identifier In UDI | 📍5.0.0 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | DeviceDefinition | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | DeviceDefinition | 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | DeviceDefinition | 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 | DeviceDefinition | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | DeviceDefinition | 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 DeviceDefinition

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
DeviceDefinition |  | 0..* | DeviceDefinition | An instance of a medical-related component of a medical device
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:CatalogReference |  | 0..* | Reference(Catalog Header) | Reference to a catalog URL: http://hl7.org/fhir/uv/order-catalog/StructureDefinition/CatalogReference
description | S | 0..1 | markdown | Additional information to describe the device
identifier | S | 0..* | Identifier | Instance identifier
udiDeviceIdentifier | S | 0..* | BackboneElement | Unique Device Identifier (UDI) Barcode string
deviceIdentifier |  | 1..1 | string | The identifier that is to be associated with every Device that references this DeviceDefintiion for the issuer and jurisdiction provided in the DeviceDefinition.udiDeviceIdentifier
issuer |  | 1..1 | uri | The organization that assigns the identifier algorithm
jurisdiction |  | 1..1 | uri | The jurisdiction to which the deviceIdentifier applies
marketDistribution | S | 0..* | BackboneElement | Indicates whether and when the device is available on the market
marketPeriod |  |  |  |
start |  | 0..1 | dateTime | Starting time with inclusive boundary
end |  | 0..1 | dateTime | End time with inclusive boundary, if not ongoing
subJurisdiction |  | 1..1 | uri | National state or territory where the device is commercialized
partNumber | S | 0..1 | string | The part number or catalog number of the device
manufacturer | S | 0..1 | Reference(Organization) | Name of device manufacturer
deviceName | S | 0..* | BackboneElement | The name or names of the device as given by the manufacturer
name |  | 1..1 | string | A name that is used to refer to the device
type |  | 1..1 | code | registered-name | user-friendly-name | patient-reported-name
modelNumber | S | 0..1 | string | The catalog or model number for the device for example as defined by the manufacturer
Slices for classification |  | 0..* | BackboneElement | What kind of device or device system this is Slice: Unordered, Open by value:type.coding.system
classification:gmdn |  | 0..* | BackboneElement | GMDN classification
type |  |  |  |
coding |  |  |  |
system |  | 1..1 | uri | Identity of the terminology system Required Pattern: http://terminology.hl7.org/CodeSystem/GMDN
code |  | 0..1 | code | Symbol in syntax defined by the system
display |  | 0..1 | string | Representation defined by the system
classification:snomed |  | 0..1 | BackboneElement | SNOMED CT
type |  |  |  |
coding |  |  |  |
system |  | 1..1 | uri | Identity of the terminology system Required Pattern: http://snomed.info/sct
classification:emdn |  | 0..1 | BackboneElement | EMDN
type |  |  |  |
coding |  |  |  |
system |  | 1..1 | uri | Identity of the terminology system Required Pattern: urn:oid:1.2.250.1.213.2.68
code |  | 0..1 | code | Symbol in syntax defined by the system
display |  | 0..1 | string | Representation defined by the system
hasPart |  |  |  |
count | S | 0..1 | integer | Number of occurrences of the part
packaging |  |  |  |
type |  | 0..1 | CodeableConcept | A code that defines the specific type of packaging
count | S | 0..1 | integer | The number of items contained in the package (devices or sub-packages)
udiDeviceIdentifier | S | 0..* | BackboneElement | Unique Device Identifier (UDI) Barcode string on the packaging
deviceIdentifier |  | 1..1 | string | The identifier that is to be associated with every Device that references this DeviceDefintiion for the issuer and jurisdiction provided in the DeviceDefinition.udiDeviceIdentifier
issuer |  | 1..1 | uri | The organization that assigns the identifier algorithm
jurisdiction |  | 1..1 | uri | The jurisdiction to which the deviceIdentifier applies
marketDistribution |  |  |  |
marketPeriod |  |  |  |
end |  | 0..1 | dateTime | End time with inclusive boundary, if not ongoing
subJurisdiction |  | 1..1 | uri | National state or territory where the device is commercialized
safety | S | 0..* | CodeableConcept | Safety characteristics of the device
property | S | 0..* | BackboneElement | Inherent, essentially fixed, characteristics of this kind of device, e.g., time properties, size, etc
contact |  | 0..* | ContactPoint | Details for human/organization for support
productionIdentifierInUDI |  | 0..* | code | lot-number | manufactured-date | serial-number | expiration-date | biological-source | software-version
guideline | S | 0..1 | BackboneElement | Information aimed at providing directions for the usage of this model of device
Documentation for this format

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
DeviceDefinition |  | 0..* | DeviceDefinition | An instance of a medical-related component of a medical device
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: AllLanguages (required): IETF language tag for a human language
Additional Bindings | Purpose
CommonLanguages | Starter
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:CatalogReference |  | 0..* | Reference(Catalog Header) | Reference to a catalog URL: http://hl7.org/fhir/uv/order-catalog/StructureDefinition/CatalogReference
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
description | S | 0..1 | markdown | Additional information to describe the device
identifier | S Σ | 0..* | Identifier | Instance identifier
udiDeviceIdentifier | 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 |  | 1..1 | string | The identifier that is to be associated with every Device that references this DeviceDefintiion for the issuer and jurisdiction provided in the DeviceDefinition.udiDeviceIdentifier
issuer |  | 1..1 | uri | The organization that assigns the identifier algorithm
jurisdiction |  | 1..1 | uri | The jurisdiction to which the deviceIdentifier applies
marketDistribution | S | 0..* | BackboneElement | Indicates whether and when the device is available on the market
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
marketPeriod |  | 1..1 | Period | Begin and end dates for the commercial distribution of the device
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
start | Σ C | 0..1 | dateTime | Starting time with inclusive boundary
end | Σ C | 0..1 | dateTime | End time with inclusive boundary, if not ongoing
subJurisdiction |  | 1..1 | uri | National state or territory where the device is commercialized
regulatoryIdentifier |  | 0..* | BackboneElement | Regulatory identifier(s) associated with this 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 |  | 1..1 | code | basic | master | license Binding: DeviceDefinitionRegulatoryIdentifierType (required): Device regulatory identifier type.
deviceIdentifier |  | 1..1 | string | The identifier itself
issuer |  | 1..1 | uri | The organization that issued this identifier
jurisdiction |  | 1..1 | uri | The jurisdiction to which the deviceIdentifier applies
partNumber | S | 0..1 | string | The part number or catalog number of the device
manufacturer | S Σ | 0..1 | Reference(Organization) | Name of device manufacturer
deviceName | S Σ | 0..* | BackboneElement | The name or names 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 | A name that is used to refer to the device
type | Σ | 1..1 | code | registered-name | user-friendly-name | patient-reported-name Binding: DeviceNameType (required): The type of name the device is referred by.
modelNumber | S Σ | 0..1 | string | The catalog or model number for the device for example as defined by the manufacturer
Slices for classification | Σ | 0..* | BackboneElement | What kind of device or device system this is Slice: Unordered, Open by value:type.coding.system
classification: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
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type | Σ | 1..1 | CodeableConcept | A classification or risk class of the device model Binding: DeviceType (example): Type of device e.g. according to official classification.
justification |  | 0..* | RelatedArtifact | Further information qualifying this classification of the device model
classification:gmdn | Σ | 0..* | BackboneElement | GMDN classification
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 | A classification or risk class of the device model Binding: DeviceType (example): Type of device e.g. according to official classification.
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
coding | Σ | 0..* | Coding | Code defined by a terminology system
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://terminology.hl7.org/CodeSystem/GMDN
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ C | 0..1 | code | Symbol in syntax defined by the system
display | Σ C | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Plain text representation of the concept
justification |  | 0..* | RelatedArtifact | Further information qualifying this classification of the device model
classification:snomed | Σ | 0..1 | BackboneElement | SNOMED CT
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 | A classification or risk class of the device model Binding: DeviceType (example): Type of device e.g. according to official classification.
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
coding | Σ | 0..* | Coding | Code defined by a terminology system
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://snomed.info/sct
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ C | 0..1 | code | Symbol in syntax defined by the system
display | Σ C | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Plain text representation of the concept
justification |  | 0..* | RelatedArtifact | Further information qualifying this classification of the device model
classification:emdn | Σ | 0..1 | BackboneElement | EMDN
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 | A classification or risk class of the device model Binding: DeviceType (example): Type of device e.g. according to official classification.
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
coding | Σ | 0..* | Coding | Code defined by a terminology system
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system Required Pattern: urn:oid:1.2.250.1.213.2.68
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ C | 0..1 | code | Symbol in syntax defined by the system
display | Σ C | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Plain text representation of the concept
justification |  | 0..* | RelatedArtifact | Further information qualifying this classification of the device model
conformsTo | Σ | 0..* | BackboneElement | Identifies the standards, specifications, or formal guidances for the capabilities supported by 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
category | Σ | 0..1 | CodeableConcept | Describes the common type of the standard, specification, or formal guidance Binding: DeviceSpecificationCategory (example)
specification | Σ | 1..1 | CodeableConcept | Identifies the standard, specification, or formal guidance that the device adheres to the Device Specification type Binding: DeviceSpecificationType (example)
version | Σ | 0..* | string | The specific form or variant of the standard, specification or formal guidance
source |  | 0..* | RelatedArtifact | Standard, regulation, certification, or guidance website, document, or other publication, or similar, supporting the conformance
hasPart | Σ | 0..* | BackboneElement | A device, part of the current one
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
reference | Σ | 1..1 | Reference(DeviceDefinition) | Reference to the part
count | S | 0..1 | integer | Number of occurrences of the part
packaging |  | 0..* | BackboneElement | Information about the packaging of the device, i.e. how the device is packaged
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
identifier |  | 0..1 | Identifier | Business identifier of the packaged medication
type |  | 0..1 | CodeableConcept | A code that defines the specific type of packaging
count | S | 0..1 | integer | The number of items contained in the package (devices or sub-packages)
distributor |  | 0..* | BackboneElement | An organization that distributes the packaged 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
name |  | 0..1 | string | Distributor's human-readable name
organizationReference |  | 0..* | Reference(Organization) | Distributor as an Organization resource
udiDeviceIdentifier | S | 0..* | BackboneElement | Unique Device Identifier (UDI) Barcode string on the packaging
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 |  | 1..1 | string | The identifier that is to be associated with every Device that references this DeviceDefintiion for the issuer and jurisdiction provided in the DeviceDefinition.udiDeviceIdentifier
issuer |  | 1..1 | uri | The organization that assigns the identifier algorithm
jurisdiction |  | 1..1 | uri | The jurisdiction to which the deviceIdentifier applies
marketDistribution |  | 0..* | BackboneElement | Indicates whether and when the device is available on the market
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
marketPeriod |  | 1..1 | Period | Begin and end dates for the commercial distribution of the device
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
start | Σ C | 0..1 | dateTime | Starting time with inclusive boundary
end | Σ C | 0..1 | dateTime | End time with inclusive boundary, if not ongoing
subJurisdiction |  | 1..1 | uri | National state or territory where the device is commercialized
packaging |  | 0..* | See packaging (DeviceDefinition) | Allows packages within packages
version |  | 0..* | BackboneElement | The version of the device or software
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, e.g. manufacturer, approved, internal
component |  | 0..1 | Identifier | The hardware or software module of the device to which the version applies
value |  | 1..1 | string | The version text
safety | S Σ | 0..* | CodeableConcept | Safety characteristics of the device Binding: DeviceSafety (example)
shelfLifeStorage |  | 0..* | ProductShelfLife | Shelf Life and storage information
languageCode |  | 0..* | CodeableConcept | Language code for the human-readable text strings produced by the device (all supported)
property | S | 0..* | BackboneElement | Inherent, essentially fixed, characteristics of this kind of device, e.g., time properties, size, etc
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 being represented Binding: DeviceType (example): Device property type.
value[x] |  | 1..1 |  | Value of the property
valueQuantity |  |  | Quantity |
valueCodeableConcept |  |  | CodeableConcept |
valueString |  |  | string |
valueBoolean |  |  | boolean |
valueInteger |  |  | integer |
valueRange |  |  | Range |
valueAttachment |  |  | Attachment |
owner |  | 0..1 | Reference(Organization) | Organization responsible for device
contact |  | 0..* | ContactPoint | Details for human/organization for support
link |  | 0..* | BackboneElement | An associated device, attached to, used with, communicating with or linking a previous or new device model to the focal 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
relation |  | 1..1 | Coding | The type indicates the relationship of the related device to the device instance Binding: DeviceDefinitionRelationType (extensible): The type of relation between this and the linked device.
relatedDevice |  | 1..1 | CodeableReference(DeviceDefinition) | A reference to the linked device
note |  | 0..* | Annotation | Device notes and comments
material |  | 0..* | BackboneElement | A substance used to create the material(s) of which the device is made
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
substance |  | 1..1 | CodeableConcept | A relevant substance that the device contains, may contain, or is made of
alternate |  | 0..1 | boolean | Indicates an alternative material of the device
allergenicIndicator |  | 0..1 | boolean | Whether the substance is a known or suspected allergen
productionIdentifierInUDI |  | 0..* | code | lot-number | manufactured-date | serial-number | expiration-date | biological-source | software-version Binding: DeviceProductionIdentifierInUDI (required): The production identifier(s) that are expected to appear in the UDI carrier.
guideline | S | 0..1 | BackboneElement | Information aimed at providing directions for the usage of this model of 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
useContext |  | 0..* | UsageContext | The circumstances that form the setting for using the device
usageInstruction |  | 0..1 | markdown | Detailed written and visual directions for the user on how to use the device
relatedArtifact |  | 0..* | RelatedArtifact | A source of information or reference for this guideline
indication |  | 0..* | CodeableConcept | A clinical condition for which the device was designed to be used
contraindication |  | 0..* | CodeableConcept | A specific situation when a device should not be used because it may cause harm
warning |  | 0..* | CodeableConcept | Specific hazard alert information that a user needs to know before using the device
intendedUse |  | 0..1 | string | A description of the general purpose or medical use of the device or its function
correctiveAction |  | 0..1 | BackboneElement | Tracking of latest field safety corrective action
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
recall |  | 1..1 | boolean | Whether the corrective action was a recall
scope |  | 0..1 | code | model | lot-numbers | serial-numbers Binding: DeviceCorrectiveActionScope (required): The type or scope of the corrective action.
period |  | 1..1 | Period | Start and end dates of the corrective action
chargeItem |  | 0..* | BackboneElement | Billing code or reference associated with 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
chargeItemCode |  | 1..1 | CodeableReference(ChargeItemDefinition) | The code or reference for the charge item
count |  | 1..1 | Quantity | Coefficient applicable to the billing code
effectivePeriod |  | 0..1 | Period | A specific time period in which this charge item applies
useContext |  | 0..* | UsageContext | The context to which this charge item applies
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
DeviceDefinition.language | Base | required | All Languages | 📍5.0.0 | FHIR Std.
DeviceDefinition.regulatoryIdentifier.​type | Base | required | Device Definition Regulatory Identifier Type | 📍5.0.0 | FHIR Std.
DeviceDefinition.deviceName.​type | Base | required | Device Name Type | 📍5.0.0 | FHIR Std.
DeviceDefinition.classification.​type | Base | example | Device Type | 📍5.0.0 | FHIR Std.
DeviceDefinition.classification:gmdn.​type | Base | example | Device Type | 📍5.0.0 | FHIR Std.
DeviceDefinition.classification:snomed.​type | Base | example | Device Type | 📍5.0.0 | FHIR Std.
DeviceDefinition.classification:emdn.​type | Base | example | Device Type | 📍5.0.0 | FHIR Std.
DeviceDefinition.conformsTo.​category | Base | example | Device Specification Category | 📍5.0.0 | FHIR Std.
DeviceDefinition.conformsTo.​specification | Base | example | Device Specification Type | 📍5.0.0 | FHIR Std.
DeviceDefinition.safety | Base | example | Device Safety | 📍5.0.0 | FHIR Std.
DeviceDefinition.property.​type | Base | example | Device Property Type | 📍5.0.0 | FHIR Std.
DeviceDefinition.link.​relation | Base | extensible | Device Definition Relation Type | 📍5.0.0 | FHIR Std.
DeviceDefinition.productionIdentifierInUDI | Base | required | Device Production Identifier In UDI | 📍5.0.0 | FHIR Std.
DeviceDefinition.correctiveAction.​scope | Base | required | Device Corrective Action Scope | 📍5.0.0 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | DeviceDefinition | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | DeviceDefinition | 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | DeviceDefinition | 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 | DeviceDefinition | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | DeviceDefinition | 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 DeviceDefinition

Summary

Mandatory: 0 element(3 nested mandatory elements)
Must-Support: 14 elements

Extensions

This structure refers to these extensions:

- http://hl7.org/fhir/uv/order-catalog/StructureDefinition/CatalogReference

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of DeviceDefinition.classification

Maturity: 2

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
DeviceDefinition |  | 0..* | DeviceDefinition | An instance of a medical-related component of a medical device
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
contained |  | 0..* | Resource | Contained, inline Resources
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:CatalogReference |  | 0..* | Reference(Catalog Header) | Reference to a catalog URL: http://hl7.org/fhir/uv/order-catalog/StructureDefinition/CatalogReference
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
description | S | 0..1 | markdown | Additional information to describe the device
identifier | S Σ | 0..* | Identifier | Instance identifier
udiDeviceIdentifier | S | 0..* | BackboneElement | Unique Device Identifier (UDI) Barcode string
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
deviceIdentifier |  | 1..1 | string | The identifier that is to be associated with every Device that references this DeviceDefintiion for the issuer and jurisdiction provided in the DeviceDefinition.udiDeviceIdentifier
issuer |  | 1..1 | uri | The organization that assigns the identifier algorithm
jurisdiction |  | 1..1 | uri | The jurisdiction to which the deviceIdentifier applies
marketDistribution | S | 0..* | BackboneElement | Indicates whether and when the device is available on the market
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
marketPeriod |  | 1..1 | Period | Begin and end dates for the commercial distribution of the device
start | Σ C | 0..1 | dateTime | Starting time with inclusive boundary
end | Σ C | 0..1 | dateTime | End time with inclusive boundary, if not ongoing
subJurisdiction |  | 1..1 | uri | National state or territory where the device is commercialized
partNumber | S | 0..1 | string | The part number or catalog number of the device
manufacturer | S Σ | 0..1 | Reference(Organization) | Name of device manufacturer
deviceName | S Σ | 0..* | BackboneElement | The name or names of the device as given by the manufacturer
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
name | Σ | 1..1 | string | A name that is used to refer to the device
type | Σ | 1..1 | code | registered-name | user-friendly-name | patient-reported-name Binding: DeviceNameType (required): The type of name the device is referred by.
modelNumber | S Σ | 0..1 | string | The catalog or model number for the device for example as defined by the manufacturer
Slices for classification | Σ | 0..* | BackboneElement | What kind of device or device system this is Slice: Unordered, Open by value:type.coding.system
classification:All Slices |  |  |  | Content/Rules for all slices
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type | Σ | 1..1 | CodeableConcept | A classification or risk class of the device model Binding: DeviceType (example): Type of device e.g. according to official classification.
classification:gmdn | Σ | 0..* | BackboneElement | GMDN classification
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type | Σ | 1..1 | CodeableConcept | A classification or risk class of the device model Binding: DeviceType (example): Type of device e.g. according to official classification.
classification:snomed | Σ | 0..1 | BackboneElement | SNOMED CT
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type | Σ | 1..1 | CodeableConcept | A classification or risk class of the device model Binding: DeviceType (example): Type of device e.g. according to official classification.
classification:emdn | Σ | 0..1 | BackboneElement | EMDN
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type | Σ | 1..1 | CodeableConcept | A classification or risk class of the device model Binding: DeviceType (example): Type of device e.g. according to official classification.
hasPart | Σ | 0..* | BackboneElement | A device, part of the current one
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
reference | Σ | 1..1 | Reference(DeviceDefinition) | Reference to the part
count | S | 0..1 | integer | Number of occurrences of the part
packaging |  | 0..* | BackboneElement | Information about the packaging of the device, i.e. how the device is packaged
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type |  | 0..1 | CodeableConcept | A code that defines the specific type of packaging
count | S | 0..1 | integer | The number of items contained in the package (devices or sub-packages)
udiDeviceIdentifier | S | 0..* | BackboneElement | Unique Device Identifier (UDI) Barcode string on the packaging
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
deviceIdentifier |  | 1..1 | string | The identifier that is to be associated with every Device that references this DeviceDefintiion for the issuer and jurisdiction provided in the DeviceDefinition.udiDeviceIdentifier
issuer |  | 1..1 | uri | The organization that assigns the identifier algorithm
jurisdiction |  | 1..1 | uri | The jurisdiction to which the deviceIdentifier applies
safety | S Σ | 0..* | CodeableConcept | Safety characteristics of the device Binding: DeviceSafety (example)
property | S | 0..* | BackboneElement | Inherent, essentially fixed, characteristics of this kind of device, e.g., time properties, size, etc
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type |  | 1..1 | CodeableConcept | Code that specifies the property being represented Binding: DeviceType (example): Device property type.
value[x] |  | 1..1 |  | Value of the property
valueQuantity |  |  | Quantity |
valueCodeableConcept |  |  | CodeableConcept |
valueString |  |  | string |
valueBoolean |  |  | boolean |
valueInteger |  |  | integer |
valueRange |  |  | Range |
valueAttachment |  |  | Attachment |
contact |  | 0..* | ContactPoint | Details for human/organization for support
productionIdentifierInUDI |  | 0..* | code | lot-number | manufactured-date | serial-number | expiration-date | biological-source | software-version Binding: DeviceProductionIdentifierInUDI (required): The production identifier(s) that are expected to appear in the UDI carrier.
guideline | S | 0..1 | BackboneElement | Information aimed at providing directions for the usage of this model of device
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
DeviceDefinition.deviceName.​type | Base | required | Device Name Type | 📍5.0.0 | FHIR Std.
DeviceDefinition.classification.​type | Base | example | Device Type | 📍5.0.0 | FHIR Std.
DeviceDefinition.classification:gmdn.​type | Base | example | Device Type | 📍5.0.0 | FHIR Std.
DeviceDefinition.classification:snomed.​type | Base | example | Device Type | 📍5.0.0 | FHIR Std.
DeviceDefinition.classification:emdn.​type | Base | example | Device Type | 📍5.0.0 | FHIR Std.
DeviceDefinition.safety | Base | example | Device Safety | 📍5.0.0 | FHIR Std.
DeviceDefinition.property.​type | Base | example | Device Property Type | 📍5.0.0 | FHIR Std.
DeviceDefinition.productionIdentifierInUDI | Base | required | Device Production Identifier In UDI | 📍5.0.0 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | DeviceDefinition | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | DeviceDefinition | 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | DeviceDefinition | 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 | DeviceDefinition | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | DeviceDefinition | 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 DeviceDefinition

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
DeviceDefinition |  | 0..* | DeviceDefinition | An instance of a medical-related component of a medical device
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:CatalogReference |  | 0..* | Reference(Catalog Header) | Reference to a catalog URL: http://hl7.org/fhir/uv/order-catalog/StructureDefinition/CatalogReference
description | S | 0..1 | markdown | Additional information to describe the device
identifier | S | 0..* | Identifier | Instance identifier
udiDeviceIdentifier | S | 0..* | BackboneElement | Unique Device Identifier (UDI) Barcode string
deviceIdentifier |  | 1..1 | string | The identifier that is to be associated with every Device that references this DeviceDefintiion for the issuer and jurisdiction provided in the DeviceDefinition.udiDeviceIdentifier
issuer |  | 1..1 | uri | The organization that assigns the identifier algorithm
jurisdiction |  | 1..1 | uri | The jurisdiction to which the deviceIdentifier applies
marketDistribution | S | 0..* | BackboneElement | Indicates whether and when the device is available on the market
marketPeriod |  |  |  |
start |  | 0..1 | dateTime | Starting time with inclusive boundary
end |  | 0..1 | dateTime | End time with inclusive boundary, if not ongoing
subJurisdiction |  | 1..1 | uri | National state or territory where the device is commercialized
partNumber | S | 0..1 | string | The part number or catalog number of the device
manufacturer | S | 0..1 | Reference(Organization) | Name of device manufacturer
deviceName | S | 0..* | BackboneElement | The name or names of the device as given by the manufacturer
name |  | 1..1 | string | A name that is used to refer to the device
type |  | 1..1 | code | registered-name | user-friendly-name | patient-reported-name
modelNumber | S | 0..1 | string | The catalog or model number for the device for example as defined by the manufacturer
Slices for classification |  | 0..* | BackboneElement | What kind of device or device system this is Slice: Unordered, Open by value:type.coding.system
classification:gmdn |  | 0..* | BackboneElement | GMDN classification
type |  |  |  |
coding |  |  |  |
system |  | 1..1 | uri | Identity of the terminology system Required Pattern: http://terminology.hl7.org/CodeSystem/GMDN
code |  | 0..1 | code | Symbol in syntax defined by the system
display |  | 0..1 | string | Representation defined by the system
classification:snomed |  | 0..1 | BackboneElement | SNOMED CT
type |  |  |  |
coding |  |  |  |
system |  | 1..1 | uri | Identity of the terminology system Required Pattern: http://snomed.info/sct
classification:emdn |  | 0..1 | BackboneElement | EMDN
type |  |  |  |
coding |  |  |  |
system |  | 1..1 | uri | Identity of the terminology system Required Pattern: urn:oid:1.2.250.1.213.2.68
code |  | 0..1 | code | Symbol in syntax defined by the system
display |  | 0..1 | string | Representation defined by the system
hasPart |  |  |  |
count | S | 0..1 | integer | Number of occurrences of the part
packaging |  |  |  |
type |  | 0..1 | CodeableConcept | A code that defines the specific type of packaging
count | S | 0..1 | integer | The number of items contained in the package (devices or sub-packages)
udiDeviceIdentifier | S | 0..* | BackboneElement | Unique Device Identifier (UDI) Barcode string on the packaging
deviceIdentifier |  | 1..1 | string | The identifier that is to be associated with every Device that references this DeviceDefintiion for the issuer and jurisdiction provided in the DeviceDefinition.udiDeviceIdentifier
issuer |  | 1..1 | uri | The organization that assigns the identifier algorithm
jurisdiction |  | 1..1 | uri | The jurisdiction to which the deviceIdentifier applies
marketDistribution |  |  |  |
marketPeriod |  |  |  |
end |  | 0..1 | dateTime | End time with inclusive boundary, if not ongoing
subJurisdiction |  | 1..1 | uri | National state or territory where the device is commercialized
safety | S | 0..* | CodeableConcept | Safety characteristics of the device
property | S | 0..* | BackboneElement | Inherent, essentially fixed, characteristics of this kind of device, e.g., time properties, size, etc
contact |  | 0..* | ContactPoint | Details for human/organization for support
productionIdentifierInUDI |  | 0..* | code | lot-number | manufactured-date | serial-number | expiration-date | biological-source | software-version
guideline | S | 0..1 | BackboneElement | Information aimed at providing directions for the usage of this model of device
Documentation for this format

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
DeviceDefinition |  | 0..* | DeviceDefinition | An instance of a medical-related component of a medical device
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: AllLanguages (required): IETF language tag for a human language
Additional Bindings | Purpose
CommonLanguages | Starter
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:CatalogReference |  | 0..* | Reference(Catalog Header) | Reference to a catalog URL: http://hl7.org/fhir/uv/order-catalog/StructureDefinition/CatalogReference
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
description | S | 0..1 | markdown | Additional information to describe the device
identifier | S Σ | 0..* | Identifier | Instance identifier
udiDeviceIdentifier | 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 |  | 1..1 | string | The identifier that is to be associated with every Device that references this DeviceDefintiion for the issuer and jurisdiction provided in the DeviceDefinition.udiDeviceIdentifier
issuer |  | 1..1 | uri | The organization that assigns the identifier algorithm
jurisdiction |  | 1..1 | uri | The jurisdiction to which the deviceIdentifier applies
marketDistribution | S | 0..* | BackboneElement | Indicates whether and when the device is available on the market
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
marketPeriod |  | 1..1 | Period | Begin and end dates for the commercial distribution of the device
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
start | Σ C | 0..1 | dateTime | Starting time with inclusive boundary
end | Σ C | 0..1 | dateTime | End time with inclusive boundary, if not ongoing
subJurisdiction |  | 1..1 | uri | National state or territory where the device is commercialized
regulatoryIdentifier |  | 0..* | BackboneElement | Regulatory identifier(s) associated with this 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 |  | 1..1 | code | basic | master | license Binding: DeviceDefinitionRegulatoryIdentifierType (required): Device regulatory identifier type.
deviceIdentifier |  | 1..1 | string | The identifier itself
issuer |  | 1..1 | uri | The organization that issued this identifier
jurisdiction |  | 1..1 | uri | The jurisdiction to which the deviceIdentifier applies
partNumber | S | 0..1 | string | The part number or catalog number of the device
manufacturer | S Σ | 0..1 | Reference(Organization) | Name of device manufacturer
deviceName | S Σ | 0..* | BackboneElement | The name or names 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 | A name that is used to refer to the device
type | Σ | 1..1 | code | registered-name | user-friendly-name | patient-reported-name Binding: DeviceNameType (required): The type of name the device is referred by.
modelNumber | S Σ | 0..1 | string | The catalog or model number for the device for example as defined by the manufacturer
Slices for classification | Σ | 0..* | BackboneElement | What kind of device or device system this is Slice: Unordered, Open by value:type.coding.system
classification: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
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type | Σ | 1..1 | CodeableConcept | A classification or risk class of the device model Binding: DeviceType (example): Type of device e.g. according to official classification.
justification |  | 0..* | RelatedArtifact | Further information qualifying this classification of the device model
classification:gmdn | Σ | 0..* | BackboneElement | GMDN classification
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 | A classification or risk class of the device model Binding: DeviceType (example): Type of device e.g. according to official classification.
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
coding | Σ | 0..* | Coding | Code defined by a terminology system
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://terminology.hl7.org/CodeSystem/GMDN
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ C | 0..1 | code | Symbol in syntax defined by the system
display | Σ C | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Plain text representation of the concept
justification |  | 0..* | RelatedArtifact | Further information qualifying this classification of the device model
classification:snomed | Σ | 0..1 | BackboneElement | SNOMED CT
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 | A classification or risk class of the device model Binding: DeviceType (example): Type of device e.g. according to official classification.
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
coding | Σ | 0..* | Coding | Code defined by a terminology system
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://snomed.info/sct
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ C | 0..1 | code | Symbol in syntax defined by the system
display | Σ C | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Plain text representation of the concept
justification |  | 0..* | RelatedArtifact | Further information qualifying this classification of the device model
classification:emdn | Σ | 0..1 | BackboneElement | EMDN
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 | A classification or risk class of the device model Binding: DeviceType (example): Type of device e.g. according to official classification.
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
coding | Σ | 0..* | Coding | Code defined by a terminology system
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system Required Pattern: urn:oid:1.2.250.1.213.2.68
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ C | 0..1 | code | Symbol in syntax defined by the system
display | Σ C | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Plain text representation of the concept
justification |  | 0..* | RelatedArtifact | Further information qualifying this classification of the device model
conformsTo | Σ | 0..* | BackboneElement | Identifies the standards, specifications, or formal guidances for the capabilities supported by 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
category | Σ | 0..1 | CodeableConcept | Describes the common type of the standard, specification, or formal guidance Binding: DeviceSpecificationCategory (example)
specification | Σ | 1..1 | CodeableConcept | Identifies the standard, specification, or formal guidance that the device adheres to the Device Specification type Binding: DeviceSpecificationType (example)
version | Σ | 0..* | string | The specific form or variant of the standard, specification or formal guidance
source |  | 0..* | RelatedArtifact | Standard, regulation, certification, or guidance website, document, or other publication, or similar, supporting the conformance
hasPart | Σ | 0..* | BackboneElement | A device, part of the current one
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
reference | Σ | 1..1 | Reference(DeviceDefinition) | Reference to the part
count | S | 0..1 | integer | Number of occurrences of the part
packaging |  | 0..* | BackboneElement | Information about the packaging of the device, i.e. how the device is packaged
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
identifier |  | 0..1 | Identifier | Business identifier of the packaged medication
type |  | 0..1 | CodeableConcept | A code that defines the specific type of packaging
count | S | 0..1 | integer | The number of items contained in the package (devices or sub-packages)
distributor |  | 0..* | BackboneElement | An organization that distributes the packaged 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
name |  | 0..1 | string | Distributor's human-readable name
organizationReference |  | 0..* | Reference(Organization) | Distributor as an Organization resource
udiDeviceIdentifier | S | 0..* | BackboneElement | Unique Device Identifier (UDI) Barcode string on the packaging
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 |  | 1..1 | string | The identifier that is to be associated with every Device that references this DeviceDefintiion for the issuer and jurisdiction provided in the DeviceDefinition.udiDeviceIdentifier
issuer |  | 1..1 | uri | The organization that assigns the identifier algorithm
jurisdiction |  | 1..1 | uri | The jurisdiction to which the deviceIdentifier applies
marketDistribution |  | 0..* | BackboneElement | Indicates whether and when the device is available on the market
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
marketPeriod |  | 1..1 | Period | Begin and end dates for the commercial distribution of the device
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
start | Σ C | 0..1 | dateTime | Starting time with inclusive boundary
end | Σ C | 0..1 | dateTime | End time with inclusive boundary, if not ongoing
subJurisdiction |  | 1..1 | uri | National state or territory where the device is commercialized
packaging |  | 0..* | See packaging (DeviceDefinition) | Allows packages within packages
version |  | 0..* | BackboneElement | The version of the device or software
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, e.g. manufacturer, approved, internal
component |  | 0..1 | Identifier | The hardware or software module of the device to which the version applies
value |  | 1..1 | string | The version text
safety | S Σ | 0..* | CodeableConcept | Safety characteristics of the device Binding: DeviceSafety (example)
shelfLifeStorage |  | 0..* | ProductShelfLife | Shelf Life and storage information
languageCode |  | 0..* | CodeableConcept | Language code for the human-readable text strings produced by the device (all supported)
property | S | 0..* | BackboneElement | Inherent, essentially fixed, characteristics of this kind of device, e.g., time properties, size, etc
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 being represented Binding: DeviceType (example): Device property type.
value[x] |  | 1..1 |  | Value of the property
valueQuantity |  |  | Quantity |
valueCodeableConcept |  |  | CodeableConcept |
valueString |  |  | string |
valueBoolean |  |  | boolean |
valueInteger |  |  | integer |
valueRange |  |  | Range |
valueAttachment |  |  | Attachment |
owner |  | 0..1 | Reference(Organization) | Organization responsible for device
contact |  | 0..* | ContactPoint | Details for human/organization for support
link |  | 0..* | BackboneElement | An associated device, attached to, used with, communicating with or linking a previous or new device model to the focal 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
relation |  | 1..1 | Coding | The type indicates the relationship of the related device to the device instance Binding: DeviceDefinitionRelationType (extensible): The type of relation between this and the linked device.
relatedDevice |  | 1..1 | CodeableReference(DeviceDefinition) | A reference to the linked device
note |  | 0..* | Annotation | Device notes and comments
material |  | 0..* | BackboneElement | A substance used to create the material(s) of which the device is made
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
substance |  | 1..1 | CodeableConcept | A relevant substance that the device contains, may contain, or is made of
alternate |  | 0..1 | boolean | Indicates an alternative material of the device
allergenicIndicator |  | 0..1 | boolean | Whether the substance is a known or suspected allergen
productionIdentifierInUDI |  | 0..* | code | lot-number | manufactured-date | serial-number | expiration-date | biological-source | software-version Binding: DeviceProductionIdentifierInUDI (required): The production identifier(s) that are expected to appear in the UDI carrier.
guideline | S | 0..1 | BackboneElement | Information aimed at providing directions for the usage of this model of 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
useContext |  | 0..* | UsageContext | The circumstances that form the setting for using the device
usageInstruction |  | 0..1 | markdown | Detailed written and visual directions for the user on how to use the device
relatedArtifact |  | 0..* | RelatedArtifact | A source of information or reference for this guideline
indication |  | 0..* | CodeableConcept | A clinical condition for which the device was designed to be used
contraindication |  | 0..* | CodeableConcept | A specific situation when a device should not be used because it may cause harm
warning |  | 0..* | CodeableConcept | Specific hazard alert information that a user needs to know before using the device
intendedUse |  | 0..1 | string | A description of the general purpose or medical use of the device or its function
correctiveAction |  | 0..1 | BackboneElement | Tracking of latest field safety corrective action
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
recall |  | 1..1 | boolean | Whether the corrective action was a recall
scope |  | 0..1 | code | model | lot-numbers | serial-numbers Binding: DeviceCorrectiveActionScope (required): The type or scope of the corrective action.
period |  | 1..1 | Period | Start and end dates of the corrective action
chargeItem |  | 0..* | BackboneElement | Billing code or reference associated with 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
chargeItemCode |  | 1..1 | CodeableReference(ChargeItemDefinition) | The code or reference for the charge item
count |  | 1..1 | Quantity | Coefficient applicable to the billing code
effectivePeriod |  | 0..1 | Period | A specific time period in which this charge item applies
useContext |  | 0..* | UsageContext | The context to which this charge item applies
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
DeviceDefinition.language | Base | required | All Languages | 📍5.0.0 | FHIR Std.
DeviceDefinition.regulatoryIdentifier.​type | Base | required | Device Definition Regulatory Identifier Type | 📍5.0.0 | FHIR Std.
DeviceDefinition.deviceName.​type | Base | required | Device Name Type | 📍5.0.0 | FHIR Std.
DeviceDefinition.classification.​type | Base | example | Device Type | 📍5.0.0 | FHIR Std.
DeviceDefinition.classification:gmdn.​type | Base | example | Device Type | 📍5.0.0 | FHIR Std.
DeviceDefinition.classification:snomed.​type | Base | example | Device Type | 📍5.0.0 | FHIR Std.
DeviceDefinition.classification:emdn.​type | Base | example | Device Type | 📍5.0.0 | FHIR Std.
DeviceDefinition.conformsTo.​category | Base | example | Device Specification Category | 📍5.0.0 | FHIR Std.
DeviceDefinition.conformsTo.​specification | Base | example | Device Specification Type | 📍5.0.0 | FHIR Std.
DeviceDefinition.safety | Base | example | Device Safety | 📍5.0.0 | FHIR Std.
DeviceDefinition.property.​type | Base | example | Device Property Type | 📍5.0.0 | FHIR Std.
DeviceDefinition.link.​relation | Base | extensible | Device Definition Relation Type | 📍5.0.0 | FHIR Std.
DeviceDefinition.productionIdentifierInUDI | Base | required | Device Production Identifier In UDI | 📍5.0.0 | FHIR Std.
DeviceDefinition.correctiveAction.​scope | Base | required | Device Corrective Action Scope | 📍5.0.0 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | DeviceDefinition | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | DeviceDefinition | 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | DeviceDefinition | 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 | DeviceDefinition | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | DeviceDefinition | 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 DeviceDefinition

Summary

Mandatory: 0 element(3 nested mandatory elements)
Must-Support: 14 elements

Extensions

This structure refers to these extensions:

- http://hl7.org/fhir/uv/order-catalog/StructureDefinition/CatalogReference

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of DeviceDefinition.classification

Maturity: 2

Other representations of profile: CSV, Excel, Schematron