DeviceComponent Profiles

Scope and Usage

These DeviceComponent profiles are part of the Point-of-Care Device General Implementation Guide. A set of DeviceComponent and DeviceMetric resources represent the physical or logical structure of a medical device in a containment hierarchy.

A compliant device is represented by multiple DeviceComponent resources according to the MDS, VMD, and Channel DeviceComponent profiles. A top-level MDS DeviceComponent makes the root node of the tree structure. There shall be one or more VMD DeviceComponents at the VMD level, and one or more Channel DeviceComponents per VMD at the Channel level. The profiles define the following rules:

  • DeviceComponent.type shall have a coding from the ISO/IEEE 11073 MDC device nomenclature. The Rosetta Terminology Mapping Management System (RTMMS) lists available codes. DeviceComponent.type.coding allows additional coding from other code systems.
  • DeviceComponent.source shall be present and refer to a Device resource according to the PoC Device profile.
  • DeviceComponent.parent is a reference to the next upper level DeviceComponent resource. For Channel DeviceComponent, it shall be present and refer to a VMD DeviceComponent. For VMD DeviceComponent, it shall be present and refer to a MDS DeviceComponent. For MDS DeviceComponent it's optional and may refer to another MDS DeviceComponent as a composite MDS.
  • If multiple instances of the same VMD or Channel type exist, the Instance extension allows to define a sequence.
  • To assign a common color representation for all metrics in a Channel, the Color extension can be used. It gets a code from the DeviceMetricColor value set.

Content

StructureDefinition Description Example
MDS DeviceComponent Profile Characteristics and operational status of a point-of-care device Physio Monitor MDS DeviceComponent
VMD DeviceComponent Profile Characteristics and operational status of a medical-related subsystem of a point-of-care device ECG VMD DeviceComponent
Channel DeviceComponent Profile Characteristics and operational status of a group of metrics Heart Rate Channel DeviceComponent
Extension Description Example
Instance Extension Instance number for multiple components of the same type Blood Pressure VMD DeviceComponent
Color Extension Color for representation of contained metrics ECG Channel DeviceComponent

MDS DeviceComponent Profile

Canonical URL

http://devices.fhir.org/StructureDefinition/MdsDeviceComponent

Profile Definition

idΣ0..1id
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
textI0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
identifierΣ1..1Identifier
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
lastSystemChangeΣ0..1instant
sourceΣ I1..1Reference(PoC Device Profile)
parentΣ I0..1Reference(MDS DeviceComponent Profile)
operationalStatusΣ0..*CodeableConceptBinding
parameterGroupΣ0..1CodeableConceptBinding
measurementPrincipleΣ0..1codeBinding
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
specTypeΣ0..1CodeableConceptBinding
componentIdΣ0..1Identifier
productionSpecΣ0..1string
languageCodeΣ0..1CodeableConceptBinding

Example (XML view)

Example of a Physio Monitor MDS DeviceComponent

<DeviceComponent xmlns="http://hl7.org/fhir">
    <id value="427" />
    <meta>
        <profile value="http://devices.fhir.org/StructureDefinition/MdsDeviceComponent" />
    </meta>
    <identifier>
        <use value="temp" />
        <system value="urn:ietf:rfc:3986" />
        <value value="urn:uuid:ae5b5cca-fbd9-4323-842d-fe43064bd06f" />
    </identifier>
    <type>
        <coding>
            <system value="urn:iso:std:iso:11073:10101" />
            <code value="69965" />
            <display value="MDC_DEV_MON_PHYSIO_MULTI_PARAM_MDS" />
        </coding>
    </type>
    <source>
        <reference value="Device/72" />
    </source>
    <operationalStatus>
        <coding>
            <system value="http://hl7.org/fhir/operational-status" />
            <code value="on" />
            <display value="On" />
        </coding>
    </operationalStatus>
    <productionSpecification>
        <specType>
            <coding>
                <system value="http://hl7.org/fhir/specification-type" />
                <code value="serial-number" />
                <display value="Serial Number" />
            </coding>
        </specType>
        <productionSpec value="DE35115712" />
    </productionSpecification>
    <productionSpecification>
        <specType>
            <coding>
                <system value="http://hl7.org/fhir/specification-type" />
                <code value="part-number" />
                <display value="Part Number" />
            </coding>
        </specType>
        <productionSpec value="866060" />
    </productionSpecification>
    <productionSpecification>
        <specType>
            <coding>
                <system value="http://hl7.org/fhir/specification-type" />
                <code value="hardware-revision" />
                <display value="Hardware Revision" />
            </coding>
        </specType>
        <productionSpec value="A.00.22" />
    </productionSpecification>
    <languageCode>
        <coding>
            <system value="urn:ietf:bcp:47" />
            <code value="en" />
        </coding>
    </languageCode>
