Release 5 Snapshot #1

This page is part of the FHIR Specification (v5.0.0-snapshot1: R5 Snapshot #1). 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 GroupMaturity Level: 2 Trial UseSecurity Category: Business Compartments: Patient

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.

This is a base resource that tracks individual instances of a device and their location. It is referenced by other resources for recording which device performed an action such as a procedure or an observation, which device was implanted in or explanted from a patient, dispensing a device to a patient for their use, managing inventory, or when requesting a specific device for a patient’s use. The resource may be used to document the Unique Device Identifier (UDI) and information about a device where appropriate or necessary. Additional information about UDI is provided in the Unique Device Identifier (UDI) section.

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.

Devices can also be subdivded as follows:

Implantable device

Patient-use device

These are the device related resources

  • Device (this resource)
  • DeviceDefinition - Describes a "kind" of device - not a physical instance. A kind of device is frequently defined and documented by the manufacturer, reseller, or regulatory. Documentation would include general information any information that applies to any instance of a device, and may be published through a catalog. For example, the characteristics of a test analyzer, x-ray machine, or wheelchair.
  • DeviceMetric - Describes a measurement, calculation or setting capability of a device. A Device may include multiple device metrics, each yielding a different observation.

In FHIR, the Device represents either the device in total, or a component of a larger device when there is a need for individual tracking of a component. A Device as a component then points to the parent device it is part of. The Device captures the actual data about the instance of the device that either provides identifying characteristics of the Device (including applicable UDI – unique device identification) and data that can vary by device, e.g., specific settings at a particular point in time. The DeviceDefinition represents the data that is applicable to all devices that reference that DeviceDefinition.

The DeviceMetric model the dynamic aspects of the Device, including operation status of those aspects and is consequently much more volatile.

Devices differ from medications because they are not "used up" - they remain active in or for a patient for a longer duration. They also may be re-used, particularly non-implanted devices and those used for diagnostics and procedures. Frequently, when a device is packaged with a medication, the ordering, dispense, and administration processes typically focus on the medication aspects and reference the device, rather than that the Device is the focus of the ordering, dispense, and administration process. In the case of an infusion pump, while some actions are focused on the device (e.g., ordering to a room or maintaining the pump), the focus is as well on the medication while the device is used for administration. However, that separation is not always as clear and may be impacted by specific implementations. Regardless, the Medication resource should not be used to represent (implanted) devices, rather reference the relationship where an actual device needs to be tracked in addition to the medication.

This resource is referenced by Signature, Account, ActivityDefinition, AdverseEvent, Appointment, AppointmentResponse, ArtifactAssessment, AuditEvent, CarePlan, ChargeItem, ChargeItemDefinition, Claim, ClinicalUseDefinition, ClinicalUseIssue, Communication, CommunicationRequest, Composition, Condition, Consent, Contract, DetectedIssue, itself, DeviceDispense, DeviceMetric, DeviceRequest, DeviceUsage, DiagnosticReport, DocumentManifest, DocumentReference, Encounter, EvidenceReport, EvidenceVariable, ExplanationOfBenefit, Flag, Group, GuidanceResponse, ImagingSelection, ImagingStudy, InventoryReport, Invoice, List, MeasureReport, MedicationAdministration, MedicationDispense, MedicationRequest, MessageHeader, MolecularSequence, NutritionIntake, Observation, ObservationDefinition, PlanDefinition, Procedure, Provenance, QuestionnaireResponse, RequestGroup, ResearchSubject, RiskAssessment, Schedule, ServiceRequest, Specimen, SupplyDelivery, SupplyRequest and Task.

This resource implements the Participant pattern.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Device TUDomainResourceItem used in healthcare
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier 0..*IdentifierInstance identifier
... displayName 0..1stringThe name used to display by default when the device is referenced
... definition 0..1CodeableReference(DeviceDefinition)The reference to the definition for the device
... udiCarrier Σ0..*BackboneElementUnique Device Identifier (UDI) Barcode string
.... deviceIdentifier Σ1..1stringMandatory fixed portion of UDI
.... issuer 0..1uriUDI Issuing Organization
.... jurisdiction 0..1uriRegional UDI authority
.... carrierAIDC Σ0..1base64BinaryUDI Machine Readable Barcode String
.... carrierHRF Σ0..1stringUDI Human Readable Barcode String
.... entryType 0..1codebarcode | rfid | manual | card | self-reported | electronic-transmission | unknown
UDIEntryType (Required)
... status ?!Σ0..1codeactive | inactive | entered-in-error | unknown
FHIRDeviceStatus (Required)
... statusReason 0..*CodeableConceptdiscarded | obsolete | removed
FHIRDeviceStatusReason (Extensible)
... biologicalSource 0..1IdentifierAn identifier that supports traceability to the biological entity that is the source of biological material in the product
... 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)
... lotNumber 0..1stringLot number of manufacture
... serialNumber 0..1stringSerial number assigned by the manufacturer
... deviceName 0..*BackboneElementThe name or names of the device as known to the manufacturer and/or patient
.... name 1..1stringThe name that identifies the device
.... type 1..1coderegistered-name | user-friendly-name | patient-reported-name
DeviceNameType (Required)
... modelNumber 0..1stringThe manufacturer's model number for the device
... partNumber 0..1stringThe part number or catalog number of the device
... type 0..*CodeableConceptThe kind or type of device
Device Type (Example)
... version 0..*BackboneElementThe actual design of the device or software version running on the device
.... type 0..1CodeableConceptThe type of the device version, e.g. manufacturer, approved, internal
.... component 0..1IdentifierThe hardware or software module of the device to which the version applies
.... value 1..1stringThe version text
... property 0..*BackboneElementThe actual configuration settings of a device as it actually operates, e.g., regulation status, time properties
.... type 1..1CodeableConceptCode that specifies the property being represented
.... value[x] 0..1Property value - as a code, quantity, boolean, string or attachmment
..... valueQuantityQuantity
..... valueCodeableConceptCodeableConcept
..... valueStringstring
..... valueBooleanboolean
..... valueIntegerinteger
..... valueRangeRange
..... valueAttachmentAttachment
... subject 0..1Reference(Patient | Practitioner | Person)Patient to whom Device is affixed
... operationalStatus 0..1BackboneElementThe status of the device itself - whether it is switched on, or activated, etc
.... value 1..1CodeableConcepton |off | standby
FHIRDeviceOperationalStatus (Example)
.... reason 0..*CodeableConceptThe reasons given for the current operational status
... associationStatus 0..1BackboneElementThe state of the usage or application of the device
.... value 1..1CodeableConceptimplanted|explanted|attached
FHIRDeviceAssociationStatus (Example)
.... reason 0..*CodeableConceptThe reasons given for the current association status
... owner 0..1Reference(Organization)Organization responsible for device
... contact 0..*ContactPointDetails for human/organization for support
... location 0..1Reference(Location)Where the device is found
... url 0..1uriNetwork address to contact device
... endpoint 0..*Reference(Endpoint)Technical endpoints providing access to electronic services provided by the device
... link 0..*BackboneElementAn associated device, attached to, used with, communicating with or linking a previous or new device model to the focal device
.... relation 1..1CodingThe type indicates the relationship of the related device to the device instance
DeviceRelationType (Extensible)
.... relatedDevice 1..1CodeableReference(Device)A reference to the linked device
... note 0..*AnnotationDevice notes and comments
... safety Σ0..*CodeableConceptSafety Characteristics of Device
... parent 0..1Reference(Device)The device that this device is attached to or is part of

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..*]The name used to display by default when the device is referenced. Based on intent of use by the resource creator, this may reflect one of the names in Device.deviceName, or may be another simple namedisplayName : string [0..1]The reference to the definition for the devicedefinition : DataType [0..1] « DeviceDefinition »Status of the Device record. This is not the status of the device like availability (this element modifies the meaning of other elements)status : code [0..1] « null (Strength=Required)FHIRDeviceStatus! »Reason for the status of the Device record. For example, why is the record not activestatusReason : CodeableConcept [0..*] « null (Strength=Extensible)FHIRDeviceStatusReason+ »An identifier that supports traceability to the biological entity that is the source of biological material in the productbiologicalSource : Identifier [0..1]A name of the manufacturer or entity legally responsible for the devicemanufacturer : 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]Lot number assigned by the manufacturerlotNumber : string [0..1]The serial number assigned by the organization when the device was manufacturedserialNumber : string [0..1]The manufacturer's model number for the devicemodelNumber : string [0..1]The part number or catalog number of the devicepartNumber : string [0..1]The kind or type of device. A device instance may have more than one type - in which case those are the types that apply to the specific instance of the devicetype : CodeableConcept [0..*] « null (Strength=Example)DeviceType?? »Patient information, if the device is affixed to, or associated to a patient for their specific use, irrespective of the procedure, use, observation, or other activity that the device is involved insubject : Reference [0..1] « Patient|Practitioner|Person »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]Technical endpoints providing access to services provided by the device defined at this resourceendpoint : Reference [0..*] « Endpoint »Descriptive information, usage information or implantation information that is not captured in an existing elementnote : Annotation [0..*]Provides additional safety characteristics about a medical device. For example devices containing latexsafety : CodeableConcept [0..*]The device that this device is attached to or is part ofparent : Reference [0..1] « Device »UdiCarrierThe device identifier (DI) is a mandatory, fixed portion of a UDI that identifies the labeler and the specific version or model of a devicedeviceIdentifier : string [1..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-diI, 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 # Informationsstelle für Arzneispezialitäten (IFA GmbH) (EU only): http://hl7.org/fhir/NamingSystem/ifa-gmbh-diissuer : uri [0..1]The identity of the authoritative source for UDI generation within a jurisdiction. All UDIs are globally unique within a single 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/us-fda-udi or in the European Union by the European Commission http://hl7.org/fhir/NamingSystem/eu-ec-udijurisdiction : uri [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., 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 encodedcarrierAIDC : base64Binary [0..1]The full UDI carrier as the human readable form (HRF) representation of the barcode string as printed on the packaging of the devicecarrierHRF : string [0..1]A coded entry to indicate how the data was enteredentryType : code [0..1] « null (Strength=Required)UDIEntryType! »DeviceNameThe name that identifies the devicename : string [1..1]The type of deviceName. Note that ManufactureDeviceName means that the name is the name as given by the manufacturer, not the name of the manufacturer. RegisteredName | UserFriendlyName | PatientReportedNametype : code [1..1] « null (Strength=Required)DeviceNameType! »VersionThe type of the device version, e.g. manufacturer, approved, internaltype : CodeableConcept [0..1]The hardware or software module of the device to which the version appliescomponent : Identifier [0..1]The version textvalue : string [1..1]PropertyCode that specifies the property being represented. No codes are specified but the MDC codes are an example: https://build.fhir.org/mdc.htmltype : CodeableConcept [1..1]Property value - can be a code, quantity, boolean, string or attachmentvalue[x] : DataType [0..1] « Quantity|CodeableConcept|string|boolean| integer|Range|Attachment »OperationalStatuson |off | standbyvalue : CodeableConcept [1..1] « null (Strength=Example)FHIRDeviceOperationalStatus?? »The reasons given for the current operational status - i.e. why is the device switched on etcreason : CodeableConcept [0..*]AssociationStatusimplanted|explanted|attachedvalue : CodeableConcept [1..1] « null (Strength=Example)FHIRDeviceAssociationStatus?? »The reasons given for the current association status - i.e. why is the device explanted, or attached to the patient, etcreason : CodeableConcept [0..*]LinkThe type indicates the relationship of the related device to the device instancerelation : Coding [1..1] « null (Strength=Extensible)DeviceRelationType+ »A reference to the linked devicerelatedDevice : DataType [1..1] « Device »Unique device identifier (UDI) assigned to device label or package. Note that the Device may include multiple udiCarriers as it either may include just the udiCarrier for the jurisdiction it is sold, or for multiple jurisdictions it could have been soldudiCarrier[0..*]This represents the manufacturer's name of the device as provided by the device, from a UDI label, or by a person describing the Device. This typically would be used when a person provides the name(s) or when the device represents one of the names available from DeviceDefinitiondeviceName[0..*]The actual design of the device or software version running on the deviceversion[0..*]The actual configuration settings of a device as it actually operates, e.g., regulation status, time propertiesproperty[0..*]The status of the device itself - whether it is switched on, or activated, etcoperationalStatus[0..1]The state of the usage or application of the device - whether the device is implanted, or explanted, or attached to the patientassociationStatus[0..1]An associated device, attached to, used with, communicating with or linking a previous or new device model to the focal devicelink[0..*]

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>
 <displayName value="[string]"/><!-- 0..1 The name used to display by default when the device is referenced -->
 <definition><!-- 0..1 CodeableReference(DeviceDefinition) The reference to the definition for the device --></definition>
 <udiCarrier>  <!-- 0..* Unique Device Identifier (UDI) Barcode string -->
  <deviceIdentifier value="[string]"/><!-- 1..1 Mandatory fixed portion of UDI -->
  <issuer value="[uri]"/><!-- 0..1 UDI Issuing Organization -->
  <jurisdiction value="[uri]"/><!-- 0..1 Regional UDI authority -->
  <carrierAIDC value="[base64Binary]"/><!-- 0..1 UDI Machine Readable Barcode String -->
  <carrierHRF value="[string]"/><!-- 0..1 UDI Human Readable Barcode String -->
  <entryType value="[code]"/><!-- 0..1 barcode | rfid | manual | card | self-reported | electronic-transmission | unknown -->
 </udiCarrier>
 <status value="[code]"/><!-- 0..1 active | inactive | entered-in-error | unknown -->
 <statusReason><!-- 0..* CodeableConcept discarded | obsolete | removed --></statusReason>
 <biologicalSource><!-- 0..1 Identifier An identifier that supports traceability to the biological entity that is the source of biological material in the product --></biologicalSource>
 <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) -->
 <lotNumber value="[string]"/><!-- 0..1 Lot number of manufacture -->
 <serialNumber value="[string]"/><!-- 0..1 Serial number assigned by the manufacturer -->
 <deviceName>  <!-- 0..* The name or names of the device as known to the manufacturer and/or patient -->
  <name value="[string]"/><!-- 1..1 The name that identifies the device -->
  <type value="[code]"/><!-- 1..1 registered-name | user-friendly-name | patient-reported-name -->
 </deviceName>
 <modelNumber value="[string]"/><!-- 0..1 The manufacturer's model number for the device -->
 <partNumber value="[string]"/><!-- 0..1 The part number or catalog number of the device -->
 <type><!-- 0..* CodeableConcept The kind or type of device --></type>
 <version>  <!-- 0..* The actual design of the device or software version running on the device -->
  <type><!-- 0..1 CodeableConcept The type of the device version, e.g. manufacturer, approved, internal --></type>
  <component><!-- 0..1 Identifier The hardware or software module of the device to which the version applies --></component>
  <value value="[string]"/><!-- 1..1 The version text -->
 </version>
 <property>  <!-- 0..* The actual configuration settings of a device as it actually operates, e.g., regulation status, time properties -->
  <type><!-- 1..1 CodeableConcept Code that specifies the property being represented --></type>
  <value[x]><!-- 0..1 Quantity|CodeableConcept|string|boolean|integer|Range|
    Attachment Property value - as a code, quantity, boolean, string or attachmment --></value[x]>
 </property>
 <subject><!-- 0..1 Reference(Patient|Person|Practitioner) Patient to whom Device is affixed --></subject>
 <operationalStatus>  <!-- 0..1 The status of the device itself - whether it is switched on, or activated, etc -->
  <value><!-- 1..1 CodeableConcept on |off | standby --></value>
  <reason><!-- 0..* CodeableConcept The reasons given for the current operational status --></reason>
 </operationalStatus>
 <associationStatus>  <!-- 0..1 The state of the usage or application of the device -->
  <value><!-- 1..1 CodeableConcept implanted|explanted|attached --></value>
  <reason><!-- 0..* CodeableConcept The reasons given for the current association status --></reason>
 </associationStatus>
 <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 device is found --></location>
 <url value="[uri]"/><!-- 0..1 Network address to contact device -->
 <endpoint><!-- 0..* Reference(Endpoint) Technical endpoints providing access to electronic services provided by the device --></endpoint>
 <link>  <!-- 0..* An associated device, attached to, used with, communicating with or linking a previous or new device model to the focal device -->
  <relation><!-- 1..1 Coding The type indicates the relationship of the related device to the device instance --></relation>
  <relatedDevice><!-- 1..1 CodeableReference(Device) A reference to the linked device --></relatedDevice>
 </link>
 <note><!-- 0..* Annotation Device notes and comments --></note>
 <safety><!-- 0..* CodeableConcept Safety Characteristics of Device --></safety>
 <parent><!-- 0..1 Reference(Device) The device that this device is attached to or is part of --></parent>
