STU3 Candidate

This page is part of the FHIR Specification (v1.8.0: STU 3 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

8.9 Resource Device - Content

Orders and Observations Work GroupMaturity Level: 1Compartments: Device

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

  • Device (this resource)
  • 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 (VMD), a MedicalDeviceSystem (MDS) , or a Channel

In FHIR, the "Device" is the "administrative" resource for the device (it does not change much and has manufacturer information etc.), whereas 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 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 DeviceMetric.source.

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 Account, Appointment, AppointmentResponse, AuditEvent, Claim, Communication, CommunicationRequest, Composition, Consent, Contract, DetectedIssue, DeviceComponent, DeviceMetric, DeviceUseRequest, DeviceUseStatement, DiagnosticReport, DiagnosticRequest, DocumentManifest, DocumentReference, ExplanationOfBenefit, Flag, Group, GuidanceResponse, ImagingManifest, List, Media, MedicationAdministration, MedicationRequest, MessageHeader, Observation, Procedure, ProcedureRequest, Provenance, QuestionnaireResponse, RequestGroup, RiskAssessment, Schedule, Sequence, Specimen, SupplyDelivery, SupplyRequest and Task

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Device DomainResourceItem used in healthcare
... identifier 0..*IdentifierInstance identifier
... udiCarrier 0..1IdentifierUnique Device Identifier (UDI) Barcode string
... status ?!Σ0..1codeavailable | not-available | entered-in-error
DeviceStatus (Required)
... type 0..1CodeableConceptWhat kind of device this is
Device Types (Example)
... lotNumber 0..1stringLot number of manufacture
... manufacturer 0..1stringName of device manufacturer
... manufactureDate 0..1dateTimeDate when the device was made
... expirationDate 0..1dateTimeDate and time of expiry of this device (if applicable)
... model 0..1stringModel id assigned by the manufacturer
... version 0..1stringVersion number (i.e. software)
... patient 0..1Reference(Patient)Patient to whom Device is affixed
... owner 0..1Reference(Organization)Organization responsible for device
... contact 0..*ContactPointDetails for human/organization for support
... location 0..1Reference(Location)Where the resource is found
... url 0..1uriNetwork address to contact device
... note 0..*AnnotationDevice notes and comments

doco Documentation for this format

UML Diagram (Legend)

Device (DomainResource)Unique instance identifiers assigned to a device by manufacturers other organizations or ownersidentifier : Identifier [0..*][Unique device identifier (UDI)](device.html#5.11.3.2.2) barcode or rfid string assigned to device label or packageudiCarrier : Identifier [0..1]Status of the Device availability (this element modifies the meaning of other elements)status : code [0..1] « The availability status of the device. (Strength=Required)DeviceStatus! »Code or identifier to identify a kind of devicetype : CodeableConcept [0..1] « Codes to identify medical devices (Strength=Example)Device Types?? »Lot number assigned by the manufacturerlotNumber : string [0..1]A name of the manufacturermanufacturer : string [0..1]The date and time when the device was manufacturedmanufactureDate : dateTime [0..1]The date and time beyond which this device is no longer valid or should not be used (if applicable)expirationDate : dateTime [0..1]The "model" is 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..1]The 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..1]Patient information, If the device is affixed to a personpatient : Reference [0..1] « Patient »An organization that is responsible for the provision and ongoing maintenance of the deviceowner : Reference [0..1] « Organization »Contact details for an organization or a particular human that is responsible for the devicecontact : ContactPoint [0..*]The place where the device can be foundlocation : Reference [0..1] « Location »A network address on which the device may be contacted directlyurl : uri [0..1]Descriptive information, usage information or implantation information that is not captured in an existing elementnote : Annotation [0..*]

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ 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 ]; # 0..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.type Min Cardinality changed from 1 to 0
Device.expirationDate Renamed from expiry to expirationDate

See the Full Difference for further information

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Device DomainResourceItem used in healthcare
... identifier 0..*IdentifierInstance identifier
... udiCarrier 0..1IdentifierUnique Device Identifier (UDI) Barcode string
... status ?!Σ0..1codeavailable | not-available | entered-in-error
DeviceStatus (Required)
... type 0..1CodeableConceptWhat kind of device this is
Device Types (Example)
... lotNumber 0..1stringLot number of manufacture
... manufacturer 0..1stringName of device manufacturer
... manufactureDate 0..1dateTimeDate when the device was made
... expirationDate 0..1dateTimeDate and time of expiry of this device (if applicable)
... model 0..1stringModel id assigned by the manufacturer
... version 0..1stringVersion number (i.e. software)
... patient 0..1Reference(Patient)Patient to whom Device is affixed
... owner 0..1Reference(Organization)Organization responsible for device
... contact 0..*ContactPointDetails for human/organization for support
... location 0..1Reference(Location)Where the resource is found
... url 0..1uriNetwork address to contact device
... note 0..*AnnotationDevice notes and comments

doco Documentation for this format

UML Diagram (Legend)

Device (DomainResource)Unique instance identifiers assigned to a device by manufacturers other organizations or ownersidentifier : Identifier [0..*][Unique device identifier (UDI)](device.html#5.11.3.2.2) barcode or rfid string assigned to device label or packageudiCarrier : Identifier [0..1]Status of the Device availability (this element modifies the meaning of other elements)status : code [0..1] « The availability status of the device. (Strength=Required)DeviceStatus! »Code or identifier to identify a kind of devicetype : CodeableConcept [0..1] « Codes to identify medical devices (Strength=Example)Device Types?? »Lot number assigned by the manufacturerlotNumber : string [0..1]A name of the manufacturermanufacturer : string [0..1]The date and time when the device was manufacturedmanufactureDate : dateTime [0..1]The date and time beyond which this device is no longer valid or should not be used (if applicable)expirationDate : dateTime [0..1]The "model" is 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..1]The 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..1]Patient information, If the device is affixed to a personpatient : Reference [0..1] « Patient »An organization that is responsible for the provision and ongoing maintenance of the deviceowner : Reference [0..1] « Organization »Contact details for an organization or a particular human that is responsible for the devicecontact : ContactPoint [0..*]The place where the device can be foundlocation : Reference [0..1] « Location »A network address on which the device may be contacted directlyurl : uri [0..1]Descriptive information, usage information or implantation information that is not captured in an existing elementnote : Annotation [0..*]

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ 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 ]; # 0..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.type Min Cardinality changed from 1 to 0
Device.expirationDate Renamed from expiry to expirationDate

See the Full Difference for further information

 

Alternate definitions: Master Definition (XML, JSON), XML Schema/Schematron (for ) + JSON Schema, ShEx (for Turtle), JSON-LD (for RDF as JSON-LD),

PathDefinitionTypeReference
Device.status The availability status of the device.RequiredDeviceStatus
Device.type Codes to identify medical devicesExampleDevice Types

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*:

  • Device identifier (DI)**, which is the actual identification component
  • Production identifier(s)(PI) which provide the means to track a device through its manufacture, distribution and use.

*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.

NameTypeDescriptionPathsIn Common
identifiertokenInstance id from manufacturer, owner, 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
udicarriertokenBarcode string (udi)Device.udiCarrier
urluriNetwork address to contact deviceDevice.url