</DeviceComponent>

Example (JSON view)

Example of a Physio Monitor MDS DeviceComponent

{
    "resourceType": "DeviceComponent",
    "id": "427",
    "meta": {
        "profile":  [
            "http://devices.fhir.org/StructureDefinition/MdsDeviceComponent"
        ]
    },
    "identifier": {
        "use": "temp",
        "system": "urn:ietf:rfc:3986",
        "value": "urn:uuid:ae5b5cca-fbd9-4323-842d-fe43064bd06f"
    },
    "type": {
        "coding":  [
            {
                "system": "urn:iso:std:iso:11073:10101",
                "code": "69965",
                "display": "MDC_DEV_MON_PHYSIO_MULTI_PARAM_MDS"
            }
        ]
    },
    "source": {
        "reference": "Device/72"
    },
    "operationalStatus":  [
        {
            "coding":  [
                {
                    "system": "http://hl7.org/fhir/operational-status",
                    "code": "on",
                    "display": "On"
                }
            ]
        }
    ],
    "productionSpecification":  [
        {
            "specType": {
                "coding":  [
                    {
                        "system": "http://hl7.org/fhir/specification-type",
                        "code": "serial-number",
                        "display": "Serial Number"
                    }
                ]
            },
            "productionSpec": "DE35115712"
        },
        {
            "specType": {
                "coding":  [
                    {
                        "system": "http://hl7.org/fhir/specification-type",
                        "code": "part-number",
                        "display": "Part Number"
                    }
                ]
            },
            "productionSpec": "866060"
        },
        {
            "specType": {
                "coding":  [
                    {
                        "system": "http://hl7.org/fhir/specification-type",
                        "code": "hardware-revision",
                        "display": "Hardware Revision"
                    }
                ]
            },
            "productionSpec": "A.00.22"
        }
    ],
    "languageCode": {
        "coding":  [
            {
                "system": "urn:ietf:bcp:47",
                "code": "en"
            }
        ]
    }
}

VMD DeviceComponent Profile

Canonical URL

http://devices.fhir.org/StructureDefinition/VmdDeviceComponent

Profile Definition

idΣ0..1id
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
textI0..1Narrative
contained0..*Resource
instanceI0..1Extension(unsignedInt)
modifierExtension?! I0..*Extension
identifierΣ1..1Identifier
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
lastSystemChangeΣ0..1instant
sourceΣ I1..1Reference(PoC Device Profile)
parentΣ I1..1Reference(MDS DeviceComponent Profile)
operationalStatusΣ0..*CodeableConceptBinding
parameterGroupΣ0..1CodeableConceptBinding
measurementPrincipleΣ0..1codeBinding
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
specTypeΣ0..1CodeableConceptBinding
componentIdΣ0..1Identifier
productionSpecΣ0..1string
languageCodeΣ0..1CodeableConceptBinding

Example (XML view)

Example of an ECG VMD DeviceComponent

<DeviceComponent xmlns="http://hl7.org/fhir">
    <id value="428" />
    <meta>
        <profile value="http://devices.fhir.org/StructureDefinition/VmdDeviceComponent" />
    </meta>
    <identifier>
        <use value="temp" />
        <system value="urn:ietf:rfc:3986" />
        <value value="urn:uuid:64b1772b-e383-4aa7-b2f8-3610124a4e07" />
    </identifier>
    <type>
        <coding>
            <system value="urn:iso:std:iso:11073:10101" />
            <code value="69798" />
            <display value="MDC_DEV_ECG_VMD" />
        </coding>
    </type>
    <source>
        <reference value="Device/72" />
    </source>
    <parent>
        <reference value="DeviceComponent/427" />
    </parent>
    <operationalStatus>
        <coding>
            <system value="http://hl7.org/fhir/operational-status" />
            <code value="on" />
            <display value="On" />
        </coding>
    </operationalStatus>
    <parameterGroup>
        <coding>
            <system value="http://hl7.org/fhir/parameter-group" />
            <code value="ecg" />
            <display value="ECG Parameter Group" />
        </coding>
    </parameterGroup>
</DeviceComponent>

Example (JSON view)

Example of an ECG VMD DeviceComponent

