This page is part of the FHIR Specification (v3.2.0: R4 Ballot 1). 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
Health Care Devices Work Group | Maturity Level: 1 | Trial Use | Compartments: 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:
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, Media and Observation
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
DeviceComponent | ΣTU | DomainResource | An instance of a medical-related component of a medical device Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
identifier | Σ | 0..* | Identifier | Instance identifier |
type | Σ | 1..1 | CodeableConcept | What kind of component it is FHIR Device Types (Preferred) |
lastSystemChange | Σ | 0..1 | instant | Recent system change timestamp |
source | Σ | 0..1 | Reference(Device) | Top-level device resource link |
parent | Σ | 0..1 | Reference(DeviceComponent) | Parent resource link |
operationalStatus | Σ | 0..* | CodeableConcept | Current operational status of the component, for example On, Off or Standby DeviceComponentOperationalStatus (Extensible) |
parameterGroup | Σ | 0..1 | CodeableConcept | Current supported parameter group DeviceComponentParameterGroup (Extensible) |
measurementPrinciple | Σ | 0..1 | code | other | chemical | electrical | impedance | nuclear | optical | thermal | biological | mechanical | acoustical | manual+ MeasmntPrinciple (Required) |
productionSpecification | Σ | 0..* | BackboneElement | 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 DeviceSpecificationSpecType (Extensible) |
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 Common Languages (Extensible but limited to All Languages) |
property | Σ | 0..* | BackboneElement | Other Attributes |
type | Σ | 1..1 | CodeableConcept | Code that specifies the property DeiviceComponentPropertyCode (Extensible) |
valueQuantity | Σ | 0..* | Quantity | Property value as a quantity |
valueCode | Σ | 0..* | CodeableConcept | Property value as a code |
Documentation for this format |
UML Diagram (Legend)
XML Template
<DeviceComponent xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Instance identifier --></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> <property> <!-- 0..* Other Attributes --> <type><!-- 1..1 CodeableConcept Code that specifies the property --></type> <valueQuantity><!-- 0..* Quantity Property value as a quantity --></valueQuantity> <valueCode><!-- 0..* CodeableConcept Property value as a code --></valueCode> </property> </DeviceComponent>
JSON Template
{ "resourceType" : "DeviceComponent", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Instance identifier "type" : { CodeableConcept }, // R! What kind of component it is "lastSystemChange" : "<instant>", // Recent system change timestamp "source" : { Reference(Device) }, // Top-level device resource link "parent" : { Reference(DeviceComponent) }, // Parent resource link "operationalStatus" : [{ CodeableConcept }], // Current operational status of the component, for example On, Off or Standby "parameterGroup" : { CodeableConcept }, // Current supported parameter group "measurementPrinciple" : "<code>", // other | chemical | electrical | impedance | nuclear | optical | thermal | biological | mechanical | acoustical | manual+ "productionSpecification" : [{ // Specification details such as Component Revisions, or Serial Numbers "specType" : { CodeableConcept }, // Type or kind of production specification, for example serial number or software revision "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 "property" : [{ // Other Attributes "type" : { CodeableConcept }, // R! Code that specifies the property "valueQuantity" : [{ Quantity }], // Property value as a quantity "valueCode" : [{ CodeableConcept }] // Property value as a code }] }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ 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 ], ... ; # 0..* Instance identifier 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 fhir:DeviceComponent.property [ # 0..* Other Attributes fhir:DeviceComponent.property.type [ CodeableConcept ]; # 1..1 Code that specifies the property fhir:DeviceComponent.property.valueQuantity [ Quantity ], ... ; # 0..* Property value as a quantity fhir:DeviceComponent.property.valueCode [ CodeableConcept ], ... ; # 0..* Property value as a code ], ...; ]
Changes since DSTU2
DeviceComponent | |
DeviceComponent.identifier |
|
DeviceComponent.lastSystemChange |
|
DeviceComponent.operationalStatus |
|
DeviceComponent.parameterGroup |
|
DeviceComponent.productionSpecification.specType |
|
DeviceComponent.languageCode |
|
DeviceComponent.property |
|
DeviceComponent.property.type |
|
DeviceComponent.property.valueQuantity |
|
DeviceComponent.property.valueCode |
|
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
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
DeviceComponent | ΣTU | DomainResource | An instance of a medical-related component of a medical device Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
identifier | Σ | 0..* | Identifier | Instance identifier |
type | Σ | 1..1 | CodeableConcept | What kind of component it is FHIR Device Types (Preferred) |
lastSystemChange | Σ | 0..1 | instant | Recent system change timestamp |
source | Σ | 0..1 | Reference(Device) | Top-level device resource link |
parent | Σ | 0..1 | Reference(DeviceComponent) | Parent resource link |
operationalStatus | Σ | 0..* | CodeableConcept | Current operational status of the component, for example On, Off or Standby DeviceComponentOperationalStatus (Extensible) |
parameterGroup | Σ | 0..1 | CodeableConcept | Current supported parameter group DeviceComponentParameterGroup (Extensible) |
measurementPrinciple | Σ | 0..1 | code | other | chemical | electrical | impedance | nuclear | optical | thermal | biological | mechanical | acoustical | manual+ MeasmntPrinciple (Required) |
productionSpecification | Σ | 0..* | BackboneElement | 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 DeviceSpecificationSpecType (Extensible) |
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 Common Languages (Extensible but limited to All Languages) |
property | Σ | 0..* | BackboneElement | Other Attributes |
type | Σ | 1..1 | CodeableConcept | Code that specifies the property DeiviceComponentPropertyCode (Extensible) |
valueQuantity | Σ | 0..* | Quantity | Property value as a quantity |
valueCode | Σ | 0..* | CodeableConcept | Property value as a code |
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 --> <identifier><!-- 0..* Identifier Instance identifier --></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> <property> <!-- 0..* Other Attributes --> <type><!-- 1..1 CodeableConcept Code that specifies the property --></type> <valueQuantity><!-- 0..* Quantity Property value as a quantity --></valueQuantity> <valueCode><!-- 0..* CodeableConcept Property value as a code --></valueCode> </property> </DeviceComponent>
JSON Template
{ "resourceType" : "DeviceComponent", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Instance identifier "type" : { CodeableConcept }, // R! What kind of component it is "lastSystemChange" : "<instant>", // Recent system change timestamp "source" : { Reference(Device) }, // Top-level device resource link "parent" : { Reference(DeviceComponent) }, // Parent resource link "operationalStatus" : [{ CodeableConcept }], // Current operational status of the component, for example On, Off or Standby "parameterGroup" : { CodeableConcept }, // Current supported parameter group "measurementPrinciple" : "<code>", // other | chemical | electrical | impedance | nuclear | optical | thermal | biological | mechanical | acoustical | manual+ "productionSpecification" : [{ // Specification details such as Component Revisions, or Serial Numbers "specType" : { CodeableConcept }, // Type or kind of production specification, for example serial number or software revision "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 "property" : [{ // Other Attributes "type" : { CodeableConcept }, // R! Code that specifies the property "valueQuantity" : [{ Quantity }], // Property value as a quantity "valueCode" : [{ CodeableConcept }] // Property value as a code }] }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ 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 ], ... ; # 0..* Instance identifier 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 fhir:DeviceComponent.property [ # 0..* Other Attributes fhir:DeviceComponent.property.type [ CodeableConcept ]; # 1..1 Code that specifies the property fhir:DeviceComponent.property.valueQuantity [ Quantity ], ... ; # 0..* Property value as a quantity fhir:DeviceComponent.property.valueCode [ CodeableConcept ], ... ; # 0..* Property value as a code ], ...; ]
Changes since DSTU2
DeviceComponent | |
DeviceComponent.identifier |
|
DeviceComponent.lastSystemChange |
|
DeviceComponent.operationalStatus |
|
DeviceComponent.parameterGroup |
|
DeviceComponent.productionSpecification.specType |
|
DeviceComponent.languageCode |
|
DeviceComponent.property |
|
DeviceComponent.property.type |
|
DeviceComponent.property.valueQuantity |
|
DeviceComponent.property.valueCode |
|
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 + JSON Schema, ShEx (for Turtle) + see the extensions & the dependency analysis
Path | Definition | Type | Reference |
---|---|---|---|
DeviceComponent.type | Describes the type of the component. | Preferred | FHIR Device Types |
DeviceComponent.operationalStatus | Codes representing the current status of the device - on, off, suspended, etc. | Extensible | DeviceComponentOperationalStatus |
DeviceComponent.parameterGroup | Codes identifying groupings of parameters; e.g. Cardiovascular. | Extensible | DeviceComponentParameterGroup |
DeviceComponent.measurementPrinciple | Different measurement principle supported by the device. | Required | MeasmntPrinciple |
DeviceComponent.productionSpecification.specType | Codes for device specification types such as serial number, part number, hardware revision, software revision, etc. | Extensible | DeviceSpecificationSpecType |
DeviceComponent.languageCode | A human language. | Extensible, but limited to All Languages | Common Languages |
DeviceComponent.property.type | Codes for identifying device properties. This is based upon IEEE/HCD specified codes | Extensible | DeiviceComponentPropertyCode |
DeviceComponent.property.valueCode | Property value codes for device properties | Unknown | No details provided yet |
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 | Expression | In Common |
identifier | token | The identifier of the component | DeviceComponent.identifier | |
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 |