This page is part of the US Core (v5.0.1: STU5) based on FHIR R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions
Official URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-implantable-device | Version: 5.0.1 | |||
Active as of 2022-04-20 | Computable Name: USCoreImplantableDeviceProfile | |||
Copyright/Legal: Used by permission of HL7 International, all rights reserved Creative Commons License |
The US Core Implantable Device Profile is based upon the core FHIR Device Resource and meets the U.S. Core Data for Interoperability (USCDI) v2 ‘Unique Device Identifier(s) for a Patient’s Implantable Device(s)’ requirements. To promote interoperability and adoption through common implementation, this profile sets minimum expectations for the Device resource to record, search, and fetch UDI information associated with a patient’s implantable device(s). It identifies which core elements, extensions, vocabularies and value sets SHALL be present in the resource when using this profile. It provides the floor for standards development for specific uses cases.
Example Usage Scenarios:
The following are example usage scenarios for the this profile:
The following data-elements must always be present (Mandatory definition) 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 Implantable Device must have:
In addition, the following data-elements must be supported if the data is present in the sending system (Must Support definition):
Each Implantable Device must support:
Profile specific implementation guidance:
A unique device identifier (UDI) is a unique numeric or alphanumeric code. There is a machine-readable version (AIDC - the Automatic Identification and Data Capture) as well as a human-readable version of the UDI (HRF - Human Readable Form string). This profile specifies that only the HRF must be supported. Considering the complexity of parsing AIDCs there is no expectation at this time that one converts an AIDC to HRF upon receipt from a FHIR source that is not conformant to this profile or is using another interchange standard (e.g., C-CDA, HL7 v2, etc). The UDI generally consists of a mandatory Device identifier (DI) and a conditional Production identifier (PI) that identifies one or more of the five UDI-PI elements. The UDI and its components are mapped to the US Core Implantable Device Profile elements in the table below:
UDI component | US Core Implantable Device Profile element |
---|---|
UDI HRF string | Device.udiCarrier.carrierHRF |
DI | Device.udiCarrier.deviceIdentifier |
manufacture date (UDI-PI element) | Device.manufactureDate |
expiration dat (UDI-PI elemente | Device.expirationDate |
lot number (UDI-PI element) | Device.lotNumber |
serial number (UDI-PI element) | Device.serialNumber |
distinct identifier (UDI-PI element) | Device.distinctIdentifier |
Implementers are encouraged to use the FDA Global UDI Database (GUDID) and associated APIs to parse and validate the UDI:
Device.udiCarrier.carrierHRF
.
UDI may not be present in all scenarios such as historical implantable devices, patient reported implant information, payer reported devices, or improperly documented implants. If UDI is not present and the manufacturer and/or model number information is available, they SHOULD be included to support historical reports of implantable medical devices as follows:
data element | US Core Implantable Device Profile element |
---|---|
manufacturer | Device.manufacturer |
model | Device.model |
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
)udi-di
)manufacturer
)model
)Implementers MAY also adopt custom SearchParameters for searching by:
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from Device
This structure is derived from Device
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Device | 0..* | Device | Item used in healthcare | |
udiCarrier | S | 0..1 | BackboneElement | Unique Device Identifier (UDI) Barcode string |
deviceIdentifier | S | 1..1 | string | Mandatory fixed portion of UDI |
carrierHRF | S | 0..1 | string | UDI Human Readable Barcode String |
distinctIdentifier | S | 0..1 | string | The distinct identification string |
manufactureDate | S | 0..1 | dateTime | Date when the device was made |
expirationDate | S | 0..1 | dateTime | Date and time of expiry of this device (if applicable) |
lotNumber | S | 0..1 | string | Lot number of manufacture |
serialNumber | S | 0..1 | string | Serial number assigned by the manufacturer |
type | S | 1..1 | CodeableConcept | The kind or type of device Binding: FHIRDeviceTypes (extensible): Codes to identify medical devices |
patient | S | 1..1 | Reference(US Core Patient Profile) | Patient to whom Device is affixed |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Device | 0..* | Device | Item used in healthcare | |||||
id | Σ | 0..1 | string | 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): A human language.
| |||||
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Σ | 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 | SΣ | 1..1 | string | Mandatory fixed portion of UDI | ||||
issuer | 0..1 | uri | UDI Issuing Organization | |||||
jurisdiction | 0..1 | uri | Regional UDI authority | |||||
carrierAIDC | Σ | 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): Codes to identify how UDI data was entered. | |||||
status | ?!Σ | 0..1 | code | active | inactive | entered-in-error | unknown Binding: FHIRDeviceStatus (required): The availability status of the device. | ||||
statusReason | 0..* | CodeableConcept | online | paused | standby | offline | not-ready | transduc-discon | hw-discon | off Binding: FHIRDeviceStatusReason (extensible): The availability status reason of the device. | |||||
distinctIdentifier | S | 0..1 | string | The distinct identification string | ||||
manufacturer | 0..1 | string | Name of device manufacturer | |||||
manufactureDate | S | 0..1 | dateTime | Date when the device was made | ||||
expirationDate | S | 0..1 | dateTime | Date and time of expiry of this device (if applicable) | ||||
lotNumber | S | 0..1 | string | Lot number of manufacture | ||||
serialNumber | S | 0..1 | string | Serial number assigned by the manufacturer | ||||
deviceName | 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): The type of name the device is referred by. | |||||
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): Codes to identify medical devices | ||||
specialization | 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 | 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 | 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 |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Device | 0..* | Device | Item used in healthcare | |
udiCarrier | Σ | 0..1 | BackboneElement | Unique Device Identifier (UDI) Barcode string |
deviceIdentifier | Σ | 1..1 | string | Mandatory fixed portion of UDI |
carrierHRF | Σ | 0..1 | string | UDI Human Readable Barcode String |
distinctIdentifier | 0..1 | string | The distinct identification string | |
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 | |
type | 1..1 | CodeableConcept | The kind or type of device Binding: FHIRDeviceTypes (extensible): Codes to identify medical devices | |
patient | 1..1 | Reference(US Core Patient Profile) | Patient to whom Device is affixed | |
Documentation for this format |
This structure is derived from Device
Differential View
This structure is derived from Device
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Device | 0..* | Device | Item used in healthcare | |
udiCarrier | S | 0..1 | BackboneElement | Unique Device Identifier (UDI) Barcode string |
deviceIdentifier | S | 1..1 | string | Mandatory fixed portion of UDI |
carrierHRF | S | 0..1 | string | UDI Human Readable Barcode String |
distinctIdentifier | S | 0..1 | string | The distinct identification string |
manufactureDate | S | 0..1 | dateTime | Date when the device was made |
expirationDate | S | 0..1 | dateTime | Date and time of expiry of this device (if applicable) |
lotNumber | S | 0..1 | string | Lot number of manufacture |
serialNumber | S | 0..1 | string | Serial number assigned by the manufacturer |
type | S | 1..1 | CodeableConcept | The kind or type of device Binding: FHIRDeviceTypes (extensible): Codes to identify medical devices |
patient | S | 1..1 | Reference(US Core Patient Profile) | Patient to whom Device is affixed |
Documentation for this format |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Device | 0..* | Device | Item used in healthcare | |||||
id | Σ | 0..1 | string | 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): A human language.
| |||||
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Σ | 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 | SΣ | 1..1 | string | Mandatory fixed portion of UDI | ||||
issuer | 0..1 | uri | UDI Issuing Organization | |||||
jurisdiction | 0..1 | uri | Regional UDI authority | |||||
carrierAIDC | Σ | 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): Codes to identify how UDI data was entered. | |||||
status | ?!Σ | 0..1 | code | active | inactive | entered-in-error | unknown Binding: FHIRDeviceStatus (required): The availability status of the device. | ||||
statusReason | 0..* | CodeableConcept | online | paused | standby | offline | not-ready | transduc-discon | hw-discon | off Binding: FHIRDeviceStatusReason (extensible): The availability status reason of the device. | |||||
distinctIdentifier | S | 0..1 | string | The distinct identification string | ||||
manufacturer | 0..1 | string | Name of device manufacturer | |||||
manufactureDate | S | 0..1 | dateTime | Date when the device was made | ||||
expirationDate | S | 0..1 | dateTime | Date and time of expiry of this device (if applicable) | ||||
lotNumber | S | 0..1 | string | Lot number of manufacture | ||||
serialNumber | S | 0..1 | string | Serial number assigned by the manufacturer | ||||
deviceName | 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): The type of name the device is referred by. | |||||
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): Codes to identify medical devices | ||||
specialization | 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 | 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 | 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 |
Other representations of profile: CSV, Excel, Schematron
Path | Conformance | ValueSet |
Device.language | preferred | CommonLanguages Max Binding: AllLanguages |
Device.udiCarrier.entryType | required | UDIEntryType |
Device.status | required | FHIRDeviceStatus |
Device.statusReason | extensible | FHIRDeviceStatusReason |
Device.deviceName.type | required | DeviceNameType |
Device.type | extensible | FHIRDeviceTypes |
Below is an overview of the required Server RESTful FHIR interactions for this profile - for example, search and read operations - when supporting the US Core interactions to access this profile’s information (Profile Support + Interaction Support). Note that systems that support only US Core Profiles (Profile Only Support) are not required to support these interactions. See the US Core Server CapabilityStatement for a complete list of supported RESTful interactions for this IG.
The following search parameters and search parameter combinations SHALL be supported:
SHALL support searching for all devices for a patient, including implantable devices using the patient
search parameter:
GET [base]/Device?patient={Type/}[id]
Example:
Implementation Notes: Fetches a bundle of all Device resources for the specified patient (how to search by reference)
The following search parameter combinations SHOULD be supported:
SHOULD support searching using the combination of the patient
and type
search parameters:
GET [base]/Device?patient={Type/}[id]&type={system|}[code]
Example:
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)