2nd DSTU Draft For Comment

This page is part of the FHIR Specification (v0.4.0: DSTU 2 Draft). 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: R5 R4B R4 R3 R2

5.8 Resource Device - Content

This resource maintained by the Orders and Observations Work Group

This resource identifies an instance of a manufactured thing that is used in the provision of healthcare without being substantially changed through that activity. The device may be a machine, an insert, a computer, an application, etc. This includes durable (reusable) medical equipment as well as disposable equipment used for diagnostic, treatment, and research for healthcare and public health.

5.8.1 Scope and Usage

This resource is primarily used for recording which device performed an action and can also be used to track device location. It is also used for prescribing and dispensing devices for patient use. If the device is implanted in a patient, then the patient element will be present, and there would be no location.

These are the device related resources

  • Device (this resource) - an administrative resource that tracks individual devices and their location. Primarily used for attribution of actions to devices
  • DeviceMetric - Describes a measurement, calculation or setting capability of a medical device.
  • DeviceComponent that the DeviceMetric is part of. This can be a DeviceComponent of any kind like a VirtualMedicalDevice, a MedicalDeviceSystem, or a Channel

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.

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.

5.8.2 Boundaries and Relationships

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 Medication resource SHOULD not be used to represent implanted devices.

This resource is referenced by Alert, Communication, CommunicationRequest, Composition, Contraindication, DeviceComponent, DeviceMetric, DeviceUseRequest, DeviceUseStatement, DiagnosticOrder, DiagnosticReport, DocumentManifest, DocumentReference, Group, ImagingObjectSelection, List, Media, MedicationAdministration, MessageHeader, Observation, Order, OrderResponse, ProcedureRequest, RiskAssessment, SecurityEvent, Specimen and Supply

5.8.3 Resource Content

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Device DomainResourceAn instance of a manufactured thing that is used in the provision of healthcare
... identifier 0..*IdentifierInstance id from manufacturer, owner, regulatory agencies and others
... type 1..1CodeableConceptWhat kind of device this is
DeviceKind (Example)
... manufacturer 0..1stringName of device manufacturer
... model 0..1stringModel id assigned by the manufacturer
... version 0..1stringVersion number (i.e. software)
... manufactureDate 0..1dateTimeManufacture date
... expiry 0..1dateTimeDate and time of expiry of this device (if applicable)
... lotNumber 0..1stringLot number of manufacture
... owner 0..1OrganizationOrganization responsible for device
... location 0..1LocationWhere the resource is found
... patient 0..1PatientIf the resource is affixed to a person
... contact 0..*ContactPointDetails for human/organization for support
... url 0..1uriNetwork address to contact device

UML Diagram

Device (DomainResource)Unique instance identifiers assigned to a device by organizations like manufacturers, owners or regulatory agencies. If the identifier identifies the type of device, Device.type should be used. An example is the FDA Mandated Unique Device Identifier (UDI) which identifies an instance of a device uniquely if the serial number is present, . - see http://www.fda.gov/MedicalDevices/DeviceRegulationandGuidance/UniqueDeviceIdentification/default.htmidentifier : Identifier 0..*Code or identifier to identify a kind of device An example is the FDA Mandated Unique Device Identifier (UDI) which identifies a type of a device when the serial number is absent, otherwise it uniquely identifies the device instance and Device.identifier should be used instead of Device.type. - see http://www.fda.gov/MedicalDevices/DeviceRegulationandGuidance/UniqueDeviceIdentification/default.htmtype : CodeableConcept 1..1 « (Defines the nature of the device and the kind of functionality/services/behavior that may be expected from itDeviceKind) »A name of the manufacturermanufacturer : string 0..1The "model" - an identifier assigned by the manufacturer to identify the product by its type. This number is shared by the all devices sold as the same typemodel : string 0..1The version of the device, if the device has multiple releases under the same model, or if the device is software or carries firmwareversion : string 0..1The Date and time when the device was manufacturedmanufactureDate : dateTime 0..1The date and time beyond which this device is no longer valid or should not be used (if applicable)expiry : dateTime 0..1Lot number assigned by the manufacturerlotNumber : string 0..1An organization that is responsible for the provision and ongoing maintenance of the deviceowner : Reference(Organization) 0..1The resource may be found in a literal location (i.e. GPS coordinates), a logical place (i.e. "in/with the patient"), or a coded locationlocation : Reference(Location) 0..1Patient information, if the resource is affixed to a personpatient : Reference(Patient) 0..1Contact details for an organization or a particular human that is responsible for the devicecontact : ContactPoint 0..*A network address on which the device may be contacted directlyurl : uri 0..1

XML Template

