---
title: "contraceptive_summary"
description: "Summary and persistent information about the use of methods to prevent pregnancy."
---
Summary and persistent information about the use of methods to prevent pregnancy.
**Purpose.** To record the current status and episodic details about specific types of contraception used by an individual.
## Source
| Model | Leg | Role |
|---|---|---|
| `openEHR-EHR-EVALUATION.contraceptive_summary.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. | — |
| `overall_status`
`overall_status_code`
`overall_status_system`
`overall_status_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Overall status | `/data[at0001]/items[at0089]` |
| `overall_description` | `text` | yes | Overall description | `/data[at0001]/items[at0043]` |
| `overall_comment` | `text` | yes | Overall comment | `/data[at0001]/items[at0019]` |
| `last_updated` | `timestamptz` | yes | Last updated | `/protocol[at0021]/items[at0022]` |
## Constraints
```sql
check ((overall_status_code is null and overall_status_system is null and overall_status_valueset_id is null and overall_status is null) or (overall_status is not null and overall_status_code is not null and overall_status_system is not null and overall_status_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 |
| `overall_status_valueset_id, overall_status_code, overall_status_system, overall_status` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
## Referenced by
- [`contraceptive_summary_per_type`](/docs/tables/contraceptive_summary_per_type) via `contraceptive_summary_id`
## Indexes
- `contraceptive_summary_form_id_idx` on `form_id`
## Child tables
2 tables hang off `contraceptive_summary`, one row per repetition.
### `contraceptive_summary_per_type`
Child table — one row per repetition, deleted with its parent.
| Column | Type | Null | Description | Source |
|---|---|---|---|---|
| `id` | `uuid primary key` | no | Primary key. | — |
| `contraceptive_summary_id` | `uuid` → [`contraceptive_summary`](/docs/tables/contraceptive_summary) | no | — | — |
| `position` | `integer` | no | Order of this row within its parent, from zero. | — |
| `type`
`type_code`
`type_system`
`type_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Type | `/data[at0001]/items[at0029]/items[at0151]` |
| `status`
`status_code`
`status_system`
`status_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Status | `/data[at0001]/items[at0029]/items[at0144]` |
| `description` | `text` | yes | Description | `/data[at0001]/items[at0029]/items[at0053]` |
| `start_date` | `timestamptz` | yes | Start date | `/data[at0001]/items[at0029]/items[at0148]` |
| `end_date` | `timestamptz` | yes | End date | `/data[at0001]/items[at0029]/items[at0149]` |
| `comment` | `text` | yes | Comment | `/data[at0001]/items[at0029]/items[at0069]` |
#### Constraints
```sql
check ((type_code is null and type_system is null and type_valueset_id is null) or (type is not null and type_code is not null and type_system is not null and type_valueset_id is not null))
check ((status_code is null and status_system is null and status_valueset_id is null and status is null) or (status is not null and status_code is not null and status_system is not null and status_valueset_id is not null))
```
#### Unique
- `contraceptive_summary_id, position`
#### References
| Columns | Target | On delete |
|---|---|---|
| `contraceptive_summary_id` | [`contraceptive_summary`](/docs/tables/contraceptive_summary) | cascade |
| `type_valueset_id, type_code, type_system, type` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
| `status_valueset_id, status_code, status_system, status` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
### Referenced by
- [`contraceptive_summary_per_type_per_episode`](/docs/tables/contraceptive_summary_per_type_per_episode) via `contraceptive_summary_per_type_id`
### `contraceptive_summary_per_type_per_episode`
Child table — one row per repetition, deleted with its parent.
| Column | Type | Null | Description | Source |
|---|---|---|---|---|
| `id` | `uuid primary key` | no | Primary key. | — |
| `contraceptive_summary_per_type_id` | `uuid` → [`contraceptive_summary_per_type`](/docs/tables/contraceptive_summary_per_type) | no | — | — |
| `position` | `integer` | no | Order of this row within its parent, from zero. | — |
| `episode_label` | `text` | yes | Episode label | `/data[at0001]/items[at0029]/items[at0064]/items[at0081]` |
| `specific_name` | `text` | yes | Specific name | `/data[at0001]/items[at0029]/items[at0064]/items[at0023]` |
| `description` | `text` | yes | Description | `/data[at0001]/items[at0029]/items[at0064]/items[at0030]` |
| `clinical_indication`
`clinical_indication_code`
`clinical_indication_system`
`clinical_indication_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Clinical indication | `/data[at0001]/items[at0029]/items[at0064]/items[at0168]` |
| `goal`
`goal_code`
`goal_system`
`goal_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Goal | `/data[at0001]/items[at0029]/items[at0064]/items[at0025]` |
| `episode_start_date` | `date` | yes | Episode start date | `/data[at0001]/items[at0029]/items[at0064]/items[at0013]` |
| `episode_end_date` | `date` | yes | Episode end date | `/data[at0001]/items[at0029]/items[at0064]/items[at0082]` |
| `reason_for_cessation` | `text` | yes | Reason for cessation | `/data[at0001]/items[at0029]/items[at0064]/items[at0074]` |
| `episode_comment` | `text` | yes | Episode comment | `/data[at0001]/items[at0029]/items[at0064]/items[at0087]` |
#### Constraints
```sql
check ((clinical_indication_code is null and clinical_indication_system is null and clinical_indication_valueset_id is null) or (clinical_indication is not null and clinical_indication_code is not null and clinical_indication_system is not null and clinical_indication_valueset_id is not null))
check ((goal_code is null and goal_system is null and goal_valueset_id is null) or (goal is not null and goal_code is not null and goal_system is not null and goal_valueset_id is not null))
```
#### Unique
- `contraceptive_summary_per_type_id, position`
#### References
| Columns | Target | On delete |
|---|---|---|
| `contraceptive_summary_per_type_id` | [`contraceptive_summary_per_type`](/docs/tables/contraceptive_summary_per_type) | cascade |
| `clinical_indication_valueset_id, clinical_indication_code, clinical_indication_system, clinical_indication` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
| `goal_valueset_id, goal_code, goal_system, goal` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
## Value sets
| Value set | Codes |
|---|---|
| `org.openehr::openEHR-EHR-EVALUATION.contraceptive_summary.v1/overall_status` | 3 |
| `org.openehr::openEHR-EHR-EVALUATION.contraceptive_summary.v1/status` | 3 |
| `org.openehr::openEHR-EHR-EVALUATION.contraceptive_summary.v1/type` | 17 |