This
page
is
part
of
the
FHIR
Specification
(v5.0.0:
R5
-
STU
v6.0.0-ballot1:
Release
6
Ballot
(1st
Draft)
(see
Ballot
Notes
).
This
is
the
The
current
published
version
in
it's
permanent
home
(it
will
always
be
available
at
this
URL).
is
5.0.0
.
For
a
full
list
of
available
versions,
see
the
Directory
of
published
versions
.
Page
versions:
R5
R4B
R4
R3
Pharmacy
Work
Group
|
Maturity Level : 3 | Standards 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
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
Σ 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 |
|
|
Σ | 0..1 | integer |
The
order
of
the
dosage
instructions
|
|
Σ | 0..1 | string |
Free
text
dosage
instructions
e.g.
SIG
|
|
Σ | 0..* | CodeableConcept |
Supplemental
instruction
or
warnings
to
the
patient
-
e.g.
"with
meals",
"may
cause
drowsiness"
Binding: SNOMED CT Additional Dosage Instructions ( Example ) |
|
Σ | 0..1 | string |
Patient
or
consumer
oriented
instructions
|
|
Σ | 0..1 | Timing |
When
medication
should
be
administered
|
|
Σ C | 0..1 | boolean |
Take
"as
needed"
|
|
Σ C | 0..* | CodeableConcept |
Take
"as
needed"
(for
x)
Binding: SNOMED CT Medication As Needed Reason Codes ( Example ) |
|
Σ | 0..1 | CodeableConcept |
Body
site
to
administer
to
Binding: SNOMED CT Anatomical Structure for Administration Site Codes ( Example ) |
|
Σ | 0..1 | CodeableConcept |
How
drug
should
enter
body
Binding: SNOMED CT Route Codes ( Example ) |
|
Σ | 0..1 | CodeableConcept |
Technique
for
administering
medication
Binding: SNOMED CT Administration Method Codes ( Example ) |
|
Σ | 0..* | Element |
Amount
of
medication
administered,
to
be
administered
or
typical
amount
to
be
administered
|
|
Σ | 0..1 | CodeableConcept |
The
kind
of
dose
or
rate
specified
Binding: DoseAndRateType
(
Example
)
|
|
Σ | 0..1 |
Amount
of
medication
per
dose
|
|
|
Range | |||
|
SimpleQuantity | |||
|
Σ | 0..1 |
Amount
of
medication
per
unit
of
time
|
|
|
Ratio | |||
|
Range | |||
|
SimpleQuantity | |||
|
Σ | 0..* | Ratio |
Upper
limit
on
medication
per
unit
of
time
|
|
Σ | 0..1 | SimpleQuantity |
Upper
limit
on
medication
per
administration
|
|
Σ | 0..1 | SimpleQuantity |
Upper
limit
on
medication
per
lifetime
of
the
patient
|
Documentation
for
this
format
|
||||
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><type><!-- 0..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..* 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
{
// 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
// 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 |
|
| Dosage.asNeededFor |
|
| Dosage.maxDosePerPeriod |
|
See the Full Difference for further information
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
Σ 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 |
|
|
Σ | 0..1 | integer |
The
order
of
the
dosage
instructions
|
|
Σ | 0..1 | string |
Free
text
dosage
instructions
e.g.
SIG
|
|
Σ | 0..* | CodeableConcept |
Supplemental
instruction
or
warnings
to
the
patient
-
e.g.
"with
meals",
"may
cause
drowsiness"
Binding: SNOMED CT Additional Dosage Instructions ( Example ) |
|
Σ | 0..1 | string |
Patient
or
consumer
oriented
instructions
|
|
Σ | 0..1 | Timing |
When
medication
should
be
administered
|
|
Σ C | 0..1 | boolean |
Take
"as
needed"
|
|
Σ C | 0..* | CodeableConcept |
Take
"as
needed"
(for
x)
Binding: SNOMED CT Medication As Needed Reason Codes ( Example ) |
|
Σ | 0..1 | CodeableConcept |
Body
site
to
administer
to
Binding: SNOMED CT Anatomical Structure for Administration Site Codes ( Example ) |
|
Σ | 0..1 | CodeableConcept |
How
drug
should
enter
body
Binding: SNOMED CT Route Codes ( Example ) |
|
Σ | 0..1 | CodeableConcept |
Technique
for
administering
medication
Binding: SNOMED CT Administration Method Codes ( Example ) |
|
Σ | 0..* | Element |
Amount
of
medication
administered,
to
be
administered
or
typical
amount
to
be
administered
|
|
Σ | 0..1 | CodeableConcept |
The
kind
of
dose
or
rate
specified
Binding: DoseAndRateType
(
Example
)
|
|
Σ | 0..1 |
Amount
of
medication
per
dose
|
|
|
Range | |||
|
SimpleQuantity | |||
|
Σ | 0..1 |
Amount
of
medication
per
unit
of
time
|
|
|
Ratio | |||
|
Range | |||
|
SimpleQuantity | |||
|
Σ | 0..* | Ratio |
Upper
limit
on
medication
per
unit
of
time
|
|
Σ | 0..1 | SimpleQuantity |
Upper
limit
on
medication
per
administration
|
|
Σ | 0..1 | SimpleQuantity |
Upper
limit
on
medication
per
lifetime
of
the
patient
|
Documentation
for
this
format
|
||||
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><type><!-- 0..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..* 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
{
// 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
// 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 |
|
| Dosage.asNeededFor |
|
| Dosage.maxDosePerPeriod |
|
See the Full Difference for further information
Constraints
| id | Level | Location | Description | Expression |
dos-1
|
Rule | (base) | AsNeededFor can only be set if AsNeeded is empty or true | asNeededFor.empty() or asNeeded.empty() or asNeeded |
Dosage is used in the following places: ActivityDefinition , MedicationDispense , MedicationKnowledge , MedicationRequest and MedicationStatement