This page is part of the FHIR Specification (v1.0.2: DSTU 2). 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
. Page versions: R3 R2

| Health Care Devices  Work Group | Maturity Level: 1 | Compartments: Device | 
Describes 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:
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
| Name | Flags | Card. | Type | Description & Constraints  | 
|---|---|---|---|---|
|   DeviceComponent | Σ | DomainResource | An instance of a medical-related component of a medical device | |
|    type | Σ | 1..1 | CodeableConcept | What kind of component it is ComponentType  (Preferred) | 
|    identifier | Σ | 1..1 | Identifier | Instance id assigned by the software stack | 
|    lastSystemChange | Σ | 1..1 | instant | Recent system change timestamp | 
|    source | Σ | 0..1 | Reference(Device) | A source device of this component | 
|    parent | Σ | 0..1 | Reference(DeviceComponent) | Parent resource link | 
|    operationalStatus | Σ | 0..* | CodeableConcept | Component operational status | 
|    parameterGroup | Σ | 0..1 | CodeableConcept | Current supported parameter group | 
|    measurementPrinciple | Σ | 0..1 | code | other | chemical | electrical | impedance | nuclear | optical | thermal | biological | mechanical | acoustical | manual+ Measmnt-Principle (Required) | 
|    productionSpecification | Σ | 0..* | BackboneElement | Production specification of the component | 
|     specType | Σ | 0..1 | CodeableConcept | Specification type | 
|     componentId | Σ | 0..1 | Identifier | Internal component unique identification | 
|     productionSpec | Σ | 0..1 | string | A printable string defining the component | 
|    languageCode | Σ | 0..1 | CodeableConcept | Language code for the human-readable text strings produced by the device Language  (Required) | 
|  Documentation for this format | ||||
UML Diagram
XML Template
<DeviceComponent xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <type><!-- 1..1 CodeableConcept What kind of component it is
--></type> <identifier><!-- 1..1 Identifier Instance id assigned by the software stack --></identifier> <lastSystemChange value="[instant]"/><!-- 1..1 Recent system change timestamp --> <source><!-- 0..1 Reference(Device) A source device of this component --></source> <parent><!-- 0..1 Reference(DeviceComponent) Parent resource link --></parent> <operationalStatus><!-- 0..* CodeableConcept Component operational status --></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..* Production specification of the component --> <specType><!-- 0..1 CodeableConcept Specification type --></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>
JSON Template
{ "resourceType" : "DeviceComponent",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "type" : { CodeableConcept }, // R!  What kind of component it is
  "resourceType" : "DeviceComponent",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "type" : { CodeableConcept }, // R!  What kind of component it is  "identifier" : { Identifier }, // R!  Instance id assigned by the software stack
  "lastSystemChange" : "<instant>", // R!  Recent system change timestamp
  "source" : { Reference(Device) }, // A source device of this component
  "parent" : { Reference(DeviceComponent) }, // Parent resource link
  "operationalStatus" : [{ CodeableConcept }], // Component operational status
  "parameterGroup" : { CodeableConcept }, // Current supported parameter group
  "measurementPrinciple" : "<code>", // other | chemical | electrical | impedance | nuclear | optical | thermal | biological | mechanical | acoustical | manual+
  "productionSpecification" : [{ // Production specification of the component
    "specType" : { CodeableConcept }, // Specification type
    "componentId" : { Identifier }, // Internal component unique identification
    "productionSpec" : "<string>" // A printable string defining the component
  }],
  "languageCode" : { CodeableConcept } // Language code for the human-readable text strings produced by the device
  "identifier" : { Identifier }, // R!  Instance id assigned by the software stack
  "lastSystemChange" : "<instant>", // R!  Recent system change timestamp
  "source" : { Reference(Device) }, // A source device of this component
  "parent" : { Reference(DeviceComponent) }, // Parent resource link
  "operationalStatus" : [{ CodeableConcept }], // Component operational status
  "parameterGroup" : { CodeableConcept }, // Current supported parameter group
  "measurementPrinciple" : "<code>", // other | chemical | electrical | impedance | nuclear | optical | thermal | biological | mechanical | acoustical | manual+
  "productionSpecification" : [{ // Production specification of the component
    "specType" : { CodeableConcept }, // Specification type
    "componentId" : { Identifier }, // Internal component unique identification
    "productionSpec" : "<string>" // A printable string defining the component
  }],
  "languageCode" : { CodeableConcept } // Language code for the human-readable text strings produced by the device  }
}
 Structure
