FHIR Release 3 (STU)

This page is part of the FHIR Specification (v3.0.2: STU 3). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R3 R2

8.15 Resource DeviceComponent - Content

Health Care Devices Work GroupMaturity Level: 1 Trial UseCompartments: Device

The characteristics, operational status and capabilities of a medical-related component of a medical device.

The DeviceComponent resource is used to describe the characteristics, operational status and capabilities of a medical-related component of a medical device. It can be a physical component that is integrated inside the device, a removable physical component, or a non-physical component that allows physiological measurement data and its derived data to be grouped in a hierarchical information organization.

Note:

For the initial scope, this DeviceComponent resource is only applicable to describe a single node in the containment tree that is produced by the context scanner in any medical device that implements or derives from the ISO/IEEE 11073 standard and that does not represent a metric. Examples for such a node are MDS, VMD, or Channel.

The DeviceComponent allows us to change the configuration of the device without having to change the device resource instance. The life-cycle of the configuration may be completely different than the one of the device itself.

There are several related resources

A Context Scanner object of a medical device that implements or derives from ISO/IEEE 11073 standard is responsible for observing device configuration changes. After instantiation, the Context Scanner object is responsible for announcing the object instances in the device's MDIB, a hierarchical containment (MDS->VMD->Channel->Metric). The DeviceComponent resource can be used to describe the characteristics, operational status and capabilities of a medical-related component of a medical device. It can be a physical component that is integrated inside the device, a removable physical component, or a non-physical component that allows physiological measurement data and its derived data to be grouped in a hierarchical information organization. Devices are conceptualized using the following main structure:

  1. MedicalDeviceSystem - An actual device that external systems communicate with. In 11073, this is known as a MDS.
  2. VirtualMedicalDevice - A medical-related subsystem of a medical device. It can either be a physical hardware piece or a pure software plugin component of a medical device. In 11073, this is known as a VMD.
  3. Channel - A non-physical component that allows physiological measurement data and its derived data to be grouped in a hierarchical information organization.

Very simple devices may have only a single virtual device with a single channel and one metric, while complex devices may have multiple items at every level.

This resource is referenced by devicemetric

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. DeviceComponent ΣDomainResourceAn instance of a medical-related component of a medical device
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ1..1IdentifierInstance id assigned by the software stack
... type Σ1..1CodeableConceptWhat kind of component it is
FHIR Device Types (Preferred)
... lastSystemChange Σ0..1instantRecent system change timestamp
... source Σ0..1Reference(Device)Top-level device resource link
... parent Σ0..1Reference(DeviceComponent)Parent resource link
... operationalStatus Σ0..*CodeableConceptCurrent operational status of the component, for example On, Off or Standby
DeviceComponentOperationalStatus (Extensible)
... parameterGroup Σ0..1CodeableConceptCurrent supported parameter group
DeviceComponentParameterGroup (Extensible)
... measurementPrinciple Σ0..1codeother | chemical | electrical | impedance | nuclear | optical | thermal | biological | mechanical | acoustical | manual+
MeasmntPrinciple (Required)
... productionSpecification Σ0..*BackboneElementSpecification details such as Component Revisions, or Serial Numbers
.... specType Σ0..1CodeableConceptType or kind of production specification, for example serial number or software revision
DeviceSpecificationSpecType (Extensible)
.... componentId Σ0..1IdentifierInternal component unique identification
.... productionSpec Σ0..1stringA printable string defining the component
... languageCode Σ0..1CodeableConceptLanguage code for the human-readable text strings produced by the device
Common Languages (Extensible but limited to All Languages)

doco Documentation for this format

UML Diagram (Legend)

DeviceComponent (DomainResource)The locally assigned unique identification by the software. For example: handle IDidentifier : Identifier [1..1]The component type as defined in the object-oriented or metric nomenclature partitiontype : CodeableConcept [1..1] Describes the type of the component. (Strength=Preferred)FHIR Device Types? The timestamp for the most recent system change which includes device configuration or setting changelastSystemChange : instant [0..1]The link to the source Device that contains administrative device information such as manufacture, serial number, etcsource : Reference [0..1] Device The link to the parent resource. For example: Channel is linked to its VMD parentparent : Reference [0..1] DeviceComponent The current operational status of the device. For example: On, Off, Standby, etcoperationalStatus : CodeableConcept [0..*] Codes representing the current status of the device - on, off, suspended, etc. (Strength=Extensible) DeviceComponentOperationalSta...+ The parameter group supported by the current device component that is based on some nomenclature, e.g. cardiovascularparameterGroup : CodeableConcept [0..1] Codes identifying groupings of parameters; e.g. Cardiovascular. (Strength=Extensible) DeviceComponentParameterGroup+ The physical principle of the measurement. For example: thermal, chemical, acoustical, etcmeasurementPrinciple : code [0..1] Different measurement principle supported by the device. (Strength=Required)MeasmntPrinciple! The language code for the human-readable text string produced by the device. This language code will follow the IETF language tag. Example: en-USlanguageCode : CodeableConcept [0..1] A human language. (Strength=Extensible)Common Languages+ ProductionSpecificationThe specification type, such as, serial number, part number, hardware revision, software revision, etcspecType : CodeableConcept [0..1] Codes for device specification types such as serial number, part number, hardware revision, software revision, etc. (Strength=Extensible)DeviceSpecificationSpecType+ The internal component unique identification. This is a provision for manufacture specific standard components using a private OID. 11073-10101 has a partition for private OID semantic that the manufacturer can make use ofcomponentId : Identifier [0..1]The printable string defining the componentproductionSpec : string [0..1]The production specification such as component revision, serial number, etcproductionSpecification[0..*]

