--- title: "anatomical_location" description: "A physical site on or within the human body." --- A physical site on or within the human body. **Purpose.** To identify and record structured details about a single physical site on, or within, the human body using macroscopic anatomical terms. ## Source | Model | Leg | Role | |---|---|---| | `openEHR-EHR-CLUSTER.anatomical_location.v1` | openEHR | defines this table | ## Columns | Column | Type | Null | Description | Source | |---|---|---|---|---| | `id` | `uuid primary key` | no | Primary key. | — | | `body_site_name`
`body_site_name_code`
`body_site_name_system`
`body_site_name_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Body site name | `/items[at0001]` | | `specific_site` | `text` | yes | Specific site | `/items[at0065]` | | `laterality`
`laterality_code`
`laterality_system`
`laterality_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Laterality | `/items[at0002]` | | `aspect`
`aspect_code`
`aspect_system`
`aspect_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Aspect | `/items[at0064]` | | `anatomical_line`
`anatomical_line_code`
`anatomical_line_system`
`anatomical_line_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Anatomical Line | `/items[at0055]` | | `description` | `text` | yes | Description | `/items[at0023]` | ## Constraints ```sql check ((body_site_name_code is null and body_site_name_system is null and body_site_name_valueset_id is null) or (body_site_name is not null and body_site_name_code is not null and body_site_name_system is not null and body_site_name_valueset_id is not null)) check ((laterality_code is null and laterality_system is null and laterality_valueset_id is null and laterality is null) or (laterality is not null and laterality_code is not null and laterality_system is not null and laterality_valueset_id is not null)) check ((aspect_code is null and aspect_system is null and aspect_valueset_id is null) or (aspect is not null and aspect_code is not null and aspect_system is not null and aspect_valueset_id is not null)) check ((anatomical_line_code is null and anatomical_line_system is null and anatomical_line_valueset_id is null) or (anatomical_line is not null and anatomical_line_code is not null and anatomical_line_system is not null and anatomical_line_valueset_id is not null)) ``` ## References | Columns | Target | On delete | |---|---|---| | `body_site_name_valueset_id, body_site_name_code, body_site_name_system, body_site_name` | [`valueset_code`](/docs/tables/valueset_code) | restrict | | `laterality_valueset_id, laterality_code, laterality_system, laterality` | [`valueset_code`](/docs/tables/valueset_code) | restrict | | `aspect_valueset_id, aspect_code, aspect_system, aspect` | [`valueset_code`](/docs/tables/valueset_code) | restrict | | `anatomical_line_valueset_id, anatomical_line_code, anatomical_line_system, anatomical_line` | [`valueset_code`](/docs/tables/valueset_code) | restrict | ## Referenced by 31 tables reference `anatomical_location`, via `anatomical_location_id`. The first 15 alphabetically: - [`adverse_reaction_event_reaction_details`](/docs/tables/adverse_reaction_event_reaction_details) via `anatomical_location_id` - [`anatomical_location_alternative_structure`](/docs/tables/anatomical_location_alternative_structure) via `anatomical_location_id` - [`anatomical_location_multimedia_representation`](/docs/tables/anatomical_location_multimedia_representation) via `anatomical_location_id` - [`blood_pressure_structured_measurement_location`](/docs/tables/blood_pressure_structured_measurement_location) via `anatomical_location_id` - [`body_segment_area_structured_origin_endpoint`](/docs/tables/body_segment_area_structured_origin_endpoint) via `anatomical_location_id` - [`body_segment_circumference_structured_origin_endpoint`](/docs/tables/body_segment_circumference_structured_origin_endpoint) via `anatomical_location_id` - [`body_segment_discrepancy_structured_origin`](/docs/tables/body_segment_discrepancy_structured_origin) via `anatomical_location_id` - [`body_segment_discrepancy_structured_endpoint`](/docs/tables/body_segment_discrepancy_structured_endpoint) via `anatomical_location_id` - [`body_segment_length_structured_origin`](/docs/tables/body_segment_length_structured_origin) via `anatomical_location_id` - [`body_segment_length_structured_endpoint`](/docs/tables/body_segment_length_structured_endpoint) via `anatomical_location_id` - [`body_temperature_structured_measurement_location`](/docs/tables/body_temperature_structured_measurement_location) via `anatomical_location_id` - [`capillary_refill`](/docs/tables/capillary_refill) via `structured_measurement_location_anatomical_location` - [`exposure_screening_specific_exposure_additional_details`](/docs/tables/exposure_screening_specific_exposure_additional_details) via `anatomical_location_id` - [`imaging_exam_structured_body_site`](/docs/tables/imaging_exam_structured_body_site) via `anatomical_location_id` - [`imaging_exam_cervix_structured_body_site`](/docs/tables/imaging_exam_cervix_structured_body_site) via `anatomical_location_id` ## Child tables 2 tables hang off `anatomical_location`, one row per repetition. ### `anatomical_location_alternative_structure` Child table — one row per repetition, deleted with its parent. | Column | Type | Null | Description | Source | |---|---|---|---|---| | `id` | `uuid primary key` | no | Primary key. | — | | `anatomical_location_id` | `uuid` → [`anatomical_location`](/docs/tables/anatomical_location) | no | — | — | | `position` | `integer` | no | Order of this row within its parent, from zero. | — | | `anatomical_location_circle_id` | `uuid` | yes | — | — | | `anatomical_location_relative_id` | `uuid` | yes | — | — | #### Constraints ```sql check (num_nonnulls(anatomical_location_circle_id, anatomical_location_relative_id) = 1) ``` #### Unique - `anatomical_location_id, position` #### References | Columns | Target | On delete | |---|---|---| | `anatomical_location_id` | [`anatomical_location`](/docs/tables/anatomical_location) | cascade | | `anatomical_location_circle_id` | [`anatomical_location_circle`](/docs/tables/anatomical_location_circle) | no action | | `anatomical_location_relative_id` | [`anatomical_location_relative`](/docs/tables/anatomical_location_relative) | no action | #### Indexes - `anatomical_location_alternative_structure_anatomical_loc_a61868` on `anatomical_location_circle_id` - `anatomical_location_alternative_structure_anatomical_loc_a1e6e2` on `anatomical_location_relative_id` ### `anatomical_location_multimedia_representation` Child table — one row per repetition, deleted with its parent. | Column | Type | Null | Description | Source | |---|---|---|---|---| | `id` | `uuid primary key` | no | Primary key. | — | | `anatomical_location_id` | `uuid` → [`anatomical_location`](/docs/tables/anatomical_location) | no | — | — | | `position` | `integer` | no | Order of this row within its parent, from zero. | — | | `attachment_id` | `uuid` | no | Multimedia representation | `/items[at0054]` | #### Unique - `anatomical_location_id, position` - `anatomical_location_id, attachment_id` #### References | Columns | Target | On delete | |---|---|---| | `anatomical_location_id` | [`anatomical_location`](/docs/tables/anatomical_location) | cascade | | `attachment_id` | [`attachment`](/docs/tables/attachment) | restrict | #### Indexes - `anatomical_location_multimedia_representation_attachment_id_idx` on `attachment_id` ## Value sets | Value set | Codes | |---|---| | `org.openehr::openEHR-EHR-CLUSTER.anatomical_location.v1/anatomical_line` | 7 | | `org.openehr::openEHR-EHR-CLUSTER.anatomical_location.v1/aspect` | 16 | | `org.openehr::openEHR-EHR-CLUSTER.anatomical_location.v1/laterality` | 3 |