FHIR Release 3 (STU) R4 Ballot #1 (Mixed Normative/Trial use)

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: R5 R4B R4 R3 R2

8.14 Resource Device - Content

Orders and Observations Work Group Maturity Level : 2   Trial Use Compartments : 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 include 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.

Note to balloters The Orders and Observations work-group wants to draw the attention of reviewers and implementers to the following active discussions which may result in significant changes to this resource. We would appreciate your feedback on these issues.

  • How to distinguish between the device “instance” or the “kind”

    Current list of device 'kind' elements:

    • deviceIdentifier
    • type
    • name
    • jurisdiction
    • issuer
    • manufacturer
    • model
    • version
    • safety

    Current list of device 'instance' elements:

    • identifier (serial number)
    • carrierAIDC
    • carrierHRF
    • entryType
    • lotNumber
    • manufactureDate
    • expirationDate
    • status

    Currently, the Device resource represents both an ‘instance’ of a device (e.g., an IM pin with serial number 123) and a ‘kind’ of device (e.g., 3ml syringes). The lists above identify the Device elements associated with kind and instance respectively. Note that both kind and instance related elements are typically present when representing instance of a device. To clearly differentiate the kind of device from the instance of a device, several proposals have been put forth:

    1. Create separate resources for kind vs instance of Device
    2. Create a Device profile to represent a Device Kind
    3. Reorder the elements and group by kind and instance within the Device resource.

    More details on these options can be found here .

  • Representation of UDI for multipart devices

    Currently, the Device resource only permits a single UDI, which does not allow for devices that are composed of multiple parts each with a separate UDI. The following options are proposed to allow representation of UDI for multipart devices.

    1. Group individual Devices using the Procedure resource focalDevice element. There would be as many devices as necessary represented, but each device will have zero to one DI and UDI. There is no way to define the relationship between devices with DeviceComponent unless add a reference of DeviceComponent in Procedure.
    2. Change Device to support a device that has zero to one DIs (represent type) with multiple UDIs (instance).
    3. In addition to option 2 above, add an element to Device to be able reference other Devices resources. This would allow representation of a number of inter-related devices within a device system. This option is similar to the Device harmonization discussion below.
  • Harmonization between Personal Healthcare Devices (PHD) with Point of Care Device (POCD)

    Similar to the 3rd option above for UDI for multipart devices, there is active discussion within the Devices working group to harmonize the representation of simpler Personal Healthcare Devices (PHD) with Point of Care Device (POCD) by merging DeviceComponent within Device and allow multiple component Devices reference the 'parent' device.

This resource is an administrative resource that tracks individual device types or instances of a device and their location. It is referenced by other resource resources for recording which device performed an action such as a procedure or an observation. It is also observation, referenced when prescribing and dispensing devices for patient use or for ordering supplies. It is supplies, and 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" "Device" is the "administrative" "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 represented by the DeviceComponents pointing to their "parent" "parent" component using DeviceComponent.parent , e.g. channel to VMD and VMD to the MDS. All components point to the "logical" "logical" Device they belong to, using DeviceComponent.source . Similarly, if for example If you want to express represent the version ( e.g., a software version) as well as other attributes of the DeviceComponent, the DeviceComponent.productSpecification is used. When representing which logical device your observation observations came from, you can just use Device, but Device. But if you need to be more specific observation specific, the Observation resource can point to DeviceMetric or DeviceComponent which in turn points to reference the "logical" "logical" Device it they belongs to, using DeviceMetric.source . to.

Devices differ from medications because they are not "used up" "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 , AdverseEvent , Appointment , AppointmentResponse , AuditEvent , CarePlan , ChargeItem , Claim , Communication , CommunicationRequest , Composition , Consent , Contract , DetectedIssue , DeviceComponent , DeviceMetric , DeviceRequest , DeviceUseStatement , DiagnosticReport , DocumentManifest , DocumentReference , EntryDefinition , ExplanationOfBenefit , Flag , Group , GuidanceResponse , ImagingManifest ImagingStudy , Invoice , List , MeasureReport , Media , MedicationAdministration , MedicationDispense , MedicationRequest , MessageHeader , Observation , Procedure , ProcedureRequest , Provenance , QuestionnaireResponse , ReferralRequest , RequestGroup , RiskAssessment , Schedule , Sequence , ServiceRequest , Specimen , SupplyDelivery , SupplyRequest and , Task and UserSession

Structure

