---
title: "body_segment_circumference"
description: "Measurement of the distance around an identified part of the body, usually identified in relation to points of surface anatomy."
---

Measurement of the distance around an identified part of the body, usually identified in relation to points of surface anatomy.

**Purpose.** To record the measurement of the distance around a part of the body, usually identified in relation to points of surface anatomy.

## Source

| Model | Leg | Role |
|---|---|---|
| `openEHR-EHR-OBSERVATION.body_segment_circumference.v1` | openEHR | defines this table |

## Columns

| Column | Type | Null | Description | Source |
|---|---|---|---|---|
| `id` | `uuid primary key` | no | Primary key. | — |
| `form_id` | `uuid` → [`form`](/docs/tables/form) | no | The form this entry was recorded on. | — |
| `form_block_id` | `uuid` | yes | The block within the form, when the entry is bound to one. | — |
| `event_type` | `text` | yes | null represents any_event | — |
| `body_segment_name`<br />`body_segment_name_code`<br />`body_segment_name_system`<br />`body_segment_name_valueset_id` | coded text<br />`text`, `text`, `text`, `text` | yes | Body segment name | `/data[at0001]/events[at0002]/data[at0003]/items[at0004]` |
| `laterality`<br />`laterality_code`<br />`laterality_system`<br />`laterality_valueset_id` | coded text<br />`text`, `text`, `text`, `text` | yes | Laterality | `/data[at0001]/events[at0002]/data[at0003]/items[at0005]` |
| `circumference_magnitude`<br />`circumference_units` | quantity<br />`numeric`, `text` | yes | Circumference | `/data[at0001]/events[at0002]/data[at0003]/items[at0008]` |
| `comment` | `text` | yes | Comment | `/data[at0001]/events[at0002]/data[at0003]/items[at0009]` |
| `confounding_factors` | `text` | yes | Confounding factors | `/data[at0001]/events[at0002]/state[at0010]/items[at0011]` |
| `body_position`<br />`body_position_code`<br />`body_position_system`<br />`body_position_valueset_id` | coded text<br />`text`, `text`, `text`, `text` | yes | Body position | `/data[at0001]/events[at0002]/state[at0010]/items[at0031]` |
| `measurement_method` | `text` | yes | Measurement method | `/protocol[at0014]/items[at0027]` |
| `measurement_origin_endpoint`<br />`measurement_origin_endpoint_code`<br />`measurement_origin_endpoint_system`<br />`measurement_origin_endpoint_valueset_id` | coded text<br />`text`, `text`, `text`, `text` | yes | Measurement origin/endpoint | `/protocol[at0014]/items[at0029]` |

## Constraints

```sql
check ((body_segment_name_code is null and body_segment_name_system is null and body_segment_name_valueset_id is null) or (body_segment_name is not null and body_segment_name_code is not null and body_segment_name_system is not null and body_segment_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 ((circumference_magnitude is null and circumference_units is null) or (circumference_magnitude is not null and circumference_units is not null))
check (circumference_magnitude is null or (circumference_units = 'cm' and circumference_magnitude >= 0) or (circumference_units = '[in_i]' and circumference_magnitude >= 0) or (circumference_units = 'mm' and circumference_magnitude >= 0))
check ((body_position_code is null and body_position_system is null and body_position_valueset_id is null) or (body_position is not null and body_position_code is not null and body_position_system is not null and body_position_valueset_id is not null))
check ((measurement_origin_endpoint_code is null and measurement_origin_endpoint_system is null and measurement_origin_endpoint_valueset_id is null) or (measurement_origin_endpoint is not null and measurement_origin_endpoint_code is not null and measurement_origin_endpoint_system is not null and measurement_origin_endpoint_valueset_id is not null))
```

## Unique

- `form_block_id`

## References

| Columns | Target | On delete |
|---|---|---|
| `form_id` | [`form`](/docs/tables/form) | cascade |
| `form_id, form_block_id` | [`form_block`](/docs/tables/form_block) | cascade |
| `body_segment_name_valueset_id, body_segment_name_code, body_segment_name_system, body_segment_name` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
| `laterality_valueset_id, laterality_code, laterality_system, laterality` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
| `body_position_valueset_id, body_position_code, body_position_system, body_position` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
| `measurement_origin_endpoint_valueset_id, measurement_origin_endpoint_code, measurement_origin_endpoint_system, measurement_origin_endpoint` | [`valueset_code`](/docs/tables/valueset_code) | restrict |

## Referenced by

- [`body_segment_circumference_measuring_device`](/docs/tables/body_segment_circumference_measuring_device) via `body_segment_circumference_id`
- [`body_segment_circumference_structured_origin_endpoint`](/docs/tables/body_segment_circumference_structured_origin_endpoint) via `body_segment_circumference_id`

## Indexes

- `body_segment_circumference_form_id_idx` on `form_id`

## Child tables

2 tables hang off `body_segment_circumference`, one row per repetition.

### `body_segment_circumference_measuring_device`

Child table — one row per repetition, deleted with its parent.

| Column | Type | Null | Description | Source |
|---|---|---|---|---|
| `id` | `uuid primary key` | no | Primary key. | — |
| `body_segment_circumference_id` | `uuid` → [`body_segment_circumference`](/docs/tables/body_segment_circumference) | no | — | — |
| `position` | `integer` | no | Order of this row within its parent, from zero. | — |
| `device_id` | `uuid` | no | Measuring device | `/protocol[at0014]/items[at0015]` |

#### Unique

- `body_segment_circumference_id, position`
- `body_segment_circumference_id, device_id`

#### References

| Columns | Target | On delete |
|---|---|---|
| `body_segment_circumference_id` | [`body_segment_circumference`](/docs/tables/body_segment_circumference) | cascade |
| `device_id` | [`device`](/docs/tables/device) | no action |

#### Indexes

- `body_segment_circumference_measuring_device_device_id_idx` on `device_id`

### `body_segment_circumference_structured_origin_endpoint`

Child table — one row per repetition, deleted with its parent.

| Column | Type | Null | Description | Source |
|---|---|---|---|---|
| `id` | `uuid primary key` | no | Primary key. | — |
| `body_segment_circumference_id` | `uuid` → [`body_segment_circumference`](/docs/tables/body_segment_circumference) | no | — | — |
| `position` | `integer` | no | Order of this row within its parent, from zero. | — |
| `anatomical_location_id` | `uuid` | no | Structured origin/endpoint | `/protocol[at0014]/items[at0030]` |

#### Unique

- `body_segment_circumference_id, position`
- `body_segment_circumference_id, anatomical_location_id`

#### References

| Columns | Target | On delete |
|---|---|---|
| `body_segment_circumference_id` | [`body_segment_circumference`](/docs/tables/body_segment_circumference) | cascade |
| `anatomical_location_id` | [`anatomical_location`](/docs/tables/anatomical_location) | no action |

#### Indexes

- `body_segment_circumference_structured_origin_endpoint_an_12c871` on `anatomical_location_id`

## Value sets

| Value set | Codes |
|---|---|
| `org.openehr::openEHR-EHR-OBSERVATION.body_segment_circumference.v1/body_position` | 3 |
| `org.openehr::openEHR-EHR-OBSERVATION.body_segment_circumference.v1/body_segment_name` | 4 |
| `org.openehr::openEHR-EHR-OBSERVATION.body_segment_circumference.v1/laterality` | 2 |

