Release 4 FHIR CI-Build

This page is part of the Continuous Integration Build of FHIR Specification (v4.0.1: R4 - Mixed Normative and STU ) in it's permanent home (it will always (will be available incorrect/inconsistent at this URL). The current version which supercedes this version is 5.0.0 . For a full list of available versions, see times).
See the Directory of published versions icon . Page versions: R5 R4B R4 R3

11.10.0 11.7.0 Dosage Regimes

Maturity Level : 3
Responsible Owner: Pharmacy icon Work Group Standards Status : Trial Use Normative

Types Framework Cross Reference: Base Types | Datatypes | Resources | Patterns

The Dosage structure defines related structures define general dosage instruction information typically represented in medication requests, medication dispenses and medication statements.

Note: There are four different types involved in the representation of Dosage structure Information:

  • DosageDetails : Summary of the dosage details, and orchestration of complex dosage regimes
  • Dosage : The core information about the dosage regime for a medication
  • DosageSafety : Information about dosage safety: dose limits for medications that have safety issues
  • DosageCondition : Expresses conditional rules for dosage regimes, such as 'take this medication if tolerated'

The examples page shows how many different complex dosage regimes are represented using these structures.

Note to Balloters: The way Medication dosage regimes are represented and used has undergone extensive reorganization with breaking changes in R6:

  • The dosageInstruction element in MedicationRequest, MedicationDispense, and MedicationStatement has changed from multiple Dosage elements (0..*) to a single DosageDetails element (0..1)
  • Complex dosing regimes are now represented within DosageDetails using steps and components rather than multiple Dosage instances
  • The DosageDetails data type allows modifier combining multiple dosages and replaces the use of .sequence.
  • There are changes to the Boundaries for MedicationRequest
  • The Timing datatype has related changes - namely the addition of startOffset and endOffset .

Balloters should pay careful attention to these structures and the examples .

Dosages may contain renderedInstruction and/or structured data (as a simple dosage or a complex sequence of step elements).

The rendered instructions are typical prescription instructions, with a relatively concise expression that is mostly understood by human. If the Medication related resources (request, dispense, or statement) are only serving the purpose of human mediated medication functionality, it's sufficient to populate renderedInstruction , and leave the rest of the structure empty.

However in many contexts, it is good to augment the human readable instructions with precisely formulated dosage regimes so that medication management systems can assist with correct and safe administration. As of the publication of this specification, GenAI services are mostly able to decode correct renderedInstructions correctly, but this can't be assumed correct (and not just because of AI limitations), so in any context where there is interest in providing medication management support, the dosage structure should be fully populated.

However, even after it's fully populated, it's not unusual for the renderedInstruction to contain additional details not found in the structure, or found in the structure in extensions that not all systems can understand, so the renderedInstruction is always important to show to huamns. Even in the presence of fully populated structures, it's a challenge to produce good concise and readable renderedInstruction, so applications SHOULD always consider populating renderedInstruction.

The dosage model presented on this page does not address the following aspects of medication management:

  • Complex Titration based dosage regimes
  • Cross-medication dosage orchestration and safety management
  • Medication regimes that are intimately linked to wider care planning regimes

For all of these challenges, the management and orchestration of the care process starts with PlanDefinition and/or RequestOrchestration . See also the MedicationRequest Boundaries .

The DosageDetails type is the container type for dosing information, and contains:

  • renderedInstruction : a single summary of the details in the dosage details
  • Either a simple dosage, or a complex dosage course with one or more step items, able to represent multiple dose regimes with tapering doses, and event relationships
  • safety information that represents dose limits for relevant medications

Structure

BackBoneElement
Name Flags Card. Type Description & Constraints      Filter: Filters doco
. . DosageDetails Σ N Element How the medication is/was taken or should be taken
+ Rule: Can only have a simple dose, or one or more steps in a sequence

Elements defined in Ancestors: id , extension , modifierExtension
... renderedInstruction Σ 0..1 markdown Full representation of the dosage instructions
... simple Σ 0..1 Dosage Dosage details if it is a simple dose
. . . step Σ TU 0..* Element One step in a sequence of steps that comprise the dosage course

. . . . start Σ 0..1 RelativeTime When the step starts
.... end Σ 0..1 RelativeTime When the step ends
.... count Σ 0..1 integer How many times to do this step (if not 1)
.... component Σ 1..* Dosage A dosage details that is part of this step

.... safety Σ 0..1 DosageSafety Safety Information about this step of the dose course

doco Documentation for this format icon

Definition: XML | JSON

UML Diagram ( Legend )

DosageDetails The full representation of the dose of the medication included in all dosage instructions. To be used when multiple dosage instructions are included to represent complex dosing such as increasing or tapering doses renderedInstruction : markdown [0..1] Dosage details if it is a simple dose - a single dosage regime with no dependencies or multiple steps simple : Dosage [0..1] Safety Information about the combined dose course safety : DosageSafety [0..1] Step When the step starts. In the absence of a linked event, the step is assumed to start immediately (or after the previous step) start : RelativeTime [0..1] When the step ends. In the absence of a linked event, the step is assumed to end when the internal timing schedule termnates end : RelativeTime [0..1] How many times to do this step (if not 1) count : integer [0..1] A dosage details that is part of this step component : Dosage [1..*] Safety Information about this step of the dose course safety : DosageSafety [0..1] BackboneType May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself) (this element modifies the meaning of other elements) modifierExtension : Extension [0..*] One step in a sequence of steps that comprise the dosage course step [0..*]

XML Template


<DosageDetails xmlns="http://hl7.org/fhir">
 <!-- from Element: extension -->
 <renderedInstruction value="[markdown]"/><!-- 0..1 Full representation of the dosage instructions -->
 <simple><!-- 0..1 Dosage Dosage details if it is a simple dose --></simple>
 <step>  <!-- 0..* One step in a sequence of steps that comprise the dosage course -->
  <start><!-- 0..1 RelativeTime When the step starts --></start>
  <end><!-- 0..1 RelativeTime When the step ends --></end>
  <count value="[integer]"/><!-- 0..1 How many times to do this step (if not 1) -->
  <component><!-- 1..* Dosage A dosage details that is part of this step --></component>
  <safety><!-- 0..1 DosageSafety Safety Information about this step of the dose course --></safety>
 </step>
 <safety><!-- 0..1 DosageSafety Safety Information about the combined dose course --></safety>
</DosageDetails>

Turtle Template


@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: fhir:extension
  fhir:renderedInstruction [ markdown ] ; # 0..1 Full representation of the dosage instructions
  fhir:simple [ Dosage ] ; # 0..1 Dosage details if it is a simple dose
  fhir:step ( [ # 0..* One step in a sequence of steps that comprise the dosage course
    fhir:start [ RelativeTime ] ; # 0..1 When the step starts
    fhir:end [ RelativeTime ] ; # 0..1 When the step ends
    fhir:count [ integer ] ; # 0..1 How many times to do this step (if not 1)
    fhir:component  ( [ Dosage ] ... ) ; # 1..* A dosage details that is part of this step
    fhir:safety [ DosageSafety ] ; # 0..1 Safety Information about this step of the dose course
  ] ... ) ;
  fhir:safety [ DosageSafety ] ; # 0..1 Safety Information about the combined dose course
]

