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
. For a full list of available versions, see the
Directory of published versions
.
Page
versions:
. Page versions:
R5
R4B
R4
R3
R2
|
|
Compartments
|
This resource identifies an instance or a type of a manufactured item that is used in the provision of healthcare without being substantially changed through that activity. The device may be a medical or non-medical device. Medical devices includes durable (reusable) medical equipment, implantable devices, as well as disposable equipment used for diagnostic, treatment, and research for healthcare and public health. Non-medical devices may include items such as a machine, cellphone, computer, application, etc.
This resource an administrative resource that tracks individual device types or instances of a device and their location. It is referenced by other resource for recording which device performed an action such as a procedure or an observation. It is also referenced when prescribing and dispensing devices for patient use or for ordering supplies. It is used to record and transmit Unique Device Identifer (UDI) information about a device such as a patient's implant.
These are the device related resources
In FHIR, the "Device" is the "administrative" resource for the device (it does not change much and has manufacturer information etc.), where as the DeviceComponent and DeviceMetric (which is really a kind of DeviceComponent) model the physical part, including operation status and is much more volatile. The physical composition of a Device is done by the DeviceComponents pointing to their "parent" component using
DeviceComponent.parent
,
e.g.
channel
to
VMD
and
VMD
to
the
MDS.
All
components
point
to
the
"logical"
Device
they
belong
to,
using
, e.g. channel to VMD and VMD to the MDS. All components point to the "logical" Device they belong to, using
DeviceComponent.source
.
Similarly,
if
for
example
you
want
to
express
which
logical
device
your
observation
came
from,
you
can
just
use
Device,
but
if
you
need
to
be
more
specific
observation
can
point
to
DeviceMetric
which
in
turn
points
to
the
"logical"
Device
it
belongs
to,
using
. Similarly, if for example you want to express which logical device your observation came from, you can just use Device, but if you need to be more specific observation can point to DeviceMetric which in turn points to the "logical" Device it belongs to, using
DeviceMetric.source
.
Devices
that
are
implanted
in
a
patient
differ
from
medications
because
they
are
not
"used
up"
-
they
remain
active
in
a
patient
in
an
ongoing
fashion.
The
Devices differ from medications because they are not "used up" - they remain active in a patient in an ongoing fashion. However, the specific boundary between medications and devices is defined at the implementation level and this standard does not enforce a boundary with the exception of devices that are implanted in a patient. The
Medication
resource
SHOULD
not
be
used
to
represent
implanted
devices.
This
resource
is
referenced
by
resource should not be used to represent implanted devices.
This resource is referenced by
Account
,
,
Appointment
,
,
AppointmentResponse
,
,
AuditEvent
,
,
Claim
,
Communication
,
,
CommunicationRequest
,
,
Composition
,
,
Consent
,
Contract
,
,
DetectedIssue
,
,
DeviceComponent
,
,
DeviceMetric
,
,
DeviceUseRequest
,
,
DeviceUseStatement
,
DiagnosticOrder
,
,
DiagnosticReport
,
,
DiagnosticRequest
,
DocumentManifest
,
,
DocumentReference
,
,
ExplanationOfBenefit
,
Flag
,
,
Group
,
ImagingObjectSelection
,
,
GuidanceResponse
,
ImagingManifest
,
List
,
,
Media
,
,
MedicationAdministration
,
,
MessageHeader
,
,
Observation
,
Order
,
OrderResponse
,
,
Procedure
,
,
ProcedureRequest
,
,
Provenance
,
,
QuestionnaireResponse
,
,
RiskAssessment
,
,
Schedule
,
,
Sequence
,
Specimen
,
,
SupplyDelivery
and
,
SupplyRequest
and
Task
Structure
| Name | Flags | Card. | Type |
|
|---|---|---|---|---|
|
DomainResource |
|
||
|
0..* | Identifier |
|
|
|
|
|
|
|
|
?! Σ | 0..1 | code |
DeviceStatus |
|
|
|
Device Types ( Example ) |
|
|
0..1 | string |
|
|
|
0..1 | string |
|
|
|
0..1 | dateTime |
|
|
|
0..1 | dateTime |
|
|
|
0..1 | string |
|
|
|
0..1 | string |
|
|
|
0..1 |
Reference
(
|
|
|
|
0..1 |
Reference
(
|
|
|
|
0..* | ContactPoint | Details for human/organization for support | |
![]() ![]() |
0..1 |
Reference
(
|
|
|
|
|
|
|
|
|
|
|
|
|
Documentation for this format
|
||||
UML
Diagram
UML Diagram
(
Legend
)
XML
Template
XML Template
<
<Device xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension -->
<</identifier> <</type> <</note> < < < < < < < < <</owner> <</location> <</patient> <</contact> <<identifier><!-- 0..* Identifier Instance identifier --></identifier> <udiCarrier><!-- 0..1 Identifier Unique Device Identifier (UDI) Barcode string --></udiCarrier> <status value="[code]"/><!-- 0..1 available | not-available | entered-in-error --> <type><!-- 1..1 CodeableConcept What kind of device this is --></type> <lotNumber value="[string]"/><!-- 0..1 Lot number of manufacture --> <manufacturer value="[string]"/><!-- 0..1 Name of device manufacturer --> <manufactureDate value="[dateTime]"/><!-- 0..1 Date when the device was made --> <expirationDate value="[dateTime]"/><!-- 0..1 Date and time of expiry of this device (if applicable) --> <model value="[string]"/><!-- 0..1 Model id assigned by the manufacturer --> <version value="[string]"/><!-- 0..1 Version number (i.e. software) --> <patient><!-- 0..1 Reference(Patient) Patient to whom Device is affixed --></patient> <owner><!-- 0..1 Reference(Organization) Organization responsible for device --></owner> <contact><!-- 0..* ContactPoint Details for human/organization for support --></contact> <location><!-- 0..1 Reference(Location) Where the resource is found --></location> <url value="[uri]"/><!-- 0..1 Network address to contact device --> <note><!-- 0..* Annotation Device notes and comments --></note> </Device>
JSON
Template
JSON Template
{
"resourceType" : "",
{
"resourceType" : "Device",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"identifier" : [{ Identifier }], // Instance identifier
"udiCarrier" : { Identifier }, // Unique Device Identifier (UDI) Barcode string
"status" : "<code>", // available | not-available | entered-in-error
"type" : { CodeableConcept }, // R! What kind of device this is
"lotNumber" : "<string>", // Lot number of manufacture
"manufacturer" : "<string>", // Name of device manufacturer
"manufactureDate" : "<dateTime>", // Date when the device was made
"expirationDate" : "<dateTime>", // Date and time of expiry of this device (if applicable)
"model" : "<string>", // Model id assigned by the manufacturer
"version" : "<string>", // Version number (i.e. software)
"patient" : { Reference(Patient) }, // Patient to whom Device is affixed
"owner" : { Reference(Organization) }, // Organization responsible for device
"contact" : [{ ContactPoint }], // Details for human/organization for support
"location" : { Reference(Location) }, // Where the resource is found
"url" : "<uri>", // Network address to contact device
"note" : [{ Annotation }] // Device notes and comments
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:Device; 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:Device.identifier [ Identifier ], ... ; # 0..* Instance identifier fhir:Device.udiCarrier [ Identifier ]; # 0..1 Unique Device Identifier (UDI) Barcode string fhir:Device.status [ code ]; # 0..1 available | not-available | entered-in-error fhir:Device.type [ CodeableConcept ]; # 1..1 What kind of device this is fhir:Device.lotNumber [ string ]; # 0..1 Lot number of manufacture fhir:Device.manufacturer [ string ]; # 0..1 Name of device manufacturer fhir:Device.manufactureDate [ dateTime ]; # 0..1 Date when the device was made fhir:Device.expirationDate [ dateTime ]; # 0..1 Date and time of expiry of this device (if applicable) fhir:Device.model [ string ]; # 0..1 Model id assigned by the manufacturer fhir:Device.version [ string ]; # 0..1 Version number (i.e. software) fhir:Device.patient [ Reference(Patient) ]; # 0..1 Patient to whom Device is affixed fhir:Device.owner [ Reference(Organization) ]; # 0..1 Organization responsible for device fhir:Device.contact [ ContactPoint ], ... ; # 0..* Details for human/organization for support fhir:Device.location [ Reference(Location) ]; # 0..1 Where the resource is found fhir:Device.url [ uri ]; # 0..1 Network address to contact device fhir:Device.note [ Annotation ], ... ; # 0..* Device notes and comments ]
Changes since DSTU2
| Device | |
| Device.udiCarrier | Renamed from udi to udiCarrier Type changed from string to Identifier |
| Device.expirationDate | Renamed from expiry to expirationDate |
See the Full Difference for further information
Structure
| Name | Flags | Card. | Type |
|
|---|---|---|---|---|
|
DomainResource |
|
||
|
0..* | Identifier |
|
|
|
|
|
|
|
|
?! Σ | 0..1 | code |
DeviceStatus |
|
|
|
Device Types ( Example ) |
|
|
0..1 | string |
|
|
|
0..1 | string |
|
|
|
0..1 | dateTime |
|
|
|
0..1 | dateTime |
|
|
|
0..1 | string |
|
|
|
0..1 | string |
|
|
|
0..1 |
Reference
(
|
|
|
|
0..1 |
Reference
(
|
|
|
|
0..* | ContactPoint | Details for human/organization for support | |
![]() ![]() |
0..1 |
Reference
(
|
|
|
|
|
|
|
|
|
|
|
|
|
Documentation for this format
|
||||
XML
Template
XML Template
<
<Device xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension -->
<</identifier> <</type> <</note> < < < < < < < < <</owner> <</location> <</patient> <</contact> <<identifier><!-- 0..* Identifier Instance identifier --></identifier> <udiCarrier><!-- 0..1 Identifier Unique Device Identifier (UDI) Barcode string --></udiCarrier> <status value="[code]"/><!-- 0..1 available | not-available | entered-in-error --> <type><!-- 1..1 CodeableConcept What kind of device this is --></type> <lotNumber value="[string]"/><!-- 0..1 Lot number of manufacture --> <manufacturer value="[string]"/><!-- 0..1 Name of device manufacturer --> <manufactureDate value="[dateTime]"/><!-- 0..1 Date when the device was made --> <expirationDate value="[dateTime]"/><!-- 0..1 Date and time of expiry of this device (if applicable) --> <model value="[string]"/><!-- 0..1 Model id assigned by the manufacturer --> <version value="[string]"/><!-- 0..1 Version number (i.e. software) --> <patient><!-- 0..1 Reference(Patient) Patient to whom Device is affixed --></patient> <owner><!-- 0..1 Reference(Organization) Organization responsible for device --></owner> <contact><!-- 0..* ContactPoint Details for human/organization for support --></contact> <location><!-- 0..1 Reference(Location) Where the resource is found --></location> <url value="[uri]"/><!-- 0..1 Network address to contact device --> <note><!-- 0..* Annotation Device notes and comments --></note> </Device>
JSON
Template
JSON Template
{
"resourceType" : "",
{
"resourceType" : "Device",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"identifier" : [{ Identifier }], // Instance identifier
"udiCarrier" : { Identifier }, // Unique Device Identifier (UDI) Barcode string
"status" : "<code>", // available | not-available | entered-in-error
"type" : { CodeableConcept }, // R! What kind of device this is
"lotNumber" : "<string>", // Lot number of manufacture
"manufacturer" : "<string>", // Name of device manufacturer
"manufactureDate" : "<dateTime>", // Date when the device was made
"expirationDate" : "<dateTime>", // Date and time of expiry of this device (if applicable)
"model" : "<string>", // Model id assigned by the manufacturer
"version" : "<string>", // Version number (i.e. software)
"patient" : { Reference(Patient) }, // Patient to whom Device is affixed
"owner" : { Reference(Organization) }, // Organization responsible for device
"contact" : [{ ContactPoint }], // Details for human/organization for support
"location" : { Reference(Location) }, // Where the resource is found
"url" : "<uri>", // Network address to contact device
"note" : [{ Annotation }] // Device notes and comments
}
Alternate
definitions:
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:Device; 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:Device.identifier [ Identifier ], ... ; # 0..* Instance identifier fhir:Device.udiCarrier [ Identifier ]; # 0..1 Unique Device Identifier (UDI) Barcode string fhir:Device.status [ code ]; # 0..1 available | not-available | entered-in-error fhir:Device.type [ CodeableConcept ]; # 1..1 What kind of device this is fhir:Device.lotNumber [ string ]; # 0..1 Lot number of manufacture fhir:Device.manufacturer [ string ]; # 0..1 Name of device manufacturer fhir:Device.manufactureDate [ dateTime ]; # 0..1 Date when the device was made fhir:Device.expirationDate [ dateTime ]; # 0..1 Date and time of expiry of this device (if applicable) fhir:Device.model [ string ]; # 0..1 Model id assigned by the manufacturer fhir:Device.version [ string ]; # 0..1 Version number (i.e. software) fhir:Device.patient [ Reference(Patient) ]; # 0..1 Patient to whom Device is affixed fhir:Device.owner [ Reference(Organization) ]; # 0..1 Organization responsible for device fhir:Device.contact [ ContactPoint ], ... ; # 0..* Details for human/organization for support fhir:Device.location [ Reference(Location) ]; # 0..1 Where the resource is found fhir:Device.url [ uri ]; # 0..1 Network address to contact device fhir:Device.note [ Annotation ], ... ; # 0..* Device notes and comments ]
Changes since DSTU2
| Device | |
| Device.udiCarrier | Renamed from udi to udiCarrier Type changed from string to Identifier |
| Device.expirationDate | Renamed from expiry to expirationDate |
See the Full Difference for further information
Alternate definitions: Master Definition (
XML
,
JSON
),
XML
Schema
/
Schematron
,
Resource
Profile
(
XML
,
(for ) +
JSON
Schema
,
ShEx
(for
Turtle
),
Questionnaire
)
| Path | Definition | Type | Reference |
|---|---|---|---|
| Device.status |
|
|
|
| Device.type |
|
|
|
The example binding used for the device element is from SNOMED CT. However, there are many other sources of possible codes for device type including:
Note that there may be translations of type code using one or more of these and other vocabularies
Nearly all devices are assigned one or more identifiers, which are usually printed or affixed to the device using either barcodes or RFIDs. The identifiers can come from the manufacturer (often called the "serial number," "reference number," or "catalog number"), various institution and registries. Any of these identifiers assigned to the device can and should be recorded in the device resource. The different identifiers are differentiated by their use, label, and system values.
The International Medical Device Regulators Forum IMDRF UDI Working Group published
UDI System for Medical Devices (Version 2.0)
, the base specification for Unique Device Identifiers (UDI). The United States Food and Drug Administration has produced an
implementation guide
for Unique Device Identifiers (UDI) which implements the IMDRF specification and other jurisdictions may produce similar IMDRF implementation guides as well. The full UDI string that represents the barcode as printed on the packaging of the device or Automatic Identification and Data Capture (AIDC) representation is called the "UDI carrier". The UDI has 2 components*:
*non-UDI elements may also appear within the UDI carrier. **a "GTIN" (sometimes also called an EAN number) is a code developed by
GS1
for the kind of device not an identifier for the device. A GTIN may appear on its own or it may appear in a UDI string as the DI component.
The DI of the UDI may be stored in a jurisdictional repository and used as the primary key to access other device information. For example, in the United States, the DI of the UDI is submitted in a device record to the
Global Unique Device Identification Database (GUDID)
. the The UDI may identify an instance of a device uniquely (when the PI includes a serial number), or it may just identify the type of the device. The UDI is parsed into its constituent parts (DI, PI and other elements) by parsing rules developed by each Issuing Agency standard. Where the device has an assigned UDI, the other details carried in the resource (e.g., lot, expiriation date, etc.) SHALL be consistent with the information encoded in the UDI string or registered in the local repository.
Best practice guidelines for transmitting UDI data using the Device resource dictate transmitting both the UDI Carrier and all components found within the UDI as described in Device UDI Mapping . Several examples are provided for futher guidance.
Search parameters for this resource. The
common parameters
also apply. See
Searching
for
more
information
about
searching
in
REST,
messaging,
and
services.
for more information about searching in REST, messaging, and services.
| Name | Type | Description | Paths |
| identifier | token |
|
Device.identifier |
| location | reference |
|
Device.location
( Location ) |
| manufacturer | string |
|
Device.manufacturer |
| model | string |
|
Device.model |
| organization | reference |
|
Device.owner
( Organization ) |
| patient | reference |
|
Device.patient
( Patient ) |
| type | token |
|
Device.type |
|
|
|
|
|
| url | uri |
|
Device.url |