</Device>

JSON Template

{doco
  "resourceType" : "Device",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // Instance identifier
  "displayName" : "<string>", // The name used to display by default when the device is referenced
  "definition" : { CodeableReference(DeviceDefinition) }, // The reference to the definition for the device
  "udiCarrier" : [{ // Unique Device Identifier (UDI) Barcode string
    "deviceIdentifier" : "<string>", // R!  Mandatory fixed portion of UDI
    "issuer" : "<uri>", // UDI Issuing Organization
    "jurisdiction" : "<uri>", // Regional UDI authority
    "carrierAIDC" : "<base64Binary>", // UDI Machine Readable Barcode String
    "carrierHRF" : "<string>", // UDI Human Readable Barcode String
    "entryType" : "<code>" // barcode | rfid | manual | card | self-reported | electronic-transmission | unknown
  }],
  "status" : "<code>", // active | inactive | entered-in-error | unknown
  "statusReason" : [{ CodeableConcept }], // discarded | obsolete | removed
  "biologicalSource" : { Identifier }, // An identifier that supports traceability to the biological entity that is the source of biological material in the product
  "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)
  "lotNumber" : "<string>", // Lot number of manufacture
  "serialNumber" : "<string>", // Serial number assigned by the manufacturer
  "deviceName" : [{ // The name or names of the device as known to the manufacturer and/or patient
    "name" : "<string>", // R!  The name that identifies the device
    "type" : "<code>" // R!  registered-name | user-friendly-name | patient-reported-name
  }],
  "modelNumber" : "<string>", // The manufacturer's model number for the device
  "partNumber" : "<string>", // The part number or catalog number of the device
  "type" : [{ CodeableConcept }], // The kind or type of device
  "version" : [{ // The actual design of the device or software version running on the device
    "type" : { CodeableConcept }, // The type of the device version, e.g. manufacturer, approved, internal
    "component" : { Identifier }, // The hardware or software module of the device to which the version applies
    "value" : "<string>" // R!  The version text
  }],
  "property" : [{ // The actual configuration settings of a device as it actually operates, e.g., regulation status, time properties
    "type" : { CodeableConcept }, // R!  Code that specifies the property being represented
    // value[x]: Property value - as a code, quantity, boolean, string or attachmment. One of these 7:
    "valueQuantity" : { Quantity }
    "valueCodeableConcept" : { CodeableConcept }
    "valueString" : "<string>"
    "valueBoolean" : <boolean>
    "valueInteger" : <integer>
    "valueRange" : { Range }
    "valueAttachment" : { Attachment }
  }],
  "subject" : { Reference(Patient|Person|Practitioner) }, // Patient to whom Device is affixed
  "operationalStatus" : { // The status of the device itself - whether it is switched on, or activated, etc
    "value" : { CodeableConcept }, // R!  on |off | standby
    "reason" : [{ CodeableConcept }] // The reasons given for the current operational status
  },
  "associationStatus" : { // The state of the usage or application of the device
    "value" : { CodeableConcept }, // R!  implanted|explanted|attached
    "reason" : [{ CodeableConcept }] // The reasons given for the current association status
  },
  "owner" : { Reference(Organization) }, // Organization responsible for device
  "contact" : [{ ContactPoint }], // Details for human/organization for support
  "location" : { Reference(Location) }, // Where the device is found
  "url" : "<uri>", // Network address to contact device
  "endpoint" : [{ Reference(Endpoint) }], // Technical endpoints providing access to electronic services provided by the device
  "link" : [{ // An associated device, attached to, used with, communicating with or linking a previous or new device model to the focal device
    "relation" : { Coding }, // R!  The type indicates the relationship of the related device to the device instance
    "relatedDevice" : { CodeableReference(Device) } // R!  A reference to the linked device
  }],
  "note" : [{ Annotation }], // Device notes and comments
  "safety" : [{ CodeableConcept }], // Safety Characteristics of Device
  "parent" : { Reference(Device) } // The device that this device is attached to or is part of
}

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.displayName [ string ]; # 0..1 The name used to display by default when the device is referenced
  fhir:Device.definition [ CodeableReference(DeviceDefinition) ]; # 0..1 The reference to the definition for the device
  fhir:Device.udiCarrier [ # 0..* Unique Device Identifier (UDI) Barcode string
    fhir:Device.udiCarrier.deviceIdentifier [ string ]; # 1..1 Mandatory fixed portion of UDI
    fhir:Device.udiCarrier.issuer [ uri ]; # 0..1 UDI Issuing Organization
    fhir:Device.udiCarrier.jurisdiction [ uri ]; # 0..1 Regional UDI authority
    fhir:Device.udiCarrier.carrierAIDC [ base64Binary ]; # 0..1 UDI Machine Readable Barcode String
    fhir:Device.udiCarrier.carrierHRF [ string ]; # 0..1 UDI Human Readable Barcode String
    fhir:Device.udiCarrier.entryType [ code ]; # 0..1 barcode | rfid | manual | card | self-reported | electronic-transmission | unknown
  ], ...;
  fhir:Device.status [ code ]; # 0..1 active | inactive | entered-in-error | unknown
  fhir:Device.statusReason [ CodeableConcept ], ... ; # 0..* discarded | obsolete | removed
  fhir:Device.biologicalSource [ Identifier ]; # 0..1 An identifier that supports traceability to the biological entity that is the source of biological material in the product
  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.lotNumber [ string ]; # 0..1 Lot number of manufacture
  fhir:Device.serialNumber [ string ]; # 0..1 Serial number assigned by the manufacturer
  fhir:Device.deviceName [ # 0..* The name or names of the device as known to the manufacturer and/or patient
    fhir:Device.deviceName.name [ string ]; # 1..1 The name that identifies the device
    fhir:Device.deviceName.type [ code ]; # 1..1 registered-name | user-friendly-name | patient-reported-name
  ], ...;
  fhir:Device.modelNumber [ string ]; # 0..1 The manufacturer's model number for the device
  fhir:Device.partNumber [ string ]; # 0..1 The part number or catalog number of the device
  fhir:Device.type [ CodeableConcept ], ... ; # 0..* The kind or type of device
  fhir:Device.version [ # 0..* The actual design of the device or software version running on the device
    fhir:Device.version.type [ CodeableConcept ]; # 0..1 The type of the device version, e.g. manufacturer, approved, internal
    fhir:Device.version.component [ Identifier ]; # 0..1 The hardware or software module of the device to which the version applies
    fhir:Device.version.value [ string ]; # 1..1 The version text
  ], ...;
  fhir:Device.property [ # 0..* The actual configuration settings of a device as it actually operates, e.g., regulation status, time properties
    fhir:Device.property.type [ CodeableConcept ]; # 1..1 Code that specifies the property being represented
    # Device.property.value[x] : 0..1 Property value - as a code, quantity, boolean, string or attachmment. One of these 7
      fhir:Device.property.valueQuantity [ Quantity ]
      fhir:Device.property.valueCodeableConcept [ CodeableConcept ]
      fhir:Device.property.valueString [ string ]
      fhir:Device.property.valueBoolean [ boolean ]
      fhir:Device.property.valueInteger [ integer ]
      fhir:Device.property.valueRange [ Range ]
      fhir:Device.property.valueAttachment [ Attachment ]
  ], ...;
  fhir:Device.subject [ Reference(Patient|Person|Practitioner) ]; # 0..1 Patient to whom Device is affixed
  fhir:Device.operationalStatus [ # 0..1 The status of the device itself - whether it is switched on, or activated, etc
    fhir:Device.operationalStatus.value [ CodeableConcept ]; # 1..1 on |off | standby
    fhir:Device.operationalStatus.reason [ CodeableConcept ], ... ; # 0..* The reasons given for the current operational status
  ];
  fhir:Device.associationStatus [ # 0..1 The state of the usage or application of the device
    fhir:Device.associationStatus.value [ CodeableConcept ]; # 1..1 implanted|explanted|attached
    fhir:Device.associationStatus.reason [ CodeableConcept ], ... ; # 0..* The reasons given for the current association status
  ];
  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 device is found
  fhir:Device.url [ uri ]; # 0..1 Network address to contact device
  fhir:Device.endpoint [ Reference(Endpoint) ], ... ; # 0..* Technical endpoints providing access to electronic services provided by the device
  fhir:Device.link [ # 0..* An associated device, attached to, used with, communicating with or linking a previous or new device model to the focal device
    fhir:Device.link.relation [ Coding ]; # 1..1 The type indicates the relationship of the related device to the device instance
    fhir:Device.link.relatedDevice [ CodeableReference(Device) ]; # 1..1 A reference to the linked device
  ], ...;
  fhir:Device.note [ Annotation ], ... ; # 0..* Device notes and comments
  fhir:Device.safety [ CodeableConcept ], ... ; # 0..* Safety Characteristics of Device
  fhir:Device.parent [ Reference(Device) ]; # 0..1 The device that this device is attached to or is part of
]

