This
page
is
part
of
the
FHIR
Specification
(v3.0.2:
STU
3).
(v3.3.0:
R4
Ballot
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
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
DeviceMetric
,
Media
and
Observation
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
Σ 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 |
Instance
|
|
Σ | 1..1 | CodeableConcept |
What
kind
of
component
it
is
FHIR Device Types ( Preferred ) |
|
Σ | 0..1 | instant | Recent system change timestamp |
|
Σ | 0..1 | Reference ( Device ) | Top-level device resource link |
|
Σ | 0..1 | Reference ( DeviceComponent ) | Parent resource link |
|
Σ | 0..* | CodeableConcept |
Current
operational
status
of
the
component,
for
example
On,
Off
or
Standby
DeviceComponentOperationalStatus ( Extensible ) |
|
Σ | 0..1 | CodeableConcept |
Current
supported
parameter
group
DeviceComponentParameterGroup ( Extensible ) |
|
Σ | 0..1 | code |
other
|
chemical
|
electrical
|
impedance
|
nuclear
|
optical
|
thermal
|
biological
|
mechanical
|
acoustical
|
manual+
MeasmntPrinciple ( Required ) |
|
Σ | 0..* | BackboneElement |
Specification
details
such
as
Component
Revisions,
or
Serial
Numbers
|
|
Σ | 0..1 | CodeableConcept |
Type
or
kind
of
production
specification,
for
example
serial
number
or
software
revision
DeviceSpecificationSpecType ( Extensible ) |
|
Σ | 0..1 | Identifier | Internal component unique identification |
|
Σ | 0..1 | string | A printable string defining the component |
|
Σ | 0..1 | CodeableConcept |
Language
code
for
the
human-readable
text
strings
produced
by
the
device
Common Languages ( Extensible but limited to All Languages ) |
| Σ | 0..* | BackboneElement |
Other
Attributes
|
![]() ![]() ![]() | Σ | 1..1 | CodeableConcept |
Code
that
specifies
the
property
DeviceComponentPropertyCode ( Extensible ) |
![]() ![]() ![]() | Σ | 0..* | Quantity |
Property
value
as
a
quantity
|
![]() ![]() ![]() | Σ | 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><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" : "",
"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: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
R3
| DeviceComponent | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.). Note: these have note yet been updated to be R3 to R4
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
Σ 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 |
Instance
|
|
Σ | 1..1 | CodeableConcept |
What
kind
of
component
it
is
FHIR Device Types ( Preferred ) |
|
Σ | 0..1 | instant | Recent system change timestamp |
|
Σ | 0..1 | Reference ( Device ) | Top-level device resource link |
|
Σ | 0..1 | Reference ( DeviceComponent ) | Parent resource link |
|
Σ | 0..* | CodeableConcept |
Current
operational
status
of
the
component,
for
example
On,
Off
or
Standby
DeviceComponentOperationalStatus ( Extensible ) |
|
Σ | 0..1 | CodeableConcept |
Current
supported
parameter
group
DeviceComponentParameterGroup ( Extensible ) |
|
Σ | 0..1 | code |
other
|
chemical
|
electrical
|
impedance
|
nuclear
|
optical
|
thermal
|
biological
|
mechanical
|
acoustical
|
manual+
MeasmntPrinciple ( Required ) |
|
Σ | 0..* | BackboneElement |
Specification
details
such
as
Component
Revisions,
or
Serial
Numbers
|
|
Σ | 0..1 | CodeableConcept |
Type
or
kind
of
production
specification,
for
example
serial
number
or
software
revision
DeviceSpecificationSpecType ( Extensible ) |
|
Σ | 0..1 | Identifier | Internal component unique identification |
|
Σ | 0..1 | string | A printable string defining the component |
|
Σ | 0..1 | CodeableConcept |
Language
code
for
the
human-readable
text
strings
produced
by
the
device
Common Languages ( Extensible but limited to All Languages ) |
| Σ | 0..* | BackboneElement |
Other
Attributes
|
![]() ![]() ![]() | Σ | 1..1 | CodeableConcept |
Code
that
specifies
the
property
DeviceComponentPropertyCode ( Extensible ) |
![]() ![]() ![]() | Σ | 0..* | Quantity |
Property
value
as
a
quantity
|
![]() ![]() ![]() | Σ | 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><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" : "",
"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: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 | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.). Note: these have note yet been updated to be R3 to R4
Alternate
definitions:
Master
Definition
(
XML
,
+
JSON
),
,
XML
Schema
/
Schematron
(for
)
+
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 | DeviceComponentPropertyCode |
| DeviceComponent.property.valueCode | Property value codes for device properties | Unknown | No details provided yet |
,
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 | 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 |