Name Flags Card. Type Description & Constraints doco
. . Device TU DomainResource Item used in healthcare
Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension
. . . identifier 0..* Identifier Instance identifier
. . . udi Σ 0..1 BackboneElement Unique Device Identifier (UDI) Barcode string
. . . . deviceIdentifier Σ 0..1 string Mandatory fixed portion of UDI
. . . . name Σ 0..1 string Device Name as appears on UDI label
. . . . jurisdiction 0..1 uri Regional UDI authority
. . . . carrierHRF Σ 0..1 string UDI Human Readable Barcode String
. . . . carrierAIDC Σ 0..1 base64Binary UDI Machine Readable Barcode String
. . . . issuer 0..1 uri UDI Issuing Organization
. . . . entryType 0..1 code barcode | rfid | manual +
UDIEntryType ( Required )
. . . status ?! Σ 0..1 code active | inactive | entered-in-error | unknown
FHIRDeviceStatus ( Required )
. . . type 0..1 CodeableConcept What kind of device this is
FHIR Device Types ( Example )
. . . lotNumber 0..1 string Lot number of manufacture
. . . manufacturer 0..1 string Name of device manufacturer
. . . manufactureDate 0..1 dateTime Date when the device was made
. . . expirationDate 0..1 dateTime Date and time of expiry of this device (if applicable)
. . . model 0..1 string Model id assigned by the manufacturer
. . . version 0..1 string Version number (i.e. software)
. . . patient 0..1 Reference ( Patient ) Patient to whom Device is affixed
. . . owner 0..1 Reference ( Organization ) Organization responsible for device
. . . contact 0..* ContactPoint Details for human/organization for support
. . . location 0..1 Reference ( Location ) Where the resource is found
. . . url 0..1 uri Network address to contact device
. . . note 0..* Annotation Device notes and comments
. . . safety Σ 0..* CodeableConcept Safety Characteristics of Device
DeviceSafety ( Example )

doco Documentation for this format

UML Diagram ( Legend )