Changes since R3

Device
Device.displayName
  • Added Element
Device.definition
  • Type changed from Reference(DeviceDefinition) to CodeableReference
Device.udiCarrier.deviceIdentifier
  • Min Cardinality changed from 0 to 1
Device.udiCarrier.entryType
  • Change value set from http://hl7.org/fhir/ValueSet/udi-entry-type|4.0.0 to http://hl7.org/fhir/ValueSet/udi-entry-type|5.0.0-snapshot1
Device.status
  • Change value set from http://hl7.org/fhir/ValueSet/device-status|4.0.0 to http://hl7.org/fhir/ValueSet/device-status|5.0.0-snapshot1
Device.biologicalSource
  • Added Element
Device.deviceName.type
  • Change value set from http://hl7.org/fhir/ValueSet/device-nametype|4.0.0 to http://hl7.org/fhir/ValueSet/device-nametype|5.0.0-snapshot1
Device.type
  • Max Cardinality changed from 1 to *
Device.property.value[x]
  • Added Element
Device.subject
  • Added Element
Device.operationalStatus
  • Added Element
Device.operationalStatus.value
  • Added Mandatory Element
Device.operationalStatus.reason
  • Added Element
Device.associationStatus
  • Added Element
Device.associationStatus.value
  • Added Mandatory Element
