This page is part of the FHIR Specification (v5.0.0: R5 - STU). This is the current published version. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3
Types Framework Cross Reference: Base Types | Datatypes | Resources | Patterns
The Dosage structure defines general dosage instruction information typically represented in medication requests, medication dispenses and medication statements.
Note: the Dosage structure allows modifier extensions.
Structure
| Name | Flags | Card. | Type | Description & Constraints doco |
|---|---|---|---|---|
| .. Dosage | Σ TU | Element | How the medication is/was taken or should be taken + Rule: AsNeededFor can only be set if AsNeeded is empty or true Elements defined in Ancestors: id, extension, modifierExtension | |
| ... sequence | Σ | 0..1 | integer | The order of the dosage instructions |
| ... text | Σ | 0..1 | string | Free text dosage instructions e.g. SIG |
| ... additionalInstruction | Σ | 0..* | CodeableConcept | Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness" Binding: SNOMED CT Additional Dosage Instructions (Example) |
| ... patientInstruction | Σ | 0..1 | string | Patient or consumer oriented instructions |
| ... timing | Σ | 0..1 | Timing | When medication should be administered |
| ... asNeeded | Σ C | 0..1 | boolean | Take "as needed" |
| ... asNeededFor | Σ C | 0..* | CodeableConcept | Take "as needed" (for x) Binding: SNOMED CT Medication As Needed Reason Codes (Example) |
| ... site | Σ | 0..1 | CodeableConcept | Body site to administer to Binding: SNOMED CT Anatomical Structure for Administration Site Codes (Example) |
| ... route | Σ | 0..1 | CodeableConcept | How drug should enter body Binding: SNOMED CT Route Codes (Example) |
| ... method | Σ | 0..1 | CodeableConcept | Technique for administering medication Binding: SNOMED CT Administration Method Codes (Example) |
| ... doseAndRate | Σ | 0..* | Element | Amount of medication administered, to be administered or typical amount to be administered |
| .... type | Σ | 0..1 | CodeableConcept | The kind of dose or rate specified Binding: DoseAndRateType icon (Example) |
| .... dose[x] | Σ | 0..1 | Amount of medication per dose | |
| ..... doseRange | Range | |||
| ..... doseQuantity | SimpleQuantity | |||
| .... rate[x] | Σ | 0..1 | Amount of medication per unit of time | |
| ..... rateRatio | Ratio | |||
| ..... rateRange | Range | |||
| ..... rateQuantity | SimpleQuantity | |||
| ... maxDosePerPeriod | Σ | 0..* | Ratio | Upper limit on medication per unit of time |
| ... maxDosePerAdministration | Σ | 0..1 | SimpleQuantity | Upper limit on medication per administration |
| ... maxDosePerLifetime | Σ | 0..1 | SimpleQuantity | Upper limit on medication per lifetime of the patient |
doco Documentation for this format icon | ||||
UML Diagram (Legend)
XML Template
<Dosage xmlns="http://hl7.org/fhir"> <!-- from Element: extension --> <sequence value="[integer ]"/><!-- 0..1 The order of the dosage instructions --> <text value="[string ]"/><!-- 0..1 Free text dosage instructions e.g. SIG --> <additionalInstruction><!-- 0..* CodeableConcept Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness" --></additionalInstruction> <patientInstruction value="[string ]"/><!-- 0..1 Patient or consumer oriented instructions --> <timing><!-- 0..1 Timing When medication should be administered --></timing> <asNeeded value="[boolean ]"/><!-- I 0..1 Take "as needed" --> <asNeededFor><!-- I 0..* CodeableConcept Take "as needed" (for x) --></asNeededFor> <site><!-- 0..1 CodeableConcept Body site to administer to --></site> <route><!-- 0..1 CodeableConcept How drug should enter body --></route> <method><!-- 0..1 CodeableConcept Technique for administering medication --></method> <doseAndRate> <!-- 0..* Amount of medication administered, to be administered or typical amount to be administered --> <type><!-- 0..1 CodeableConcept The kind of dose or rate specified icon --></type> <dose[x]><!-- 0..1 Range|Quantity(SimpleQuantity) Amount of medication per dose --></dose[x]> <rate[x]><!-- 0..1 Ratio|Range|Quantity(SimpleQuantity) Amount of medication per unit of time --></rate[x]> </doseAndRate> <maxDosePerPeriod><!-- 0..* Ratio Upper limit on medication per unit of time --></maxDosePerPeriod> <maxDosePerAdministration><!-- 0..1 Quantity(SimpleQuantity) Upper limit on medication per administration --></maxDosePerAdministration> <maxDosePerLifetime><!-- 0..1 Quantity(SimpleQuantity) Upper limit on medication per lifetime of the patient --></maxDosePerLifetime> </Dosage>
JSON Template
{doco
// from Element: extension
"sequence" : <integer >, // The order of the dosage instructions
"text" : "<string >", // Free text dosage instructions e.g. SIG
"additionalInstruction" : [{ CodeableConcept }], // Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
"patientInstruction" : "<string >", // Patient or consumer oriented instructions
"timing" : { Timing }, // When medication should be administered
"asNeeded" : <boolean >, // I Take "as needed"
"asNeededFor" : [{ CodeableConcept }], // I Take "as needed" (for x)
"site" : { CodeableConcept }, // Body site to administer to
"route" : { CodeableConcept }, // How drug should enter body
"method" : { CodeableConcept }, // Technique for administering medication
"doseAndRate" : [{ // Amount of medication administered, to be administered or typical amount to be administered
"type" : { CodeableConcept }, // The kind of dose or rate specified icon
// dose[x]: Amount of medication per dose. One of these 2:
"doseRange" : { Range },
"doseQuantity" : { Quantity(SimpleQuantity) },
// rate[x]: Amount of medication per unit of time. One of these 3:
"rateRatio" : { Ratio },
"rateRange" : { Range },
"rateQuantity" : { Quantity(SimpleQuantity) }
}],
"maxDosePerPeriod" : [{ Ratio }], // Upper limit on medication per unit of time
"maxDosePerAdministration" : { Quantity(SimpleQuantity) }, // Upper limit on medication per administration
"maxDosePerLifetime" : { Quantity(SimpleQuantity) } // Upper limit on medication per lifetime of the patient
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ # from Element: Element.extension fhir:sequence[ integer ] ; # 0..1 The order of the dosage instructions fhir:text[ string ] ; # 0..1 Free text dosage instructions e.g. SIG fhir:additionalInstruction ( [ CodeableConcept ] ... ) ; # 0..* Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness" fhir:patientInstruction[ string ] ; # 0..1 Patient or consumer oriented instructions fhir:timing[ Timing ] ; # 0..1 When medication should be administered fhir:asNeeded[ boolean ] ; # 0..1 I Take "as needed" fhir:asNeededFor ( [ CodeableConcept ] ... ) ; # 0..* I Take "as needed" (for x) fhir:site[ CodeableConcept ] ; # 0..1 Body site to administer to fhir:route[ CodeableConcept ] ; # 0..1 How drug should enter body fhir:method[ CodeableConcept ] ; # 0..1 Technique for administering medication fhir:doseAndRate( [ # 0..* Amount of medication administered, to be administered or typical amount to be administered fhir:type[ CodeableConcept ] ; # 0..1 The kind of dose or rate specified # dose[x]: 0..1 Amount of medication per dose. One of these 2 fhir:dose[ a fhir:Range ; Range ] fhir:dose[ a fhir:SimpleQuantity ; Quantity(SimpleQuantity) ] # rate[x]: 0..1 Amount of medication per unit of time. One of these 3 fhir:rate[ a fhir:Ratio ; Ratio ] fhir:rate[ a fhir:Range ; Range ] fhir:rate[ a fhir:SimpleQuantity ; Quantity(SimpleQuantity) ] ] ... ) ; fhir:maxDosePerPeriod ( [ Ratio ] ... ) ; # 0..* Upper limit on medication per unit of time fhir:maxDosePerAdministration[ Quantity(SimpleQuantity) ] ; # 0..1 Upper limit on medication per administration fhir:maxDosePerLifetime[ Quantity(SimpleQuantity) ] ; # 0..1 Upper limit on medication per lifetime of the patient ]
Changes since Release 3
Changes from both R4 and R4B
See the Full Difference for further information
Structure
| Name | Flags | Card. | Type | Description & Constraints doco |
|---|---|---|---|---|
| .. Dosage | Σ TU | Element | How the medication is/was taken or should be taken + Rule: AsNeededFor can only be set if AsNeeded is empty or true Elements defined in Ancestors: id, extension, modifierExtension | |
| ... sequence | Σ | 0..1 | integer | The order of the dosage instructions |
| ... text | Σ | 0..1 | string | Free text dosage instructions e.g. SIG |
| ... additionalInstruction | Σ | 0..* | CodeableConcept | Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness" Binding: SNOMED CT Additional Dosage Instructions (Example) |
| ... patientInstruction | Σ | 0..1 | string | Patient or consumer oriented instructions |
| ... timing | Σ | 0..1 | Timing | When medication should be administered |
| ... asNeeded | Σ C | 0..1 | boolean | Take "as needed" |
| ... asNeededFor | Σ C | 0..* | CodeableConcept | Take "as needed" (for x) Binding: SNOMED CT Medication As Needed Reason Codes (Example) |
| ... site | Σ | 0..1 | CodeableConcept | Body site to administer to Binding: SNOMED CT Anatomical Structure for Administration Site Codes (Example) |
| ... route | Σ | 0..1 | CodeableConcept | How drug should enter body Binding: SNOMED CT Route Codes (Example) |
| ... method | Σ | 0..1 | CodeableConcept | Technique for administering medication Binding: SNOMED CT Administration Method Codes (Example) |
| ... doseAndRate | Σ | 0..* | Element | Amount of medication administered, to be administered or typical amount to be administered |
| .... type | Σ | 0..1 | CodeableConcept | The kind of dose or rate specified Binding: DoseAndRateType icon (Example) |
| .... dose[x] | Σ | 0..1 | Amount of medication per dose | |
| ..... doseRange | Range | |||
| ..... doseQuantity | SimpleQuantity | |||
| .... rate[x] | Σ | 0..1 | Amount of medication per unit of time | |
| ..... rateRatio | Ratio | |||
| ..... rateRange | Range | |||
| ..... rateQuantity | SimpleQuantity | |||
| ... maxDosePerPeriod | Σ | 0..* | Ratio | Upper limit on medication per unit of time |
| ... maxDosePerAdministration | Σ | 0..1 | SimpleQuantity | Upper limit on medication per administration |
| ... maxDosePerLifetime | Σ | 0..1 | SimpleQuantity | Upper limit on medication per lifetime of the patient |
doco Documentation for this format icon | ||||
UML Diagram (Legend)
XML Template
<Dosage xmlns="http://hl7.org/fhir"> <!-- from Element: extension --> <sequence value="[integer ]"/><!-- 0..1 The order of the dosage instructions --> <text value="[string ]"/><!-- 0..1 Free text dosage instructions e.g. SIG --> <additionalInstruction><!-- 0..* CodeableConcept Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness" --></additionalInstruction> <patientInstruction value="[string ]"/><!-- 0..1 Patient or consumer oriented instructions --> <timing><!-- 0..1 Timing When medication should be administered --></timing> <asNeeded value="[boolean ]"/><!-- I 0..1 Take "as needed" --> <asNeededFor><!-- I 0..* CodeableConcept Take "as needed" (for x) --></asNeededFor> <site><!-- 0..1 CodeableConcept Body site to administer to --></site> <route><!-- 0..1 CodeableConcept How drug should enter body --></route> <method><!-- 0..1 CodeableConcept Technique for administering medication --></method> <doseAndRate> <!-- 0..* Amount of medication administered, to be administered or typical amount to be administered --> <type><!-- 0..1 CodeableConcept The kind of dose or rate specified icon --></type> <dose[x]><!-- 0..1 Range|Quantity(SimpleQuantity) Amount of medication per dose --></dose[x]> <rate[x]><!-- 0..1 Ratio|Range|Quantity(SimpleQuantity) Amount of medication per unit of time --></rate[x]> </doseAndRate> <maxDosePerPeriod><!-- 0..* Ratio Upper limit on medication per unit of time --></maxDosePerPeriod> <maxDosePerAdministration><!-- 0..1 Quantity(SimpleQuantity) Upper limit on medication per administration --></maxDosePerAdministration> <maxDosePerLifetime><!-- 0..1 Quantity(SimpleQuantity) Upper limit on medication per lifetime of the patient --></maxDosePerLifetime> </Dosage>
JSON Template
{doco
// from Element: extension
"sequence" : <integer >, // The order of the dosage instructions
"text" : "<string >", // Free text dosage instructions e.g. SIG
"additionalInstruction" : [{ CodeableConcept }], // Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
"patientInstruction" : "<string >", // Patient or consumer oriented instructions
"timing" : { Timing }, // When medication should be administered
"asNeeded" : <boolean >, // I Take "as needed"
"asNeededFor" : [{ CodeableConcept }], // I Take "as needed" (for x)
"site" : { CodeableConcept }, // Body site to administer to
"route" : { CodeableConcept }, // How drug should enter body
"method" : { CodeableConcept }, // Technique for administering medication
"doseAndRate" : [{ // Amount of medication administered, to be administered or typical amount to be administered
"type" : { CodeableConcept }, // The kind of dose or rate specified icon
// dose[x]: Amount of medication per dose. One of these 2:
"doseRange" : { Range },
"doseQuantity" : { Quantity(SimpleQuantity) },
// rate[x]: Amount of medication per unit of time. One of these 3:
"rateRatio" : { Ratio },
"rateRange" : { Range },
"rateQuantity" : { Quantity(SimpleQuantity) }
}],
"maxDosePerPeriod" : [{ Ratio }], // Upper limit on medication per unit of time
"maxDosePerAdministration" : { Quantity(SimpleQuantity) }, // Upper limit on medication per administration
"maxDosePerLifetime" : { Quantity(SimpleQuantity) } // Upper limit on medication per lifetime of the patient
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ # from Element: Element.extension fhir:sequence[ integer ] ; # 0..1 The order of the dosage instructions fhir:text[ string ] ; # 0..1 Free text dosage instructions e.g. SIG fhir:additionalInstruction ( [ CodeableConcept ] ... ) ; # 0..* Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness" fhir:patientInstruction[ string ] ; # 0..1 Patient or consumer oriented instructions fhir:timing[ Timing ] ; # 0..1 When medication should be administered fhir:asNeeded[ boolean ] ; # 0..1 I Take "as needed" fhir:asNeededFor ( [ CodeableConcept ] ... ) ; # 0..* I Take "as needed" (for x) fhir:site[ CodeableConcept ] ; # 0..1 Body site to administer to fhir:route[ CodeableConcept ] ; # 0..1 How drug should enter body fhir:method[ CodeableConcept ] ; # 0..1 Technique for administering medication fhir:doseAndRate( [ # 0..* Amount of medication administered, to be administered or typical amount to be administered fhir:type[ CodeableConcept ] ; # 0..1 The kind of dose or rate specified # dose[x]: 0..1 Amount of medication per dose. One of these 2 fhir:dose[ a fhir:Range ; Range ] fhir:dose[ a fhir:SimpleQuantity ; Quantity(SimpleQuantity) ] # rate[x]: 0..1 Amount of medication per unit of time. One of these 3 fhir:rate[ a fhir:Ratio ; Ratio ] fhir:rate[ a fhir:Range ; Range ] fhir:rate[ a fhir:SimpleQuantity ; Quantity(SimpleQuantity) ] ] ... ) ; fhir:maxDosePerPeriod ( [ Ratio ] ... ) ; # 0..* Upper limit on medication per unit of time fhir:maxDosePerAdministration[ Quantity(SimpleQuantity) ] ; # 0..1 Upper limit on medication per administration fhir:maxDosePerLifetime[ Quantity(SimpleQuantity) ] ; # 0..1 Upper limit on medication per lifetime of the patient ]
Changes since Release 3
Changes from both R4 and R4B
See the Full Difference for further information
Constraints
Dosage is used in the following places: ActivityDefinition, MedicationDispense, MedicationKnowledge, MedicationRequest and MedicationStatement