Recommendation
HasPart in DeviceDefinition and Parent in Device
- Remove parentDevice from DeviceDefinition resource
- No change to hasPart backbone in DeviceDefinition resource
- No change to Device resource
Options
Parent (only) on Device and Device Definition | HasPart (only) on Device and Device Definition | Parent and HasPart on Device Definition (current state) | HasPart in DeviceDefinition and Parent in Device | |
---|---|---|---|---|
Description | Device.parent allows the instance of a device to reference its parent (0..1) DeviceDefinition.parentDevice allows the kind of devices to be associated to (0..1 ) parent device definitions. (Note - need to rename DeviceDefinition.parentDevice to DeviceDefinition.parent if it is retained on DeviceDefinition) | Device does not currently include hasPart. DeviceDefinition.hasPart includes a "count" attribute as well as Reference(DeviceDefinition) | No change to Device resource will be made. This option would require DeviceDefinition to include an explanation when hasPart is used and when .parentDevice is used. (Note - need to rename DeviceDefinition.parentDevice to DeviceDefinition.parent if it is retained on DeviceDefinition) | Remove parent from DeviceDefinition as there is no real good use/reason to have it when hasPart supports all the use cases and only have parent in Device as that is the only direction needed for devices as a particular device can only be part of another device at any point in time. |
Pros | Enforces that Device instances are only a component of a single parent Device. Allows swapping in new component Devices without modifying the parent Device | Updates to components are recorded as changes to the parent. | Supports currently known use cases. Enforces that Device instances are only a component of a single parent Device. Allows swapping in new component Devices without modifying the parent Device | |
Cons | DeviceDefinition.hasPart.count will be removed, removing support for a device being able to be defined for use in multiple other devices (a LIVD requirement). There is no other alternative than as that effectively would be a hasPart. | This is a breaking change in Device if the Device.parent element was removed. | Confusing as to when to use parent vs. hasPart when effectively parent is not needed, thus Device would still be accessed differently. | Inconsistent access paths |
Use Cases | Add POCD Use Cases here Add Pharmacy/Medication Admin Use Cases here | Add Laboratory Use Cases here | Add Laboratory Use Cases here |
Recommendation
Working Group | Recommendation |
---|---|
DEV WG | 2022/12/14: Voted within WG to:
Although there is value in consistency, it was felt that parent suits the Device use better, since it prevents a single component from being placed in multiple parent devices, while hasPart suits DeviceDefinition better, since it permits reuse of component definitions across multiple parent definitions. hasPart also allows specifying a count of components, which is appropriate to DeviceDefinition, while Device need to know the actual components. Detailed proposed changes (not voted on):
An example of the hasPart relationship would be blood pressure, oximeter, and temperature modules which can be plugged into a vital signs monitor. The vital signs monitor DeviceDefinition would have a DeviceDefinition describes the device-component relationship from the device to the component; Device describes the relationship from the component to the parent device. Both approaches allow traversing the hierarchy in either direction, but the approach adopted by each resource type offers benefits to the expected uses of that resource type."
An example of the parent relationship would be blood pressure, oximeter, and temperature modules which can be plugged into a vital signs monitor. These modules are represented as separate Devices with, when connected, their Device describes the device-component relationship from the component to the parent device; DeviceDefinition describes the relationship from the device to the component. Both approaches allow traversing the hierarchy in either direction, but the approach adopted by each resource type offers benefits to the expected uses of that resource type. |
OO/HCP WG |
Use Cases Inventory
Note: the use cases below were identified, but not yet linked to any of the options listed above.
POCD
- Central Venous Catheter - multi-lumen (2-5 lumens)
- Endo bronchial tubes - 2 tubes bonded together
- Glucose meter may connect to multiple data managers in the healthcare facility
- Ventilator or Patient Monitor that is composed of several sensors and/or actuators (may be devices themselves) - collect measurements and alerts, calculate and/or summarize parameters
- Transport Monitor - acts a fully independent patient monitoring device during transport and becomes part of a Bedside Monitor when clicked onto it
Lab-related
- Module with 2 ISE electrodes
- Container with multiple reagents - and possible test/test kits it is used with
Miscellaneous
- Devices that send the observation to two or more other devices (note - the gateway may pass these individually to multiple endpoints - need to differentiate the device parts from other elements in the device resource)
Supporting Information
Figure: POCD Profiles Diagram
https://build.fhir.org/ig/HL7/uv-pocd/profiles.html
Comparison of Device parent vs. hasPart design (with DeviceDefinition using only hasPart)
With the parent approach, Lead1 can only be associated with a single EEG at a time, and moving the lead to another EEG is recorded as a change to the lead. This models reality in that a part can only be in a single place at one time; it is also more robust since it is a single change.
With the hasPart approach moving a lead to another EEG is a change to both the originating and destination EEGs. It is possible that, through an error, etc., two EEGs could have the same lead as a part. This models reality in that moving a part from one device to another is a change to the parent device, not to the part.
If we go with DeviceDefinition.hasPart (only) and Device.parent, potential changes include:
1 Comment
Grant Forrest
Martin Hurrell asked me to remind the group that if Use Cases from anesthesia are being sought, there is a wealth of them in the Anesthesia DAM which gained approval in Feb 2022.
Intraprocedure Domain Analysis Project
For a detailed exposition of non-communicating "invasive" devices in terms of their parts and relationships, in particular needles, tubes and catheters, please see this post:
https://www.lunariaclinical.co.uk/2022/02/15/invasive-devices-on-fhir/