Device.associationStatus.reason
  • Added Element
Device.endpoint
  • Added Element
Device.link
  • Added Element
Device.link.relation
  • Added Mandatory Element
Device.link.relatedDevice
  • Added Mandatory Element
Device.distinctIdentifier
  • deleted
Device.specialization
  • deleted
Device.property.valueQuantity
  • deleted
Device.property.valueCode
  • deleted
Device.patient
  • deleted

See the Full Difference for further information

This analysis is available as XML or JSON.

See R3 <--> R4 Conversion Maps (status = 9 tests that all execute ok. All tests pass round-trip testing and 1 r3 resources are invalid (0 errors).)

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Device TUDomainResourceItem used in healthcare
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier 0..*IdentifierInstance identifier
... displayName 0..1stringThe name used to display by default when the device is referenced
... definition 0..1CodeableReference(DeviceDefinition)The reference to the definition for the device
... udiCarrier Σ0..*BackboneElementUnique Device Identifier (UDI) Barcode string
.... deviceIdentifier Σ1..1stringMandatory fixed portion of UDI
.... issuer 0..1uriUDI Issuing Organization
.... jurisdiction 0..1uriRegional UDI authority
.... carrierAIDC Σ0..1base64BinaryUDI Machine Readable Barcode String
.... carrierHRF Σ0..1stringUDI Human Readable Barcode String
.... entryType 0..1codebarcode | rfid | manual | card | self-reported | electronic-transmission | unknown
UDIEntryType (Required)
... status ?!Σ0..1codeactive | inactive | entered-in-error | unknown
FHIRDeviceStatus (Required)
... statusReason 0..*CodeableConceptdiscarded | obsolete | removed
FHIRDeviceStatusReason (Extensible)
... biologicalSource 0..1IdentifierAn identifier that supports traceability to the biological entity that is the source of biological material in the product
... 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)
... lotNumber 0..1stringLot number of manufacture
... serialNumber 0..1stringSerial number assigned by the manufacturer
... deviceName 0..*BackboneElementThe name or names of the device as known to the manufacturer and/or patient
.... name 1..1stringThe name that identifies the device
.... type 1..1coderegistered-name | user-friendly-name | patient-reported-name
DeviceNameType (Required)
... modelNumber 0..1stringThe manufacturer's model number for the device
... partNumber 0..1stringThe part number or catalog number of the device
... type 0..*CodeableConceptThe kind or type of device
Device Type (Example)
... version 0..*BackboneElementThe actual design of the device or software version running on the device
.... type 0..1CodeableConceptThe type of the device version, e.g. manufacturer, approved, internal
.... component 0..1IdentifierThe hardware or software module of the device to which the version applies
.... value 1..1stringThe version text
... property 0..*BackboneElementThe actual configuration settings of a device as it actually operates, e.g., regulation status, time properties
.... type 1..1CodeableConceptCode that specifies the property being represented
.... value[x] 0..1Property value - as a code, quantity, boolean, string or attachmment
..... valueQuantityQuantity
..... valueCodeableConceptCodeableConcept
..... valueStringstring
..... valueBooleanboolean
..... valueIntegerinteger
..... valueRangeRange
..... valueAttachmentAttachment
... subject 0..1Reference(Patient | Practitioner | Person)Patient to whom Device is affixed
... operationalStatus 0..1BackboneElementThe status of the device itself - whether it is switched on, or activated, etc
.... value 1..1CodeableConcepton |off | standby
FHIRDeviceOperationalStatus (Example)
.... reason 0..*CodeableConceptThe reasons given for the current operational status
... associationStatus 0..1BackboneElementThe state of the usage or application of the device
.... value 1..1CodeableConceptimplanted|explanted|attached
FHIRDeviceAssociationStatus (Example)
.... reason 0..*CodeableConceptThe reasons given for the current association status
... owner 0..1Reference(Organization)Organization responsible for device
... contact 0..*ContactPointDetails for human/organization for support
... location 0..1Reference(Location)Where the device is found
... url 0..1uriNetwork address to contact device
... endpoint 0..*Reference(Endpoint)Technical endpoints providing access to electronic services provided by the device
... link 0..*BackboneElementAn associated device, attached to, used with, communicating with or linking a previous or new device model to the focal device
.... relation 1..1CodingThe type indicates the relationship of the related device to the device instance
DeviceRelationType (Extensible)
.... relatedDevice 1..1CodeableReference(Device)A reference to the linked device
... note 0..*AnnotationDevice notes and comments
... safety Σ0..*CodeableConceptSafety Characteristics of Device
... parent 0..1Reference(Device)The device that this device is attached to or is part of

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..*]The name used to display by default when the device is referenced. Based on intent of use by the resource creator, this may reflect one of the names in Device.deviceName, or may be another simple namedisplayName : string [0..1]The reference to the definition for the devicedefinition : DataType [0..1] « DeviceDefinition »Status of the Device record. This is not the status of the device like availability (this element modifies the meaning of other elements)status : code [0..1] « null (Strength=Required)FHIRDeviceStatus! »Reason for the status of the Device record. For example, why is the record not activestatusReason : CodeableConcept [0..*] « null (Strength=Extensible)FHIRDeviceStatusReason+ »An identifier that supports traceability to the biological entity that is the source of biological material in the productbiologicalSource : Identifier [0..1]A name of the manufacturer or entity legally responsible for the devicemanufacturer : 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]Lot number assigned by the manufacturerlotNumber : string [0..1]The serial number assigned by the organization when the device was manufacturedserialNumber : string [0..1]The manufacturer's model number for the devicemodelNumber : string [0..1]The part number or catalog number of the devicepartNumber : string [0..1]The kind or type of device. A device instance may have more than one type - in which case those are the types that apply to the specific instance of the devicetype : CodeableConcept [0..*] « null (Strength=Example)DeviceType?? »Patient information, if the device is affixed to, or associated to a patient for their specific use, irrespective of the procedure, use, observation, or other activity that the device is involved insubject : Reference [0..1] « Patient|Practitioner|Person »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]Technical endpoints providing access to services provided by the device defined at this resourceendpoint : Reference [0..*] « Endpoint »Descriptive information, usage information or implantation information that is not captured in an existing elementnote : Annotation [0..*]Provides additional safety characteristics about a medical device. For example devices containing latexsafety : CodeableConcept [0..*]The device that this device is attached to or is part ofparent : Reference [0..1] « Device »UdiCarrierThe device identifier (DI) is a mandatory, fixed portion of a UDI that identifies the labeler and the specific version or model of a devicedeviceIdentifier : string [1..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-diI, 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 # Informationsstelle für Arzneispezialitäten (IFA GmbH) (EU only): http://hl7.org/fhir/NamingSystem/ifa-gmbh-diissuer : uri [0..1]The identity of the authoritative source for UDI generation within a jurisdiction. All UDIs are globally unique within a single 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/us-fda-udi or in the European Union by the European Commission http://hl7.org/fhir/NamingSystem/eu-ec-udijurisdiction : uri [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., 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 encodedcarrierAIDC : base64Binary [0..1]The full UDI carrier as the human readable form (HRF) representation of the barcode string as printed on the packaging of the devicecarrierHRF : string [0..1]A coded entry to indicate how the data was enteredentryType : code [0..1] « null (Strength=Required)UDIEntryType! »DeviceNameThe name that identifies the devicename : string [1..1]The type of deviceName. Note that ManufactureDeviceName means that the name is the name as given by the manufacturer, not the name of the manufacturer. RegisteredName | UserFriendlyName | PatientReportedNametype : code [1..1] « null (Strength=Required)DeviceNameType! »VersionThe type of the device version, e.g. manufacturer, approved, internaltype : CodeableConcept [0..1]The hardware or software module of the device to which the version appliescomponent : Identifier [0..1]The version textvalue : string [1..1]PropertyCode that specifies the property being represented. No codes are specified but the MDC codes are an example: https://build.fhir.org/mdc.htmltype : CodeableConcept [1..1]Property value - can be a code, quantity, boolean, string or attachmentvalue[x] : DataType [0..1] « Quantity|CodeableConcept|string|boolean| integer|Range|Attachment »OperationalStatuson |off | standbyvalue : CodeableConcept [1..1] « null (Strength=Example)FHIRDeviceOperationalStatus?? »The reasons given for the current operational status - i.e. why is the device switched on etcreason : CodeableConcept [0..*]AssociationStatusimplanted|explanted|attachedvalue : CodeableConcept [1..1] « null (Strength=Example)FHIRDeviceAssociationStatus?? »The reasons given for the current association status - i.e. why is the device explanted, or attached to the patient, etcreason : CodeableConcept [0..*]LinkThe type indicates the relationship of the related device to the device instancerelation : Coding [1..1] « null (Strength=Extensible)DeviceRelationType+ »A reference to the linked devicerelatedDevice : DataType [1..1] « Device »Unique device identifier (UDI) assigned to device label or package. Note that the Device may include multiple udiCarriers as it either may include just the udiCarrier for the jurisdiction it is sold, or for multiple jurisdictions it could have been soldudiCarrier[0..*]This represents the manufacturer's name of the device as provided by the device, from a UDI label, or by a person describing the Device. This typically would be used when a person provides the name(s) or when the device represents one of the names available from DeviceDefinitiondeviceName[0..*]The actual design of the device or software version running on the deviceversion[0..*]The actual configuration settings of a device as it actually operates, e.g., regulation status, time propertiesproperty[0..*]The status of the device itself - whether it is switched on, or activated, etcoperationalStatus[0..1]The state of the usage or application of the device - whether the device is implanted, or explanted, or attached to the patientassociationStatus[0..1]An associated device, attached to, used with, communicating with or linking a previous or new device model to the focal devicelink[0..*]

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>
 <displayName value="[string]"/><!-- 0..1 The name used to display by default when the device is referenced -->
 <definition><!-- 0..1 CodeableReference(DeviceDefinition) The reference to the definition for the device --></definition>
 <udiCarrier>  <!-- 0..* Unique Device Identifier (UDI) Barcode string -->
  <deviceIdentifier value="[string]"/><!-- 1..1 Mandatory fixed portion of UDI -->
  <issuer value="[uri]"/><!-- 0..1 UDI Issuing Organization -->
  <jurisdiction value="[uri]"/><!-- 0..1 Regional UDI authority -->
  <carrierAIDC value="[base64Binary]"/><!-- 0..1 UDI Machine Readable Barcode String -->
  <carrierHRF value="[string]"/><!-- 0..1 UDI Human Readable Barcode String -->
  <entryType value="[code]"/><!-- 0..1 barcode | rfid | manual | card | self-reported | electronic-transmission | unknown -->
 </udiCarrier>
 <status value="[code]"/><!-- 0..1 active | inactive | entered-in-error | unknown -->
 <statusReason><!-- 0..* CodeableConcept discarded | obsolete | removed --></statusReason>
 <biologicalSource><!-- 0..1 Identifier An identifier that supports traceability to the biological entity that is the source of biological material in the product --></biologicalSource>
 <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) -->
 <lotNumber value="[string]"/><!-- 0..1 Lot number of manufacture -->
 <serialNumber value="[string]"/><!-- 0..1 Serial number assigned by the manufacturer -->
 <deviceName>  <!-- 0..* The name or names of the device as known to the manufacturer and/or patient -->
  <name value="[string]"/><!-- 1..1 The name that identifies the device -->
  <type value="[code]"/><!-- 1..1 registered-name | user-friendly-name | patient-reported-name -->
 </deviceName>
 <modelNumber value="[string]"/><!-- 0..1 The manufacturer's model number for the device -->
 <partNumber value="[string]"/><!-- 0..1 The part number or catalog number of the device -->
 <type><!-- 0..* CodeableConcept The kind or type of device --></type>
 <version>  <!-- 0..* The actual design of the device or software version running on the device -->
  <type><!-- 0..1 CodeableConcept The type of the device version, e.g. manufacturer, approved, internal --></type>
  <component><!-- 0..1 Identifier The hardware or software module of the device to which the version applies --></component>
  <value value="[string]"/><!-- 1..1 The version text -->
 </version>
 <property>  <!-- 0..* The actual configuration settings of a device as it actually operates, e.g., regulation status, time properties -->
  <type><!-- 1..1 CodeableConcept Code that specifies the property being represented --></type>
  <value[x]><!-- 0..1 Quantity|CodeableConcept|string|boolean|integer|Range|
    Attachment Property value - as a code, quantity, boolean, string or attachmment --></value[x]>
 </property>
 <subject><!-- 0..1 Reference(Patient|Person|Practitioner) Patient to whom Device is affixed --></subject>
 <operationalStatus>  <!-- 0..1 The status of the device itself - whether it is switched on, or activated, etc -->
  <value><!-- 1..1 CodeableConcept on |off | standby --></value>
  <reason><!-- 0..* CodeableConcept The reasons given for the current operational status --></reason>
 </operationalStatus>
 <associationStatus>  <!-- 0..1 The state of the usage or application of the device -->
  <value><!-- 1..1 CodeableConcept implanted|explanted|attached --></value>
  <reason><!-- 0..* CodeableConcept The reasons given for the current association status --></reason>
 </associationStatus>
 <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 device is found --></location>
 <url value="[uri]"/><!-- 0..1 Network address to contact device -->
 <endpoint><!-- 0..* Reference(Endpoint) Technical endpoints providing access to electronic services provided by the device --></endpoint>
 <link>  <!-- 0..* An associated device, attached to, used with, communicating with or linking a previous or new device model to the focal device -->
  <relation><!-- 1..1 Coding The type indicates the relationship of the related device to the device instance --></relation>
  <relatedDevice><!-- 1..1 CodeableReference(Device) A reference to the linked device --></relatedDevice>
 </link>
 <note><!-- 0..* Annotation Device notes and comments --></note>
 <safety><!-- 0..* CodeableConcept Safety Characteristics of Device --></safety>
 <parent><!-- 0..1 Reference(Device) The device that this device is attached to or is part of --></parent>
