--- 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`