Changes since Release 4

Changes from both R4 and R4B

This complex-type did not exist in Release R4

See the Full Difference for further information

Structure

Name Flags Card. Type Description & Constraints      Filter: Filtersdoco
.. DosageDetails Σ N Element How the medication is/was taken or should be taken
+ Rule: Can only have a simple dose, or one or more steps in a sequence

Elements defined in Ancestors: id , extension , modifierExtension
. . sequence . renderedInstruction Σ 0..1 markdown Full representation of the dosage instructions
... simple Σ 0..1 Dosage Dosage details if it is a simple dose
... step Σ 0..* Element One step in a sequence of steps that comprise the dosage course

.... start Σ 0..1 RelativeTime When the step starts
.... end Σ 0..1 RelativeTime When the step ends
.... count Σ 0..1 integer How many times to do this step (if not 1)
. . . . component Σ 1..* Dosage A dosage details that is part of this step

.... safety Σ 0..1 DosageSafety Safety Information about this step of the dose course

doco Documentation for this format icon

UML Diagram ( Legend )

DosageDetails The order full representation of the dose of the medication included in all dosage instructions. To be used when multiple dosage instructions are included to represent complex dosing such as increasing or tapering doses renderedInstruction : markdown [0..1] Dosage details if it is a simple dose - a single dosage regime with no dependencies or multiple steps simple : Dosage [0..1] Safety Information about the combined dose course safety : DosageSafety [0..1] Step When the step starts. In the absence of a linked event, the step is assumed to start immediately (or after the previous step) start : RelativeTime [0..1] When the step ends. In the absence of a linked event, the step is assumed to end when the internal timing schedule termnates end : RelativeTime [0..1] How many times to do this step (if not 1) count : integer [0..1] A dosage details that is part of this step component : Dosage [1..*] Safety Information about this step of the dose course safety : DosageSafety [0..1] BackboneType May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself) (this element modifies the meaning of other elements) modifierExtension : Extension [0..*] One step in a sequence of steps that comprise the dosage course step [0..*]

XML Template


<DosageDetails xmlns="http://hl7.org/fhir">
 <!-- from Element: extension -->
 <renderedInstruction value="[markdown]"/><!-- 0..1 Full representation of the dosage instructions -->
 <simple><!-- 0..1 Dosage Dosage details if it is a simple dose --></simple>
 <step>  <!-- 0..* One step in a sequence of steps that comprise the dosage course -->
  <start><!-- 0..1 RelativeTime When the step starts --></start>
  <end><!-- 0..1 RelativeTime When the step ends --></end>
  <count value="[integer]"/><!-- 0..1 How many times to do this step (if not 1) -->
  <component><!-- 1..* Dosage A dosage details that is part of this step --></component>
  <safety><!-- 0..1 DosageSafety Safety Information about this step of the dose course --></safety>
 </step>
 <safety><!-- 0..1 DosageSafety Safety Information about the combined dose course --></safety>
</DosageDetails>

Turtle Template


@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: fhir:extension
  fhir:renderedInstruction [ markdown ] ; # 0..1 Full representation of the dosage instructions
  fhir:simple [ Dosage ] ; # 0..1 Dosage details if it is a simple dose
  fhir:step ( [ # 0..* One step in a sequence of steps that comprise the dosage course
    fhir:start [ RelativeTime ] ; # 0..1 When the step starts
    fhir:end [ RelativeTime ] ; # 0..1 When the step ends
    fhir:count [ integer ] ; # 0..1 How many times to do this step (if not 1)
    fhir:component  ( [ Dosage ] ... ) ; # 1..* A dosage details that is part of this step
    fhir:safety [ DosageSafety ] ; # 0..1 Safety Information about this step of the dose course
  ] ... ) ;
  fhir:safety [ DosageSafety ] ; # 0..1 Safety Information about the combined dose course
]

Changes from both R4 and R4B

This complex-type did not exist in Release R4

See the Full Difference for further information

Constraints

id Level Location Description Expression
img  dosdet-1 Rule (base) Can only have a simple dose, or one or more steps in a sequence simple.empty() or step.empty()

Note: the DosageDetails structure allows modifier extensions .

When a DosageDetails contains multiple steps, the steps are sequential - the dosage course follows through the steps one at a time. Each step has to specify an end condition - either by explicitly linking the step to some external event, or by specifying a limit on the timing of the event using either Timing.repeat.bounds[x] or Timing.repeat.count on the Timing data type.

Each step may include one or more component entries.

When there more than one component dosages in a step, all components within the same step are considered concurrent. Typically, there are multiple components for the following reasons:

  • Different dosages on different days, or different times of the day
  • An instruction to take a medication, with an additional instruction for PRN, usually with restrictions around the PRN usage
  • Different dosages for different clinical conditions

If there are multiple components, and they specify different bounds for their repeating events, the step lasts as long as the longest component.

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

The Dosage data type describes a single course of medication application. The course is a consistent application of a medication one or more times, as specified by the dosage details.

Structure

Σ Upper limit on medication per lifetime of
Name Flags Card. Type Description & Constraints      Filter: Filtersdoco
.. Dosage Σ N 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
... condition Σ 0..* DosageCondition Whether the dosage applies (e.g. as a whole) (any can be true)

. . . 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"
Binding: SNOMED CT Additional Dosage Instructions ( Example )

. . . timing Σ 0..1 Timing When medication should be administered
. . asNeeded[x] . asNeeded Σ C 0..1 boolean Take "as needed" (for x)
SNOMED CT Medication As Needed Reason Codes ( Example )
. . asNeededBoolean boolean . asNeededFor asNeededCodeableConcept Σ C 0..* CodeableConcept Take "as needed" (for x)
Binding: SNOMED CT Medication As Needed Reason Codes ( Example )

. . . site Σ 0..1 CodeableConcept Body site to administer to
Binding: SNOMED CT Anatomical Structure for Administration Site Codes ( Example )
. . . route Σ 0..1 CodeableConcept How drug should enter body
Binding: SNOMED CT Route Codes ( Example )
. . . method Σ 0..1 CodeableConcept Technique for administering medication
Binding: SNOMED CT Administration Method Codes ( Example )
. . . doseAndRate Σ 0..* Element Amount of medication administered, to be administered or typical amount to be administered