{
    "resourceType": "DeviceComponent",
    "id": "428",
    "meta": {
        "profile":  [
            "http://devices.fhir.org/StructureDefinition/VmdDeviceComponent"
        ]
    },
    "identifier": {
        "use": "temp",
        "system": "urn:ietf:rfc:3986",
        "value": "urn:uuid:64b1772b-e383-4aa7-b2f8-3610124a4e07"
    },
    "type": {
        "coding":  [
            {
                "system": "urn:iso:std:iso:11073:10101",
                "code": "69798",
                "display": "MDC_DEV_ECG_VMD"
            }
        ]
    },
    "source": {
        "reference": "Device/72"
    },
    "parent": {
        "reference": "DeviceComponent/427"
    },
    "operationalStatus":  [
        {
            "coding":  [
                {
                    "system": "http://hl7.org/fhir/operational-status",
                    "code": "on",
                    "display": "On"
                }
            ]
        }
    ],
    "parameterGroup": {
        "coding":  [
            {
                "system": "http://hl7.org/fhir/parameter-group",
                "code": "ecg",
                "display": "ECG Parameter Group"
            }
        ]
    }
}

Channel DeviceComponent Profile

Canonical URL

http://devices.fhir.org/StructureDefinition/ChannelDeviceComponent

Profile Definition

idΣ0..1id
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
textI0..1Narrative
contained0..*Resource
instanceI0..1Extension(unsignedInt)
colorI0..1Extension(code)
modifierExtension?! I0..*Extension
identifierΣ1..1Identifier
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
lastSystemChangeΣ0..1instant
sourceΣ I1..1Reference(PoC Device Profile)
parentΣ I1..1Reference(VMD DeviceComponent Profile)
operationalStatusΣ0..*CodeableConceptBinding
parameterGroupΣ0..1CodeableConceptBinding
measurementPrincipleΣ0..1codeBinding
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
specTypeΣ0..1CodeableConceptBinding
componentIdΣ0..1Identifier
productionSpecΣ0..1string
languageCodeΣ0..1CodeableConceptBinding

Example (XML view)

Example of a Heart Rate Channel DeviceComponent

<DeviceComponent xmlns="http://hl7.org/fhir">
    <id value="430" />
    <meta>
        <profile value="http://devices.fhir.org/StructureDefinition/ChannelDeviceComponent" />
    </meta>
    <identifier>
        <use value="temp" />
        <system value="urn:ietf:rfc:3986" />
        <value value="urn:uuid:06221cca-7037-4476-8ca5-77d4f3dccda1" />
    </identifier>
    <type>
        <coding>
            <system value="urn:iso:std:iso:11073:10101" />
            <code value="70739" />
            <display value="MDC_DEV_CARD_RATE_CHAN" />
        </coding>
    </type>
    <source>
        <reference value="Device/72" />
    </source>
    <parent>
        <reference value="DeviceComponent/428" />
    </parent>
    <operationalStatus>
        <coding>
            <system value="http://hl7.org/fhir/operational-status" />
            <code value="on" />
            <display value="On" />
        </coding>
    </operationalStatus>
    <measurementPrinciple value="electrical" />
</DeviceComponent>

Example (JSON view)

Example of a Heart Rate Channel DeviceComponent

{
    "resourceType": "DeviceComponent",
    "id": "430",
    "meta": {
        "profile":  [
            "http://devices.fhir.org/StructureDefinition/ChannelDeviceComponent"
        ]
    },
    "identifier": {
        "use": "temp",
        "system": "urn:ietf:rfc:3986",
        "value": "urn:uuid:06221cca-7037-4476-8ca5-77d4f3dccda1"
    },
    "type": {
        "coding":  [
            {
                "system": "urn:iso:std:iso:11073:10101",
                "code": "70739",
                "display": "MDC_DEV_CARD_RATE_CHAN"
            }
        ]
    },
    "source": {
        "reference": "Device/72"
    },
    "parent": {
        "reference": "DeviceComponent/428"
    },
    "operationalStatus":  [
        {
            "coding":  [
                {
                    "system": "http://hl7.org/fhir/operational-status",
                    "code": "on",
                    "display": "On"
                }
            ]
        }
    ],
    "measurementPrinciple": "electrical"
}

Instance Extension

Canonical URL

http://devices.fhir.org/StructureDefinition/devicecomponent-instance

Extension Definition

id0..1string
extensionI0..*Extension
url1..1uriFixed Value
valueUnsignedInt0..1unsignedInt

Example (XML view)

Example of a Blood Pressure VMD DeviceComponent

