--- title: "device" description: "The US Core Device Profile inherits from the FHIR [Device](https://hl7.org/fhir/R4/device.html) resource; refer to it for scope and usage definitions." --- The US Core Device Profile inherits from the FHIR [Device](https://hl7.org/fhir/R4/device.html) resource; refer to it for scope and usage definitions. It sets minimum expectations for the Device resource to record, search, and fetch medical and non-medical devices (for example, software or crutches). This profile meets the requirements of the U.S. Core Data for Interoperability (USCDI) *Medical Device* Data Class, including FDA Unique Device Identification (UDI) information associated with a patient's medical device(s). It specifies which core elements, extensions, vocabularies, and value sets **SHALL** be present in the resource and constrains how the elements are used and provides the floor for standards development for specific use cases promotes interoperability and adoption. ## Source | Model | Leg | Role | |---|---|---| | `us-core-device` | FHIR | defines this table | | `openEHR-EHR-CLUSTER.device.v1` | openEHR | merged in — Medical device | > This table is the union of 2 source models. Columns carrying a **From** value came from a model that merged into it, so the same row satisfies both specifications. ## Columns | Column | Type | Null | Description | From | Source | |---|---|---|---|---|---| | `id` | `uuid primary key` | no | Device.id | — | — | | `created_at` | `timestamptz` | no | Row creation timestamp. | — | — | | `updated_at` | `timestamptz` | no | Row update timestamp; maintained by the application. | — | — | | `created_by` | `text` | no | Actor who created the row. | — | — | | `updated_by` | `text` | no | Actor who last updated the row. | — | — | | `identifier_value`
`identifier_system` | text, text
`text`, `text` | yes | Instance identifier | — | `Device.identifier` | | `udi_carrier_device_identifier` | `text` | yes | Mandatory fixed portion of UDI | — | `Device.udiCarrier.deviceIdentifier` | | `udi_carrier_carrier_hrf` | `text` | yes | UDI Human Readable Barcode String | — | `Device.udiCarrier.carrierHRF` | | `distinct_identifier` | `text` | yes | 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: The distinct identification string | — | `Device.distinctIdentifier` | | `manufacturer` | `text` | yes | Name of device manufacturer | — | `Device.manufacturer` | | `manufacture_date` | `timestamptz` | yes | 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: Date when the device was made | — | `Device.manufactureDate` | | `expiration_date` | `timestamptz` | yes | 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: Date and time of expiry of this device (if applicable) | — | `Device.expirationDate` | | `lot_number` | `text` | yes | 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: Lot number of manufacture | — | `Device.lotNumber` | | `serial_number` | `text` | yes | 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: Serial number assigned by the manufacturer | — | `Device.serialNumber` | | `device_name` | `text` | yes | The name of the device | — | `Device.deviceName.name` | | `device_name_type` | `text` | yes | udi-label-name \| user-friendly-name \| patient-reported-name \| manufacturer-name \| model-name \| other | — | `Device.deviceName.type` | | `model_number` | `text` | yes | The model number for the device | — | `Device.modelNumber` | | `part_number` | `text` | yes | The part number of the device | — | `Device.partNumber` | | `type`
`type_code`
`type_system` | text, text, text
`text`, `text`, `text` | yes | The kind or type of device | — | `Device.type` | | `version_value` | `text` | yes | The version text | — | `Device.version.value` | | `patient_id` | `uuid` | yes | Patient to whom Device is assigned | — | `Device.patient` | | `note` | `text` | yes | Device notes and comments | — | `Device.note` | | `parent_id` | `uuid` | yes | The parent device | — | `Device.parent` | | `description` | `text` | yes | Description | `openEHR-EHR-CLUSTER.device.v1` | `/items[at0002]` | ## Constraints ```sql check (identifier_system is null or identifier_value is not null) check ((type_code is null and type_system is null) or (type_code is not null and type_system is not null)) ``` ## References | Columns | Target | On delete | |---|---|---| | `patient_id` | [`patient`](/docs/tables/patient) | no action | | `parent_id` | [`device`](/docs/tables/device) | no action | ## Referenced by 49 tables reference `device`, via `device`. The first 15 alphabetically: - [`blood_pressure`](/docs/tables/blood_pressure) via `device` - [`body_segment_area_measuring_device`](/docs/tables/body_segment_area_measuring_device) via `device_id` - [`body_segment_circumference_measuring_device`](/docs/tables/body_segment_circumference_measuring_device) via `device_id` - [`body_segment_discrepancy_measuring_device`](/docs/tables/body_segment_discrepancy_measuring_device) via `device_id` - [`body_segment_length_measuring_device`](/docs/tables/body_segment_length_measuring_device) via `device_id` - [`body_surface_area_device`](/docs/tables/body_surface_area_device) via `device_id` - [`body_temperature`](/docs/tables/body_temperature) via `device` - [`body_weight`](/docs/tables/body_weight) via `device` - [`capillary_refill`](/docs/tables/capillary_refill) via `device` - [`categorical_loudness_scaling`](/docs/tables/categorical_loudness_scaling) via `presentation_method_details` - [`categorical_loudness_scaling_hearing_device_during_test`](/docs/tables/categorical_loudness_scaling_hearing_device_during_test) via `hearing_device` - [`categorical_loudness_scaling_test_environment_details`](/docs/tables/categorical_loudness_scaling_test_environment_details) via `device_id` - [`device`](/docs/tables/device) via `parent_id` - [`device_other_identifier`](/docs/tables/device_other_identifier) via `device_id` - [`device_other_name`](/docs/tables/device_other_name) via `device_id` ## Indexes - `device_patient_id_idx` on `patient_id` - `device_parent_id_idx` on `parent_id` ## Child tables 3 tables hang off `device`, one row per repetition. ### `device_other_identifier` Child table — one row per repetition, deleted with its parent. | Column | Type | Null | Description | From | Source | |---|---|---|---|---|---| | `id` | `uuid primary key` | no | Primary key. | — | — | | `device_id` | `uuid` → [`device`](/docs/tables/device) | no | — | — | — | | `identifier_value` | `text` | no | — | — | — | | `identifier_system` | `text` | yes | — | — | — | | `identifier_use` | `text` | yes | — | — | — | | `valid_from` | `timestamptz` | yes | — | — | — | | `valid_until` | `timestamptz` | yes | — | — | — | #### Unique - `device_id, identifier_system, identifier_value` #### References | Columns | Target | On delete | |---|---|---| | `device_id` | [`device`](/docs/tables/device) | cascade | ### `device_other_name` Child table — one row per repetition, deleted with its parent. | Column | Type | Null | Description | From | Source | |---|---|---|---|---|---| | `id` | `uuid primary key` | no | Primary key. | — | — | | `device_id` | `uuid` → [`device`](/docs/tables/device) | no | — | — | — | | `name` | `text` | yes | The name of the device | — | `Device.deviceName.name` | | `type` | `text` | yes | udi-label-name \| user-friendly-name \| patient-reported-name \| manufacturer-name \| model-name \| other | — | `Device.deviceName.type` | | `valid_from` | `timestamptz` | yes | — | — | — | | `valid_until` | `timestamptz` | yes | — | — | — | #### References | Columns | Target | On delete | |---|---|---| | `device_id` | [`device`](/docs/tables/device) | cascade | #### Indexes - `device_other_name_device_id_idx` on `device_id` ### `device_other_version` Child table — one row per repetition, deleted with its parent. | Column | Type | Null | Description | From | Source | |---|---|---|---|---|---| | `id` | `uuid primary key` | no | Primary key. | — | — | | `device_id` | `uuid` → [`device`](/docs/tables/device) | no | — | — | — | | `value` | `text` | yes | The version text | — | `Device.version.value` | | `valid_from` | `timestamptz` | yes | — | — | — | | `valid_until` | `timestamptz` | yes | — | — | — | #### References | Columns | Target | On delete | |---|---|---| | `device_id` | [`device`](/docs/tables/device) | cascade | #### Indexes - `device_other_version_device_id_idx` on `device_id`