Specification of health data transfer from devices to DiGA (§ 374a SGB V)
| Official URL: https://gematik.de/fhir/hddt/StructureDefinition/hddt-personal-health-device | Version: 0.1.0 | |||
| Draft as of 2025-10-27 | Computable Name: HddtPersonalHealthDevice | |||
Copyright/Legal: Copyright (c) 2025 gematik GmbH |
||||
This profile defines a Personal Health Device within the context of § 374a SGB V. A Personal Health Device acc. to this profile is any medical aid or implant that
Personal Health Devices that fulfill the criteria of this regulation MUST be able to pass on data to authorized Digital Health Applications (DiGA acc. § 374a SGB V) using the protocols and interfaces as defined in the HDDT specification.
This profile helps a device data consuming DiGA to
Obligations and Conventions:
The Personal Health Device’s backend regularely synchronizes with the device hardware through a gateway (Personal Health Gateway).
The maximum delay that the concrete end-to-end synchronization from the Personal Health Device to the FHIR resource server imposes is provided by the BfArM HIIS-VZ (Device Registry)
through the static attribute Delay-From-Real-Time. If a resource server has not synchronized with the connected Personal Health Device for a time span
longer than Delay-From-Real-Time(e.g. due to temporarely lost Bluetooth or internet connectivity), the status of the Device resource that represents the
Personal Health Device MUST be set to unknown.
Constraints applied:
status is set to Must Support in order to allow a DiGA to detect missing data (e.g. due to connection issues)deviceName and serialNumber are set to Must Support to allow a validation of the source of device data by comparing this information with information printed on the Personal Health Devicedefinition is constrained as a mandatory element in order to enable a DiGA to obtain static device attributes through this referenceexpirationDate is set to Must Support to allow a DiGA to be aware of regular sensor changes (e.g. for patient wearing a rtCGM)Usages:
You can also check for usages in the FHIR IG Statistics
Description of Profiles, Differentials, Snapshots and how the different presentations work.
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Device | Personal Health Device | |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
1..1 | Reference(DeviceDefinition) | Definition of the Personal health device | |
![]() ![]() |
?!SΣ | 0..1 | code | active | inactive | entered-in-error | unknown Binding: FHIRDeviceStatus (required): The availability status of the device. |
![]() ![]() |
S | 0..1 | dateTime | Date and time of expiry of this Personal health device (if applicable) |
![]() ![]() |
S | 0..1 | string | Serial number of the Personal health device |
![]() ![]() |
S | 0..* | BackboneElement | Name of the Personal health device |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
1..1 | string | The name of the device | |
![]() ![]() ![]() |
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. | |
![]() ![]() |
0..1 | CodeableConcept | The machine-readable type of the Personal health device Binding: Device Type of personal health devices (required) | |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Device.status | Base | required | FHIRDeviceStatus | 📍4.0.1 | FHIR Std. |
| Device.deviceName.type | Base | required | DeviceNameType | 📍4.0.1 | FHIR Std. |
| Device.type | Base | required | Device Type of personal health devices | 📦0.1.0 | This IG |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Device | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Device | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource |
contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
|
| dom-4 | error | Device | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated |
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
|
| dom-5 | error | Device | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Device | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
This structure is derived from Device
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Device | Personal Health Device | |
![]() ![]() |
1..1 | Reference(DeviceDefinition) | Definition of the Personal health device | |
![]() ![]() |
S | 0..1 | code | active | inactive | entered-in-error | unknown |
![]() ![]() |
S | 0..1 | dateTime | Date and time of expiry of this Personal health device (if applicable) |
![]() ![]() |
S | 0..1 | string | Serial number of the Personal health device |
![]() ![]() |
S | 0..* | BackboneElement | Name of the Personal health device |
![]() ![]() |
0..1 | CodeableConcept | The machine-readable type of the Personal health device Binding: Device Type of personal health devices (required) | |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Device.type | Base | required | Device Type of personal health devices | 📦0.1.0 | This IG |
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | Device | Personal Health Device | |||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
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 | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
0..* | Identifier | Instance identifier | |||||
![]() ![]() |
1..1 | Reference(DeviceDefinition) | Definition of the Personal health device | |||||
![]() ![]() |
Σ | 0..* | BackboneElement | Unique Device Identifier (UDI) Barcode string | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | Mandatory fixed portion of UDI | ||||
![]() ![]() ![]() |
0..1 | uri | UDI Issuing Organization | |||||
![]() ![]() ![]() |
0..1 | uri | Regional UDI authority | |||||
![]() ![]() ![]() |
Σ | 0..1 | base64Binary | UDI Machine Readable Barcode String | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | UDI Human Readable Barcode String | ||||
![]() ![]() ![]() |
0..1 | code | barcode | rfid | manual + Binding: UDIEntryType (required): Codes to identify how UDI data was entered. | |||||
![]() ![]() |
?!SΣ | 0..1 | code | active | inactive | entered-in-error | unknown Binding: FHIRDeviceStatus (required): The availability status of the device. | ||||
![]() ![]() |
0..* | CodeableConcept | online | paused | standby | offline | not-ready | transduc-discon | hw-discon | off Binding: FHIRDeviceStatusReason (extensible): The availability status reason of the device. | |||||
![]() ![]() |
0..1 | string | The distinct identification string | |||||
![]() ![]() |
0..1 | string | Name of device manufacturer | |||||
![]() ![]() |
0..1 | dateTime | Date when the device was made | |||||
![]() ![]() |
S | 0..1 | dateTime | Date and time of expiry of this Personal health device (if applicable) | ||||
![]() ![]() |
0..1 | string | Lot number of manufacture | |||||
![]() ![]() |
S | 0..1 | string | Serial number of the Personal health device | ||||
![]() ![]() |
S | 0..* | BackboneElement | Name of the Personal health device | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
1..1 | string | The name of the device | |||||
![]() ![]() ![]() |
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. | |||||
![]() ![]() |
0..1 | string | The model number for the device | |||||
![]() ![]() |
0..1 | string | The part number of the device | |||||
![]() ![]() |
0..1 | CodeableConcept | The machine-readable type of the Personal health device Binding: Device Type of personal health devices (required) | |||||
![]() ![]() |
0..* | BackboneElement | The capabilities supported on a device, the standards to which the device conforms for a particular purpose, and used for the communication | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
1..1 | CodeableConcept | The standard that is used to operate and communicate | |||||
![]() ![]() ![]() |
0..1 | string | The version of the standard that is used to operate and communicate | |||||
![]() ![]() |
0..* | BackboneElement | The actual design of the device or software version running on the device | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
0..1 | CodeableConcept | The type of the device version | |||||
![]() ![]() ![]() |
0..1 | Identifier | A single component of the device version | |||||
![]() ![]() ![]() |
1..1 | string | The version text | |||||
![]() ![]() |
0..* | BackboneElement | The actual configuration settings of a device as it actually operates, e.g., regulation status, time properties | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
1..1 | CodeableConcept | Code that specifies the property DeviceDefinitionPropetyCode (Extensible) | |||||
![]() ![]() ![]() |
0..* | Quantity | Property value as a quantity | |||||
![]() ![]() ![]() |
0..* | CodeableConcept | Property value as a code, e.g., NTP4 (synced to NTP) | |||||
![]() ![]() |
0..1 | Reference(Patient) | Patient to whom Device is affixed | |||||
![]() ![]() |
0..1 | Reference(Organization) | Organization responsible for device | |||||
![]() ![]() |
0..* | ContactPoint | Details for human/organization for support | |||||
![]() ![]() |
0..1 | Reference(Location) | Where the device is found | |||||
![]() ![]() |
0..1 | uri | Network address to contact device | |||||
![]() ![]() |
0..* | Annotation | Device notes and comments | |||||
![]() ![]() |
Σ | 0..* | CodeableConcept | Safety Characteristics of Device | ||||
![]() ![]() |
0..1 | Reference(Device) | The parent device | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Device.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| Device.udiCarrier.entryType | Base | required | UDIEntryType | 📍4.0.1 | FHIR Std. |
| Device.status | Base | required | FHIRDeviceStatus | 📍4.0.1 | FHIR Std. |
| Device.statusReason | Base | extensible | FHIRDeviceStatusReason | 📍4.0.1 | FHIR Std. |
| Device.deviceName.type | Base | required | DeviceNameType | 📍4.0.1 | FHIR Std. |
| Device.type | Base | required | Device Type of personal health devices | 📦0.1.0 | This IG |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Device | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Device | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource |
contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
|
| dom-4 | error | Device | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated |
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
|
| dom-5 | error | Device | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Device | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
This structure is derived from Device
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Device | Personal Health Device | |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
1..1 | Reference(DeviceDefinition) | Definition of the Personal health device | |
![]() ![]() |
?!SΣ | 0..1 | code | active | inactive | entered-in-error | unknown Binding: FHIRDeviceStatus (required): The availability status of the device. |
![]() ![]() |
S | 0..1 | dateTime | Date and time of expiry of this Personal health device (if applicable) |
![]() ![]() |
S | 0..1 | string | Serial number of the Personal health device |
![]() ![]() |
S | 0..* | BackboneElement | Name of the Personal health device |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
1..1 | string | The name of the device | |
![]() ![]() ![]() |
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. | |
![]() ![]() |
0..1 | CodeableConcept | The machine-readable type of the Personal health device Binding: Device Type of personal health devices (required) | |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Device.status | Base | required | FHIRDeviceStatus | 📍4.0.1 | FHIR Std. |
| Device.deviceName.type | Base | required | DeviceNameType | 📍4.0.1 | FHIR Std. |
| Device.type | Base | required | Device Type of personal health devices | 📦0.1.0 | This IG |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Device | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Device | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource |
contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
|
| dom-4 | error | Device | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated |
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
|
| dom-5 | error | Device | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Device | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
Differential View
This structure is derived from Device
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Device | Personal Health Device | |
![]() ![]() |
1..1 | Reference(DeviceDefinition) | Definition of the Personal health device | |
![]() ![]() |
S | 0..1 | code | active | inactive | entered-in-error | unknown |
![]() ![]() |
S | 0..1 | dateTime | Date and time of expiry of this Personal health device (if applicable) |
![]() ![]() |
S | 0..1 | string | Serial number of the Personal health device |
![]() ![]() |
S | 0..* | BackboneElement | Name of the Personal health device |
![]() ![]() |
0..1 | CodeableConcept | The machine-readable type of the Personal health device Binding: Device Type of personal health devices (required) | |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Device.type | Base | required | Device Type of personal health devices | 📦0.1.0 | This IG |
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | Device | Personal Health Device | |||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
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 | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
0..* | Identifier | Instance identifier | |||||
![]() ![]() |
1..1 | Reference(DeviceDefinition) | Definition of the Personal health device | |||||
![]() ![]() |
Σ | 0..* | BackboneElement | Unique Device Identifier (UDI) Barcode string | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | Mandatory fixed portion of UDI | ||||
![]() ![]() ![]() |
0..1 | uri | UDI Issuing Organization | |||||
![]() ![]() ![]() |
0..1 | uri | Regional UDI authority | |||||
![]() ![]() ![]() |
Σ | 0..1 | base64Binary | UDI Machine Readable Barcode String | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | UDI Human Readable Barcode String | ||||
![]() ![]() ![]() |
0..1 | code | barcode | rfid | manual + Binding: UDIEntryType (required): Codes to identify how UDI data was entered. | |||||
![]() ![]() |
?!SΣ | 0..1 | code | active | inactive | entered-in-error | unknown Binding: FHIRDeviceStatus (required): The availability status of the device. | ||||
![]() ![]() |
0..* | CodeableConcept | online | paused | standby | offline | not-ready | transduc-discon | hw-discon | off Binding: FHIRDeviceStatusReason (extensible): The availability status reason of the device. | |||||
![]() ![]() |
0..1 | string | The distinct identification string | |||||
![]() ![]() |
0..1 | string | Name of device manufacturer | |||||
![]() ![]() |
0..1 | dateTime | Date when the device was made | |||||
![]() ![]() |
S | 0..1 | dateTime | Date and time of expiry of this Personal health device (if applicable) | ||||
![]() ![]() |
0..1 | string | Lot number of manufacture | |||||
![]() ![]() |
S | 0..1 | string | Serial number of the Personal health device | ||||
![]() ![]() |
S | 0..* | BackboneElement | Name of the Personal health device | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
1..1 | string | The name of the device | |||||
![]() ![]() ![]() |
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. | |||||
![]() ![]() |
0..1 | string | The model number for the device | |||||
![]() ![]() |
0..1 | string | The part number of the device | |||||
![]() ![]() |
0..1 | CodeableConcept | The machine-readable type of the Personal health device Binding: Device Type of personal health devices (required) | |||||
![]() ![]() |
0..* | BackboneElement | The capabilities supported on a device, the standards to which the device conforms for a particular purpose, and used for the communication | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
1..1 | CodeableConcept | The standard that is used to operate and communicate | |||||
![]() ![]() ![]() |
0..1 | string | The version of the standard that is used to operate and communicate | |||||
![]() ![]() |
0..* | BackboneElement | The actual design of the device or software version running on the device | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
0..1 | CodeableConcept | The type of the device version | |||||
![]() ![]() ![]() |
0..1 | Identifier | A single component of the device version | |||||
![]() ![]() ![]() |
1..1 | string | The version text | |||||
![]() ![]() |
0..* | BackboneElement | The actual configuration settings of a device as it actually operates, e.g., regulation status, time properties | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
1..1 | CodeableConcept | Code that specifies the property DeviceDefinitionPropetyCode (Extensible) | |||||
![]() ![]() ![]() |
0..* | Quantity | Property value as a quantity | |||||
![]() ![]() ![]() |
0..* | CodeableConcept | Property value as a code, e.g., NTP4 (synced to NTP) | |||||
![]() ![]() |
0..1 | Reference(Patient) | Patient to whom Device is affixed | |||||
![]() ![]() |
0..1 | Reference(Organization) | Organization responsible for device | |||||
![]() ![]() |
0..* | ContactPoint | Details for human/organization for support | |||||
![]() ![]() |
0..1 | Reference(Location) | Where the device is found | |||||
![]() ![]() |
0..1 | uri | Network address to contact device | |||||
![]() ![]() |
0..* | Annotation | Device notes and comments | |||||
![]() ![]() |
Σ | 0..* | CodeableConcept | Safety Characteristics of Device | ||||
![]() ![]() |
0..1 | Reference(Device) | The parent device | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Device.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| Device.udiCarrier.entryType | Base | required | UDIEntryType | 📍4.0.1 | FHIR Std. |
| Device.status | Base | required | FHIRDeviceStatus | 📍4.0.1 | FHIR Std. |
| Device.statusReason | Base | extensible | FHIRDeviceStatusReason | 📍4.0.1 | FHIR Std. |
| Device.deviceName.type | Base | required | DeviceNameType | 📍4.0.1 | FHIR Std. |
| Device.type | Base | required | Device Type of personal health devices | 📦0.1.0 | This IG |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Device | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Device | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource |
contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
|
| dom-4 | error | Device | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated |
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
|
| dom-5 | error | Device | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Device | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
This structure is derived from Device
Other representations of profile: CSV, Excel, Schematron