SGHI FHIR Profile Implementation Guide
0.1.0 - ci-build

SGHI FHIR Profile Implementation Guide, published by Kathurima Kimathi. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/savannahghi/sil_fhir_profile_ig/ and changes regularly. See the Directory of published versions

## Data Type Profile: SGHI Dosage

Official URL: https://fhir.slade360.co.ke/fhir/StructureDefinition/dosage | Version: 0.1.0
Draft as of 2026-05-21 | Computable Name: SGHIDosage

A comprehensive Dosage profile for SGHI prescriptions, ensuring structured routes, methods, timing, and dose details.

Usages:

- Use this DataType Profile: SGHI Activity Defintion Profile, SGHI Medication Dispense, SGHI MedicationRequest and SGHI Task

You can also check for usages in the FHIR IG Statistics

### Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Dosage | C | 0..* | Dosage | How the medication is/was taken or should be taken Constraints: dos-1
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
additionalInstruction | Σ | 0..* | SGHICodeableConcept | Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness" Binding: SNOMEDCTAdditionalDosageInstructions (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery".
timing | Σ | 1..1 | Timing | When medication should be administered
asNeededFor | Σ C | 0..* | SGHICodeableConcept | Take "as needed" (for x) Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the precondition that should be met or evaluated prior to consuming or administering a medication dose. For example "pain", "30 minutes prior to sexual intercourse", "on flare-up" etc.
site | Σ | 0..1 | SGHICodeableConcept | Body site to administer to Binding: SGHI Body Site Value Set (required)
route | Σ | 1..1 | SGHICodeableConcept | How drug should enter body Binding: Route Of Administration (required)
method | Σ | 0..1 | SGHICodeableConcept | Technique for administering medication Binding: SGHI Method Of Medication Administration (required)
doseAndRate | Σ | 1..* | Element | Amount of medication administered, to be administered or typical amount to be administered
type | Σ | 0..1 | SGHICodeableConcept | The kind of dose or rate specified Binding: DoseAndRateType (example): The kind of dose or rate specified.
Slices for dose[x] | Σ | 0..1 |  | Amount of medication per dose Slice: Unordered, Closed by type:$this
doseRange |  |  | Range |
doseQuantity |  |  | Quantity(SimpleQuantity) |
dose[x]:doseQuantity | Σ | 0..1 | SimpleQuantity | Amount of medication per dose Binding: Combined Dosage Unit ValueSet (required)
dose[x]:doseRange | Σ | 0..1 | Range | Amount of medication per dose
Slices for rate[x] | Σ | 0..1 |  | Amount of medication per unit of time Slice: Unordered, Closed by type:$this
rateRatio |  |  | Ratio |
rateRange |  |  | Range |
rate[x]:rateRatio | Σ | 0..1 | Ratio | Amount of medication per unit of time
rate[x]:rateRange | Σ | 0..1 | Range | Amount of medication per unit of time
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Dosage.additionalInstruction | Base | example | SNOMED CT Additional Dosage Instructions | 📍5.0.0 | FHIR Std.
Dosage.asNeededFor | Base | example | SNOMED CT Medication As Needed Reason Codes | 📍5.0.0 | FHIR Std.
Dosage.site | Base | required | SGHI Body Site Value Set | 📦0.1.0 | This IG
Dosage.route | Base | required | Route Of Administration | 📦0.1.0 | This IG
Dosage.method | Base | required | SGHI Method Of Medication Administration | 📦0.1.0 | This IG
Dosage.doseAndRate.type | Base | example | DoseAndRateType | 📦2.0.0 | THO v7.1
Dosage.doseAndRate.dose[x]:doseQuantity | Base | required | Combined Dosage Unit ValueSet | 📦0.1.0 | This IG

#### Constraints

Id | Grade | Path(s) | Description | Expression
dos-1 | error | Dosage | AsNeededFor can only be set if AsNeeded is empty or true | `asNeededFor.empty() or asNeeded.empty() or asNeeded`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