. . . . type Σ 0..1 CodeableConcept The kind of dose or rate specified
Binding: DoseAndRateType icon ( Example )
. . . . dose[x] Σ 0..1 Amount of medication per dose
. . . . . doseRange Range
. . . . . doseQuantity SimpleQuantity
. . . . rate[x] . doseExpression Σ Expression 0..1
. . . . rate[x] Σ 0..1 Amount of medication per unit of time
. . . . . rateRatio Ratio
. . . . . rateRange Range
. . . . . rateQuantity SimpleQuantity
. maxDosePerPeriod Σ 0..1 Ratio Upper limit on medication per unit of time . . . maxDosePerAdministration . rateExpression 0..1 SimpleQuantity Expression Upper limit on medication per administration
. . . maxDosePerLifetime safety Σ 0..1 SimpleQuantity DosageSafety Safety Information about the patient this dosage instructions

doco Documentation for this format icon

Definition: XML | JSON

UML Diagram ( Legend )

BackboneElement Extensions - as described for all elements: additional information that is not part of the basic definition of the resource / type extension : Extension 0..* Modifier Extensions - as described for some elements: additional information that is not part of the basic definition of the resource / type that modifies the interpretation of the containing element modifierExtension : Extension 0..* Dosage Indicates the order in which Whether the dosage instructions should be applied or interpreted applies (e.g. as a whole). The Disage applies if any of the conditions are true sequence condition : integer DosageCondition [0..1] [0..*] Free text dosage instructions e.g. SIG text : 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) SNOMEDCTAdditionalDosageInstr... ?? » Instructions in terms that are understood by the patient or consumer patientInstruction : string [0..1] When medication should be administered timing : Timing [0..1] Indicates whether the Medication is only taken when needed within a specific dosing schedule (Boolean option), option) asNeeded : boolean [0..1] « This element has or it indicates is affected by some invariants C » Indicates whether the Medication is only taken based on a precondition for taking the Medication (CodeableConcept) asNeeded[x] asNeededFor : Type [0..1] « boolean | CodeableConcept ; [0..*] « 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) SNOMEDCTMedicationAsNeededRea... ?? » « This element has or is affected by some invariants C » Body site to administer to site : CodeableConcept [0..1] « A coded concept describing the site location the medicine enters into or onto the body. (Strength=Example) SNOMEDCTAnatomicalStructureFo... SNOMEDCTAnatomicalStructureAd... ?? » How drug should enter body route : 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) SNOMEDCTRouteCodes ?? » Technique for administering medication method : CodeableConcept [0..1] « A coded concept describing the technique by which the medicine is administered. (Strength=Example) SNOMEDCTAdministrationMethodC... ?? » Upper limit on medication per unit of time maxDosePerPeriod : Ratio [0..1] Upper limit on medication per administration maxDosePerAdministration : Quantity ( SimpleQuantity ) [0..1] Upper limit on medication per lifetime of Safety Information about the patient this dosage instructions maxDosePerLifetime safety : Quantity ( SimpleQuantity DosageSafety ) [0..1] DoseAndRate The kind of dose or rate specified, for example, ordered or calculated type : CodeableConcept [0..1] « The kind of dose or rate specified. (Strength=Example) DoseAndRateType ?? » Amount of medication per dose dose[x] : Type DataType [0..1] « Range | Quantity ( SimpleQuantity ) )| Expression » Amount of medication per unit of time rate[x] : Type DataType [0..1] « Ratio | Range | Quantity ( SimpleQuantity ) )| Expression » BackboneType May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself) (this element modifies the meaning of other elements) modifierExtension : Extension [0..*] The Depending on the resource,this is the amount of medication administered, to be administered or typical amount to be administered doseAndRate [0..*]

XML Template

<Dosage xmlns="http://hl7.org/fhir">
 <!-- from BackboneElement:  -->
 <

 <!-- from Element: extension -->
 <condition><!-- 0..* DosageCondition Whether the dosage applies (e.g. as a whole) (any can be true) --></condition>

 <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 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>
 <
  <</type>
  <</dose[x]>
  <</rate[x]>

 <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)|Expression Amount of medication per dose --></dose[x]>
  <rate[x]><!-- 0..1 Ratio|Range|Quantity(SimpleQuantity)|Expression Amount of medication per unit of time --></rate[x]>

 </doseAndRate>
 <</maxDosePerPeriod>
 <</maxDosePerAdministration>
 <</maxDosePerLifetime>

 <safety><!-- 0..1 DosageSafety Safety Information about the this dosage instructions --></safety>

</Dosage>

JSON Template

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .

[
 # from BackboneElement: 
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  # . One of these 2
    fhir: ]
    fhir: ]
  fhir:
  fhir:
  fhir:
  fhir:
    fhir:
    # . One of these 2
      fhir: ]
      fhir:) ]
    # . One of these 3
      fhir: ]
      fhir: ]
      fhir:) ]
  ], ...;
  fhir:
  fhir:
  fhir:

 # from Element: fhir:extension
  fhir:condition  ( [ DosageCondition ] ... ) ; # 0..* Whether the dosage applies (e.g. as a whole) (any can be true)
  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 3
      fhir:dose [  a fhir:Range ; Range ]
      fhir:dose [  a fhir:SimpleQuantity ; Quantity(SimpleQuantity) ]
      fhir:dose [  a fhir:Expression ; Expression ]
    # rate[x] : 0..1 Amount of medication per unit of time. One of these 4
      fhir:rate [  a fhir:Ratio ; Ratio ]
      fhir:rate [  a fhir:Range ; Range ]
      fhir:rate [  a fhir:SimpleQuantity ; Quantity(SimpleQuantity) ]
      fhir:rate [  a fhir:Expression ; Expression ]
  ] ... ) ;
  fhir:safety [ DosageSafety ] ; # 0..1 Safety Information about the this dosage instructions

]

Changes since Release 3 4

Changes from both R4 and R4B

Dosage
Dosage.doseAndRate Dosage.condition
  • Added Element
Dosage.asNeeded
  • Renamed from asNeeded[x] to asNeeded
  • Remove Type CodeableConcept
Dosage.doseAndRate.type Dosage.asNeededFor
  • Added Element
Dosage.doseAndRate.dose[x]
  • Added Element Add Type Expression
Dosage.doseAndRate.rate[x]
  • Add Type Expression
Dosage.safety
  • Added Element
Dosage.dose[x] Dosage.sequence
  • deleted Deleted
Dosage.rate[x] Dosage.maxDosePerPeriod
  • deleted Deleted
Dosage.maxDosePerAdministration
  • Deleted
Dosage.maxDosePerLifetime
  • Deleted

See the Full Difference for further information

Structure

0..1 The order of Σ Upper limit on medication per lifetime of
Name Flags Card. Type Description & Constraints      Filter: Filters doco
. . Dosage Σ TU N BackBoneElement 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
. . sequence . condition Σ 0..* integer DosageCondition Whether the dosage instructions applies (e.g. as a whole) (any can be true)

. . . 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"
Binding: SNOMED CT Additional Dosage Instructions ( Example )