Device ( DomainResource ) Unique instance identifiers assigned to a device by manufacturers other organizations or owners identifier : Identifier [0..*] 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) FHIRDeviceStatus ! » Code or identifier to identify a kind of device type : CodeableConcept [0..1] « Codes to identify medical devices (Strength=Example) FHIR Device Types ?? » Lot number assigned by the manufacturer lotNumber : string [0..1] A name of the manufacturer manufacturer : string [0..1] The date and time when the device was manufactured manufactureDate : 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" "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 type model : 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 firmware version : string [0..1] Patient information, If the device is affixed to a person patient : Reference [0..1] « Patient » An organization that is responsible for the provision and ongoing maintenance of the device owner : Reference [0..1] « Organization » Contact details for an organization or a particular human that is responsible for the device contact : ContactPoint [0..*] The place where the device can be found location : Reference [0..1] « Location » A network address on which the device may be contacted directly url : uri [0..1] Descriptive information, usage information or implantation information that is not captured in an existing element note : Annotation [0..*] Provides additional safety characteristics about a medical device. For example devices containing latex safety : CodeableConcept [0..*] « Codes used to identify medical devices safety characterics. These codes are derived in part from the [United United States Food and Drug Administration recommendations](http://www.fda.gov/downloads/medicaldevices/deviceregulationandguidance/guidancedocuments/ucm107708.pdf) recommendations (http://www.fda.gov/downloads/medicaldevices/deviceregulationandguidance/guidancedocuments/ucm107708.pdf) and are provided here as a suggestive example. (Strength=Example) DeviceSafety ?? » Udi The device identifier (DI) is a mandatory, fixed portion of a UDI that identifies the labeler and the specific version or model of a device deviceIdentifier : string [0..1] Name of device as used in labeling or catalog name : string [0..1] The identity of the authoritative source for UDI generation within a jurisdiction. All UDIs are globally unique within a single namespace. namespace with the appropriate repository uri as the system. For example, UDIs of devices managed in the U.S. by the FDA, the value is http://hl7.org/fhir/NamingSystem/fda-udi jurisdiction : uri [0..1] The full UDI carrier as the human readable form (HRF) representation of the barcode string as printed on the packaging of the device carrierHRF : string [0..1] The full UDI carrier of the Automatic Identification and Data Capture (AIDC) technology representation of the barcode string as printed on the packaging of the device - E.g e.g., a barcode or RFID. Because of limitations on character sets in XML and the need to round-trip JSON data through XML, AIDC Formats *SHALL* be base64 encoded carrierAIDC : base64Binary [0..1] Organization that is charged with issuing UDIs for devices. For example, the US FDA issuers include : 1) GS1: http://hl7.org/fhir/NamingSystem/gs1-di, 2) HIBCC: http://hl7.org/fhir/NamingSystem/hibcc-dI, 3) ICCBBA for blood containers: http://hl7.org/fhir/NamingSystem/iccbba-blood-di, 4) ICCBA for other devices: http://hl7.org/fhir/NamingSystem/iccbba-other-di issuer : uri [0..1] A coded entry to indicate how the data was entered entryType : code [0..1] « Codes to identify how UDI data was entered (Strength=Required) UDIEntryType ! » [Unique device identifier (UDI)](device.html#5.11.3.2.2) (UDI)](device.html#udi) assigned to device label or package udi [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 identifier --></identifier>
 <
  <
  <
  <
  <
  <

 <udi>  <!-- 0..1 Unique Device Identifier (UDI) Barcode string -->
  <deviceIdentifier value="[string]"/><!-- 0..1 Mandatory fixed portion of UDI -->
  <name value="[string]"/><!-- 0..1 Device Name as appears on UDI label -->
  <jurisdiction value="[uri]"/><!-- 0..1 Regional UDI authority -->
  <carrierHRF value="[string]"/><!-- 0..1 UDI Human Readable Barcode String -->
  <carrierAIDC value="[base64Binary]"/><!-- 0..1 UDI Machine Readable Barcode String -->

  <http://hl7.org/fhir/NamingSystem/iccbba-other-di." class="dict">
  <

http://hl7.org/fhir/NamingSystem/iccbba-other-di." class="dict">issuer value="[uri]"/><!-- 0..1 UDI Issuing Organization -->
  <entryType value="[code]"/><!-- 0..1 barcode | rfid | manual + -->

 </udi>
 <

 <status value="[code]"/><!-- 0..1 active | inactive | entered-in-error | unknown -->

 <type><!-- 0..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>
 <safety><!-- 0..* CodeableConcept Safety Characteristics of Device --></safety>
</Device>

JSON Template

{doco
  "resourceType" : "",

  "resourceType" : "Device",

  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "
  "
    "
    "
    "
    "
    "
    "<a href="device-definitions.html#Device.udi.issuer" title="Organization that is charged with issuing UDIs for devices.  For example, the US FDA issuers include :

  "identifier" : [{ Identifier }], // Instance identifier
  "udi" : { // Unique Device Identifier (UDI) Barcode string
    "deviceIdentifier" : "<string>", // Mandatory fixed portion of UDI
    "name" : "<string>", // Device Name as appears on UDI label
    "jurisdiction" : "<uri>", // Regional UDI authority
    "carrierHRF" : "<string>", // UDI Human Readable Barcode String
    "carrierAIDC" : "<base64Binary>", // UDI Machine Readable Barcode String
    "http://hl7.org/fhir/NamingSystem/iccbba-other-di." class="dict">issuer
    "

http://hl7.org/fhir/NamingSystem/iccbba-other-di." class="dict">issuer" : "<uri>", // UDI Issuing Organization
    "entryType" : "<code>" // barcode | rfid | manual +

  },
  "
  "
  "
  "
  "
  "
  "
  "
  "
  "
  "
  "
  "
  "
  "

  "status" : "<code>", // active | inactive | entered-in-error | unknown
  "type" : { CodeableConcept }, // 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
  "safety" : [{ CodeableConcept }] // Safety Characteristics of Device

}

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:

  fhir:Device.udi [ # 0..1 Unique Device Identifier (UDI) Barcode string

    fhir:Device.udi.deviceIdentifier [ string ]; # 0..1 Mandatory fixed portion of UDI
    fhir:Device.udi.name [ string ]; # 0..1 Device Name as appears on UDI label
    fhir:

    fhir:Device.udi.jurisdiction [ uri ]; # 0..1 Regional UDI authority

    fhir:Device.udi.carrierHRF [ string ]; # 0..1 UDI Human Readable Barcode String
    fhir:

    fhir:Device.udi.carrierAIDC [ base64Binary ]; # 0..1 UDI Machine Readable Barcode String

    fhir:Device.udi.issuer [ uri ]; # 0..1 UDI Issuing Organization
    fhir:Device.udi.entryType [ code ]; # 0..1 barcode | rfid | manual +
  ];
  fhir:Device.status [ code ]; # 0..1 active | inactive | entered-in-error | unknown
  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
  fhir:Device.safety [ CodeableConcept ], ... ; # 0..* Safety Characteristics of Device
]

