This page is part of the US Core (v3.0.0: STU3) based on FHIR R4. The current version which supercedes this version is 5.0.1. For a full list of available versions, see the Directory of published versions
StructureDefinition-us-core-device
This profile sets minimum expectations for the Device resource to record, search and fetch UDI information associated with a patient. It identifies which core elements, extensions, vocabularies and value sets SHALL be present in the resource when using this profile.
Example Usage Scenarios:
The following are example usage scenarios for the US Core-Device profile:
- Query for a Patient’s Devices
- Record a Patient Device
Mandatory and Must Support Data Elements
The following data-elements are mandatory (i.e data MUST be present) or must be supported if the data is present in the sending system (Must Support definition). They are presented below in a simple human-readable explanation. Profile specific guidance and examples are provided as well. The Formal Profile Definition below provides the formal summary, definitions, and terminology requirements.
Each Device must have:
- a code identifying the type of resource
- a patient
In addition, the following data-elements must be supported if the data is present in the sending system (Must Support definition):
Each Device must support:
- A Unique Device Identifier (UDI) numeric or alphanumeric code
- either as the Human Readable Form (HRF) string representation of the barcode
- or the Automatic Identification and Data Capture (AIDC) representation.
Profile specific implementation guidance:
- This profile supports the requirement to retrieve an 170.315(a)(14) Implantable device list.
- Servers SHOULD support query by Device.type to allow clients to request only implantable devices.
-
In the Quick Start section below, searching for all devices is described. Records of implanted devices MAY be queried against UDI data including:
- UDI Carrier string (
udi-carrier
) - UDI Device Identifier (
udi-di
) - Manufacturer (
manufacturer
) - Model number (
model
)
Implementers MAY also adopt custom SearchParameters for searching by:
- specific lot numbers
- serial numbers
- UDI Carrier string (
Examples
Formal Views of Profile Content
Description of Profiles, Differentials, and Snapshots.
The official URL for this profile is:
http://hl7.org/fhir/us/core/StructureDefinition/us-core-device
Published on Tue May 21 00:00:00 EDT 2019 as active by the HL7 US Realm Steering Committee.
This profile builds on Device
Device
Summary of the Mandatory Requirements
- A CodeableConcept in
Device.type
with an extensible binding to FHIR Device Types - A Patient Reference in
Device.patient
Summary of the Must Support Requirements
- A Udicarrier in
Device.udiCarrier
- which should have a base64Binary value in
Device.udiCarrier.carrierAIDC
- which should have a string value in
Device.udiCarrier.carrierHRF
- which should have a base64Binary value in
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Device | I | 0..* | Item used in healthcare | |
id | Σ | 0..1 | id | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | 0..* | Identifier | Instance identifier | |
definition | 0..1 | Reference(DeviceDefinition) | The reference to the definition for the device | |
udiCarrier | SΣI | 0..1 | BackboneElement | Unique Device Identifier (UDI) Barcode string |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
deviceIdentifier | Σ | 0..1 | string | Mandatory fixed portion of UDI |
issuer | 0..1 | uri | UDI Issuing Organization | |
jurisdiction | 0..1 | uri | Regional UDI authority | |
carrierAIDC | SΣ | 0..1 | base64Binary | UDI Machine Readable Barcode String |
carrierHRF | SΣ | 0..1 | string | UDI Human Readable Barcode String |
entryType | 0..1 | code | barcode | rfid | manual + Binding: UDIEntryType (required) | |
status | ?!Σ | 0..1 | code | active | inactive | entered-in-error | unknown Binding: FHIRDeviceStatus (required) |
statusReason | 0..* | CodeableConcept | online | paused | standby | offline | not-ready | transduc-discon | hw-discon | off Binding: FHIRDeviceStatusReason (extensible) | |
distinctIdentifier | 0..1 | string | The distinct identification string | |
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) | |
lotNumber | 0..1 | string | Lot number of manufacture | |
serialNumber | 0..1 | string | Serial number assigned by the manufacturer | |
deviceName | I | 0..* | BackboneElement | The name of the device as given by the manufacturer |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
name | 1..1 | string | The name of the device | |
type | 1..1 | code | udi-label-name | user-friendly-name | patient-reported-name | manufacturer-name | model-name | other Binding: DeviceNameType (required) | |
modelNumber | 0..1 | string | The model number for the device | |
partNumber | 0..1 | string | The part number of the device | |
type | S | 1..1 | CodeableConcept | The kind or type of device Binding: FHIRDeviceTypes (extensible) |
specialization | I | 0..* | BackboneElement | The capabilities supported on a device, the standards to which the device conforms for a particular purpose, and used for the communication |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
systemType | 1..1 | CodeableConcept | The standard that is used to operate and communicate | |
version | 0..1 | string | The version of the standard that is used to operate and communicate | |
version | I | 0..* | BackboneElement | The actual design of the device or software version running on the device |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
type | 0..1 | CodeableConcept | The type of the device version | |
component | 0..1 | Identifier | A single component of the device version | |
value | 1..1 | string | The version text | |
property | I | 0..* | BackboneElement | The actual configuration settings of a device as it actually operates, e.g., regulation status, time properties |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
type | 1..1 | CodeableConcept | Code that specifies the property DeviceDefinitionPropetyCode (Extensible) | |
valueQuantity | 0..* | Quantity | Property value as a quantity | |
valueCode | 0..* | CodeableConcept | Property value as a code, e.g., NTP4 (synced to NTP) | |
patient | S | 1..1 | Reference(US Core Patient Profile) | 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 device 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 |
parent | 0..1 | Reference(Device) | The parent device | |
Documentation for this format |
Device
Summary of the Mandatory Requirements
- A CodeableConcept in
Device.type
with an extensible binding to FHIR Device Types - A Patient Reference in
Device.patient
Summary of the Must Support Requirements
- A Udicarrier in
Device.udiCarrier
- which should have a base64Binary value in
Device.udiCarrier.carrierAIDC
- which should have a string value in
Device.udiCarrier.carrierHRF
- which should have a base64Binary value in
Differential View
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Device | I | 0..* | Item used in healthcare | |
id | Σ | 0..1 | id | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | 0..* | Identifier | Instance identifier | |
definition | 0..1 | Reference(DeviceDefinition) | The reference to the definition for the device | |
udiCarrier | SΣI | 0..1 | BackboneElement | Unique Device Identifier (UDI) Barcode string |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
deviceIdentifier | Σ | 0..1 | string | Mandatory fixed portion of UDI |
issuer | 0..1 | uri | UDI Issuing Organization | |
jurisdiction | 0..1 | uri | Regional UDI authority | |
carrierAIDC | SΣ | 0..1 | base64Binary | UDI Machine Readable Barcode String |
carrierHRF | SΣ | 0..1 | string | UDI Human Readable Barcode String |
entryType | 0..1 | code | barcode | rfid | manual + Binding: UDIEntryType (required) | |
status | ?!Σ | 0..1 | code | active | inactive | entered-in-error | unknown Binding: FHIRDeviceStatus (required) |
statusReason | 0..* | CodeableConcept | online | paused | standby | offline | not-ready | transduc-discon | hw-discon | off Binding: FHIRDeviceStatusReason (extensible) | |
distinctIdentifier | 0..1 | string | The distinct identification string | |
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) | |
lotNumber | 0..1 | string | Lot number of manufacture | |
serialNumber | 0..1 | string | Serial number assigned by the manufacturer | |
deviceName | I | 0..* | BackboneElement | The name of the device as given by the manufacturer |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
name | 1..1 | string | The name of the device | |
type | 1..1 | code | udi-label-name | user-friendly-name | patient-reported-name | manufacturer-name | model-name | other Binding: DeviceNameType (required) | |
modelNumber | 0..1 | string | The model number for the device | |
partNumber | 0..1 | string | The part number of the device | |
type | S | 1..1 | CodeableConcept | The kind or type of device Binding: FHIRDeviceTypes (extensible) |
specialization | I | 0..* | BackboneElement | The capabilities supported on a device, the standards to which the device conforms for a particular purpose, and used for the communication |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
systemType | 1..1 | CodeableConcept | The standard that is used to operate and communicate | |
version | 0..1 | string | The version of the standard that is used to operate and communicate | |
version | I | 0..* | BackboneElement | The actual design of the device or software version running on the device |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
type | 0..1 | CodeableConcept | The type of the device version | |
component | 0..1 | Identifier | A single component of the device version | |
value | 1..1 | string | The version text | |
property | I | 0..* | BackboneElement | The actual configuration settings of a device as it actually operates, e.g., regulation status, time properties |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
type | 1..1 | CodeableConcept | Code that specifies the property DeviceDefinitionPropetyCode (Extensible) | |
valueQuantity | 0..* | Quantity | Property value as a quantity | |
valueCode | 0..* | CodeableConcept | Property value as a code, e.g., NTP4 (synced to NTP) | |
patient | S | 1..1 | Reference(US Core Patient Profile) | 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 device 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 |
parent | 0..1 | Reference(Device) | The parent device | |
Documentation for this format |
Downloads: StructureDefinition: (XML, JSON), Schema: XML Schematron
Quick Start
Below is an overview of the required set of RESTful FHIR interactions - for example, search and read operations - for this profile. See the Conformance requirements for a complete list of supported RESTful interactions for this IG.
Mandatory Search Parameters:
The following search parameters, search parameter combinations and search parameter modifiers, comparators, chains and composites SHALL be supported. the modifiers, comparators, chains and composites that are listed as optional SHOULD be supported.:
-
SHALL support searching for all devices for a patient, including implantable devices using the
patient
search parameter:GET [base]/Device?patient=[reference]
Example:
- GET [base]/Device?patient=1137192
Implementation Notes: Fetches a bundle of all Device resources for the specified patient (how to search by reference)
Optional Search Parameters:
The following search parameters, search parameter combinations and search parameter modifiers, comparators, chains and composites SHOULD be supported.
-
SHOULD support searching using the combination of the
patient
andtype
search parameters:GET [base]/Device?patient=[reference]&type={[system]}|[code]
Example:
- GET [base]/Device?patient=1316024&type=http://snomed.info/sct|468063009
Implementation Notes: Fetches a bundle of all Device resources for the specified patient and type. (how to search by reference and how to search by token)