XML Template

<DeviceComponent xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 1..1 Identifier Instance id assigned by the software stack --></identifier>
 <type><!-- 1..1 CodeableConcept What kind of component it is --></type>
 <lastSystemChange value="[instant]"/><!-- 0..1 Recent system change timestamp -->
 <source><!-- 0..1 Reference(Device) Top-level device resource link --></source>
 <parent><!-- 0..1 Reference(DeviceComponent) Parent resource link --></parent>
 <operationalStatus><!-- 0..* CodeableConcept Current operational status of the component, for example On, Off or Standby --></operationalStatus>
 <parameterGroup><!-- 0..1 CodeableConcept Current supported parameter group --></parameterGroup>
 <measurementPrinciple value="[code]"/><!-- 0..1 other | chemical | electrical | impedance | nuclear | optical | thermal | biological | mechanical | acoustical | manual+ -->
 <productionSpecification>  <!-- 0..* Specification details such as Component Revisions, or Serial Numbers -->
  <specType><!-- 0..1 CodeableConcept Type or kind of production specification, for example serial number or software revision --></specType>
  <componentId><!-- 0..1 Identifier Internal component unique identification --></componentId>
  <productionSpec value="[string]"/><!-- 0..1 A printable string defining the component -->
 </productionSpecification>
 <languageCode><!-- 0..1 CodeableConcept Language code for the human-readable text strings produced by the device --></languageCode>
</DeviceComponent>

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:DeviceComponent;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:DeviceComponent.identifier [ Identifier ]; # 1..1 Instance id assigned by the software stack
  fhir:DeviceComponent.type [ CodeableConcept ]; # 1..1 What kind of component it is
  fhir:DeviceComponent.lastSystemChange [ instant ]; # 0..1 Recent system change timestamp
  fhir:DeviceComponent.source [ Reference(Device) ]; # 0..1 Top-level device resource link
  fhir:DeviceComponent.parent [ Reference(DeviceComponent) ]; # 0..1 Parent resource link
  fhir:DeviceComponent.operationalStatus [ CodeableConcept ], ... ; # 0..* Current operational status of the component, for example On, Off or Standby
  fhir:DeviceComponent.parameterGroup [ CodeableConcept ]; # 0..1 Current supported parameter group
  fhir:DeviceComponent.measurementPrinciple [ code ]; # 0..1 other | chemical | electrical | impedance | nuclear | optical | thermal | biological | mechanical | acoustical | manual+
  fhir:DeviceComponent.productionSpecification [ # 0..* Specification details such as Component Revisions, or Serial Numbers
    fhir:DeviceComponent.productionSpecification.specType [ CodeableConcept ]; # 0..1 Type or kind of production specification, for example serial number or software revision
    fhir:DeviceComponent.productionSpecification.componentId [ Identifier ]; # 0..1 Internal component unique identification
    fhir:DeviceComponent.productionSpecification.productionSpec [ string ]; # 0..1 A printable string defining the component
  ], ...;
  fhir:DeviceComponent.languageCode [ CodeableConcept ]; # 0..1 Language code for the human-readable text strings produced by the device
]

Changes since DSTU2

DeviceComponent
DeviceComponent.lastSystemChange
  • Min Cardinality changed from 1 to 0
DeviceComponent.operationalStatus
  • Add Binding http://hl7.org/fhir/ValueSet/operational-status (extensible)
DeviceComponent.parameterGroup
  • Add Binding http://hl7.org/fhir/ValueSet/parameter-group (extensible)
DeviceComponent.productionSpecification.specType
  • Add Binding http://hl7.org/fhir/ValueSet/specification-type (extensible)