</Device>

JSON Template

{doco
  "resourceType" : "Device",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // Instance identifier
  "displayName" : "<string>", // The name used to display by default when the device is referenced
  "definition" : { CodeableReference(DeviceDefinition) }, // The reference to the definition for the device
  "udiCarrier" : [{ // Unique Device Identifier (UDI) Barcode string
    "deviceIdentifier" : "<string>", // R!  Mandatory fixed portion of UDI
    "issuer" : "<uri>", // UDI Issuing Organization
    "jurisdiction" : "<uri>", // Regional UDI authority
    "carrierAIDC" : "<base64Binary>", // UDI Machine Readable Barcode String
    "carrierHRF" : "<string>", // UDI Human Readable Barcode String
    "entryType" : "<code>" // barcode | rfid | manual | card | self-reported | electronic-transmission | unknown
  }],
  "status" : "<code>", // active | inactive | entered-in-error | unknown
  "statusReason" : [{ CodeableConcept }], // discarded | obsolete | removed
  "biologicalSource" : { Identifier }, // An identifier that supports traceability to the biological entity that is the source of biological material in the product
  "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)
  "lotNumber" : "<string>", // Lot number of manufacture
  "serialNumber" : "<string>", // Serial number assigned by the manufacturer
  "deviceName" : [{ // The name or names of the device as known to the manufacturer and/or patient
    "name" : "<string>", // R!  The name that identifies the device
    "type" : "<code>" // R!  registered-name | user-friendly-name | patient-reported-name
  }],
  "modelNumber" : "<string>", // The manufacturer's model number for the device
  "partNumber" : "<string>", // The part number or catalog number of the device
  "type" : [{ CodeableConcept }], // The kind or type of device
  "version" : [{ // The actual design of the device or software version running on the device
    "type" : { CodeableConcept }, // The type of the device version, e.g. manufacturer, approved, internal
    "component" : { Identifier }, // The hardware or software module of the device to which the version applies
    "value" : "<string>" // R!  The version text
  }],
  "property" : [{ // The actual configuration settings of a device as it actually operates, e.g., regulation status, time properties
    "type" : { CodeableConcept }, // R!  Code that specifies the property being represented
    // value[x]: Property value - as a code, quantity, boolean, string or attachmment. One of these 7:
    "valueQuantity" : { Quantity }
    "valueCodeableConcept" : { CodeableConcept }
    "valueString" : "<string>"
    "valueBoolean" : <boolean>
    "valueInteger" : <integer>
    "valueRange" : { Range }
    "valueAttachment" : { Attachment }
  }],
  "subject" : { Reference(Patient|Person|Practitioner) }, // Patient to whom Device is affixed
  "operationalStatus" : { // The status of the device itself - whether it is switched on, or activated, etc
    "value" : { CodeableConcept }, // R!  on |off | standby
    "reason" : [{ CodeableConcept }] // The reasons given for the current operational status
  },
  "associationStatus" : { // The state of the usage or application of the device
    "value" : { CodeableConcept }, // R!  implanted|explanted|attached
    "reason" : [{ CodeableConcept }] // The reasons given for the current association status
  },
  "owner" : { Reference(Organization) }, // Organization responsible for device
  "contact" : [{ ContactPoint }], // Details for human/organization for support
  "location" : { Reference(Location) }, // Where the device is found
  "url" : "<uri>", // Network address to contact device
  "endpoint" : [{ Reference(Endpoint) }], // Technical endpoints providing access to electronic services provided by the device
  "link" : [{ // An associated device, attached to, used with, communicating with or linking a previous or new device model to the focal device
    "relation" : { Coding }, // R!  The type indicates the relationship of the related device to the device instance
    "relatedDevice" : { CodeableReference(Device) } // R!  A reference to the linked device
  }],
  "note" : [{ Annotation }], // Device notes and comments
  "safety" : [{ CodeableConcept }], // Safety Characteristics of Device
  "parent" : { Reference(Device) } // The device that this device is attached to or is part of
}

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.displayName [ string ]; # 0..1 The name used to display by default when the device is referenced
  fhir:Device.definition [ CodeableReference(DeviceDefinition) ]; # 0..1 The reference to the definition for the device
  fhir:Device.udiCarrier [ # 0..* Unique Device Identifier (UDI) Barcode string
    fhir:Device.udiCarrier.deviceIdentifier [ string ]; # 1..1 Mandatory fixed portion of UDI
    fhir:Device.udiCarrier.issuer [ uri ]; # 0..1 UDI Issuing Organization
    fhir:Device.udiCarrier.jurisdiction [ uri ]; # 0..1 Regional UDI authority
    fhir:Device.udiCarrier.carrierAIDC [ base64Binary ]; # 0..1 UDI Machine Readable Barcode String
    fhir:Device.udiCarrier.carrierHRF [ string ]; # 0..1 UDI Human Readable Barcode String
    fhir:Device.udiCarrier.entryType [ code ]; # 0..1 barcode | rfid | manual | card | self-reported | electronic-transmission | unknown
  ], ...;
  fhir:Device.status [ code ]; # 0..1 active | inactive | entered-in-error | unknown
  fhir:Device.statusReason [ CodeableConcept ], ... ; # 0..* discarded | obsolete | removed
  fhir:Device.biologicalSource [ Identifier ]; # 0..1 An identifier that supports traceability to the biological entity that is the source of biological material in the product
  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.lotNumber [ string ]; # 0..1 Lot number of manufacture
  fhir:Device.serialNumber [ string ]; # 0..1 Serial number assigned by the manufacturer
  fhir:Device.deviceName [ # 0..* The name or names of the device as known to the manufacturer and/or patient
    fhir:Device.deviceName.name [ string ]; # 1..1 The name that identifies the device
    fhir:Device.deviceName.type [ code ]; # 1..1 registered-name | user-friendly-name | patient-reported-name
  ], ...;
  fhir:Device.modelNumber [ string ]; # 0..1 The manufacturer's model number for the device
  fhir:Device.partNumber [ string ]; # 0..1 The part number or catalog number of the device
  fhir:Device.type [ CodeableConcept ], ... ; # 0..* The kind or type of device
  fhir:Device.version [ # 0..* The actual design of the device or software version running on the device
    fhir:Device.version.type [ CodeableConcept ]; # 0..1 The type of the device version, e.g. manufacturer, approved, internal
    fhir:Device.version.component [ Identifier ]; # 0..1 The hardware or software module of the device to which the version applies
    fhir:Device.version.value [ string ]; # 1..1 The version text
  ], ...;
  fhir:Device.property [ # 0..* The actual configuration settings of a device as it actually operates, e.g., regulation status, time properties
    fhir:Device.property.type [ CodeableConcept ]; # 1..1 Code that specifies the property being represented
    # Device.property.value[x] : 0..1 Property value - as a code, quantity, boolean, string or attachmment. One of these 7
      fhir:Device.property.valueQuantity [ Quantity ]
      fhir:Device.property.valueCodeableConcept [ CodeableConcept ]
      fhir:Device.property.valueString [ string ]
      fhir:Device.property.valueBoolean [ boolean ]
      fhir:Device.property.valueInteger [ integer ]
      fhir:Device.property.valueRange [ Range ]
      fhir:Device.property.valueAttachment [ Attachment ]
  ], ...;
  fhir:Device.subject [ Reference(Patient|Person|Practitioner) ]; # 0..1 Patient to whom Device is affixed
  fhir:Device.operationalStatus [ # 0..1 The status of the device itself - whether it is switched on, or activated, etc
    fhir:Device.operationalStatus.value [ CodeableConcept ]; # 1..1 on |off | standby
    fhir:Device.operationalStatus.reason [ CodeableConcept ], ... ; # 0..* The reasons given for the current operational status
  ];
  fhir:Device.associationStatus [ # 0..1 The state of the usage or application of the device
    fhir:Device.associationStatus.value [ CodeableConcept ]; # 1..1 implanted|explanted|attached
    fhir:Device.associationStatus.reason [ CodeableConcept ], ... ; # 0..* The reasons given for the current association status
  ];
  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 device is found
  fhir:Device.url [ uri ]; # 0..1 Network address to contact device
  fhir:Device.endpoint [ Reference(Endpoint) ], ... ; # 0..* Technical endpoints providing access to electronic services provided by the device
  fhir:Device.link [ # 0..* An associated device, attached to, used with, communicating with or linking a previous or new device model to the focal device
    fhir:Device.link.relation [ Coding ]; # 1..1 The type indicates the relationship of the related device to the device instance
    fhir:Device.link.relatedDevice [ CodeableReference(Device) ]; # 1..1 A reference to the linked device
  ], ...;
  fhir:Device.note [ Annotation ], ... ; # 0..* Device notes and comments
  fhir:Device.safety [ CodeableConcept ], ... ; # 0..* Safety Characteristics of Device
  fhir:Device.parent [ Reference(Device) ]; # 0..1 The device that this device is attached to or is part of
]

