This
page
is
part
of
the
FHIR
Specification
(v3.0.2:
STU
3).
(v3.5.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
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.
Note: the Dosage structure allows modifier extensions .
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
Σ TU |
|
How
the
medication
is/was
taken
or
should
be
taken
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.
SNOMED CT Additional Dosage Instructions ( Example ) |
|
Σ | 0..1 | string | Patient or consumer oriented instructions |
|
Σ | 0..1 | Timing | When medication should be administered |
|
Σ | 0..1 |
Take
SNOMED CT Medication As Needed Reason Codes ( Example ) |
|
|
boolean | |||
|
CodeableConcept | |||
|
Σ | 0..1 | CodeableConcept |
Body
site
to
administer
to
SNOMED CT Anatomical Structure for Administration Site Codes ( Example ) |
|
Σ | 0..1 | CodeableConcept |
How
drug
should
enter
body
SNOMED CT Route Codes ( Example ) |
|
Σ | 0..1 | CodeableConcept |
Technique
for
administering
medication
SNOMED CT Administration Method Codes ( Example ) |
|
Σ | 0..* | Element |
Amount
of
medication
administered
|
![]() ![]() ![]() | Σ | 1..1 | CodeableConcept |
The
kind
of
dose
or
rate
specified
DoseAndRateType ( Example ) |
![]() ![]() ![]() | Σ | 0..1 | Amount of medication per dose | |
|
Range | |||
|
SimpleQuantity | |||
|
Σ | 0..1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SimpleQuantity |
|
|
Σ | 0..1 | Ratio | Upper limit on medication per unit of time |
|
Σ | 0..1 |
|
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
< <!-- from Element: --> < < <</additionalInstruction> <<Dosage xmlns="http://hl7.org/fhir"> <!-- from BackboneElement: extension, modifierExtension --> <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]><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]><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><</rate[x]> </[name]></Dosage>
JSON Template
{
"resourceType" : "",
// from Element:
"
"
"
"
"
">,
" },
"
"
"
" },
" },
"
"
"
" }
" }
" }
// from BackboneElement: extension, modifierExtension
"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:# from BackboneElement: Element.extension, BackboneElement.modifierextension fhir:Dosage.sequence [ integer ]; # 0..1 The order of the dosage instructions fhir:Dosage.text [ string ]; # 0..1 Free text dosage instructions e.g. SIGfhir: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# . One of these 2# 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# . One of these 2 fhir: ] fhir:) ]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# . One of these 3 fhir: ] fhir: ] fhir:) ]]
Changes
since
DSTU2
Release
3
| Dosage | |
| Dosage.doseAndRate |
|
| Dosage.doseAndRate.type |
|
| Dosage.doseAndRate.dose[x] |
|
| Dosage.doseAndRate.rate[x] |
|
| Dosage.dose[x] |
|
| Dosage.rate[x] |
|
This
complex-type
did
not
exist
in
Release
2
See
the
Full
Difference
for
further
information
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
Σ TU |
|
How
the
medication
is/was
taken
or
should
be
taken
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.
SNOMED CT Additional Dosage Instructions ( Example ) |
|
Σ | 0..1 | string | Patient or consumer oriented instructions |
|
Σ | 0..1 | Timing | When medication should be administered |
|
Σ | 0..1 |
Take
SNOMED CT Medication As Needed Reason Codes ( Example ) |
|
|
boolean | |||
|
CodeableConcept | |||
|
Σ | 0..1 | CodeableConcept |
Body
site
to
administer
to
SNOMED CT Anatomical Structure for Administration Site Codes ( Example ) |
|
Σ | 0..1 | CodeableConcept |
How
drug
should
enter
body
SNOMED CT Route Codes ( Example ) |
|
Σ | 0..1 | CodeableConcept |
Technique
for
administering
medication
SNOMED CT Administration Method Codes ( Example ) |
|
Σ | 0..* | Element |
Amount
of
medication
administered
|
![]() ![]() ![]() | Σ | 1..1 | CodeableConcept |
The
kind
of
dose
or
rate
specified
DoseAndRateType ( Example ) |
![]() ![]() ![]() | Σ | 0..1 | Amount of medication per dose | |
|
Range | |||
|
SimpleQuantity | |||
|
Σ | 0..1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SimpleQuantity |
|
|
Σ | 0..1 | 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
< <!-- from Element: --> < < <</additionalInstruction> <<Dosage xmlns="http://hl7.org/fhir"> <!-- from BackboneElement: extension, modifierExtension --> <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]><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]><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><</rate[x]> </[name]></Dosage>
JSON Template
{
"resourceType" : "",
// from Element:
"
"
"
"
"
">,
" },
"
"
"
" },
" },
"
"
"
" }
" }
" }
// from BackboneElement: extension, modifierExtension
"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:# from BackboneElement: Element.extension, BackboneElement.modifierextension fhir:Dosage.sequence [ integer ]; # 0..1 The order of the dosage instructions fhir:Dosage.text [ string ]; # 0..1 Free text dosage instructions e.g. SIGfhir: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# . One of these 2# 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# . One of these 2 fhir: ] fhir:) ]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# . One of these 3 fhir: ] fhir: ] fhir:) ]]
Changes
since
DSTU2
Release
3
| Dosage | |
| Dosage.doseAndRate |
|
| Dosage.doseAndRate.type |
|
| Dosage.doseAndRate.dose[x] |
|
| Dosage.doseAndRate.rate[x] |
|
| Dosage.dose[x] |
|
| Dosage.rate[x] |
|
This
complex-type
did
not
exist
in
Release
2
See
the
Full
Difference
for
further
information
Constraints
Dosage is used in the following places: ActivityDefinition , MedicationDispense , MedicationKnowledge , MedicationRequest and MedicationStatement