This structure is derived from Dosage

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Dosage |  |  | Dosage |
additionalInstruction |  | 0..* | SGHICodeableConcept | Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
timing |  | 1..1 | Timing | When medication should be administered
asNeededFor |  | 0..* | SGHICodeableConcept | Take "as needed" (for x)
site |  | 0..1 | SGHICodeableConcept | Body site to administer to Binding: SGHI Body Site Value Set (required)
route |  | 1..1 | SGHICodeableConcept | How drug should enter body Binding: Route Of Administration (required)
method |  | 0..1 | SGHICodeableConcept | Technique for administering medication Binding: SGHI Method Of Medication Administration (required)
doseAndRate |  | 1..* | Element | Amount of medication administered, to be administered or typical amount to be administered
type |  | 0..1 | SGHICodeableConcept | The kind of dose or rate specified
Slices for dose[x] |  | 0..1 | Range, SimpleQuantity(5.0.0) | Amount of medication per dose Slice: Unordered, Open by type:$this
dose[x]:doseQuantity |  | 0..1 | SimpleQuantity | Amount of medication per dose Binding: Combined Dosage Unit ValueSet (required)
dose[x]:doseRange |  | 0..1 | Range | Amount of medication per dose
low |  |  |  |
system |  | 0..1 | uri | System that defines coded unit form Fixed Value: http://unitsofmeasure.org
high |  |  |  |
system |  | 0..1 | uri | System that defines coded unit form Fixed Value: http://unitsofmeasure.org
Slices for rate[x] |  | 0..1 |  | Amount of medication per unit of time Slice: Unordered, Open by type:$this
rateRatio |  |  | Ratio |
rateRange |  |  | Range |
rate[x]:rateRatio |  | 0..1 | Ratio | Amount of medication per unit of time
numerator |  |  |  |
system |  | 0..1 | uri | System that defines coded unit form Fixed Value: http://unitsofmeasure.org
denominator |  |  |  |
system |  | 0..1 | uri | System that defines coded unit form Fixed Value: http://unitsofmeasure.org
rate[x]:rateRange |  | 0..1 | Range | Amount of medication per unit of time
low |  |  |  |
system |  | 0..1 | uri | System that defines coded unit form Fixed Value: http://unitsofmeasure.org
high |  |  |  |
system |  | 0..1 | uri | System that defines coded unit form Fixed Value: http://unitsofmeasure.org
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Dosage.site | Base | required | SGHI Body Site Value Set | 📦0.1.0 | This IG
Dosage.route | Base | required | Route Of Administration | 📦0.1.0 | This IG
Dosage.method | Base | required | SGHI Method Of Medication Administration | 📦0.1.0 | This IG
Dosage.doseAndRate.dose[x]:doseQuantity | Base | required | Combined Dosage Unit ValueSet | 📦0.1.0 | This IG

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Dosage | C | 0..* | Dosage | How the medication is/was taken or should be taken Constraints: dos-1
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
sequence | Σ | 0..1 | integer | The order of the dosage instructions
text | Σ | 0..1 | string | Free text dosage instructions e.g. SIG
additionalInstruction | Σ | 0..* | SGHICodeableConcept | Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness" Binding: SNOMEDCTAdditionalDosageInstructions (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery".
patientInstruction | Σ | 0..1 | string | Patient or consumer oriented instructions
timing | Σ | 1..1 | Timing | When medication should be administered
asNeeded | Σ C | 0..1 | boolean | Take "as needed"
asNeededFor | Σ C | 0..* | SGHICodeableConcept | Take "as needed" (for x) Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the precondition that should be met or evaluated prior to consuming or administering a medication dose. For example "pain", "30 minutes prior to sexual intercourse", "on flare-up" etc.
site | Σ | 0..1 | SGHICodeableConcept | Body site to administer to Binding: SGHI Body Site Value Set (required)
route | Σ | 1..1 | SGHICodeableConcept | How drug should enter body Binding: Route Of Administration (required)
method | Σ | 0..1 | SGHICodeableConcept | Technique for administering medication Binding: SGHI Method Of Medication Administration (required)
doseAndRate | Σ | 1..* | Element | Amount of medication administered, to be administered or typical amount to be administered
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
type | Σ | 0..1 | SGHICodeableConcept | The kind of dose or rate specified Binding: DoseAndRateType (example): The kind of dose or rate specified.
Slices for dose[x] | Σ | 0..1 |  | Amount of medication per dose Slice: Unordered, Closed by type:$this
doseRange |  |  | Range |
doseQuantity |  |  | Quantity(SimpleQuantity) |
dose[x]:doseQuantity | Σ | 0..1 | SimpleQuantity | Amount of medication per dose Binding: Combined Dosage Unit ValueSet (required)
dose[x]:doseRange | Σ | 0..1 | Range | Amount of medication per dose
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
low | Σ C | 0..1 | SimpleQuantity(5.0.0) | Low limit
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
value | Σ | 0..1 | decimal | Numerical value (with implicit precision)
unit | Σ | 0..1 | string | Unit representation
system | Σ C | 0..1 | uri | System that defines coded unit form Fixed Value: http://unitsofmeasure.org
code | Σ C | 0..1 | code | Coded form of the unit
high | Σ C | 0..1 | SimpleQuantity(5.0.0) | High limit
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
value | Σ | 0..1 | decimal | Numerical value (with implicit precision)
unit | Σ | 0..1 | string | Unit representation
system | Σ C | 0..1 | uri | System that defines coded unit form Fixed Value: http://unitsofmeasure.org
code | Σ C | 0..1 | code | Coded form of the unit
Slices for rate[x] | Σ | 0..1 |  | Amount of medication per unit of time Slice: Unordered, Closed by type:$this
rateRatio |  |  | Ratio |
rateRange |  |  | Range |
rate[x]:rateRatio | Σ | 0..1 | Ratio | Amount of medication per unit of time
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
numerator | Σ C | 0..1 | Quantity | Numerator value
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
value | Σ | 0..1 | decimal | Numerical value (with implicit precision)
comparator | ?!Σ | 0..1 | code | < | <= | >= | > | ad - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented.
unit | Σ | 0..1 | string | Unit representation
system | Σ C | 0..1 | uri | System that defines coded unit form Fixed Value: http://unitsofmeasure.org
code | Σ C | 0..1 | code | Coded form of the unit
denominator | Σ C | 0..1 | SimpleQuantity(5.0.0) | Denominator value
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
value | Σ | 0..1 | decimal | Numerical value (with implicit precision)
unit | Σ | 0..1 | string | Unit representation
system | Σ C | 0..1 | uri | System that defines coded unit form Fixed Value: http://unitsofmeasure.org
code | Σ C | 0..1 | code | Coded form of the unit
rate[x]:rateRange | Σ | 0..1 | Range | Amount of medication per unit of time
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
low | Σ C | 0..1 | SimpleQuantity(5.0.0) | Low limit
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
value | Σ | 0..1 | decimal | Numerical value (with implicit precision)
unit | Σ | 0..1 | string | Unit representation
system | Σ C | 0..1 | uri | System that defines coded unit form Fixed Value: http://unitsofmeasure.org
code | Σ C | 0..1 | code | Coded form of the unit
high | Σ C | 0..1 | SimpleQuantity(5.0.0) | High limit
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
value | Σ | 0..1 | decimal | Numerical value (with implicit precision)
unit | Σ | 0..1 | string | Unit representation
system | Σ C | 0..1 | uri | System that defines coded unit form Fixed Value: http://unitsofmeasure.org
code | Σ C | 0..1 | code | Coded form of the unit
maxDosePerPeriod | Σ | 0..* | Ratio | Upper limit on medication per unit of time
maxDosePerAdministration | Σ | 0..1 | SimpleQuantity(5.0.0) | Upper limit on medication per administration
maxDosePerLifetime | Σ | 0..1 | SimpleQuantity(5.0.0) | Upper limit on medication per lifetime of the patient
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Dosage.additionalInstruction | Base | example | SNOMED CT Additional Dosage Instructions | 📍5.0.0 | FHIR Std.
Dosage.asNeededFor | Base | example | SNOMED CT Medication As Needed Reason Codes | 📍5.0.0 | FHIR Std.
Dosage.site | Base | required | SGHI Body Site Value Set | 📦0.1.0 | This IG
Dosage.route | Base | required | Route Of Administration | 📦0.1.0 | This IG
Dosage.method | Base | required | SGHI Method Of Medication Administration | 📦0.1.0 | This IG
Dosage.doseAndRate.type | Base | example | DoseAndRateType | 📦2.0.0 | THO v7.1
Dosage.doseAndRate.dose[x]:doseQuantity | Base | required | Combined Dosage Unit ValueSet | 📦0.1.0 | This IG
Dosage.doseAndRate.rate[x]:rateRatio.​numerator.comparator | Base | required | QuantityComparator | 📍5.0.0 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dos-1 | error | Dosage | AsNeededFor can only be set if AsNeeded is empty or true | `asNeededFor.empty() or asNeeded.empty() or asNeeded`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