Changes since Release 3

Device
Device.displayName
  • Added Element
Device.definition
  • Type changed from Reference(DeviceDefinition) to CodeableReference
Device.udiCarrier.deviceIdentifier
  • Min Cardinality changed from 0 to 1
Device.udiCarrier.entryType
  • Change value set from http://hl7.org/fhir/ValueSet/udi-entry-type|4.0.0 to http://hl7.org/fhir/ValueSet/udi-entry-type|5.0.0-snapshot1
Device.status
  • Change value set from http://hl7.org/fhir/ValueSet/device-status|4.0.0 to http://hl7.org/fhir/ValueSet/device-status|5.0.0-snapshot1
Device.biologicalSource
  • Added Element
Device.deviceName.type
  • Change value set from http://hl7.org/fhir/ValueSet/device-nametype|4.0.0 to http://hl7.org/fhir/ValueSet/device-nametype|5.0.0-snapshot1
Device.type
  • Max Cardinality changed from 1 to *
Device.property.value[x]
  • Added Element
Device.subject
  • Added Element
Device.operationalStatus
  • Added Element
Device.operationalStatus.value
  • Added Mandatory Element
Device.operationalStatus.reason
  • Added Element
Device.associationStatus
  • Added Element
Device.associationStatus.value
  • Added Mandatory Element
