This page is part of the FHIR Specification (v3.2.0: R4 Ballot 1). The current version which supercedes this version is 5.0.0.  For a full list of available versions, see the Directory of published versions  . Page versions: R5 R4B R4 R3
. Page versions: R5 R4B R4 R3
| Pharmacy  Work Group | Maturity Level: 3 | Ballot Status: Trial Use | 
The Dosage structure defines general dosage instruction information typically represented in medication requests, medication dispenses and medication statements.
Structure
| Name | Flags | Card. | Type | Description & Constraints  | 
|---|---|---|---|---|
|   Dosage | ΣTU | Element | How the medication is/was taken or should be taken Elements defined in Ancestors: id, extension | |
|    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" 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[x] | Σ | 0..1 | Take "as needed" (for x) SNOMED CT Medication As Needed Reason Codes (Example) | |
|     asNeededBoolean | boolean | |||
|     asNeededCodeableConcept | CodeableConcept | |||
|    site | Σ | 0..1 | CodeableConcept | Body site to administer to SNOMED CT Anatomical Structure for Administration Site Codes (Example) | 
|    route | Σ | 0..1 | CodeableConcept | How drug should enter body SNOMED CT Route Codes (Example) | 
|    method | Σ | 0..1 | CodeableConcept | Technique for administering medication SNOMED CT Administration Method Codes (Example) | 
|    dose[x] | Σ | 0..1 | Amount of medication per dose | |
|     doseRange | Range | |||
|     doseQuantity | SimpleQuantity | |||
|    maxDosePerPeriod | Σ | 0..1 | 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 | 
|    rate[x] | Σ | 0..1 | Amount of medication per unit of time | |
|     rateRatio | Ratio | |||
|     rateRange | Range | |||
|     rateQuantity | SimpleQuantity | |||
|  Documentation for this format | ||||
UML Diagram (Legend)
XML Template
<[name] 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[x]><!-- 0..1 boolean|CodeableConcept Take "as needed" (for x) --></asNeeded[x]> <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> <dose[x]><!-- 0..1 Range|Quantity(SimpleQuantity) Amount of medication per dose --></dose[x]> <maxDosePerPeriod><!-- 0..1 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> <rate[x]><!-- 0..1 Ratio|Range|Quantity(SimpleQuantity) Amount of medication per unit of time --></rate[x]> </[name]>
JSON Template
{ "resourceType" : "Dosage",
  // 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[x]: Take "as needed" (for x). One of these 2:
  "asNeededBoolean" : <boolean>,
  "asNeededCodeableConcept" : { CodeableConcept },
  "site" : { CodeableConcept }, // Body site to administer to
  "route" : { CodeableConcept }, // How drug should enter body
  "method" : { CodeableConcept }, // Technique for administering medication
  // dose[x]: Amount of medication per dose. One of these 2:
  "doseRange" : { Range },
  "doseQuantity" : { 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
  // rate[x]: Amount of medication per unit of time. One of these 3:
  "rateRatio" : { Ratio }
  "rateRange" : { Range }
  "rateQuantity" : { Quantity(SimpleQuantity) }
}
  "resourceType" : "Dosage",
  // 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[x]: Take "as needed" (for x). One of these 2:
  "asNeededBoolean" : <boolean>,
  "asNeededCodeableConcept" : { CodeableConcept },
  "site" : { CodeableConcept }, // Body site to administer to
  "route" : { CodeableConcept }, // How drug should enter body
  "method" : { CodeableConcept }, // Technique for administering medication
  // dose[x]: Amount of medication per dose. One of these 2:
  "doseRange" : { Range },
  "doseQuantity" : { 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
  // rate[x]: Amount of medication per unit of time. One of these 3:
  "rateRatio" : { Ratio }
  "rateRange" : { Range }
  "rateQuantity" : { Quantity(SimpleQuantity) }
}
   Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ # from Element: Element.extension fhir:Dosage.sequence [ integer ]; # 0..1 The order of the dosage instructions fhir:Dosage.text [ string ]; # 0..1 Free text dosage instructions e.g. SIG fhir:Dosage.additionalInstruction [ CodeableConcept ], ... ; # 0..* Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness" fhir:Dosage.patientInstruction [ string ]; # 0..1 Patient or consumer oriented instructions fhir:Dosage.timing [ Timing ]; # 0..1 When medication should be administered # Dosage.asNeeded[x] : 0..1 Take "as needed" (for x). One of these 2 fhir:Dosage.asNeededBoolean [ boolean ] fhir:Dosage.asNeededCodeableConcept [ CodeableConcept ] fhir:Dosage.site [ CodeableConcept ]; # 0..1 Body site to administer to fhir:Dosage.route [ CodeableConcept ]; # 0..1 How drug should enter body fhir:Dosage.method [ CodeableConcept ]; # 0..1 Technique for administering medication # Dosage.dose[x] : 0..1 Amount of medication per dose. One of these 2 fhir:Dosage.doseRange [ Range ] fhir:Dosage.doseSimpleQuantity [ Quantity(SimpleQuantity) ] fhir:Dosage.maxDosePerPeriod [ Ratio ]; # 0..1 Upper limit on medication per unit of time fhir:Dosage.maxDosePerAdministration [ Quantity(SimpleQuantity) ]; # 0..1 Upper limit on medication per administration fhir:Dosage.maxDosePerLifetime [ Quantity(SimpleQuantity) ]; # 0..1 Upper limit on medication per lifetime of the patient # Dosage.rate[x] : 0..1 Amount of medication per unit of time. One of these 3 fhir:Dosage.rateRatio [ Ratio ] fhir:Dosage.rateRange [ Range ] fhir:Dosage.rateSimpleQuantity [ Quantity(SimpleQuantity) ] ]
Changes since DSTU2
This complex-type did not exist in Release 2
Structure
| Name | Flags | Card. | Type | Description & Constraints  | 
|---|---|---|---|---|
|   Dosage | ΣTU | Element | How the medication is/was taken or should be taken Elements defined in Ancestors: id, extension | |
|    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" 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[x] | Σ | 0..1 | Take "as needed" (for x) SNOMED CT Medication As Needed Reason Codes (Example) | |
|     asNeededBoolean | boolean | |||
|     asNeededCodeableConcept | CodeableConcept | |||
|    site | Σ | 0..1 | CodeableConcept | Body site to administer to SNOMED CT Anatomical Structure for Administration Site Codes (Example) | 
|    route | Σ | 0..1 | CodeableConcept | How drug should enter body SNOMED CT Route Codes (Example) | 
|    method | Σ | 0..1 | CodeableConcept | Technique for administering medication SNOMED CT Administration Method Codes (Example) | 
|    dose[x] | Σ | 0..1 | Amount of medication per dose | |
|     doseRange | Range | |||
|     doseQuantity | SimpleQuantity | |||
|    maxDosePerPeriod | Σ | 0..1 | 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 | 
|    rate[x] | Σ | 0..1 | Amount of medication per unit of time | |
|     rateRatio | Ratio | |||
|     rateRange | Range | |||
|     rateQuantity | SimpleQuantity | |||
|  Documentation for this format | ||||
XML Template
<[name] 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[x]><!-- 0..1 boolean|CodeableConcept Take "as needed" (for x) --></asNeeded[x]> <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> <dose[x]><!-- 0..1 Range|Quantity(SimpleQuantity) Amount of medication per dose --></dose[x]> <maxDosePerPeriod><!-- 0..1 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> <rate[x]><!-- 0..1 Ratio|Range|Quantity(SimpleQuantity) Amount of medication per unit of time --></rate[x]> </[name]>
JSON Template
{ "resourceType" : "Dosage",
  // 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[x]: Take "as needed" (for x). One of these 2:
  "asNeededBoolean" : <boolean>,
  "asNeededCodeableConcept" : { CodeableConcept },
  "site" : { CodeableConcept }, // Body site to administer to
  "route" : { CodeableConcept }, // How drug should enter body
  "method" : { CodeableConcept }, // Technique for administering medication
  // dose[x]: Amount of medication per dose. One of these 2:
  "doseRange" : { Range },
  "doseQuantity" : { 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
  // rate[x]: Amount of medication per unit of time. One of these 3:
  "rateRatio" : { Ratio }
  "rateRange" : { Range }
  "rateQuantity" : { Quantity(SimpleQuantity) }
}
  "resourceType" : "Dosage",
  // 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[x]: Take "as needed" (for x). One of these 2:
  "asNeededBoolean" : <boolean>,
  "asNeededCodeableConcept" : { CodeableConcept },
  "site" : { CodeableConcept }, // Body site to administer to
  "route" : { CodeableConcept }, // How drug should enter body
  "method" : { CodeableConcept }, // Technique for administering medication
  // dose[x]: Amount of medication per dose. One of these 2:
  "doseRange" : { Range },
  "doseQuantity" : { 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
  // rate[x]: Amount of medication per unit of time. One of these 3:
  "rateRatio" : { Ratio }
  "rateRange" : { Range }
  "rateQuantity" : { Quantity(SimpleQuantity) }
}
   Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ # from Element: Element.extension fhir:Dosage.sequence [ integer ]; # 0..1 The order of the dosage instructions fhir:Dosage.text [ string ]; # 0..1 Free text dosage instructions e.g. SIG fhir:Dosage.additionalInstruction [ CodeableConcept ], ... ; # 0..* Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness" fhir:Dosage.patientInstruction [ string ]; # 0..1 Patient or consumer oriented instructions fhir:Dosage.timing [ Timing ]; # 0..1 When medication should be administered # Dosage.asNeeded[x] : 0..1 Take "as needed" (for x). One of these 2 fhir:Dosage.asNeededBoolean [ boolean ] fhir:Dosage.asNeededCodeableConcept [ CodeableConcept ] fhir:Dosage.site [ CodeableConcept ]; # 0..1 Body site to administer to fhir:Dosage.route [ CodeableConcept ]; # 0..1 How drug should enter body fhir:Dosage.method [ CodeableConcept ]; # 0..1 Technique for administering medication # Dosage.dose[x] : 0..1 Amount of medication per dose. One of these 2 fhir:Dosage.doseRange [ Range ] fhir:Dosage.doseSimpleQuantity [ Quantity(SimpleQuantity) ] fhir:Dosage.maxDosePerPeriod [ Ratio ]; # 0..1 Upper limit on medication per unit of time fhir:Dosage.maxDosePerAdministration [ Quantity(SimpleQuantity) ]; # 0..1 Upper limit on medication per administration fhir:Dosage.maxDosePerLifetime [ Quantity(SimpleQuantity) ]; # 0..1 Upper limit on medication per lifetime of the patient # Dosage.rate[x] : 0..1 Amount of medication per unit of time. One of these 3 fhir:Dosage.rateRatio [ Ratio ] fhir:Dosage.rateRange [ Range ] fhir:Dosage.rateSimpleQuantity [ Quantity(SimpleQuantity) ] ]
Constraints
Dosage is used in the following places: ActivityDefinition, MedicationDispense, MedicationRequest and MedicationStatement