---
title: "communication_capability"
description: "The ability of an individual to communicate."
---

The ability of an individual to communicate.

**Purpose.** To record details about the practical ability of an individual to communicate, including impairments and need for communication aids.

## Source

| Model | Leg | Role |
|---|---|---|
| `openEHR-EHR-EVALUATION.communication_capability.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. | — |
| `description` | `text` | yes | Description | `/data[at0001]/items[at0002]` |
| `communication_aid`<br />`communication_aid_code`<br />`communication_aid_system`<br />`communication_aid_valueset_id` | coded text<br />`text`, `text`, `text`, `text` | yes | Communication aid | `/data[at0001]/items[at0022]` |
| `overall_comment` | `text` | yes | Overall comment | `/data[at0001]/items[at0009]` |
| `last_updated` | `timestamptz` | yes | Last updated | `/protocol[at0011]/items[at0013]` |

## Constraints

```sql
check ((communication_aid_code is null and communication_aid_system is null and communication_aid_valueset_id is null) or (communication_aid is not null and communication_aid_code is not null and communication_aid_system is not null and communication_aid_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 |
| `communication_aid_valueset_id, communication_aid_code, communication_aid_system, communication_aid` | [`valueset_code`](/docs/tables/valueset_code) | restrict |

## Referenced by

- [`communication_capability_per_language`](/docs/tables/communication_capability_per_language) via `communication_capability_id`

## Indexes

- `communication_capability_form_id_idx` on `form_id`

## Child tables

1 table hang off `communication_capability`, one row per repetition.

### `communication_capability_per_language`

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

| Column | Type | Null | Description | Source |
|---|---|---|---|---|
| `id` | `uuid primary key` | no | Primary key. | — |
| `communication_capability_id` | `uuid` → [`communication_capability`](/docs/tables/communication_capability) | no | — | — |
| `position` | `integer` | no | Order of this row within its parent, from zero. | — |
| `language` | `uuid` | yes | Language | `/data[at0001]/items[at0015]/items[at0003]` |
| `comment` | `text` | yes | Comment | `/data[at0001]/items[at0015]/items[at0021]` |

#### Unique

- `communication_capability_id, position`

#### References

| Columns | Target | On delete |
|---|---|---|
| `communication_capability_id` | [`communication_capability`](/docs/tables/communication_capability) | cascade |
| `language` | [`language`](/docs/tables/language) | no action |

#### Indexes

- `communication_capability_per_language_language_idx` on `language`