Device.associationStatus.reason
  • Added Element
Device.endpoint
  • Added Element
Device.link
  • Added Element
Device.link.relation
  • Added Mandatory Element
Device.link.relatedDevice
  • Added Mandatory Element
Device.distinctIdentifier
  • deleted
Device.specialization
  • deleted
Device.property.valueQuantity
  • deleted
Device.property.valueCode
  • deleted
Device.patient
  • deleted

See the Full Difference for further information

This analysis is available as XML or JSON.

See R3 <--> R4 Conversion Maps (status = 9 tests that all execute ok. All tests pass round-trip testing and 1 r3 resources are invalid (0 errors).)

 

See the Profiles & Extensions and the alternate definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions, the spreadsheet version & the dependency analysis a

PathDefinitionTypeReference
Device.udiCarrier.entryType RequiredUDIEntryType
Device.status RequiredFHIRDeviceStatus
Device.statusReason ExtensibleFHIRDeviceStatusReason
Device.deviceName.type RequiredDeviceNameType
Device.type ExampleDeviceType
Device.operationalStatus.value ExampleFHIRDeviceOperationalStatus
Device.associationStatus.value ExampleFHIRDeviceAssociationStatus
Device.link.relation ExtensibleDeviceRelationType

Nearly all devices are assigned a string of characters to represent one or more identifiers or codes, which are usually printed or affixed to the device using either barcodes or RFIDs. The identifier or code can come from the manufacturer (for example, a 'serial number', 'reference number', or '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. However, there can there can be confusion where to represent them in the resource because codes and identifiers are 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 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 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:

For systems that do have a system URI for device types (indicating the model number or part number), they can and should appear as codings in Device.type.

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 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 further guidance.

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

NameTypeDescriptionExpressionIn Common
biological-sourcetokenThe biological source for the deviceDevice.biologicalSource
definitionreferenceThe definition / type of the deviceDevice.definition.reference
device-namestringA server defined search that may match any of the string fields in Device.deviceName or Device.type.Device.deviceName.name | Device.type.coding.display | Device.type.text
expiration-date NdateThe expiration date of the deviceDevice.expirationDate
identifiertokenInstance id from manufacturer, owner, and othersDevice.identifier
locationreferenceA location, where the resource is foundDevice.location
(Location)
lot-number NstringThe lot number of the deviceDevice.lotNumber
manufacture-date NdateThe manufacture date of the deviceDevice.manufactureDate
manufacturer NstringThe manufacturer of the deviceDevice.manufacturer
model NstringThe model of the deviceDevice.modelNumber
organizationreferenceThe organization responsible for the deviceDevice.owner
(Organization)
parentreferenceThe parent deviceDevice.parent
(Device)
patientreferencePatient information, if the resource is affixed to a personDevice.subject.where(resolve() is Patient)
(Practitioner, Patient, Person)
serial-number NstringThe serial number of the deviceDevice.serialNumber
status Ntokenactive | inactive | entered-in-error | unknownDevice.status
subjectreferenceSubject information, to which the device is associated of affixedDevice.subject
(Practitioner, Patient, Person)
typetokenThe type of the deviceDevice.type
udi-carrierstringUDI Barcode (RFID or other technology) string in *HRF* format.Device.udiCarrier.carrierHRF
udi-distringThe udi Device Identifier (DI)Device.udiCarrier.deviceIdentifier
url NuriNetwork address to contact deviceDevice.url
version NstringThe specific version of the deviceDevice.version.value