. . . timing Σ 0..1 Timing When medication should be administered
. . asNeeded[x] . asNeeded Σ C 0..1 boolean Take "as needed" (for x)
SNOMED CT Medication As Needed Reason Codes ( Example )
. . asNeededBoolean boolean . asNeededFor asNeededCodeableConcept Σ C 0..* CodeableConcept Take "as needed" (for x)
Binding: SNOMED CT Medication As Needed Reason Codes ( Example )

. . . site Σ 0..1 CodeableConcept Body site to administer to
Binding: SNOMED CT Anatomical Structure for Administration Site Codes ( Example )
. . . route Σ 0..1 CodeableConcept How drug should enter body
Binding: SNOMED CT Route Codes ( Example )
. . . method Σ 0..1 CodeableConcept Technique for administering medication
Binding: SNOMED CT Administration Method Codes ( Example )
. . . doseAndRate Σ 0..* Element Amount of medication administered, to be administered or typical amount to be administered

. . . . type Σ 0..1 CodeableConcept The kind of dose or rate specified
Binding: DoseAndRateType icon ( Example )
. . . . dose[x] Σ 0..1 Amount of medication per dose
. . . . . doseRange Range
. . . . . doseQuantity SimpleQuantity
. . . . rate[x] . doseExpression Σ Expression 0..1
. . . . rate[x] Σ 0..1 Amount of medication per unit of time
. . . . . rateRatio Ratio
. . . . . rateRange Range
. . . . . rateQuantity SimpleQuantity
. maxDosePerPeriod Σ 0..1 Ratio Upper limit on medication per unit of time . . . maxDosePerAdministration . rateExpression 0..1 SimpleQuantity Expression Upper limit on medication per administration
. . . maxDosePerLifetime safety Σ 0..1 SimpleQuantity DosageSafety Safety Information about the patient this dosage instructions

doco Documentation for this format icon

UML Diagram ( Legend )

BackboneElement Extensions - as described for all elements: additional information that is not part of the basic definition of the resource / type extension : Extension 0..* Modifier Extensions - as described for some elements: additional information that is not part of the basic definition of the resource / type that modifies the interpretation of the containing element modifierExtension : Extension 0..* Dosage Indicates the order in which Whether the dosage instructions should be applied or interpreted applies (e.g. as a whole). The Disage applies if any of the conditions are true sequence condition : integer DosageCondition [0..1] [0..*] Free text dosage instructions e.g. SIG text : 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) SNOMEDCTAdditionalDosageInstr... ?? » Instructions in terms that are understood by the patient or consumer patientInstruction : string [0..1] When medication should be administered timing : Timing [0..1] Indicates whether the Medication is only taken when needed within a specific dosing schedule (Boolean option), option) asNeeded : boolean [0..1] « This element has or it indicates is affected by some invariants C » Indicates whether the Medication is only taken based on a precondition for taking the Medication (CodeableConcept) asNeeded[x] asNeededFor : Type [0..1] « boolean | CodeableConcept ; [0..*] « 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) SNOMEDCTMedicationAsNeededRea... ?? » « This element has or is affected by some invariants C » Body site to administer to site : CodeableConcept [0..1] « A coded concept describing the site location the medicine enters into or onto the body. (Strength=Example) SNOMEDCTAnatomicalStructureFo... SNOMEDCTAnatomicalStructureAd... ?? » How drug should enter body route : 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) SNOMEDCTRouteCodes ?? » Technique for administering medication method : CodeableConcept [0..1] « A coded concept describing the technique by which the medicine is administered. (Strength=Example) SNOMEDCTAdministrationMethodC... ?? » Upper limit on medication per unit of time maxDosePerPeriod : Ratio [0..1] Upper limit on medication per administration maxDosePerAdministration : Quantity ( SimpleQuantity ) [0..1] Upper limit on medication per lifetime of Safety Information about the patient this dosage instructions maxDosePerLifetime safety : Quantity ( SimpleQuantity DosageSafety ) [0..1] DoseAndRate The kind of dose or rate specified, for example, ordered or calculated type : CodeableConcept [0..1] « The kind of dose or rate specified. (Strength=Example) DoseAndRateType ?? » Amount of medication per dose dose[x] : Type DataType [0..1] « Range | Quantity ( SimpleQuantity ) )| Expression » Amount of medication per unit of time rate[x] : Type DataType [0..1] « Ratio | Range | Quantity ( SimpleQuantity ) )| Expression » BackboneType May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself) (this element modifies the meaning of other elements) modifierExtension : Extension [0..*] The Depending on the resource,this is the amount of medication administered, to be administered or typical amount to be administered doseAndRate [0..*]

XML Template

<Dosage xmlns="http://hl7.org/fhir">
 <!-- from BackboneElement:  -->
 <

 <!-- from Element: extension -->
 <condition><!-- 0..* DosageCondition Whether the dosage applies (e.g. as a whole) (any can be true) --></condition>

 <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 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>
 <
  <</type>
  <</dose[x]>
  <</rate[x]>

 <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)|Expression Amount of medication per dose --></dose[x]>
  <rate[x]><!-- 0..1 Ratio|Range|Quantity(SimpleQuantity)|Expression Amount of medication per unit of time --></rate[x]>

 </doseAndRate>
 <</maxDosePerPeriod>
 <</maxDosePerAdministration>
 <</maxDosePerLifetime>

 <safety><!-- 0..1 DosageSafety Safety Information about the this dosage instructions --></safety>

</Dosage>

JSON Template

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .

[
 # from BackboneElement: 
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  # . One of these 2
    fhir: ]
    fhir: ]
  fhir:
  fhir:
  fhir:
  fhir:
    fhir:
    # . One of these 2
      fhir: ]
      fhir:) ]
    # . One of these 3
      fhir: ]
      fhir: ]
      fhir:) ]
  ], ...;
  fhir:
  fhir:
  fhir:

 # from Element: fhir:extension
  fhir:condition  ( [ DosageCondition ] ... ) ; # 0..* Whether the dosage applies (e.g. as a whole) (any can be true)
  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 3
      fhir:dose [  a fhir:Range ; Range ]
      fhir:dose [  a fhir:SimpleQuantity ; Quantity(SimpleQuantity) ]
      fhir:dose [  a fhir:Expression ; Expression ]
    # rate[x] : 0..1 Amount of medication per unit of time. One of these 4
      fhir:rate [  a fhir:Ratio ; Ratio ]
      fhir:rate [  a fhir:Range ; Range ]
      fhir:rate [  a fhir:SimpleQuantity ; Quantity(SimpleQuantity) ]
      fhir:rate [  a fhir:Expression ; Expression ]
  ] ... ) ;
  fhir:safety [ DosageSafety ] ; # 0..1 Safety Information about the this dosage instructions

]

Changes since Release 3 from both R4 and R4B

Dosage
Dosage.doseAndRate Dosage.condition
  • Added Element