Changes since DSTU2 R3

Device.udi Type changed from string to BackboneElement Device.udi.deviceIdentifier
  • Added Element No Changes
Device Added Element Device.udi.name Added Element Device.udi.jurisdiction Added Element Device.udi.carrierHRF Added Element Device.udi.carrierAIDC Added Element Device.udi.issuer Added Element Device.udi.entryType Added Element Device.status Change value set from http://hl7.org/fhir/ValueSet/devicestatus to http://hl7.org/fhir/ValueSet/device-status Device.type Min Cardinality changed from 1 to 0 Device.expirationDate Renamed from expiry to expirationDate Device.safety

See the Full Difference for further information

This analysis is available as XML or JSON .

See R2 <--> R3 Conversion Maps (status = 5 tests that all execute ok. 2 fail 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 doco
. . Device TU DomainResource Item used in healthcare
Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension
. . . identifier 0..* Identifier Instance identifier
. . . udi Σ 0..1 BackboneElement Unique Device Identifier (UDI) Barcode string
. . . . deviceIdentifier Σ 0..1 string Mandatory fixed portion of UDI
. . . . name Σ 0..1 string Device Name as appears on UDI label
. . . . jurisdiction 0..1 uri Regional UDI authority
. . . . carrierHRF Σ 0..1 string UDI Human Readable Barcode String
. . . . carrierAIDC Σ 0..1 base64Binary UDI Machine Readable Barcode String
. . . . issuer 0..1 uri UDI Issuing Organization
. . . . entryType 0..1 code barcode | rfid | manual +
UDIEntryType ( Required )
. . . status ?! Σ 0..1 code active | inactive | entered-in-error | unknown
FHIRDeviceStatus ( Required )
. . . type 0..1 CodeableConcept What kind of device this is
FHIR Device Types ( Example )
. . . lotNumber 0..1 string Lot number of manufacture
. . . manufacturer 0..1 string Name of device manufacturer
. . . manufactureDate 0..1 dateTime Date when the device was made
. . . expirationDate 0..1 dateTime Date and time of expiry of this device (if applicable)
. . . model 0..1 string Model id assigned by the manufacturer
. . . version 0..1 string Version number (i.e. software)
. . . patient 0..1 Reference ( Patient ) Patient to whom Device is affixed
. . . owner 0..1 Reference ( Organization ) Organization responsible for device
. . . contact 0..* ContactPoint Details for human/organization for support
. . . location 0..1 Reference ( Location ) Where the resource is found
. . . url 0..1 uri Network address to contact device
. . . note 0..* Annotation Device notes and comments
. . . safety Σ 0..* CodeableConcept Safety Characteristics of Device
DeviceSafety ( Example )

doco Documentation for this format

UML Diagram ( Legend )

Device ( DomainResource ) Unique instance identifiers assigned to a device by manufacturers other organizations or owners identifier : Identifier [0..*] 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) FHIRDeviceStatus ! » Code or identifier to identify a kind of device type : CodeableConcept [0..1] « Codes to identify medical devices (Strength=Example) FHIR Device Types ?? » Lot number assigned by the manufacturer lotNumber : string [0..1] A name of the manufacturer manufacturer : string [0..1] The date and time when the device was manufactured manufactureDate : 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" "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 type model : 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 firmware version : string [0..1] Patient information, If the device is affixed to a person patient : Reference [0..1] « Patient » An organization that is responsible for the provision and ongoing maintenance of the device owner : Reference [0..1] « Organization » Contact details for an organization or a particular human that is responsible for the device contact : ContactPoint [0..*] The place where the device can be found location : Reference [0..1] « Location » A network address on which the device may be contacted directly url : uri [0..1] Descriptive information, usage information or implantation information that is not captured in an existing element note : Annotation [0..*] Provides additional safety characteristics about a medical device. For example devices containing latex safety : CodeableConcept [0..*] « Codes used to identify medical devices safety characterics. These codes are derived in part from the [United United States Food and Drug Administration recommendations](http://www.fda.gov/downloads/medicaldevices/deviceregulationandguidance/guidancedocuments/ucm107708.pdf) recommendations (http://www.fda.gov/downloads/medicaldevices/deviceregulationandguidance/guidancedocuments/ucm107708.pdf) and are provided here as a suggestive example. (Strength=Example) DeviceSafety ?? » Udi The device identifier (DI) is a mandatory, fixed portion of a UDI that identifies the labeler and the specific version or model of a device deviceIdentifier : string [0..1] Name of device as used in labeling or catalog name : string [0..1] The identity of the authoritative source for UDI generation within a jurisdiction. All UDIs are globally unique within a single namespace. namespace with the appropriate repository uri as the system. For example, UDIs of devices managed in the U.S. by the FDA, the value is http://hl7.org/fhir/NamingSystem/fda-udi jurisdiction : uri [0..1] The full UDI carrier as the human readable form (HRF) representation of the barcode string as printed on the packaging of the device carrierHRF : string [0..1] The full UDI carrier of the Automatic Identification and Data Capture (AIDC) technology representation of the barcode string as printed on the packaging of the device - E.g e.g., a barcode or RFID. Because of limitations on character sets in XML and the need to round-trip JSON data through XML, AIDC Formats *SHALL* be base64 encoded carrierAIDC : base64Binary [0..1] Organization that is charged with issuing UDIs for devices. For example, the US FDA issuers include : 1) GS1: http://hl7.org/fhir/NamingSystem/gs1-di, 2) HIBCC: http://hl7.org/fhir/NamingSystem/hibcc-dI, 3) ICCBBA for blood containers: http://hl7.org/fhir/NamingSystem/iccbba-blood-di, 4) ICCBA for other devices: http://hl7.org/fhir/NamingSystem/iccbba-other-di issuer : uri [0..1] A coded entry to indicate how the data was entered entryType : code [0..1] « Codes to identify how UDI data was entered (Strength=Required) UDIEntryType ! » [Unique device identifier (UDI)](device.html#5.11.3.2.2) (UDI)](device.html#udi) assigned to device label or package udi [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 identifier --></identifier>
 <
  <
  <
  <
  <
  <

 <udi>  <!-- 0..1 Unique Device Identifier (UDI) Barcode string -->
  <deviceIdentifier value="[string]"/><!-- 0..1 Mandatory fixed portion of UDI -->
  <name value="[string]"/><!-- 0..1 Device Name as appears on UDI label -->
  <jurisdiction value="[uri]"/><!-- 0..1 Regional UDI authority -->
  <carrierHRF value="[string]"/><!-- 0..1 UDI Human Readable Barcode String -->
  <carrierAIDC value="[base64Binary]"/><!-- 0..1 UDI Machine Readable Barcode String -->

  <http://hl7.org/fhir/NamingSystem/iccbba-other-di." class="dict">
  <

http://hl7.org/fhir/NamingSystem/iccbba-other-di." class="dict">issuer value="[uri]"/><!-- 0..1 UDI Issuing Organization -->
  <entryType value="[code]"/><!-- 0..1 barcode | rfid | manual + -->

 </udi>
 <

 <status value="[code]"/><!-- 0..1 active | inactive | entered-in-error | unknown -->

 <type><!-- 0..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>
 <safety><!-- 0..* CodeableConcept Safety Characteristics of Device --></safety>
</Device>

JSON Template

{doco
  "resourceType" : "",

  "resourceType" : "Device",

  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "
  "
    "
    "
    "
    "
    "
    "<a href="device-definitions.html#Device.udi.issuer" title="Organization that is charged with issuing UDIs for devices.  For example, the US FDA issuers include :

  "identifier" : [{ Identifier }], // Instance identifier
  "udi" : { // Unique Device Identifier (UDI) Barcode string
    "deviceIdentifier" : "<string>", // Mandatory fixed portion of UDI
    "name" : "<string>", // Device Name as appears on UDI label
    "jurisdiction" : "<uri>", // Regional UDI authority
    "carrierHRF" : "<string>", // UDI Human Readable Barcode String
    "carrierAIDC" : "<base64Binary>", // UDI Machine Readable Barcode String
    "http://hl7.org/fhir/NamingSystem/iccbba-other-di." class="dict">issuer
    "

http://hl7.org/fhir/NamingSystem/iccbba-other-di." class="dict">issuer" : "<uri>", // UDI Issuing Organization
    "entryType" : "<code>" // barcode | rfid | manual +

  },
  "
  "
  "
  "
  "
  "
  "
  "
  "
  "
  "
  "
  "
  "
  "

  "status" : "<code>", // active | inactive | entered-in-error | unknown
  "type" : { CodeableConcept }, // 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
  "safety" : [{ CodeableConcept }] // Safety Characteristics of Device

}

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:

  fhir:Device.udi [ # 0..1 Unique Device Identifier (UDI) Barcode string

    fhir:Device.udi.deviceIdentifier [ string ]; # 0..1 Mandatory fixed portion of UDI
    fhir:Device.udi.name [ string ]; # 0..1 Device Name as appears on UDI label
    fhir:

    fhir:Device.udi.jurisdiction [ uri ]; # 0..1 Regional UDI authority

    fhir:Device.udi.carrierHRF [ string ]; # 0..1 UDI Human Readable Barcode String
    fhir:

    fhir:Device.udi.carrierAIDC [ base64Binary ]; # 0..1 UDI Machine Readable Barcode String

    fhir:Device.udi.issuer [ uri ]; # 0..1 UDI Issuing Organization
    fhir:Device.udi.entryType [ code ]; # 0..1 barcode | rfid | manual +
  ];
  fhir:Device.status [ code ]; # 0..1 active | inactive | entered-in-error | unknown
  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
  fhir:Device.safety [ CodeableConcept ], ... ; # 0..* Safety Characteristics of Device
]

