R4 Ballot #1 (Mixed Normative/Trial use)

This page is part of the FHIR Specification (v3.3.0: R4 Ballot 2). 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

11.16.0 Dosage

Pharmacy Work GroupMaturity Level: 3Ballot Status: Trial Use

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
Elements defined in Ancestors: id, extension
... 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"
SNOMED CT Additional Dosage Instructions (Example)
... patientInstruction Σ0..1stringPatient or consumer oriented instructions
... timing Σ0..1TimingWhen medication should be administered
... asNeeded[x] Σ0..1Take "as needed" (for x)
SNOMED CT Medication As Needed Reason Codes (Example)
.... asNeededBooleanboolean
.... asNeededCodeableConceptCodeableConcept
... site Σ0..1CodeableConceptBody site to administer to
SNOMED CT Anatomical Structure for Administration Site Codes (Example)
... route Σ0..1CodeableConceptHow drug should enter body
SNOMED CT Route Codes (Example)
... method Σ0..1CodeableConceptTechnique for administering medication
SNOMED CT Administration Method Codes (Example)
... doseAndRate Σ0..*ElementAmount of medication administered
.... type Σ1..1CodeableConceptThe kind of dose or rate specified
DoseAndRateType (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..1RatioUpper 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

UML Diagram (Legend)

ElementExtensions - as described for all elements: additional information that is not part of the basic definition of the resource / typeextension : Extension 0..*DosageIndicates the order in which the dosage instructions should be applied or interpretedsequence : integer [0..1]Free text dosage instructions e.g. SIGtext : string [0..1]Supplemental instructions to the patient on how to take the medication (e.g. "with meals" or"take half to one hour before food") or warnings for the patient about the medication (e.g. "may cause drowsiness" or "avoid exposure of skin to direct sunlight or sunlamps")additionalInstruction : CodeableConcept [0..*] « A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery". (Strength=Example)SNOMED CT Additional Dosage I...?? »Instructions in terms that are understood by the patient or consumerpatientInstruction : string [0..1]When medication should be administeredtiming : Timing [0..1]Indicates whether the Medication is only taken when needed within a specific dosing schedule (Boolean option), or it indicates the precondition for taking the Medication (CodeableConcept)asNeeded[x] : Type [0..1] « boolean|CodeableConcept; 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. (Strength=Example)SNOMED CT Medication As Neede...?? »Body site to administer tosite : CodeableConcept [0..1] « A coded concept describing the site location the medicine enters into or onto the body. (Strength=Example)SNOMED CT Anatomical Structur...?? »How drug should enter bodyroute : CodeableConcept [0..1] « A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject. (Strength=Example)SNOMED CT Route ?? »Technique for administering medicationmethod : CodeableConcept [0..1] « A coded concept describing the technique by which the medicine is administered. (Strength=Example)SNOMED CT Administration Meth...?? »Upper limit on medication per unit of timemaxDosePerPeriod : Ratio [0..1]Upper limit on medication per administrationmaxDosePerAdministration : Quantity(SimpleQuantity) [0..1]Upper limit on medication per lifetime of the patientmaxDosePerLifetime : Quantity(SimpleQuantity) [0..1]DoseAndRateThe kind of dose or rate specified, for example, ordered or calculatedtype : CodeableConcept [1..1] « The kind of dose or rate specified (Strength=Example)DoseAndRateType?? »Amount of medication per dosedose[x] : Type [0..1] « Range|Quantity(SimpleQuantity) »Amount of medication per unit of timerate[x] : Type [0..1] « Ratio|Range|Quantity(SimpleQuantity) »The amount of medication administereddoseAndRate[0..*]

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>
 <doseAndRate>  <!-- 0..* Amount of medication administered -->
  <type><!-- 1..1 CodeableConcept The kind of dose or rate specified --></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..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>
</[name]>

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[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
  "doseAndRate" : [{ // Amount of medication administered
    "type" : { CodeableConcept }, // R!  The kind of dose or rate specified
    // 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: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
  fhir:Dosage.doseAndRate [ # 0..* Amount of medication administered
    fhir:Dosage.doseAndRate.type [ CodeableConcept ]; # 1..1 The kind of dose or rate specified
    # Dosage.doseAndRate.dose[x] : 0..1 Amount of medication per dose. One of these 2
      fhir:Dosage.doseAndRate.doseRange [ Range ]
      fhir:Dosage.doseAndRate.doseSimpleQuantity [ Quantity(SimpleQuantity) ]
    # Dosage.doseAndRate.rate[x] : 0..1 Amount of medication per unit of time. One of these 3
      fhir:Dosage.doseAndRate.rateRatio [ Ratio ]
      fhir:Dosage.doseAndRate.rateRange [ Range ]
      fhir:Dosage.doseAndRate.rateSimpleQuantity [ 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
]

Changes since DSTU2

Dosage
Dosage.doseAndRate
  • Added Element
Dosage.doseAndRate.type
  • Added Element
Dosage.doseAndRate.dose[x]
  • Added Element
Dosage.doseAndRate.rate[x]
  • Added Element
Dosage.dose[x]
  • deleted
Dosage.rate[x]
  • deleted

See the Full Difference for further information

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Dosage ΣTUElementHow the medication is/was taken or should be taken
Elements defined in Ancestors: id, extension
... 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"
SNOMED CT Additional Dosage Instructions (Example)
... patientInstruction Σ0..1stringPatient or consumer oriented instructions
... timing Σ0..1TimingWhen medication should be administered
... asNeeded[x] Σ0..1Take "as needed" (for x)
SNOMED CT Medication As Needed Reason Codes (Example)
.... asNeededBooleanboolean
.... asNeededCodeableConceptCodeableConcept
... site Σ0..1CodeableConceptBody site to administer to
SNOMED CT Anatomical Structure for Administration Site Codes (Example)
... route Σ0..1CodeableConceptHow drug should enter body
SNOMED CT Route Codes (Example)
... method Σ0..1CodeableConceptTechnique for administering medication
SNOMED CT Administration Method Codes (Example)
... doseAndRate Σ0..*ElementAmount of medication administered
.... type Σ1..1CodeableConceptThe kind of dose or rate specified
DoseAndRateType (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..1RatioUpper 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

UML Diagram (Legend)

ElementExtensions - as described for all elements: additional information that is not part of the basic definition of the resource / typeextension : Extension 0..*DosageIndicates the order in which the dosage instructions should be applied or interpretedsequence : integer [0..1]Free text dosage instructions e.g. SIGtext : string [0..1]Supplemental instructions to the patient on how to take the medication (e.g. "with meals" or"take half to one hour before food") or warnings for the patient about the medication (e.g. "may cause drowsiness" or "avoid exposure of skin to direct sunlight or sunlamps")additionalInstruction : CodeableConcept [0..*] « A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery". (Strength=Example)SNOMED CT Additional Dosage I...?? »Instructions in terms that are understood by the patient or consumerpatientInstruction : string [0..1]When medication should be administeredtiming : Timing [0..1]Indicates whether the Medication is only taken when needed within a specific dosing schedule (Boolean option), or it indicates the precondition for taking the Medication (CodeableConcept)asNeeded[x] : Type [0..1] « boolean|CodeableConcept; 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. (Strength=Example)SNOMED CT Medication As Neede...?? »Body site to administer tosite : CodeableConcept [0..1] « A coded concept describing the site location the medicine enters into or onto the body. (Strength=Example)SNOMED CT Anatomical Structur...?? »How drug should enter bodyroute : CodeableConcept [0..1] « A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject. (Strength=Example)SNOMED CT Route ?? »Technique for administering medicationmethod : CodeableConcept [0..1] « A coded concept describing the technique by which the medicine is administered. (Strength=Example)SNOMED CT Administration Meth...?? »Upper limit on medication per unit of timemaxDosePerPeriod : Ratio [0..1]Upper limit on medication per administrationmaxDosePerAdministration : Quantity(SimpleQuantity) [0..1]Upper limit on medication per lifetime of the patientmaxDosePerLifetime : Quantity(SimpleQuantity) [0..1]DoseAndRateThe kind of dose or rate specified, for example, ordered or calculatedtype : CodeableConcept [1..1] « The kind of dose or rate specified (Strength=Example)DoseAndRateType?? »Amount of medication per dosedose[x] : Type [0..1] « Range|Quantity(SimpleQuantity) »Amount of medication per unit of timerate[x] : Type [0..1] « Ratio|Range|Quantity(SimpleQuantity) »The amount of medication administereddoseAndRate[0..*]

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>
 <doseAndRate>  <!-- 0..* Amount of medication administered -->
  <type><!-- 1..1 CodeableConcept The kind of dose or rate specified --></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..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>
</[name]>

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[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
  "doseAndRate" : [{ // Amount of medication administered
    "type" : { CodeableConcept }, // R!  The kind of dose or rate specified
    // 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: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
  fhir:Dosage.doseAndRate [ # 0..* Amount of medication administered
    fhir:Dosage.doseAndRate.type [ CodeableConcept ]; # 1..1 The kind of dose or rate specified
    # Dosage.doseAndRate.dose[x] : 0..1 Amount of medication per dose. One of these 2
      fhir:Dosage.doseAndRate.doseRange [ Range ]
      fhir:Dosage.doseAndRate.doseSimpleQuantity [ Quantity(SimpleQuantity) ]
    # Dosage.doseAndRate.rate[x] : 0..1 Amount of medication per unit of time. One of these 3
      fhir:Dosage.doseAndRate.rateRatio [ Ratio ]
      fhir:Dosage.doseAndRate.rateRange [ Range ]
      fhir:Dosage.doseAndRate.rateSimpleQuantity [ 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
]

Changes since DSTU2

Dosage
Dosage.doseAndRate
  • Added Element
Dosage.doseAndRate.type
  • Added Element
Dosage.doseAndRate.dose[x]
  • Added Element
Dosage.doseAndRate.rate[x]
  • Added Element
Dosage.dose[x]
  • deleted
Dosage.rate[x]
  • deleted

See the Full Difference for further information

Constraints

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