Dosage.asNeeded
  • Renamed from asNeeded[x] to asNeeded
  • Remove Type CodeableConcept
Dosage.doseAndRate.type Dosage.asNeededFor
  • Added Element
Dosage.doseAndRate.dose[x]
  • Added Element Add Type Expression
Dosage.doseAndRate.rate[x]
  • Add Type Expression
Dosage.safety
  • Added Element
Dosage.dose[x] Dosage.sequence
  • deleted Deleted
Dosage.rate[x] Dosage.maxDosePerPeriod
  • deleted Deleted
Dosage.maxDosePerAdministration
  • Deleted
Dosage.maxDosePerLifetime
  • Deleted

See the Full Difference for further information

Note: the Dosage structure allows modifier extensions .

Constraints

id Level Location Description Expression
img  dos-1 Rule (base) AsNeededFor can only be set if AsNeeded is empty or true asNeededFor.empty() or asNeeded.empty() or asNeeded

Terminology Bindings

Path ValueSet Type Documentation
Dosage.additionalInstruction SNOMEDCTAdditionalDosageInstructions Example

This value set includes all SNOMED CT Additional Dosage Instructions.

Dosage.asNeededFor SNOMEDCTMedicationAsNeededReasonCodes Example

This value set includes all clinical findings from SNOMED CT - provided as an exemplar value set.

Dosage.site SNOMEDCTAnatomicalStructureAdministrationSites Example

This value set includes Anatomical Structure codes from SNOMED CT - provided as an exemplar.

Dosage.route SNOMEDCTRouteCodes Example

This value set includes all Route codes from SNOMED CT - provided as an exemplar.

Dosage.method SNOMEDCTAdministrationMethodCodes Example

This value set includes some method codes from SNOMED CT - provided as an exemplar

Dosage.doseAndRate.type DoseAndRateType icon Example

The kind of dose or rate specified.

Dosage is used in the following places: DosageDetails and ActivityDefinition

The DosageSafety type represents safety information about the medicine - that is, dosage limitations associated with medications for which safety issues exists.

Structure

Name Flags Card. Type Description & Constraints      Filter: Filtersdoco
.. DosageSafety Σ N Element Safety Details about the usage of the medication

Elements defined in Ancestors: id , MedicationDispense , MedicationKnowledge extension , MedicationRequest modifierExtension
... doseLimit Σ 0..* Element A dose limit for safe use of the medication

.... value[x] Σ 1..1 Quantity that is safe to use
..... valueInteger integer
. . . . . valueQuantity Quantity
..... valueExpression Expression
.... scope Σ 1..1 code dosage | period | administration | lifetime - The scope of the dose limitation
Binding: Dose Limit Scope ValueSet ( Required )
.... period Σ 0..1 Duration The period over which the quantity is safe to use (if scope = period)
.... text Σ 0..1 string Additional notes about the dose limit
... ifExceeded Σ 0..1 string What to do if the instructions lead to exceeding the dose limits

doco Documentation for this format icon

Definition: XML | JSON

UML Diagram ( Legend )

DosageSafety What to do if the instructions lead to exceeding the dose limits ifExceeded : string [0..1] DoseLimit Quantity that is safe to use value[x] : DataType [1..1] « integer | Quantity | Expression » dosage | period | administration | lifetime - The scope of the dose limitation scope : code [1..1] « Definition. (Strength=Required) DoseLimitScopeVS ! » The period over which the quantity is safe to use (if scope = period) period : Duration [0..1] Additional notes about the dose limit text : string [0..1] BackboneType May be used to represent additional information that is not part of the basic definition of the element and MedicationStatement that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself) (this element modifies the meaning of other elements) modifierExtension : Extension [0..*] A dose limit for safe use of the medication doseLimit [0..*]

XML Template

<DosageSafety xmlns="http://hl7.org/fhir">
 <!-- from Element: extension -->
 <doseLimit>  <!-- 0..* A dose limit for safe use of the medication -->
  <value[x]><!-- 1..1 integer|Quantity|Expression Quantity that is safe to use --></value[x]>
  <scope value="[code]"/><!-- 1..1 dosage | period | administration | lifetime - The scope of the dose limitation -->
  <period><!-- 0..1 Duration The period over which the quantity is safe to use (if scope = period) --></period>
  <text value="[string]"/><!-- 0..1 Additional notes about the dose limit -->
 </doseLimit>
 <ifExceeded value="[string]"/><!-- 0..1 What to do if the instructions lead to exceeding the dose limits -->
</DosageSafety>

Turtle Template


@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: fhir:extension
  fhir:doseLimit ( [ # 0..* A dose limit for safe use of the medication
    # value[x] : 1..1 Quantity that is safe to use. One of these 3
      fhir:value [  a fhir:Integer ; integer ]
      fhir:value [  a fhir:Quantity ; Quantity ]
      fhir:value [  a fhir:Expression ; Expression ]
    fhir:scope [ code ] ; # 1..1 dosage | period | administration | lifetime - The scope of the dose limitation
    fhir:period [ Duration ] ; # 0..1 The period over which the quantity is safe to use (if scope = period)
    fhir:text [ string ] ; # 0..1 Additional notes about the dose limit
  ] ... ) ;
  fhir:ifExceeded [ string ] ; # 0..1 What to do if the instructions lead to exceeding the dose limits
]

Changes since Release 4

Changes from both R4 and R4B

This complex-type did not exist in Release R4

See the Full Difference for further information

Structure

Name Flags Card. Type Description & Constraints      Filter: Filters 11.10.0.2 Interpretation doco
. . DosageSafety Σ N Element Safety Details about the usage of Dosage the medication

Elements defined in Ancestors: id , extension , modifierExtension
... doseLimit Σ 0..* Element A dose limit for safe use of the medication

.... value[x] Σ 1..1 Quantity that is safe to use
..... valueInteger integer
..... valueQuantity Quantity
..... valueExpression Expression
.... scope Σ 1..1 code dosage | period | administration | lifetime - The scope of the dose limitation
Binding: Dose Limit Scope ValueSet ( Required )
.... period Σ 0..1 Duration The period over which the quantity is safe to use (if scope = period)
.... text Σ 0..1 string Additional notes about the dose limit
... ifExceeded Σ 0..1 string What to do if the instructions lead to exceeding the dose limits

doco Documentation for this format icon

UML Diagram ( Legend )

DosageSafety What to do if the instructions lead to exceeding the dose limits ifExceeded : string [0..1] DoseLimit Quantity that is safe to use value[x] : DataType [1..1] « integer | Quantity | Expression » dosage | period | administration | lifetime - The scope of the dose limitation scope : code [1..1] « Definition. (Strength=Required) DoseLimitScopeVS ! » The period over which the quantity is safe to use (if scope = period) period : Duration [0..1] Additional notes about the dose limit text : string [0..1] BackboneType May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself) (this element modifies the meaning of other elements) modifierExtension : Extension [0..*] A dose limit for safe use of the medication doseLimit [0..*]