Changes since DSTU2

Device.udi Type changed from string to BackboneElement Device.udi.deviceIdentifier Added Element Device.udi.name Added Element Device.udi.jurisdiction Added Element Device.udi.carrierHRF Added Element Device.udi.carrierAIDC Added Element Device.udi.issuer Added Element Device.udi.entryType Added Element Device.status Change value set from http://hl7.org/fhir/ValueSet/devicestatus to http://hl7.org/fhir/ValueSet/device-status Device.type Min Cardinality changed from 1 to 0 Device.expirationDate
  • Added Element No Changes
Device Renamed from expiry to expirationDate Device.safety

See the Full Difference for further information

This analysis is available as XML or JSON .

See R2 <--> R3 Conversion Maps (status = 5 tests that all execute ok. 2 fail 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
Device.udi.entryType Codes to identify how UDI data was entered Required UDIEntryType
Device.status The availability status of the device. Required FHIRDeviceStatus
Device.type Codes to identify medical devices Example FHIR Device Types
Device.safety Codes used to identify medical devices safety characterics. These codes are derived in part from the [United United States Food and Drug Administration recommendations](http://www.fda.gov/downloads/medicaldevices/deviceregulationandguidance/guidancedocuments/ucm107708.pdf) recommendations (http://www.fda.gov/downloads/medicaldevices/deviceregulationandguidance/guidancedocuments/ucm107708.pdf) and are provided here as a suggestive example. Example DeviceSafety

Nearly all devices are assigned a string of characters to represent one or more identifiers, identifiers or codes, which are usually printed or affixed to the device using either barcodes or RFIDs. The identifiers identifier or code can come from the manufacturer (often called the "serial number," "reference number," (for example, a 'serial number', 'reference number', or "catalog number"), 'catalog number'), various institution and registries. Any of these identifiers or codes assigned to the device can and should be recorded in the device resource. The different However, there can there can be confusion where to represent them in the resource because codes and identifiers are differentiated by represented in FHIR as semantically distinct elements and because organizations may conflate the term 'code' for an identifier or 'identifier' for a code in their use, label, names.

The identifier element is only intended for use when it's an actual identifier for a specific instance of a device. That would mean that each device would have a separate serial number and system values. would be represented using this element - devices without serial numbers (for example, a box of syringes) would not. Concepts such as a reference number or catalog number or GTIN describe a code which represents a kind of device and are conveyed using the type element. Some sources of standard codes for devices and translations within type are listed below:

8.14.3.2.3

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". "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" "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 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, expiration 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 further guidance.

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
device-name string A server defined search that may match any of the string fields in the Device.udi.name or Device.type.coding.display or Device.type.text Device.udi.name | Device.type.text | Device.type.coding.display
identifier token Instance id from manufacturer, owner, and others Device.identifier
location reference A location, where the resource is found Device.location
( Location )
manufacturer string The manufacturer of the device Device.manufacturer
model string The model of the device Device.model
organization reference The organization responsible for the device Device.owner
( Organization )
patient reference Patient information, if the resource is affixed to a person Device.patient
( Patient )
status token active | inactive | entered-in-error | unknown Device.status
type token The type of the device Device.type
udi-carrier string UDI Barcode (RFID or other technology) string either in HRF format or AIDC format converted to base64 string. Device.udi.carrierHRF | Device.udi.carrierAIDC
udi-di string The udi Device Identifier (DI) Device.udi.deviceIdentifier
url uri Network address to contact device Device.url