DeviceComponent.languageCode
  • Change binding strength from required to extensible
  • Change value set from http://tools.ietf.org/html/bcp47 to http://hl7.org/fhir/ValueSet/languages

See the Full Difference for further information

This analysis is available as XML or JSON.

See R2 <--> R3 Conversion Maps (status = 2 tests that all execute ok. All tests pass round-trip testing and all r3 resources are valid.).

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. DeviceComponent ΣDomainResourceAn instance of a medical-related component of a medical device
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ1..1IdentifierInstance id assigned by the software stack
... type Σ1..1CodeableConceptWhat kind of component it is
FHIR Device Types (Preferred)
... lastSystemChange Σ0..1instantRecent system change timestamp
... source Σ0..1Reference(Device)Top-level device resource link
... parent Σ0..1Reference(DeviceComponent)Parent resource link
... operationalStatus Σ0..*CodeableConceptCurrent operational status of the component, for example On, Off or Standby
DeviceComponentOperationalStatus (Extensible)
... parameterGroup Σ0..1CodeableConceptCurrent supported parameter group
DeviceComponentParameterGroup (Extensible)
... measurementPrinciple Σ0..1codeother | chemical | electrical | impedance | nuclear | optical | thermal | biological | mechanical | acoustical | manual+
MeasmntPrinciple (Required)
... productionSpecification Σ0..*BackboneElementSpecification details such as Component Revisions, or Serial Numbers
.... specType Σ0..1CodeableConceptType or kind of production specification, for example serial number or software revision
DeviceSpecificationSpecType (Extensible)
.... componentId Σ0..1IdentifierInternal component unique identification
.... productionSpec Σ0..1stringA printable string defining the component
... languageCode Σ0..1CodeableConceptLanguage code for the human-readable text strings produced by the device
Common Languages (Extensible but limited to All Languages)

doco Documentation for this format

UML Diagram (Legend)

DeviceComponent (DomainResource)The locally assigned unique identification by the software. For example: handle IDidentifier : Identifier [1..1]The component type as defined in the object-oriented or metric nomenclature partitiontype : CodeableConcept [1..1] Describes the type of the component. (Strength=Preferred)FHIR Device Types? The timestamp for the most recent system change which includes device configuration or setting changelastSystemChange : instant [0..1]The link to the source Device that contains administrative device information such as manufacture, serial number, etcsource : Reference [0..1] Device The link to the parent resource. For example: Channel is linked to its VMD parentparent : Reference [0..1] DeviceComponent The current operational status of the device. For example: On, Off, Standby, etcoperationalStatus : CodeableConcept [0..*] Codes representing the current status of the device - on, off, suspended, etc. (Strength=Extensible) DeviceComponentOperationalSta...+ The parameter group supported by the current device component that is based on some nomenclature, e.g. cardiovascularparameterGroup : CodeableConcept [0..1] Codes identifying groupings of parameters; e.g. Cardiovascular. (Strength=Extensible) DeviceComponentParameterGroup+ The physical principle of the measurement. For example: thermal, chemical, acoustical, etcmeasurementPrinciple : code [0..1] Different measurement principle supported by the device. (Strength=Required)MeasmntPrinciple! The language code for the human-readable text string produced by the device. This language code will follow the IETF language tag. Example: en-USlanguageCode : CodeableConcept [0..1] A human language. (Strength=Extensible)Common Languages+ ProductionSpecificationThe specification type, such as, serial number, part number, hardware revision, software revision, etcspecType : CodeableConcept [0..1] Codes for device specification types such as serial number, part number, hardware revision, software revision, etc. (Strength=Extensible)DeviceSpecificationSpecType+ The internal component unique identification. This is a provision for manufacture specific standard components using a private OID. 11073-10101 has a partition for private OID semantic that the manufacturer can make use ofcomponentId : Identifier [0..1]The printable string defining the componentproductionSpec : string [0..1]The production specification such as component revision, serial number, etcproductionSpecification[0..*]

XML Template

<DeviceComponent xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 1..1 Identifier Instance id assigned by the software stack --></identifier>
 <type><!-- 1..1 CodeableConcept What kind of component it is --></type>
 <lastSystemChange value="[instant]"/><!-- 0..1 Recent system change timestamp -->
 <source><!-- 0..1 Reference(Device) Top-level device resource link --></source>
 <parent><!-- 0..1 Reference(DeviceComponent) Parent resource link --></parent>
 <operationalStatus><!-- 0..* CodeableConcept Current operational status of the component, for example On, Off or Standby --></operationalStatus>
 <parameterGroup><!-- 0..1 CodeableConcept Current supported parameter group --></parameterGroup>
 <measurementPrinciple value="[code]"/><!-- 0..1 other | chemical | electrical | impedance | nuclear | optical | thermal | biological | mechanical | acoustical | manual+ -->
 <productionSpecification>  <!-- 0..* Specification details such as Component Revisions, or Serial Numbers -->
  <specType><!-- 0..1 CodeableConcept Type or kind of production specification, for example serial number or software revision --></specType>
  <componentId><!-- 0..1 Identifier Internal component unique identification --></componentId>
  <productionSpec value="[string]"/><!-- 0..1 A printable string defining the component -->
 </productionSpecification>
 <languageCode><!-- 0..1 CodeableConcept Language code for the human-readable text strings produced by the device --></languageCode>