XML Template


<DosageSafety xmlns="http://hl7.org/fhir">
 <!-- from Element: extension -->
 <doseLimit>  <!-- 0..* A dose limit for safe use of the medication -->
  <value[x]><!-- 1..1 integer|Quantity|Expression Quantity that is safe to use --></value[x]>
  <scope value="[code]"/><!-- 1..1 dosage | period | administration | lifetime - The scope of the dose limitation -->
  <period><!-- 0..1 Duration The period over which the quantity is safe to use (if scope = period) --></period>
  <text value="[string]"/><!-- 0..1 Additional notes about the dose limit -->
 </doseLimit>
 <ifExceeded value="[string]"/><!-- 0..1 What to do if the instructions lead to exceeding the dose limits -->
</DosageSafety>

Turtle Template


@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: fhir:extension
  fhir:doseLimit ( [ # 0..* A dose limit for safe use of the medication
    # value[x] : 1..1 Quantity that is safe to use. One of these 3
      fhir:value [  a fhir:Integer ; integer ]
      fhir:value [  a fhir:Quantity ; Quantity ]
      fhir:value [  a fhir:Expression ; Expression ]
    fhir:scope [ code ] ; # 1..1 dosage | period | administration | lifetime - The scope of the dose limitation
    fhir:period [ Duration ] ; # 0..1 The period over which the quantity is safe to use (if scope = period)
    fhir:text [ string ] ; # 0..1 Additional notes about the dose limit
  ] ... ) ;
  fhir:ifExceeded [ string ] ; # 0..1 What to do if the instructions lead to exceeding the dose limits
]

Changes from both R4 and R4B

This complex-type did not exist in Release R4

See the Full Difference for further information

A period can only be specified if the scope is 'period', in which case it must be present.

The DosageSafety type allows for representing multiple limits. Limits can defined for four different contexts scopes of interest:

administration A dose limit that applies for a single administration
dosage A dose limit that applies to the dosage structure where it is applied - either the entire dosage course, a specific step in the sequence, or a specific component
period A dose limit that applies over the specified time period, irrespective of the details of the dosage course (and, in principle, other medications that include the same active agent)
lifetime A dose limit that is a lifetime dose limit for the medication across all medication applications

There is no rule that there can only be one limit per scope, because there might be both absolute and context dependent limits, such as 'no more than 1g', and also 'no more than 5 ug/kg of body weight'.

Constraints

Terminology Bindings

Path ValueSet Type Documentation
DosageSafety.doseLimit.scope DoseLimitScopeVS (a valid code from Dose Limit Scope Codes ) Required

Additional Binding Purpose

DosageSafety is used in the following places: Dosage and DosageDetails

DosageCondition describes when the dosage regime is dependent on external events or conditions. Some examples of it's use:

  • Do this lesser dosage if the patient can't tolerate a higher dose
  • Use this medication if the patient can't tolerate some other medication
  • Use this dosage until symptoms resolve
  • Use this dosage if the medication is available in sufficient supply

Structure

Name Flags Card. Type Description & Constraints      Filter: Filtersdoco
.. DosageCondition Σ N Element Expresses that something is dependent on an event happening

Elements defined in Ancestors: id , extension , modifierExtension
... code Σ 1..1 CodeableConcept The specific event occurrence or resource context used as a base point (reference point) in time
Binding: Dose Limit Scope ValueSet ( Preferred )
... details Σ 0..1 CodeableConcept Additional details about the event - depends on the code
Binding: Dosage Condition Details VS ( Example )
... operation Σ 0..1 code eq | ne | in | nin | gt | lt | ge | le | sa | eb | ap
Binding: Dose Limit Scope ValueSet ( Required )
... text Σ 0..1 string Free-text description

doco Documentation for this format icon

Definition: XML | JSON

UML Diagram ( Legend )

DosageCondition The specific event occurrence or resource context used as a base point (reference point) in time. This establishes the context in which the 'path' is evaluated code : CodeableConcept [1..1] « The specific event occurrence or resource context used as a base point (reference point) in time. (Strength=Preferred) DoseLimitScopeVS ? » Additional details about the event - depends on the code details : CodeableConcept [0..1] « Additional details about the event - depends on the code. (Strength=Example) DosageConditionDetailsVS ?? » How the value is tested operation : code [0..1] « How the criteria value is tested. (Strength=Required) ComparisonOperationVS ! » The value for this critera value[x] : * [0..1] Free-text (human-readable) description text : string [0..1] BackboneType May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself) (this element modifies the meaning of other elements) modifierExtension : Extension [0..*]

JSON Template


{doco
  // from Element: extension
  "code" : { CodeableConcept }, // R!  The specific event occurrence or resource context used as a base point (reference point) in time
  "details" : { CodeableConcept }, // Additional details about the event - depends on the code
  "operation" : "<code>", // eq | ne | in | nin | gt | lt | ge | le | sa | eb | ap
  // value[x]: The value for this critera. One of these 55:

  "valueBase64Binary" : "<base64Binary>",
  "valueBoolean" : <boolean>,
  "valueCanonical" : "<canonical>",
  "valueCode" : "<code>",
  "valueDate" : "<date>",
  "valueDateTime" : "<dateTime>",
  "valueDecimal" : <decimal>,
  "valueId" : "<id>",
  "valueInstant" : "<instant>",
  "valueInteger" : <integer>,
  "valueInteger64" : "<integer64>",
  "valueMarkdown" : "<markdown>",
  "valueOid" : "<oid>",
  "valuePositiveInt" : "<positiveInt>",
  "valueString" : "<string>",
  "valueTime" : "<time>",
  "valueUnsignedInt" : "<unsignedInt>",
  "valueUri" : "<uri>",
  "valueUrl" : "<url>",
  "valueUuid" : "<uuid>",
  "valueAddress" : { Address },
  "valueAge" : { Age },
  "valueAnnotation" : { Annotation },
  "valueAttachment" : { Attachment },
  "valueCodeableConcept" : { CodeableConcept },
  "valueCodeableReference" : { CodeableReference },
  "valueCoding" : { Coding },
  "valueContactPoint" : { ContactPoint },
  "valueCount" : { Count },
  "valueDistance" : { Distance },
  "valueDuration" : { Duration },
  "valueHumanName" : { HumanName },
  "valueIdentifier" : { Identifier },
  "valueMoney" : { Money },
  "valuePeriod" : { Period },
  "valueQuantity" : { Quantity },
  "valueRange" : { Range },
  "valueRatio" : { Ratio },
  "valueRatioRange" : { RatioRange },
  "valueReference" : { Reference },
  "valueSampledData" : { SampledData },
  "valueSignature" : { Signature },
  "valueTiming" : { Timing },
  "valueContactDetail" : { ContactDetail },
  "valueDataRequirement" : { DataRequirement },
  "valueExpression" : { Expression },
  "valueParameterDefinition" : { ParameterDefinition },
  "valueRelatedArtifact" : { RelatedArtifact },
  "valueTriggerDefinition" : { TriggerDefinition },
  "valueUsageContext" : { UsageContext },
  "valueAvailability" : { Availability },
  "valueExtendedContactDetail" : { ExtendedContactDetail },
  "valueVirtualServiceDetail" : { VirtualServiceDetail },
  "valueDosage" : { Dosage },
  "valueMeta" : { Meta },
  "text" : "<string>" // Free-text description
}