<DeviceComponent xmlns="http://hl7.org/fhir">
    <id value="433" />
    <meta>
        <profile value="http://devices.fhir.org/StructureDefinition/VmdDeviceComponent" />
    </meta>
    <extension url="http://devices.fhir.org/StructureDefinition/devicecomponent-instance">
        <valueUnsignedInt value="1" />
    </extension>
    <identifier>
        <use value="temp" />
        <system value="urn:ietf:rfc:3986" />
        <value value="urn:uuid:aa0e1091-5dfe-435b-bb96-c5ce2992e2dc" />
    </identifier>
    <type>
        <coding>
            <system value="urn:iso:std:iso:11073:10101" />
            <code value="69710" />
            <display value="MDC_DEV_ANALY_PRESS_BLD_VMD" />
        </coding>
    </type>
    <source>
        <reference value="Device/72" />
    </source>
    <parent>
        <reference value="DeviceComponent/427" />
    </parent>
    <operationalStatus>
        <coding>
            <system value="http://hl7.org/fhir/operational-status" />
            <code value="transduc-discon" />
            <display value="Transducer Disconnected" />
        </coding>
    </operationalStatus>
</DeviceComponent>

Example (JSON view)

Example of a Blood Pressure VMD DeviceComponent

{
    "resourceType": "DeviceComponent",
    "id": "433",
    "meta": {
        "profile":  [
            "http://devices.fhir.org/StructureDefinition/VmdDeviceComponent"
        ]
    },
    "extension":  [
        {
            "url": "http://devices.fhir.org/StructureDefinition/devicecomponent-instance",
            "valueUnsignedInt": 1
        }
    ],
    "identifier": {
        "use": "temp",
        "system": "urn:ietf:rfc:3986",
        "value": "urn:uuid:aa0e1091-5dfe-435b-bb96-c5ce2992e2dc"
    },
    "type": {
        "coding":  [
            {
                "system": "urn:iso:std:iso:11073:10101",
                "code": "69710",
                "display": "MDC_DEV_ANALY_PRESS_BLD_VMD"
            }
        ]
    },
    "source": {
        "reference": "Device/72"
    },
    "parent": {
        "reference": "DeviceComponent/427"
    },
    "operationalStatus":  [
        {
            "coding":  [
                {
                    "system": "http://hl7.org/fhir/operational-status",
                    "code": "transduc-discon",
                    "display": "Transducer Disconnected"
                }
            ]
        }
    ]
}

Color Extension

Canonical URL

http://devices.fhir.org/StructureDefinition/devicecomponent-color

Extension Definition

id0..1string
extensionI0..*Extension
url1..1uriFixed Value
valueCode0..1codeBinding

Example (XML view)

Example of an ECG Channel DeviceComponent

<DeviceComponent xmlns="http://hl7.org/fhir">
    <id value="429" />
    <meta>
        <profile value="http://devices.fhir.org/StructureDefinition/ChannelDeviceComponent" />
    </meta>
    <extension url="http://devices.fhir.org/StructureDefinition/devicecomponent-color">
        <valueCode value="green" />
    </extension>
    <identifier>
        <use value="temp" />
        <system value="urn:ietf:rfc:3986" />
        <value value="urn:uuid:e1afdca2-ed9e-4cea-b713-66eece999009" />
    </identifier>
    <type>
        <coding>
            <system value="urn:iso:std:iso:11073:10101" />
            <code value="69799" />
            <display value="MDC_DEV_ECG_CHAN" />
        </coding>
    </type>
    <source>
        <reference value="Device/72" />
    </source>
    <parent>
        <reference value="DeviceComponent/428" />
    </parent>
    <operationalStatus>
        <coding>
            <system value="http://hl7.org/fhir/operational-status" />
            <code value="on" />
            <display value="On" />
        </coding>
    </operationalStatus>
</DeviceComponent>

Example (JSON view)

Example of an ECG Channel DeviceComponent

{
    "resourceType": "DeviceComponent",
    "id": "429",
    "meta": {
        "profile":  [
            "http://devices.fhir.org/StructureDefinition/ChannelDeviceComponent"
        ]
    },
    "extension":  [
        {
            "url": "http://devices.fhir.org/StructureDefinition/devicecomponent-color",
            "valueCode": "green"
        }
    ],
    "identifier": {
        "use": "temp",
        "system": "urn:ietf:rfc:3986",
        "value": "urn:uuid:e1afdca2-ed9e-4cea-b713-66eece999009"
    },
    "type": {
        "coding":  [
            {
                "system": "urn:iso:std:iso:11073:10101",
                "code": "69799",
                "display": "MDC_DEV_ECG_CHAN"
            }
        ]
    },
    "source": {
        "reference": "Device/72"
    },
    "parent": {
        "reference": "DeviceComponent/428"
    },
    "operationalStatus":  [
        {
            "coding":  [
                {
                    "system": "http://hl7.org/fhir/operational-status",
                    "code": "on",
                    "display": "On"
                }
            ]
        }
    ]
}