<Device xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier 
     Instance id from manufacturer, owner, regulatory agencies and others --></identifier>
 <type><!-- 1..1 CodeableConcept What kind of device this is --></type>
 <manufacturer value="[string]"/><!-- 0..1 Name of device manufacturer -->
 <model value="[string]"/><!-- 0..1 Model id assigned by the manufacturer -->
 <version value="[string]"/><!-- 0..1 Version number (i.e. software) -->
 <manufactureDate value="[dateTime]"/><!-- 0..1 Manufacture date -->
 <expiry value="[dateTime]"/><!-- 0..1 Date and time of expiry of this device (if applicable) -->
 <lotNumber value="[string]"/><!-- 0..1 Lot number of manufacture -->
 <owner><!-- 0..1 Reference(Organization) Organization responsible for device --></owner>
 <location><!-- 0..1 Reference(Location) Where the resource is found --></location>
 <patient><!-- 0..1 Reference(Patient) If the resource is affixed to a person --></patient>
 <contact><!-- 0..* ContactPoint Details for human/organization for support --></contact>
 <url value="[uri]"/><!-- 0..1 Network address to contact device -->
</Device>

JSON Template

{doco
  "resourceType" : "Device",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // 
     Instance id from manufacturer, owner, regulatory agencies and others
  "type" : { CodeableConcept }, // R! What kind of device this is
  "manufacturer" : "<string>", // Name of device manufacturer
  "model" : "<string>", // Model id assigned by the manufacturer
  "version" : "<string>", // Version number (i.e. software)
  "manufactureDate" : "<dateTime>", // Manufacture date
  "expiry" : "<dateTime>", // Date and time of expiry of this device (if applicable)
  "lotNumber" : "<string>", // Lot number of manufacture
  "owner" : { Reference(Organization) }, // Organization responsible for device
  "location" : { Reference(Location) }, // Where the resource is found
  "patient" : { Reference(Patient) }, // If the resource is affixed to a person
  "contact" : [{ ContactPoint }], // Details for human/organization for support
  "url" : "<uri>" // Network address to contact device
}

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Device DomainResourceAn instance of a manufactured thing that is used in the provision of healthcare
... identifier 0..*IdentifierInstance id from manufacturer, owner, regulatory agencies and others
... type 1..1CodeableConceptWhat kind of device this is
DeviceKind (Example)
... manufacturer 0..1stringName of device manufacturer
... model 0..1stringModel id assigned by the manufacturer
... version 0..1stringVersion number (i.e. software)
... manufactureDate 0..1dateTimeManufacture date
... expiry 0..1dateTimeDate and time of expiry of this device (if applicable)
... lotNumber 0..1stringLot number of manufacture
... owner 0..1OrganizationOrganization responsible for device
... location 0..1LocationWhere the resource is found
... patient 0..1PatientIf the resource is affixed to a person
... contact 0..*ContactPointDetails for human/organization for support
... url 0..1uriNetwork address to contact device

UML Diagram

Device (DomainResource)Unique instance identifiers assigned to a device by organizations like manufacturers, owners or regulatory agencies. If the identifier identifies the type of device, Device.type should be used. An example is the FDA Mandated Unique Device Identifier (UDI) which identifies an instance of a device uniquely if the serial number is present, . - see http://www.fda.gov/MedicalDevices/DeviceRegulationandGuidance/UniqueDeviceIdentification/default.htmidentifier : Identifier 0..*Code or identifier to identify a kind of device An example is the FDA Mandated Unique Device Identifier (UDI) which identifies a type of a device when the serial number is absent, otherwise it uniquely identifies the device instance and Device.identifier should be used instead of Device.type. - see http://www.fda.gov/MedicalDevices/DeviceRegulationandGuidance/UniqueDeviceIdentification/default.htmtype : CodeableConcept 1..1 « (Defines the nature of the device and the kind of functionality/services/behavior that may be expected from itDeviceKind) »A name of the manufacturermanufacturer : string 0..1The "model" - an identifier assigned by the manufacturer to identify the product by its type. This number is shared by the all devices sold as the same typemodel : string 0..1The version of the device, if the device has multiple releases under the same model, or if the device is software or carries firmwareversion : string 0..1The Date and time when the device was manufacturedmanufactureDate : dateTime 0..1The date and time beyond which this device is no longer valid or should not be used (if applicable)expiry : dateTime 0..1Lot number assigned by the manufacturerlotNumber : string 0..1An organization that is responsible for the provision and ongoing maintenance of the deviceowner : Reference(Organization) 0..1The resource may be found in a literal location (i.e. GPS coordinates), a logical place (i.e. "in/with the patient"), or a coded locationlocation : Reference(Location) 0..1Patient information, if the resource is affixed to a personpatient : Reference(Patient) 0..1Contact details for an organization or a particular human that is responsible for the devicecontact : ContactPoint 0..*A network address on which the device may be contacted directlyurl : uri 0..1

XML Template