Turtle Template


@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: fhir:extension
  fhir:code [ CodeableConcept ] ; # 1..1 The specific event occurrence or resource context used as a base point (reference point) in time
  fhir:details [ CodeableConcept ] ; # 0..1 Additional details about the event - depends on the code
  fhir:operation [ code ] ; # 0..1 eq | ne | in | nin | gt | lt | ge | le | sa | eb | ap
  # value[x] : 0..1 The value for this critera. One of these 55
    fhir:value [  a fhir:Base64Binary ; base64Binary ]
    fhir:value [  a fhir:Boolean ; boolean ]
    fhir:value [  a fhir:Canonical ; canonical ]
    fhir:value [  a fhir:Code ; code ]
    fhir:value [  a fhir:Date ; date ]
    fhir:value [  a fhir:DateTime ; dateTime ]
    fhir:value [  a fhir:Decimal ; decimal ]
    fhir:value [  a fhir:Id ; id ]
    fhir:value [  a fhir:Instant ; instant ]
    fhir:value [  a fhir:Integer ; integer ]
    fhir:value [  a fhir:Integer64 ; integer64 ]
    fhir:value [  a fhir:Markdown ; markdown ]
    fhir:value [  a fhir:Oid ; oid ]
    fhir:value [  a fhir:PositiveInt ; positiveInt ]
    fhir:value [  a fhir:String ; string ]
    fhir:value [  a fhir:Time ; time ]
    fhir:value [  a fhir:UnsignedInt ; unsignedInt ]
    fhir:value [  a fhir:Uri ; uri ]
    fhir:value [  a fhir:Url ; url ]
    fhir:value [  a fhir:Uuid ; uuid ]
    fhir:value [  a fhir:Address ; Address ]
    fhir:value [  a fhir:Age ; Age ]
    fhir:value [  a fhir:Annotation ; Annotation ]
    fhir:value [  a fhir:Attachment ; Attachment ]
    fhir:value [  a fhir:CodeableConcept ; CodeableConcept ]
    fhir:value [  a fhir:CodeableReference ; CodeableReference ]
    fhir:value [  a fhir:Coding ; Coding ]
    fhir:value [  a fhir:ContactPoint ; ContactPoint ]
    fhir:value [  a fhir:Count ; Count ]
    fhir:value [  a fhir:Distance ; Distance ]
    fhir:value [  a fhir:Duration ; Duration ]
    fhir:value [  a fhir:HumanName ; HumanName ]
    fhir:value [  a fhir:Identifier ; Identifier ]
    fhir:value [  a fhir:Money ; Money ]
    fhir:value [  a fhir:Period ; Period ]
    fhir:value [  a fhir:Quantity ; Quantity ]
    fhir:value [  a fhir:Range ; Range ]
    fhir:value [  a fhir:Ratio ; Ratio ]
    fhir:value [  a fhir:RatioRange ; RatioRange ]
    fhir:value [  a fhir:Reference ; Reference ]
    fhir:value [  a fhir:SampledData ; SampledData ]
    fhir:value [  a fhir:Signature ; Signature ]
    fhir:value [  a fhir:Timing ; Timing ]
    fhir:value [  a fhir:ContactDetail ; ContactDetail ]
    fhir:value [  a fhir:DataRequirement ; DataRequirement ]
    fhir:value [  a fhir:Expression ; Expression ]
    fhir:value [  a fhir:ParameterDefinition ; ParameterDefinition ]
    fhir:value [  a fhir:RelatedArtifact ; RelatedArtifact ]
    fhir:value [  a fhir:TriggerDefinition ; TriggerDefinition ]
    fhir:value [  a fhir:UsageContext ; UsageContext ]
    fhir:value [  a fhir:Availability ; Availability ]
    fhir:value [  a fhir:ExtendedContactDetail ; ExtendedContactDetail ]
    fhir:value [  a fhir:VirtualServiceDetail ; VirtualServiceDetail ]
    fhir:value [  a fhir:Dosage ; Dosage ]
    fhir:value [  a fhir:Meta ; Meta ]
  fhir:text [ string ] ; # 0..1 Free-text description
]

Changes since Release 4

Changes from both R4 and R4B

This complex-type did not exist in Release R4

See the Full Difference for further information

Structure

Name Flags Card. Type Description & Constraints      Filter: Filtersdoco
.. DosageCondition Σ N Element Expresses that something is dependent on an event happening

Elements defined in Ancestors: id , extension , modifierExtension
... code Σ 1..1 CodeableConcept The specific event occurrence or resource context used as a base point (reference point) in time
Binding: Dose Limit Scope ValueSet ( Preferred )
... details Σ 0..1 CodeableConcept Additional details about the event - depends on the code
Binding: Dosage Condition Details VS ( Example )
... operation Σ 0..1 code eq | ne | in | nin | gt | lt | ge | le | sa | eb | ap
Binding: Dose Limit Scope ValueSet ( Required )
... text Σ 0..1 string Free-text description

doco Documentation for this format icon

UML Diagram ( Legend )

DosageCondition The specific event occurrence or resource context used as a base point (reference point) in time. This establishes the context in which the 'path' is evaluated code : CodeableConcept [1..1] « The specific event occurrence or resource context used as a base point (reference point) in time. (Strength=Preferred) DoseLimitScopeVS ? » Additional details about the event - depends on the code details : CodeableConcept [0..1] « Additional details about the event - depends on the code. (Strength=Example) DosageConditionDetailsVS ?? » How the value is tested operation : code [0..1] « How the criteria value is tested. (Strength=Required) ComparisonOperationVS ! » The value for this critera value[x] : * [0..1] Free-text (human-readable) description text : string [0..1] BackboneType May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself) (this element modifies the meaning of other elements) modifierExtension : Extension [0..*]

JSON Template