This structure is derived from Dosage

Summary

Mandatory: 3 elements
Fixed: 6 elements

Structures

This structure refers to these other structures:

- SGHI CodeableConcept (https://fhir.slade360.co.ke/fhir/StructureDefinition/codeableconcept)
- SimpleQuantity (http://hl7.org/fhir/StructureDefinition/SimpleQuantity)

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of Dosage.doseAndRate.dose[x]
- The element 1 is sliced based on the value of Dosage.doseAndRate.rate[x]

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Dosage | C | 0..* | Dosage | How the medication is/was taken or should be taken Constraints: dos-1
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
additionalInstruction | Σ | 0..* | SGHICodeableConcept | Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness" Binding: SNOMEDCTAdditionalDosageInstructions (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery".
timing | Σ | 1..1 | Timing | When medication should be administered
asNeededFor | Σ C | 0..* | SGHICodeableConcept | Take "as needed" (for x) Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the precondition that should be met or evaluated prior to consuming or administering a medication dose. For example "pain", "30 minutes prior to sexual intercourse", "on flare-up" etc.
site | Σ | 0..1 | SGHICodeableConcept | Body site to administer to Binding: SGHI Body Site Value Set (required)
route | Σ | 1..1 | SGHICodeableConcept | How drug should enter body Binding: Route Of Administration (required)
method | Σ | 0..1 | SGHICodeableConcept | Technique for administering medication Binding: SGHI Method Of Medication Administration (required)
doseAndRate | Σ | 1..* | Element | Amount of medication administered, to be administered or typical amount to be administered
type | Σ | 0..1 | SGHICodeableConcept | The kind of dose or rate specified Binding: DoseAndRateType (example): The kind of dose or rate specified.
Slices for dose[x] | Σ | 0..1 |  | Amount of medication per dose Slice: Unordered, Closed by type:$this
doseRange |  |  | Range |
doseQuantity |  |  | Quantity(SimpleQuantity) |
dose[x]:doseQuantity | Σ | 0..1 | SimpleQuantity | Amount of medication per dose Binding: Combined Dosage Unit ValueSet (required)
dose[x]:doseRange | Σ | 0..1 | Range | Amount of medication per dose
Slices for rate[x] | Σ | 0..1 |  | Amount of medication per unit of time Slice: Unordered, Closed by type:$this
rateRatio |  |  | Ratio |
rateRange |  |  | Range |
rate[x]:rateRatio | Σ | 0..1 | Ratio | Amount of medication per unit of time
rate[x]:rateRange | Σ | 0..1 | Range | Amount of medication per unit of time
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Dosage.additionalInstruction | Base | example | SNOMED CT Additional Dosage Instructions | 📍5.0.0 | FHIR Std.
Dosage.asNeededFor | Base | example | SNOMED CT Medication As Needed Reason Codes | 📍5.0.0 | FHIR Std.
Dosage.site | Base | required | SGHI Body Site Value Set | 📦0.1.0 | This IG
Dosage.route | Base | required | Route Of Administration | 📦0.1.0 | This IG
Dosage.method | Base | required | SGHI Method Of Medication Administration | 📦0.1.0 | This IG
Dosage.doseAndRate.type | Base | example | DoseAndRateType | 📦2.0.0 | THO v7.1
Dosage.doseAndRate.dose[x]:doseQuantity | Base | required | Combined Dosage Unit ValueSet | 📦0.1.0 | This IG

#### Constraints

Id | Grade | Path(s) | Description | Expression
dos-1 | error | Dosage | AsNeededFor can only be set if AsNeeded is empty or true | `asNeededFor.empty() or asNeeded.empty() or asNeeded`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

Differential View

This structure is derived from Dosage

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Dosage |  |  | Dosage |
additionalInstruction |  | 0..* | SGHICodeableConcept | Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
timing |  | 1..1 | Timing | When medication should be administered
asNeededFor |  | 0..* | SGHICodeableConcept | Take "as needed" (for x)
site |  | 0..1 | SGHICodeableConcept | Body site to administer to Binding: SGHI Body Site Value Set (required)
route |  | 1..1 | SGHICodeableConcept | How drug should enter body Binding: Route Of Administration (required)
method |  | 0..1 | SGHICodeableConcept | Technique for administering medication Binding: SGHI Method Of Medication Administration (required)
doseAndRate |  | 1..* | Element | Amount of medication administered, to be administered or typical amount to be administered
type |  | 0..1 | SGHICodeableConcept | The kind of dose or rate specified
Slices for dose[x] |  | 0..1 | Range, SimpleQuantity(5.0.0) | Amount of medication per dose Slice: Unordered, Open by type:$this
dose[x]:doseQuantity |  | 0..1 | SimpleQuantity | Amount of medication per dose Binding: Combined Dosage Unit ValueSet (required)
dose[x]:doseRange |  | 0..1 | Range | Amount of medication per dose
low |  |  |  |
system |  | 0..1 | uri | System that defines coded unit form Fixed Value: http://unitsofmeasure.org
high |  |  |  |
system |  | 0..1 | uri | System that defines coded unit form Fixed Value: http://unitsofmeasure.org
Slices for rate[x] |  | 0..1 |  | Amount of medication per unit of time Slice: Unordered, Open by type:$this
rateRatio |  |  | Ratio |
rateRange |  |  | Range |
rate[x]:rateRatio |  | 0..1 | Ratio | Amount of medication per unit of time
numerator |  |  |  |
system |  | 0..1 | uri | System that defines coded unit form Fixed Value: http://unitsofmeasure.org
denominator |  |  |  |
system |  | 0..1 | uri | System that defines coded unit form Fixed Value: http://unitsofmeasure.org
rate[x]:rateRange |  | 0..1 | Range | Amount of medication per unit of time
low |  |  |  |
system |  | 0..1 | uri | System that defines coded unit form Fixed Value: http://unitsofmeasure.org
high |  |  |  |
system |  | 0..1 | uri | System that defines coded unit form Fixed Value: http://unitsofmeasure.org
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Dosage.site | Base | required | SGHI Body Site Value Set | 📦0.1.0 | This IG
Dosage.route | Base | required | Route Of Administration | 📦0.1.0 | This IG
Dosage.method | Base | required | SGHI Method Of Medication Administration | 📦0.1.0 | This IG
Dosage.doseAndRate.dose[x]:doseQuantity | Base | required | Combined Dosage Unit ValueSet | 📦0.1.0 | This IG

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Dosage | C | 0..* | Dosage | How the medication is/was taken or should be taken Constraints: dos-1
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
sequence | Σ | 0..1 | integer | The order of the dosage instructions
text | Σ | 0..1 | string | Free text dosage instructions e.g. SIG
additionalInstruction | Σ | 0..* | SGHICodeableConcept | Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness" Binding: SNOMEDCTAdditionalDosageInstructions (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery".
patientInstruction | Σ | 0..1 | string | Patient or consumer oriented instructions
timing | Σ | 1..1 | Timing | When medication should be administered
asNeeded | Σ C | 0..1 | boolean | Take "as needed"
asNeededFor | Σ C | 0..* | SGHICodeableConcept | Take "as needed" (for x) Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the precondition that should be met or evaluated prior to consuming or administering a medication dose. For example "pain", "30 minutes prior to sexual intercourse", "on flare-up" etc.
site | Σ | 0..1 | SGHICodeableConcept | Body site to administer to Binding: SGHI Body Site Value Set (required)
route | Σ | 1..1 | SGHICodeableConcept | How drug should enter body Binding: Route Of Administration (required)
method | Σ | 0..1 | SGHICodeableConcept | Technique for administering medication Binding: SGHI Method Of Medication Administration (required)
doseAndRate | Σ | 1..* | Element | Amount of medication administered, to be administered or typical amount to be administered
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
type | Σ | 0..1 | SGHICodeableConcept | The kind of dose or rate specified Binding: DoseAndRateType (example): The kind of dose or rate specified.
Slices for dose[x] | Σ | 0..1 |  | Amount of medication per dose Slice: Unordered, Closed by type:$this
doseRange |  |  | Range |
doseQuantity |  |  | Quantity(SimpleQuantity) |
dose[x]:doseQuantity | Σ | 0..1 | SimpleQuantity | Amount of medication per dose Binding: Combined Dosage Unit ValueSet (required)
dose[x]:doseRange | Σ | 0..1 | Range | Amount of medication per dose
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
low | Σ C | 0..1 | SimpleQuantity(5.0.0) | Low limit
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
value | Σ | 0..1 | decimal | Numerical value (with implicit precision)
unit | Σ | 0..1 | string | Unit representation
system | Σ C | 0..1 | uri | System that defines coded unit form Fixed Value: http://unitsofmeasure.org
code | Σ C | 0..1 | code | Coded form of the unit
high | Σ C | 0..1 | SimpleQuantity(5.0.0) | High limit
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
value | Σ | 0..1 | decimal | Numerical value (with implicit precision)
unit | Σ | 0..1 | string | Unit representation
system | Σ C | 0..1 | uri | System that defines coded unit form Fixed Value: http://unitsofmeasure.org
code | Σ C | 0..1 | code | Coded form of the unit
Slices for rate[x] | Σ | 0..1 |  | Amount of medication per unit of time Slice: Unordered, Closed by type:$this
rateRatio |  |  | Ratio |
rateRange |  |  | Range |
rate[x]:rateRatio | Σ | 0..1 | Ratio | Amount of medication per unit of time
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
numerator | Σ C | 0..1 | Quantity | Numerator value
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
value | Σ | 0..1 | decimal | Numerical value (with implicit precision)
comparator | ?!Σ | 0..1 | code | < | <= | >= | > | ad - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented.
unit | Σ | 0..1 | string | Unit representation
system | Σ C | 0..1 | uri | System that defines coded unit form Fixed Value: http://unitsofmeasure.org
code | Σ C | 0..1 | code | Coded form of the unit
denominator | Σ C | 0..1 | SimpleQuantity(5.0.0) | Denominator value
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
value | Σ | 0..1 | decimal | Numerical value (with implicit precision)
unit | Σ | 0..1 | string | Unit representation
system | Σ C | 0..1 | uri | System that defines coded unit form Fixed Value: http://unitsofmeasure.org
code | Σ C | 0..1 | code | Coded form of the unit
rate[x]:rateRange | Σ | 0..1 | Range | Amount of medication per unit of time
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
low | Σ C | 0..1 | SimpleQuantity(5.0.0) | Low limit
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
value | Σ | 0..1 | decimal | Numerical value (with implicit precision)
unit | Σ | 0..1 | string | Unit representation
system | Σ C | 0..1 | uri | System that defines coded unit form Fixed Value: http://unitsofmeasure.org
code | Σ C | 0..1 | code | Coded form of the unit
high | Σ C | 0..1 | SimpleQuantity(5.0.0) | High limit
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
value | Σ | 0..1 | decimal | Numerical value (with implicit precision)
unit | Σ | 0..1 | string | Unit representation
system | Σ C | 0..1 | uri | System that defines coded unit form Fixed Value: http://unitsofmeasure.org
code | Σ C | 0..1 | code | Coded form of the unit
maxDosePerPeriod | Σ | 0..* | Ratio | Upper limit on medication per unit of time
maxDosePerAdministration | Σ | 0..1 | SimpleQuantity(5.0.0) | Upper limit on medication per administration
maxDosePerLifetime | Σ | 0..1 | SimpleQuantity(5.0.0) | Upper limit on medication per lifetime of the patient
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Dosage.additionalInstruction | Base | example | SNOMED CT Additional Dosage Instructions | 📍5.0.0 | FHIR Std.
Dosage.asNeededFor | Base | example | SNOMED CT Medication As Needed Reason Codes | 📍5.0.0 | FHIR Std.
Dosage.site | Base | required | SGHI Body Site Value Set | 📦0.1.0 | This IG
Dosage.route | Base | required | Route Of Administration | 📦0.1.0 | This IG
Dosage.method | Base | required | SGHI Method Of Medication Administration | 📦0.1.0 | This IG
Dosage.doseAndRate.type | Base | example | DoseAndRateType | 📦2.0.0 | THO v7.1
Dosage.doseAndRate.dose[x]:doseQuantity | Base | required | Combined Dosage Unit ValueSet | 📦0.1.0 | This IG
Dosage.doseAndRate.rate[x]:rateRatio.​numerator.comparator | Base | required | QuantityComparator | 📍5.0.0 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dos-1 | error | Dosage | AsNeededFor can only be set if AsNeeded is empty or true | `asNeededFor.empty() or asNeeded.empty() or asNeeded`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

This structure is derived from Dosage

Summary

Mandatory: 3 elements
Fixed: 6 elements

Structures

This structure refers to these other structures:

- SGHI CodeableConcept (https://fhir.slade360.co.ke/fhir/StructureDefinition/codeableconcept)
- SimpleQuantity (http://hl7.org/fhir/StructureDefinition/SimpleQuantity)

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of Dosage.doseAndRate.dose[x]
- The element 1 is sliced based on the value of Dosage.doseAndRate.rate[x]

Other representations of profile: CSV, Excel, Schematron