</DeviceComponent>

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:DeviceComponent;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:DeviceComponent.identifier [ Identifier ]; # 1..1 Instance id assigned by the software stack
  fhir:DeviceComponent.type [ CodeableConcept ]; # 1..1 What kind of component it is
  fhir:DeviceComponent.lastSystemChange [ instant ]; # 0..1 Recent system change timestamp
  fhir:DeviceComponent.source [ Reference(Device) ]; # 0..1 Top-level device resource link
  fhir:DeviceComponent.parent [ Reference(DeviceComponent) ]; # 0..1 Parent resource link
  fhir:DeviceComponent.operationalStatus [ CodeableConcept ], ... ; # 0..* Current operational status of the component, for example On, Off or Standby
  fhir:DeviceComponent.parameterGroup [ CodeableConcept ]; # 0..1 Current supported parameter group
  fhir:DeviceComponent.measurementPrinciple [ code ]; # 0..1 other | chemical | electrical | impedance | nuclear | optical | thermal | biological | mechanical | acoustical | manual+
  fhir:DeviceComponent.productionSpecification [ # 0..* Specification details such as Component Revisions, or Serial Numbers
    fhir:DeviceComponent.productionSpecification.specType [ CodeableConcept ]; # 0..1 Type or kind of production specification, for example serial number or software revision
    fhir:DeviceComponent.productionSpecification.componentId [ Identifier ]; # 0..1 Internal component unique identification
    fhir:DeviceComponent.productionSpecification.productionSpec [ string ]; # 0..1 A printable string defining the component
  ], ...;
  fhir:DeviceComponent.languageCode [ CodeableConcept ]; # 0..1 Language code for the human-readable text strings produced by the device
]

Changes since DSTU2

DeviceComponent
DeviceComponent.lastSystemChange
  • Min Cardinality changed from 1 to 0
DeviceComponent.operationalStatus
  • Add Binding http://hl7.org/fhir/ValueSet/operational-status (extensible)
DeviceComponent.parameterGroup
  • Add Binding http://hl7.org/fhir/ValueSet/parameter-group (extensible)
DeviceComponent.productionSpecification.specType
  • Add Binding http://hl7.org/fhir/ValueSet/specification-type (extensible)
DeviceComponent.languageCode
  • Change binding strength from required to extensible
  • Change value set from http://tools.ietf.org/html/bcp47 to http://hl7.org/fhir/ValueSet/languages

See the Full Difference for further information

This analysis is available as XML or JSON.

See R2 <--> R3 Conversion Maps (status = 2 tests that all execute ok. All tests pass round-trip testing and all r3 resources are valid.).

 

Alternate definitions: Master Definition (XML, JSON), XML Schema/Schematron (for ) + JSON Schema, ShEx (for Turtle)

PathDefinitionTypeReference
DeviceComponent.type Describes the type of the component.PreferredFHIR Device Types
DeviceComponent.operationalStatus Codes representing the current status of the device - on, off, suspended, etc.ExtensibleDeviceComponentOperationalStatus
DeviceComponent.parameterGroup Codes identifying groupings of parameters; e.g. Cardiovascular.ExtensibleDeviceComponentParameterGroup
DeviceComponent.measurementPrinciple Different measurement principle supported by the device.RequiredMeasmntPrinciple
DeviceComponent.productionSpecification.specType Codes for device specification types such as serial number, part number, hardware revision, software revision, etc.ExtensibleDeviceSpecificationSpecType
DeviceComponent.languageCode A human language.Extensible, but limited to All LanguagesCommon Languages

  • The correct codes for the medical device system (MDS), virtual medical device (VMD), and Channel will be specified in the profiles for specific types of device component. Generally, these codes are registered in the RTM Management service , but this is not required. See Terminology Systems for the correct representation of these codes in a Coding data type.

Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

NameTypeDescriptionExpressionIn Common
identifiertokenThe identifier of the componentDeviceComponent.identifier
parentreferenceThe parent DeviceComponent resourceDeviceComponent.parent
(DeviceComponent)
sourcereferenceThe device sourceDeviceComponent.source
(Device)
typetokenThe device component typeDeviceComponent.type