<Device xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier 
     Instance id from manufacturer, owner, regulatory agencies and others --></identifier>
 <type><!-- 1..1 CodeableConcept What kind of device this is --></type>
 <manufacturer value="[string]"/><!-- 0..1 Name of device manufacturer -->
 <model value="[string]"/><!-- 0..1 Model id assigned by the manufacturer -->
 <version value="[string]"/><!-- 0..1 Version number (i.e. software) -->
 <manufactureDate value="[dateTime]"/><!-- 0..1 Manufacture date -->
 <expiry value="[dateTime]"/><!-- 0..1 Date and time of expiry of this device (if applicable) -->
 <lotNumber value="[string]"/><!-- 0..1 Lot number of manufacture -->
 <owner><!-- 0..1 Reference(Organization) Organization responsible for device --></owner>
 <location><!-- 0..1 Reference(Location) Where the resource is found --></location>
 <patient><!-- 0..1 Reference(Patient) If the resource is affixed to a person --></patient>
 <contact><!-- 0..* ContactPoint Details for human/organization for support --></contact>
 <url value="[uri]"/><!-- 0..1 Network address to contact device -->
</Device>

JSON Template

{doco
  "resourceType" : "Device",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // 
     Instance id from manufacturer, owner, regulatory agencies and others
  "type" : { CodeableConcept }, // R! What kind of device this is
  "manufacturer" : "<string>", // Name of device manufacturer
  "model" : "<string>", // Model id assigned by the manufacturer
  "version" : "<string>", // Version number (i.e. software)
  "manufactureDate" : "<dateTime>", // Manufacture date
  "expiry" : "<dateTime>", // Date and time of expiry of this device (if applicable)
  "lotNumber" : "<string>", // Lot number of manufacture
  "owner" : { Reference(Organization) }, // Organization responsible for device
  "location" : { Reference(Location) }, // Where the resource is found
  "patient" : { Reference(Patient) }, // If the resource is affixed to a person
  "contact" : [{ ContactPoint }], // Details for human/organization for support
  "url" : "<uri>" // Network address to contact device
}

 

Alternate definitions: Schema/Schematron, Resource Profile (XML, JSON), Questionnaire

5.8.3.1 Terminology Bindings

PathDefinitionTypeReference
Device.type Defines the nature of the device and the kind of functionality/services/behavior that may be expected from itExampleRTM Management Service

5.8.3.2 Notes

  • There are many sources of possible codes for device type. The example suggests to use device codes from RTM. Another source which will be appropriate for many devices is the FDA GUDID -- the device identifier (DI) or GMDN code could be used for Device.type. A full UDI string (without a serial number) can also be stored in the Device.type element. (see below) or equivalent. Alternatively, many jurisdictions have their own supply chain arrangements which define many useful codes.

5.8.3.3 Device Identifiers

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 most important of the identifiers is the US Realm FDA Mandated Unique Device Identifier (UDI) required by the FDA for every medical device to bear on its label (unless excepted). The UDI has 2 components -- the device identifier (DI), which is assigned at the version/model level of the device and the production identifier(s)(PI) which provide the means to track a device through its manufacture, distribution and use. The DI of the UDI is submitted in a device record to the Global Unique Device Identification Database (GUDID) and is used as the primary key to access other device information. The UDI may identify an instance of a device uniquely (when the PI(s) include a serial number). In this case the Device,identifier element is used. Or the UDI may just identify the type of the device and the Device.type is then used. A portion of the UDI - the DI part - can be extracted from the UDI when required, and used to look up information about the device through the GUDID. The UDI can be broken into its constituent parts (DI and PI(s)) 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, expiry date etc) SHALL be consistent with the information encoded in the UDI string or registered in the GUDID.

Note that a Global Trade Item Number (GTIN)(sometimes also called an EAN number) is a code for the kind of device, not an identifier for the device. GTIN is the identifier developed by the General Specification of the GS1 Standard and can be used to represent the device identifier (DI) of the FDA UDI. The GTIN may be part of the UDI, but it may also be known separately. For example, a GS1-formatted UDI will have a GTIN as the DI portion of the UDI; only the DI (or GTIN) will be submitted to the GUDID in a device record. In this case GTINs should be carried in the type element:

GTIN example

  <type>
    <coding>
      <system value="urn:oid:1.3.160‎"/>
      <value value="00614141999996"/>
    </coding>
    <!-- other codes for type -->
  </type>

5.8.4 Search Parameters

Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

NameTypeDescriptionPaths
identifiertokenInstance id from manufacturer, owner, regulatory agencies and othersDevice.identifier
locationreferenceA location, where the resource is foundDevice.location
(Location)
manufacturerstringThe manufacturer of the deviceDevice.manufacturer
modelstringThe model of the deviceDevice.model
organizationreferenceThe organization responsible for the deviceDevice.owner
(Organization)
patientreferencePatient information, if the resource is affixed to a personDevice.patient
(Patient)
typetokenThe type of the deviceDevice.type