{doco
  // from Element: extension
  "code" : { CodeableConcept }, // R!  The specific event occurrence or resource context used as a base point (reference point) in time
  "details" : { CodeableConcept }, // Additional details about the event - depends on the code
  "operation" : "<code>", // eq | ne | in | nin | gt | lt | ge | le | sa | eb | ap
  // value[x]: The value for this critera. One of these 55:

  "valueBase64Binary" : "<base64Binary>",
  "valueBoolean" : <boolean>,
  "valueCanonical" : "<canonical>",
  "valueCode" : "<code>",
  "valueDate" : "<date>",
  "valueDateTime" : "<dateTime>",
  "valueDecimal" : <decimal>,
  "valueId" : "<id>",
  "valueInstant" : "<instant>",
  "valueInteger" : <integer>,
  "valueInteger64" : "<integer64>",
  "valueMarkdown" : "<markdown>",
  "valueOid" : "<oid>",
  "valuePositiveInt" : "<positiveInt>",
  "valueString" : "<string>",
  "valueTime" : "<time>",
  "valueUnsignedInt" : "<unsignedInt>",
  "valueUri" : "<uri>",
  "valueUrl" : "<url>",
  "valueUuid" : "<uuid>",
  "valueAddress" : { Address },
  "valueAge" : { Age },
  "valueAnnotation" : { Annotation },
  "valueAttachment" : { Attachment },
  "valueCodeableConcept" : { CodeableConcept },
  "valueCodeableReference" : { CodeableReference },
  "valueCoding" : { Coding },
  "valueContactPoint" : { ContactPoint },
  "valueCount" : { Count },
  "valueDistance" : { Distance },
  "valueDuration" : { Duration },
  "valueHumanName" : { HumanName },
  "valueIdentifier" : { Identifier },
  "valueMoney" : { Money },
  "valuePeriod" : { Period },
  "valueQuantity" : { Quantity },
  "valueRange" : { Range },
  "valueRatio" : { Ratio },
  "valueRatioRange" : { RatioRange },
  "valueReference" : { Reference },
  "valueSampledData" : { SampledData },
  "valueSignature" : { Signature },
  "valueTiming" : { Timing },
  "valueContactDetail" : { ContactDetail },
  "valueDataRequirement" : { DataRequirement },
  "valueExpression" : { Expression },
  "valueParameterDefinition" : { ParameterDefinition },
  "valueRelatedArtifact" : { RelatedArtifact },
  "valueTriggerDefinition" : { TriggerDefinition },
  "valueUsageContext" : { UsageContext },
  "valueAvailability" : { Availability },
  "valueExtendedContactDetail" : { ExtendedContactDetail },
  "valueVirtualServiceDetail" : { VirtualServiceDetail },
  "valueDosage" : { Dosage },
  "valueMeta" : { Meta },
  "text" : "<string>" // Free-text description
}

Turtle Template


@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: fhir:extension
  fhir:code [ CodeableConcept ] ; # 1..1 The specific event occurrence or resource context used as a base point (reference point) in time
  fhir:details [ CodeableConcept ] ; # 0..1 Additional details about the event - depends on the code
  fhir:operation [ code ] ; # 0..1 eq | ne | in | nin | gt | lt | ge | le | sa | eb | ap
  # value[x] : 0..1 The value for this critera. One of these 55
    fhir:value [  a fhir:Base64Binary ; base64Binary ]
    fhir:value [  a fhir:Boolean ; boolean ]
    fhir:value [  a fhir:Canonical ; canonical ]
    fhir:value [  a fhir:Code ; code ]
    fhir:value [  a fhir:Date ; date ]
    fhir:value [  a fhir:DateTime ; dateTime ]
    fhir:value [  a fhir:Decimal ; decimal ]
    fhir:value [  a fhir:Id ; id ]
    fhir:value [  a fhir:Instant ; instant ]
    fhir:value [  a fhir:Integer ; integer ]
    fhir:value [  a fhir:Integer64 ; integer64 ]
    fhir:value [  a fhir:Markdown ; markdown ]
    fhir:value [  a fhir:Oid ; oid ]
    fhir:value [  a fhir:PositiveInt ; positiveInt ]
    fhir:value [  a fhir:String ; string ]
    fhir:value [  a fhir:Time ; time ]
    fhir:value [  a fhir:UnsignedInt ; unsignedInt ]
    fhir:value [  a fhir:Uri ; uri ]
    fhir:value [  a fhir:Url ; url ]
    fhir:value [  a fhir:Uuid ; uuid ]
    fhir:value [  a fhir:Address ; Address ]
    fhir:value [  a fhir:Age ; Age ]
    fhir:value [  a fhir:Annotation ; Annotation ]
    fhir:value [  a fhir:Attachment ; Attachment ]
    fhir:value [  a fhir:CodeableConcept ; CodeableConcept ]
    fhir:value [  a fhir:CodeableReference ; CodeableReference ]
    fhir:value [  a fhir:Coding ; Coding ]
    fhir:value [  a fhir:ContactPoint ; ContactPoint ]
    fhir:value [  a fhir:Count ; Count ]
    fhir:value [  a fhir:Distance ; Distance ]
    fhir:value [  a fhir:Duration ; Duration ]
    fhir:value [  a fhir:HumanName ; HumanName ]
    fhir:value [  a fhir:Identifier ; Identifier ]
    fhir:value [  a fhir:Money ; Money ]
    fhir:value [  a fhir:Period ; Period ]
    fhir:value [  a fhir:Quantity ; Quantity ]
    fhir:value [  a fhir:Range ; Range ]
    fhir:value [  a fhir:Ratio ; Ratio ]
    fhir:value [  a fhir:RatioRange ; RatioRange ]
    fhir:value [  a fhir:Reference ; Reference ]
    fhir:value [  a fhir:SampledData ; SampledData ]
    fhir:value [  a fhir:Signature ; Signature ]
    fhir:value [  a fhir:Timing ; Timing ]
    fhir:value [  a fhir:ContactDetail ; ContactDetail ]
    fhir:value [  a fhir:DataRequirement ; DataRequirement ]
    fhir:value [  a fhir:Expression ; Expression ]
    fhir:value [  a fhir:ParameterDefinition ; ParameterDefinition ]
    fhir:value [  a fhir:RelatedArtifact ; RelatedArtifact ]
    fhir:value [  a fhir:TriggerDefinition ; TriggerDefinition ]
    fhir:value [  a fhir:UsageContext ; UsageContext ]
    fhir:value [  a fhir:Availability ; Availability ]
    fhir:value [  a fhir:ExtendedContactDetail ; ExtendedContactDetail ]
    fhir:value [  a fhir:VirtualServiceDetail ; VirtualServiceDetail ]
    fhir:value [  a fhir:Dosage ; Dosage ]
    fhir:value [  a fhir:Meta ; Meta ]
  fhir:text [ string ] ; # 0..1 Free-text description
]

Changes from both R4 and R4B

This complex-type did not exist in Release R4

See the Full Difference for further information

Constraints

Terminology Bindings

Path ValueSet Type Documentation
DosageCondition.code DoseLimitScopeVS (a valid code from Dosage Condition Codes ) Preferred

Additional Binding Purpose

DosageCondition.details DosageConditionDetailsVS Example

Dosage Condition Details Example ValueSet

DosageCondition.operation ComparisonOperationVS (a valid code from Dose Limit Scope CodeSystem ) Required

Additional Binding Purpose

DosageCondition is used in the following places: Dosage