This page is part of the FHIR Specification (v0.11: DSTU 1 Ballot 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

Resource DeviceCapabilities - Content 4.20

Describes the set of data produced by a device.

The resource name as it appears in a RESTful URL is [root]/devicecapabilities/

There are 4 device related resources

The device capabilities and log resources are used when communicating with a device, either directly or indirectly. When a channel is opened with the device, or its proxy, it first sends the Capabilities resource, and then a series of log resources. The FHIR JSON format is used in this case. (TODO: What's the communication protocol?) The application that receives the log resources may choose to merge the log with the capabilities statement to create a device observation, which is suitable for wider use within a EHR/Clinical record context. The Device Capabilities and Device Log resources may be used in a RESTful context, but in many contexts this will not be very useful - the data should be converted to a device observation for normal RESTful use in a patient care context.

Note that this resource is entirely concerned with devices that report data; interacting with and controlling devices such as infusion pumps etc. is not in scope for this resource (no solution for this yet). This resource is based on ISO 11073.

Structure of the Device Capabilities 4.20.0.1

A medical device is conceived of as a measuring device that is capable of reporting a series of groups of measurements on a regular basis. The device capabilities resource describes the kind of data that a medical device reports. Devices are conceptualised using the following main structure:

  1. Device - The actual device that external systems communicate with
  2. Virtual Medical Device - A medical-related subsystem of a medical device. The virtual device that may be part of the containing device, or a separate device that may be communicating with it
  3. Channel - Groups together physiological measurement data and derived data
  4. Metrics - A piece of measured or derived data that will be reported by the machine
  5. Facets - Additional data that qualifies the metric, or contributes to its assessment

Very simple devices may have only a single compartment with a single channel and one metric, while complex devices may have multiple items at every level.

When the data emitted by the device is converted to a Device Observation based on the information in the capabilities, and known local context, the Metrics level usually corresponds to a single Observation, but this is not appropriate in all cases.

Resource Content 4.20.1

DeviceCapabilities (Resource)The name of this devicename : string 0..1The kind of device - what kind of functionality it providestype : CodeableConcept 0..1The company that built this devicemanufacturer : string 0..1Identifies this particular device uniquelyidentity : Resource(Device) 0..1VirtualDeviceDescribes the compartmentcode : CodeableConcept 0..1ChannelDescribes the channelcode : CodeableConcept 0..1MetricDescribes the metricscode : CodeableConcept 1..1Used to link to data in device logkey : string 1..1InfoType of data for this metrictype : code 1..1 <<The type of data produced by a deviceDeviceDataType>>Units for this data item (if a quantity or a range)units : string 0..1UCUM units (if a quantity or a range)ucum : code 0..1 <<UCUM CodesUCUM>>A template containing the fixed values for an array output (all the values but the data)template : SampledData 0..1System of the codes, if the type is a Codingsystem : uri 0..1FacetDescribes the facetcode : CodeableConcept 1..1 <<Describes the facetDeviceFacetCode>>The factor to apply to the raw values to get the correct valuescale : decimal 0..1Used to link to data in device logkey : string 1..1How to interpret this metric valueinfo1..1How to interpret this facet valueinfo0..*Additional data that qualifies the metric, or contributes to its assessmentfacet0..*A piece of measured or derived data that will be reported by the machinemetric0..*Groups together physiological measurement data and derived datachannel0..*A medical-related subsystem of a medical devicevirtualDevice0..*
<DeviceCapabilities xmlns="http://hl7.org/fhir">
 <!-- from Resource: extension, narrative, and contained -->
 <name value="[string]"/><!-- 0..1 The name of this device -->
 <type><!-- 0..1 CodeableConcept The type of device --></type>
 <manufacturer value="[string]"/><!-- 0..1 Company that built the device -->
 <identity><!-- 0..1 Resource(Device) Identifies this particular device uniquely --></identity>
 <virtualDevice>  <!-- 0..* A medical-related subsystem of a medical device -->
  <code><!-- 0..1 CodeableConcept Describes the compartment --></code>
  <channel>  <!-- 0..* Groups related data items -->
   <code><!-- 0..1 CodeableConcept Describes the channel --></code>
   <metric>  <!-- 0..* Piece of data reported by device -->
    <code><!-- 1..1 CodeableConcept Describes the metrics --></code>
    <key value="[string]"/><!-- 1..1 Used to link to data in device log -->
    <info>  <!-- 1..1 How to interpret this metric value -->
     <type value="[code]"/><!-- 1..1 Quantity | Coding | Array | string -->
     <units value="[string]"/><!-- 0..1 Human Readable units of data value -->
     <ucum value="[code]"/><!-- 0..1 UCUM units for data value -->
     <template><!-- 0..1 SampledData Array template (fixed values) --></template>
     <system value="[uri]"/><!-- 0..1 System for coding -->
    </info>
    <facet>  <!-- 0..* Additional clarifying or qualifiying data -->
     <code><!-- 1..1 CodeableConcept Describes the facet --></code>
     <scale value="[decimal]"/><!-- 0..1 Factor to apply to raw values (default = 1) -->
     <key value="[string]"/><!-- 1..1 Used to link to data in device log -->
     <info><!-- 1..1 Content as for DeviceCapabilities.virtualDevice.channel.metric.info How to interpret this facet value --></info>
    </facet>
   </metric>
  </channel>
 </virtualDevice>
</DeviceCapabilities>

Alternate definitions: Schema/Schematron, Resource Profile

Terminology Bindings 4.20.1.1

PathDefinitionTypeReference
DeviceCapabilities.type Defines the nature of the device and the kind of functionality/services/behavior that may be expected from itUnknownNo details provided yet
DeviceCapabilities.virtualDevice.code Describes the compartmentUnknownNo details provided yet
DeviceCapabilities.virtualDevice.channel.code Describes the channelUnknownNo details provided yet
DeviceCapabilities.virtualDevice.channel.metric.code Describes the metricsUnknownNo details provided yet
DeviceCapabilities.virtualDevice.channel.metric.info.type The type of data produced by a deviceFixedhttp://hl7.org/fhir/device-data-type
DeviceCapabilities.virtualDevice.channel.metric.info.ucum UCUM CodesIncompletehttp://unitsofmeasure.org
DeviceCapabilities.virtualDevice.channel.metric.facet.code Describes the facetIncompletehttp://loinc.org

Constraints 4.20.1.2

Usage Notes 4.20.1.3

Search Parameters 4.20.2

Search Parameters for RESTful searches. The standard parameters also apply. See Searching for more information.

Name / TypeDescriptionPaths
_id : tokenThe logical resource id associated with the resource (must be supported by all servers)
channel : tokenThe channel codeDeviceCapabilities.virtualDevice.channel.code
code : tokenThe compatment codeDeviceCapabilities.virtualDevice.code
datatype : tokenQuantity | Coding | Array | stringDeviceCapabilities.virtualDevice.channel.metric.info.type
facet : tokenThe facet codeDeviceCapabilities.virtualDevice.channel.metric.facet.code
identity : referenceIdentifies this particular device uniquelyDeviceCapabilities.identity
manufacturer : tokenCompany that built the deviceDeviceCapabilities.manufacturer
metric : tokenThe metric codeDeviceCapabilities.virtualDevice.channel.metric.code
name : stringThe name of this deviceDeviceCapabilities.name
type : tokenThe type of deviceDeviceCapabilities.type