---
title: "dosage"
description: "The combination of a medication amount and administration timing for a single day, in the context of a medication order or medication management."
---
The combination of a medication amount and administration timing for a single day, in the context of a medication order or medication management.
**Purpose.** To record the combination of a medication amount and the administration timing within a single day, as part of a medication order or medication management or for other appropriate therapeutic/prescribable items.
## Source
| Model | Leg | Role |
|---|---|---|
| `openEHR-EHR-CLUSTER.dosage.v2` | openEHR | defines this table |
## Columns
| Column | Type | Null | Description | Source |
|---|---|---|---|---|
| `id` | `uuid primary key` | no | Primary key. | — |
| `dosage_sequence` | `integer` | yes | Dosage sequence | `/items[at0164]` |
| `dose_magnitude`
`dose_units` | quantity
`numeric`, `text` | yes | Dose | `/items[at0144]` |
| `dose_formula_magnitude`
`dose_formula_units` | quantity
`numeric`, `text` | yes | Dose formula | `/items[at0135]` |
| `dose_description` | `text` | yes | Dose description | `/items[at0178]` |
| `administration_rate_magnitude`
`administration_rate_units` | quantity
`numeric`, `text` | yes | Administration rate | `/items[at0134]` |
| `administration_duration` | `interval` | yes | Administration duration | `/items[at0102]` |
| `alternate_dose_magnitude`
`alternate_dose_units` | quantity
`numeric`, `text` | yes | Alternate dose | `/items[at0176]` |
## Constraints
```sql
check (dosage_sequence is null or dosage_sequence >= 1)
check ((dose_magnitude is null and dose_units is null) or (dose_magnitude is not null and dose_units is not null))
check ((dose_formula_magnitude is null and dose_formula_units is null) or (dose_formula_magnitude is not null and dose_formula_units is not null))
check ((administration_rate_magnitude is null and administration_rate_units is null) or (administration_rate_magnitude is not null and administration_rate_units is not null))
check (administration_rate_magnitude is null or (administration_rate_units = 'l/h' and administration_rate_magnitude >= 0) or (administration_rate_units = 'ml/min' and administration_rate_magnitude >= 0) or (administration_rate_units = 'ml/s' and administration_rate_magnitude >= 0) or (administration_rate_units = 'ml/h' and administration_rate_magnitude >= 0))
check ((alternate_dose_magnitude is null and alternate_dose_units is null) or (alternate_dose_magnitude is not null and alternate_dose_units is not null))
```
## Referenced by
- [`dosage_daily_timing`](/docs/tables/dosage_daily_timing) via `dosage_id`
- [`medication`](/docs/tables/medication) via `amount`
- [`medication_screening_specific_medication_additional_details`](/docs/tables/medication_screening_specific_medication_additional_details) via `dosage_id`
- [`medication_summary_episode_additional_details`](/docs/tables/medication_summary_episode_additional_details) via `dosage_id`
- [`therapeutic_direction_dosage`](/docs/tables/therapeutic_direction_dosage) via `dosage_id`
## Child tables
1 table hang off `dosage`, one row per repetition.
### `dosage_daily_timing`
Child table — one row per repetition, deleted with its parent.
| Column | Type | Null | Description | Source |
|---|---|---|---|---|
| `id` | `uuid primary key` | no | Primary key. | — |
| `dosage_id` | `uuid` → [`dosage`](/docs/tables/dosage) | no | — | — |
| `position` | `integer` | no | Order of this row within its parent, from zero. | — |
| `timing_daily_id` | `uuid` | no | Daily timing | `/items[at0037]` |
#### Unique
- `dosage_id, position`
- `dosage_id, timing_daily_id`
#### References
| Columns | Target | On delete |
|---|---|---|
| `dosage_id` | [`dosage`](/docs/tables/dosage) | cascade |
| `timing_daily_id` | [`timing_daily`](/docs/tables/timing_daily) | no action |
#### Indexes
- `dosage_daily_timing_timing_daily_id_idx` on `timing_daily_id`