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

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

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