| Name | Flags | Card. | Type | Description & Constraints  | 
|---|---|---|---|---|
|   DeviceComponent | Σ | DomainResource | An instance of a medical-related component of a medical device | |
|    type | Σ | 1..1 | CodeableConcept | What kind of component it is ComponentType  (Preferred) | 
|    identifier | Σ | 1..1 | Identifier | Instance id assigned by the software stack | 
|    lastSystemChange | Σ | 1..1 | instant | Recent system change timestamp | 
|    source | Σ | 0..1 | Reference(Device) | A source device of this component | 
|    parent | Σ | 0..1 | Reference(DeviceComponent) | Parent resource link | 
|    operationalStatus | Σ | 0..* | CodeableConcept | Component operational status | 
|    parameterGroup | Σ | 0..1 | CodeableConcept | Current supported parameter group | 
|    measurementPrinciple | Σ | 0..1 | code | other | chemical | electrical | impedance | nuclear | optical | thermal | biological | mechanical | acoustical | manual+ Measmnt-Principle (Required) | 
|    productionSpecification | Σ | 0..* | BackboneElement | Production specification of the component | 
|     specType | Σ | 0..1 | CodeableConcept | Specification type | 
|     componentId | Σ | 0..1 | Identifier | Internal component unique identification | 
|     productionSpec | Σ | 0..1 | string | A printable string defining the component | 
|    languageCode | Σ | 0..1 | CodeableConcept | Language code for the human-readable text strings produced by the device Language  (Required) | 
|  Documentation for this format | ||||
XML Template
<DeviceComponent xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <type><!-- 1..1 CodeableConcept What kind of component it is
--></type> <identifier><!-- 1..1 Identifier Instance id assigned by the software stack --></identifier> <lastSystemChange value="[instant]"/><!-- 1..1 Recent system change timestamp --> <source><!-- 0..1 Reference(Device) A source device of this component --></source> <parent><!-- 0..1 Reference(DeviceComponent) Parent resource link --></parent> <operationalStatus><!-- 0..* CodeableConcept Component operational status --></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..* Production specification of the component --> <specType><!-- 0..1 CodeableConcept Specification type --></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>
JSON Template
{ "resourceType" : "DeviceComponent",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "type" : { CodeableConcept }, // R!  What kind of component it is
  "resourceType" : "DeviceComponent",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "type" : { CodeableConcept }, // R!  What kind of component it is  "identifier" : { Identifier }, // R!  Instance id assigned by the software stack
  "lastSystemChange" : "<instant>", // R!  Recent system change timestamp
  "source" : { Reference(Device) }, // A source device of this component
  "parent" : { Reference(DeviceComponent) }, // Parent resource link
  "operationalStatus" : [{ CodeableConcept }], // Component operational status
  "parameterGroup" : { CodeableConcept }, // Current supported parameter group
  "measurementPrinciple" : "<code>", // other | chemical | electrical | impedance | nuclear | optical | thermal | biological | mechanical | acoustical | manual+
  "productionSpecification" : [{ // Production specification of the component
    "specType" : { CodeableConcept }, // Specification type
    "componentId" : { Identifier }, // Internal component unique identification
    "productionSpec" : "<string>" // A printable string defining the component
  }],
  "languageCode" : { CodeableConcept } // Language code for the human-readable text strings produced by the device
  "identifier" : { Identifier }, // R!  Instance id assigned by the software stack
  "lastSystemChange" : "<instant>", // R!  Recent system change timestamp
  "source" : { Reference(Device) }, // A source device of this component
  "parent" : { Reference(DeviceComponent) }, // Parent resource link
  "operationalStatus" : [{ CodeableConcept }], // Component operational status
  "parameterGroup" : { CodeableConcept }, // Current supported parameter group
  "measurementPrinciple" : "<code>", // other | chemical | electrical | impedance | nuclear | optical | thermal | biological | mechanical | acoustical | manual+
  "productionSpecification" : [{ // Production specification of the component
    "specType" : { CodeableConcept }, // Specification type
    "componentId" : { Identifier }, // Internal component unique identification
    "productionSpec" : "<string>" // A printable string defining the component
  }],
  "languageCode" : { CodeableConcept } // Language code for the human-readable text strings produced by the device  }
}
 
Alternate definitions: Schema/Schematron, Resource Profile (XML, JSON), Questionnaire

| Path | Definition | Type | Reference | 
|---|---|---|---|
| DeviceComponent.type | Describes the type of the component. | Preferred | IEEE 11073-10101   | 
| DeviceComponent.operationalStatus | Codes representing the current status of the device - on, off, suspended, etc. | Unknown | No details provided yet | 
| DeviceComponent.parameterGroup | Codes identifying groupings of parameters; e.g. Cardiovascular. | Unknown | No details provided yet | 
| DeviceComponent.measurementPrinciple | Different measurement principle supported by the device. | Required | Measmnt-Principle | 
| DeviceComponent.productionSpecification.specType | Codes for device specification types such as serial number, part number, hardware revision, software revision, etc. | Unknown | No details provided yet | 
| DeviceComponent.languageCode | A human language. | Required | IETF language tag   | 

 , but 
 this is not required. See Terminology 
 Systems for the correct representation of these codes in a Coding data type.
, 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.
| Name | Type | Description | Paths | 
| parent | reference | The parent DeviceComponent resource | DeviceComponent.parent (DeviceComponent) | 
| source | reference | The device source | DeviceComponent.source (Device) | 
| type | token | The device component type | DeviceComponent.type |