This page is part of the FHIR Specification (v1.6.0: STU 3 Ballot 4). 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 | 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 Common Languages (Extensible but limited to All Languages) |
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 --> <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 "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 }
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.type [ CodeableConcept ]; # 1..1 What kind of component it is fhir:DeviceComponent.identifier [ Identifier ]; # 1..1 Instance id assigned by the software stack fhir:DeviceComponent.lastSystemChange [ instant ]; # 1..1 Recent system change timestamp fhir:DeviceComponent.source [ Reference(Device) ]; # 0..1 A source device of this component fhir:DeviceComponent.parent [ Reference(DeviceComponent) ]; # 0..1 Parent resource link fhir:DeviceComponent.operationalStatus [ CodeableConcept ], ... ; # 0..* Component operational status 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..* Production specification of the component fhir:DeviceComponent.productionSpecification.specType [ CodeableConcept ]; # 0..1 Specification type 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.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
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 Common Languages (Extensible but limited to All Languages) |
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 "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 }
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.type [ CodeableConcept ]; # 1..1 What kind of component it is fhir:DeviceComponent.identifier [ Identifier ]; # 1..1 Instance id assigned by the software stack fhir:DeviceComponent.lastSystemChange [ instant ]; # 1..1 Recent system change timestamp fhir:DeviceComponent.source [ Reference(Device) ]; # 0..1 A source device of this component fhir:DeviceComponent.parent [ Reference(DeviceComponent) ]; # 0..1 Parent resource link fhir:DeviceComponent.operationalStatus [ CodeableConcept ], ... ; # 0..* Component operational status 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..* Production specification of the component fhir:DeviceComponent.productionSpecification.specType [ CodeableConcept ]; # 0..1 Specification type 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.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
Alternate definitions: Master Definition (XML, JSON), XML Schema/Schematron (for ) + JSON Schema, ShEx (for Turtle)
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. | Extensible, but limited to All Languages | Common Languages |
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 |