Release 5

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

11.10.0 Dosage

Pharmacy icon Work GroupMaturity Level: 3Standards Status: Trial Use

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. DosageΣTUElementHow 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..1integerThe order of the dosage instructions
... textΣ0..1stringFree text dosage instructions e.g. SIG
... additionalInstructionΣ0..*CodeableConceptSupplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
Binding: SNOMED CT Additional Dosage Instructions (Example)

... timingΣ0..1TimingWhen medication should be administered
... asNeededΣC0..1booleanTake "as needed"
... asNeededForΣC0..*CodeableConceptTake "as needed" (for x)
Binding: SNOMED CT Medication As Needed Reason Codes (Example)

... siteΣ0..1CodeableConceptBody site to administer to
Binding: SNOMED CT Anatomical Structure for Administration Site Codes (Example)
... routeΣ0..1CodeableConceptHow drug should enter body
Binding: SNOMED CT Route Codes (Example)
... methodΣ0..1CodeableConceptTechnique for administering medication
Binding: SNOMED CT Administration Method Codes (Example)
... doseAndRateΣ0..*ElementAmount of medication administered, to be administered or typical amount to be administered

.... typeΣ0..1CodeableConceptThe kind of dose or rate specified
Binding: DoseAndRateType icon (Example)
.... dose[x]Σ0..1Amount of medication per dose
..... doseRangeRange
..... doseQuantitySimpleQuantity
.... rate[x]Σ0..1Amount of medication per unit of time
..... rateRatioRatio
..... rateRangeRange
..... rateQuantitySimpleQuantity
... maxDosePerPeriodΣ0..*RatioUpper limit on medication per unit of time

... maxDosePerAdministrationΣ0..1SimpleQuantityUpper limit on medication per administration
... maxDosePerLifetimeΣ0..1SimpleQuantityUpper limit on medication per lifetime of the patient

doco Documentation for this format icon

Definition: XML | JSON

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

Dosage
Dosage.asNeeded
  • Renamed from asNeeded[x] to asNeeded
  • Remove Type CodeableConcept
Dosage.asNeededFor
  • Added Element
Dosage.maxDosePerPeriod
  • Max Cardinality changed from 1 to *

See the Full Difference for further information

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. DosageΣTUElementHow 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..1integerThe order of the dosage instructions
... textΣ0..1stringFree text dosage instructions e.g. SIG
... additionalInstructionΣ0..*CodeableConceptSupplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
Binding: SNOMED CT Additional Dosage Instructions (Example)

... timingΣ0..1TimingWhen medication should be administered
... asNeededΣC0..1booleanTake "as needed"
... asNeededForΣC0..*CodeableConceptTake "as needed" (for x)
Binding: SNOMED CT Medication As Needed Reason Codes (Example)

... siteΣ0..1CodeableConceptBody site to administer to
Binding: SNOMED CT Anatomical Structure for Administration Site Codes (Example)
... routeΣ0..1CodeableConceptHow drug should enter body
Binding: SNOMED CT Route Codes (Example)
... methodΣ0..1CodeableConceptTechnique for administering medication
Binding: SNOMED CT Administration Method Codes (Example)
... doseAndRateΣ0..*ElementAmount of medication administered, to be administered or typical amount to be administered

.... typeΣ0..1CodeableConceptThe kind of dose or rate specified
Binding: DoseAndRateType icon (Example)
.... dose[x]Σ0..1Amount of medication per dose
..... doseRangeRange
..... doseQuantitySimpleQuantity
.... rate[x]Σ0..1Amount of medication per unit of time
..... rateRatioRatio
..... rateRangeRange
..... rateQuantitySimpleQuantity
... maxDosePerPeriodΣ0..*RatioUpper limit on medication per unit of time

... maxDosePerAdministrationΣ0..1SimpleQuantityUpper limit on medication per administration
... maxDosePerLifetimeΣ0..1SimpleQuantityUpper 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

Dosage
Dosage.asNeeded
  • Renamed from asNeeded[x] to asNeeded
  • Remove Type CodeableConcept
Dosage.asNeededFor
  • Added Element
Dosage.maxDosePerPeriod
  • Max Cardinality changed from 1 to *

See the Full Difference for further information

Constraints

idLevelLocationDescriptionExpression
img dos-1Rule (base)AsNeededFor can only be set if AsNeeded is empty or trueasNeededFor.empty() or asNeeded.empty() or asNeeded

Dosage is used in the following places: ActivityDefinition, MedicationDispense, MedicationKnowledge, MedicationRequest and MedicationStatement

Morty Proxy This is a proxified and sanitized view of the page, visit original site.