CH EMED EPR
2.0.0-ci-build - ci-build Switzerland flag

CH EMED EPR, published by CARA. This guide is not an authorized publication; it is the continuous build for version 2.0.0-ci-build built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/CARA-ch/ch-emed-epr/ and changes regularly. See the Directory of published versions

Data Type Profile: Dosage (MedicationStatement / MedicationDispense)

Official URL: http://fhir.ch/ig/ch-emed-epr/StructureDefinition/ch-emed-epr-dosage Version: 2.0.0-ci-build
Draft as of 2024-12-20 Computable Name: CHEMEDEPRDosage

Copyright/Legal: CC0-1.0

Definition of the main dosage element (used in MedicationStatement / MedicationDispense)

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from CHEMEDDosage

NameFlagsCard.TypeDescription & Constraintsdoco
.. Dosage C 0..* CHEMEDDosage CH EMED Dosage (MedicationStatement / MedicationDispense)
base-dosage-text: It is a strong recommendation that the base dosage should contain the whole dosage information as narrative, including the information from split dosage elements.
... extension D 0..* Extension ✕ This element is not supported
... modifierExtension 0..0
... text SD 0..1 string Narrative representation of the full dosage (including split dosage elements if they exist) information. SHOULD be provided.
.... extension D 0..* Extension ✕ This element is not supported
.... text 1..1 string Plain text representation of the concept
... patientInstruction 0..1 string Patient instructions (e.g. 'take with food'), incl. free text dosage instructions (e.g. for complex dosage)
... timing
.... id D 0..1 string ✕ This element is not supported
.... extension D 0..* Extension ✕ This element is not supported
.... modifierExtension 0..0
.... event D 0..* dateTime ✕ This element is not supported
.... repeat
..... id D 0..1 string ✕ This element is not supported
..... extension D 0..* Extension ✕ This element is not supported
..... bounds[x] 0..1 Period Length/Range of lengths, or (Start and/or end) limits
..... count D 0..1 positiveInt ✕ This element is not supported
..... countMax D 0..1 positiveInt ✕ This element is not supported
..... duration D 0..1 decimal ✕ This element is not supported
..... durationMax D 0..1 decimal ✕ This element is not supported
..... durationUnit D 0..1 code ✕ This element is not supported
..... frequency D 0..1 positiveInt ✕ This element is not supported
..... frequencyMax D 0..1 positiveInt ✕ This element is not supported
..... period D 0..1 decimal ✕ This element is not supported
..... periodMax D 0..1 decimal ✕ This element is not supported
..... periodUnit D 0..1 code ✕ This element is not supported
..... dayOfWeek D 0..* code ✕ This element is not supported
..... timeOfDay D 0..* time ✕ This element is not supported
..... when C 0..* code ... It shall only contain values from Event Timings
only-standard-event-timings: The timing event shall only be 'MORN', 'NOON', 'EVE' or 'NIGHT'.
..... offset D 0..1 unsignedInt ✕ This element is not supported
.... code D 0..1 CodeableConcept ✕ This element is not supported
... asNeeded[x] 0..1 boolean Take "as needed" (for x)
... Slices for asNeeded[x] Content/Rules for all slices
.... asNeeded[x]:asNeededBoolean 0..1 boolean In reserve (to be taken by the patient only if the need arises - e.g. pains)
... site D 0..1 CodeableConcept ✕ This element is not supported
.... extension D 0..* Extension ✕ This element is not supported
.... text 1..1 string Plain text representation of the concept
... route 0..1 CodeableConcept Route of administration
.... extension D 0..* Extension ✕ This element is not supported
.... text 1..1 string Plain text representation of the concept
... method D 0..1 CodeableConcept ✕ This element is not supported
.... extension D 0..* Extension ✕ This element is not supported
.... text 1..1 string Plain text representation of the concept
... doseAndRate
.... type D 0..1 CodeableConcept ✕ This element is not supported
.... Slices for dose[x] 0..1 CHCoreRangeWithEmedUnits, CHCoreQuantityWithEmedUnits Amount of medication per dose
Slice: Unordered, Open by type:$this
..... dose[x]:doseQuantity 0..1 CHEMEDEPRAmountQuantity A fixed quantity (no comparator)
..... dose[x]:doseRange 0..1 CHEMEDEPRAmountRange Set of values bounded by low and high
.... rate[x] 0..1 CHEMEDEPRRatioAmountPerTime A ratio of two Quantity values - a numerator and a denominator
... maxDosePerPeriod 0..1 CHEMEDEPRRatioAmountPerTime A ratio of two Quantity values - a numerator and a denominator
... maxDosePerAdministration 0..1 CHEMEDEPRAmountQuantity A fixed quantity (no comparator)
... maxDosePerLifetime D 0..1 CHEMEDEPRAmountQuantity ✕ This element is not supported

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
base-dosage-textwarningDosageIt is a strong recommendation that the base dosage should contain the whole dosage information as narrative, including the information from split dosage elements.
: text.exists() and text.trim().length() > 0
only-standard-event-timingserrorDosage.timing.repeat.whenThe timing event shall only be 'MORN', 'NOON', 'EVE' or 'NIGHT'.
: $this = 'MORN' or $this = 'NOON' or $this = 'EVE' or $this = 'NIGHT'
NameFlagsCard.TypeDescription & Constraintsdoco
.. Dosage C 0..* CHEMEDDosage CH EMED Dosage (MedicationStatement / MedicationDispense)
ele-1: All FHIR elements must have a @value or children
ch-dosage-4: For split dosage timing event and dose/rate are required
base-dosage-text: It is a strong recommendation that the base dosage should contain the whole dosage information as narrative, including the information from split dosage elements.
... extension D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... text SΣD 0..1 string Narrative representation of the full dosage (including split dosage elements if they exist) information. SHOULD be provided.
ele-1: All FHIR elements must have a @value or children
... additionalInstruction Σ 0..* CodeableConcept Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
Binding: SNOMEDCTAdditionalDosageInstructions (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery".


ele-1: All FHIR elements must have a @value or children
.... extension D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... text Σ 1..1 string Plain text representation of the concept
ele-1: All FHIR elements must have a @value or children
... timing Σ 0..1 Timing When medication should be administered
ele-1: All FHIR elements must have a @value or children
.... id D 0..1 string ✕ This element is not supported
.... extension D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... event ΣD 0..* dateTime ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
.... repeat ΣC 0..1 Element When the event is to occur
ele-1: All FHIR elements must have a @value or children
tim-1: if there's a duration, there needs to be duration units
tim-2: if there's a period, there needs to be period units
tim-4: duration SHALL be a non-negative value
tim-5: period SHALL be a non-negative value
tim-6: If there's a periodMax, there must be a period
tim-7: If there's a durationMax, there must be a duration
tim-8: If there's a countMax, there must be a count
tim-9: If there's an offset, there must be a when (and not C, CM, CD, CV)
tim-10: If there's a timeOfDay, there cannot be a when, or vice versa
..... id D 0..1 string ✕ This element is not supported
..... extension D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... Slices for bounds[x] Σ 0..1 Period Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Closed by type:$this
ele-1: All FHIR elements must have a @value or children
...... bounds[x]:boundsPeriod SΣ 0..1 Period Start and/or end of treatment
ele-1: All FHIR elements must have a @value or children
..... count ΣD 0..1 positiveInt ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
..... countMax ΣD 0..1 positiveInt ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
..... duration ΣD 0..1 decimal ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
..... durationMax ΣD 0..1 decimal ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
..... durationUnit ΣD 0..1 code ✕ This element is not supported
Binding: UnitsOfTime (required): A unit of time (units from UCUM).


ele-1: All FHIR elements must have a @value or children
..... frequency ΣD 0..1 positiveInt ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
..... frequencyMax ΣD 0..1 positiveInt ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
..... period ΣD 0..1 decimal ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
..... periodMax ΣD 0..1 decimal ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
..... periodUnit ΣD 0..1 code ✕ This element is not supported
Binding: UnitsOfTime (required): A unit of time (units from UCUM).


ele-1: All FHIR elements must have a @value or children
..... dayOfWeek ΣD 0..* code ✕ This element is not supported
Binding: DaysOfWeek (required)
ele-1: All FHIR elements must have a @value or children
..... timeOfDay ΣD 0..* time ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
..... when SΣC 0..* code ... It shall only contain values from Event Timings
Binding: EventTiming (required): Real world event relating to the schedule.


ele-1: All FHIR elements must have a @value or children
ch-emed-event-timing: For the representation of the time of administration according to the 1-1-1-1 scheme, the values MORN-NOON-EVE-NIGHT are highly recommended.
only-standard-event-timings: The timing event shall only be 'MORN', 'NOON', 'EVE' or 'NIGHT'.
..... offset ΣD 0..1 unsignedInt ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
.... code ΣD 0..1 CodeableConcept ✕ This element is not supported
Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern.


ele-1: All FHIR elements must have a @value or children
... Slices for asNeeded[x] Σ 0..1 boolean Take "as needed" (for x)
Slice: Unordered, Closed by type:$this
ele-1: All FHIR elements must have a @value or children
.... asNeeded[x]:asNeededBoolean Σ 0..1 boolean In reserve (to be taken by the patient only if the need arises - e.g. pains)
ele-1: All FHIR elements must have a @value or children
... site ΣD 0..1 CodeableConcept ✕ This element is not supported
Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.


ele-1: All FHIR elements must have a @value or children
.... extension D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... text Σ 1..1 string Plain text representation of the concept
ele-1: All FHIR elements must have a @value or children
... route Σ 0..1 CodeableConcept Route of administration
Binding: EDQM - RouteOfAdministration (required)
ele-1: All FHIR elements must have a @value or children
.... extension D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... coding SΣ 1..* Coding Code defined by a terminology system
ele-1: All FHIR elements must have a @value or children
..... system Σ 1..1 uri Identity of the terminology system
ele-1: All FHIR elements must have a @value or children
..... code Σ 1..1 code Symbol in syntax defined by the system
ele-1: All FHIR elements must have a @value or children
.... text Σ 1..1 string Plain text representation of the concept
ele-1: All FHIR elements must have a @value or children
... method ΣD 0..1 CodeableConcept ✕ This element is not supported
Binding: EDQM - Administration Method (required)
ele-1: All FHIR elements must have a @value or children
.... extension D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... coding Σ 1..* Coding Code defined by a terminology system
ele-1: All FHIR elements must have a @value or children
..... system Σ 1..1 uri Identity of the terminology system
ele-1: All FHIR elements must have a @value or children
..... code Σ 1..1 code Symbol in syntax defined by the system
ele-1: All FHIR elements must have a @value or children
.... text Σ 1..1 string Plain text representation of the concept
ele-1: All FHIR elements must have a @value or children
... doseAndRate Σ 0..1 Element Amount of medication administered
ele-1: All FHIR elements must have a @value or children
.... type ΣD 0..1 CodeableConcept ✕ This element is not supported
Binding: DoseAndRateType (example): The kind of dose or rate specified.


ele-1: All FHIR elements must have a @value or children
.... Slices for dose[x] SΣ 0..1 Amount of medication per dose
Slice: Unordered, Closed by type:$this
ele-1: All FHIR elements must have a @value or children
..... doseRange Range(CHCoreRangeWithEmedUnits)
..... doseQuantity Quantity(CHCoreQuantityWithEmedUnits)
..... dose[x]:doseQuantity SC 0..1 CHEMEDEPRAmountQuantity A fixed quantity (no comparator)
ele-1: All FHIR elements must have a @value or children
qty-3: If a code for the unit is present, the system SHALL also be present
sqty-1: The comparator is not used on a SimpleQuantity
..... dose[x]:doseRange SC 0..1 CHEMEDEPRAmountRange Set of values bounded by low and high
ele-1: All FHIR elements must have a @value or children
rng-2: If present, low SHALL have a lower value than high
.... rate[x] C 0..1 CHEMEDEPRRatioAmountPerTime A ratio of two Quantity values - a numerator and a denominator
ele-1: All FHIR elements must have a @value or children
rat-1: Numerator and denominator SHALL both be present, or both are absent. If both are absent, there SHALL be some extension present
... maxDosePerPeriod C 0..1 CHEMEDEPRRatioAmountPerTime A ratio of two Quantity values - a numerator and a denominator
ele-1: All FHIR elements must have a @value or children
rat-1: Numerator and denominator SHALL both be present, or both are absent. If both are absent, there SHALL be some extension present
... maxDosePerAdministration C 0..1 CHEMEDEPRAmountQuantity A fixed quantity (no comparator)
ele-1: All FHIR elements must have a @value or children
qty-3: If a code for the unit is present, the system SHALL also be present
sqty-1: The comparator is not used on a SimpleQuantity
... maxDosePerLifetime CD 0..1 CHEMEDEPRAmountQuantity ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
qty-3: If a code for the unit is present, the system SHALL also be present
sqty-1: The comparator is not used on a SimpleQuantity

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Dosage.additionalInstructionexampleSNOMEDCTAdditionalDosageInstructions
http://hl7.org/fhir/ValueSet/additional-instruction-codes
from the FHIR Standard
Dosage.timing.repeat.durationUnitrequiredUnitsOfTime
http://hl7.org/fhir/ValueSet/units-of-time|4.0.1
from the FHIR Standard
Dosage.timing.repeat.periodUnitrequiredUnitsOfTime
http://hl7.org/fhir/ValueSet/units-of-time|4.0.1
from the FHIR Standard
Dosage.timing.repeat.dayOfWeekrequiredDaysOfWeek
http://hl7.org/fhir/ValueSet/days-of-week|4.0.1
from the FHIR Standard
Dosage.timing.repeat.whenrequiredEventTiming
http://hl7.org/fhir/ValueSet/event-timing|4.0.1
from the FHIR Standard
Dosage.timing.codepreferredTimingAbbreviation
http://hl7.org/fhir/ValueSet/timing-abbreviation
from the FHIR Standard
Dosage.siteexampleSNOMEDCTAnatomicalStructureForAdministrationSiteCodes
http://hl7.org/fhir/ValueSet/approach-site-codes
from the FHIR Standard
Dosage.routerequiredRouteOfAdministrationEDQM
http://fhir.ch/ig/ch-term/ValueSet/edqm-routeofadministration
Dosage.methodrequiredAdministrationMethodEDQM
http://fhir.ch/ig/ch-term/ValueSet/edqm-administrationmethod
Dosage.doseAndRate.typeexampleDoseAndRateType
http://hl7.org/fhir/ValueSet/dose-rate-type
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
base-dosage-textwarningDosageIt is a strong recommendation that the base dosage should contain the whole dosage information as narrative, including the information from split dosage elements.
: text.exists() and text.trim().length() > 0
ch-dosage-4errorDosageFor split dosage timing event and dose/rate are required
: sequence.exists() implies (timing.repeat.when.exists() and doseAndRate.dose.exists())
ch-emed-event-timingwarningDosage.timing.repeat.whenFor the representation of the time of administration according to the 1-1-1-1 scheme, the values MORN-NOON-EVE-NIGHT are highly recommended.
: $this='MORN' or $this='NOON' or $this='EVE' or $this='NIGHT'
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
only-standard-event-timingserrorDosage.timing.repeat.whenThe timing event shall only be 'MORN', 'NOON', 'EVE' or 'NIGHT'.
: $this = 'MORN' or $this = 'NOON' or $this = 'EVE' or $this = 'NIGHT'
qty-3errorDosage.doseAndRate.dose[x]:doseQuantity, Dosage.maxDosePerAdministration, Dosage.maxDosePerLifetimeIf a code for the unit is present, the system SHALL also be present
: code.empty() or system.exists()
rat-1errorDosage.doseAndRate.rate[x], Dosage.maxDosePerPeriodNumerator and denominator SHALL both be present, or both are absent. If both are absent, there SHALL be some extension present
: (numerator.empty() xor denominator.exists()) and (numerator.exists() or extension.exists())
rng-2errorDosage.doseAndRate.dose[x]:doseRangeIf present, low SHALL have a lower value than high
: low.empty() or high.empty() or (low <= high)
sqty-1errorDosage.doseAndRate.dose[x]:doseQuantity, Dosage.maxDosePerAdministration, Dosage.maxDosePerLifetimeThe comparator is not used on a SimpleQuantity
: comparator.empty()
tim-1errorDosage.timing.repeatif there's a duration, there needs to be duration units
: duration.empty() or durationUnit.exists()
tim-2errorDosage.timing.repeatif there's a period, there needs to be period units
: period.empty() or periodUnit.exists()
tim-4errorDosage.timing.repeatduration SHALL be a non-negative value
: duration.exists() implies duration >= 0
tim-5errorDosage.timing.repeatperiod SHALL be a non-negative value
: period.exists() implies period >= 0
tim-6errorDosage.timing.repeatIf there's a periodMax, there must be a period
: periodMax.empty() or period.exists()
tim-7errorDosage.timing.repeatIf there's a durationMax, there must be a duration
: durationMax.empty() or duration.exists()
tim-8errorDosage.timing.repeatIf there's a countMax, there must be a count
: countMax.empty() or count.exists()
tim-9errorDosage.timing.repeatIf there's an offset, there must be a when (and not C, CM, CD, CV)
: offset.empty() or (when.exists() and ((when in ('C' | 'CM' | 'CD' | 'CV')).not()))
tim-10errorDosage.timing.repeatIf there's a timeOfDay, there cannot be a when, or vice versa
: timeOfDay.empty() or when.empty()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Dosage C 0..* CHEMEDDosage CH EMED Dosage (MedicationStatement / MedicationDispense)
ch-dosage-4: For split dosage timing event and dose/rate are required
base-dosage-text: It is a strong recommendation that the base dosage should contain the whole dosage information as narrative, including the information from split dosage elements.
... id 0..1 string Unique id for inter-element referencing
... extension D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
... sequence ΣC 0..1 integer The order of the dosage instructions
ch-dosage-1: No sequence number (for one dosage element) or sequence number = 1 (for more than one dosage element)
... additionalInstruction Σ 0..* CodeableConcept Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
Binding: SNOMEDCTAdditionalDosageInstructions (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery".


.... id 0..1 string Unique id for inter-element referencing
.... extension D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
.... coding Σ 0..* Coding Code defined by a terminology system
.... text Σ 1..1 string Plain text representation of the concept
... patientInstruction SΣ 0..1 string Patient instructions (e.g. 'take with food'), incl. free text dosage instructions (e.g. for complex dosage)
... timing Σ 0..1 Timing When medication should be administered
.... id D 0..1 string ✕ This element is not supported
.... extension D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
.... event ΣD 0..* dateTime ✕ This element is not supported
.... repeat ΣC 0..1 Element When the event is to occur
tim-1: if there's a duration, there needs to be duration units
tim-2: if there's a period, there needs to be period units
tim-4: duration SHALL be a non-negative value
tim-5: period SHALL be a non-negative value
tim-6: If there's a periodMax, there must be a period
tim-7: If there's a durationMax, there must be a duration
tim-8: If there's a countMax, there must be a count
tim-9: If there's an offset, there must be a when (and not C, CM, CD, CV)
tim-10: If there's a timeOfDay, there cannot be a when, or vice versa
..... id D 0..1 string ✕ This element is not supported
..... extension D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
..... Slices for bounds[x] Σ 0..1 Period Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Closed by type:$this
...... bounds[x]:boundsPeriod SΣ 0..1 Period Start and/or end of treatment
..... count ΣD 0..1 positiveInt ✕ This element is not supported
..... countMax ΣD 0..1 positiveInt ✕ This element is not supported
..... duration ΣD 0..1 decimal ✕ This element is not supported
..... durationMax ΣD 0..1 decimal ✕ This element is not supported
..... durationUnit ΣD 0..1 code ✕ This element is not supported
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

..... frequency ΣD 0..1 positiveInt ✕ This element is not supported
..... frequencyMax ΣD 0..1 positiveInt ✕ This element is not supported
..... period ΣD 0..1 decimal ✕ This element is not supported
..... periodMax ΣD 0..1 decimal ✕ This element is not supported
..... periodUnit ΣD 0..1 code ✕ This element is not supported
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

..... dayOfWeek ΣD 0..* code ✕ This element is not supported
Binding: DaysOfWeek (required)
..... timeOfDay ΣD 0..* time ✕ This element is not supported
..... when SΣC 0..* code ... It shall only contain values from Event Timings
Binding: EventTiming (required): Real world event relating to the schedule.


ch-emed-event-timing: For the representation of the time of administration according to the 1-1-1-1 scheme, the values MORN-NOON-EVE-NIGHT are highly recommended.
only-standard-event-timings: The timing event shall only be 'MORN', 'NOON', 'EVE' or 'NIGHT'.
..... offset ΣD 0..1 unsignedInt ✕ This element is not supported
.... code ΣD 0..1 CodeableConcept ✕ This element is not supported
Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern.

... Slices for asNeeded[x] Σ 0..1 boolean Take "as needed" (for x)
Slice: Unordered, Closed by type:$this
.... asNeeded[x]:asNeededBoolean Σ 0..1 boolean In reserve (to be taken by the patient only if the need arises - e.g. pains)
... site ΣD 0..1 CodeableConcept ✕ This element is not supported
Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.

.... id 0..1 string Unique id for inter-element referencing
.... extension D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
.... coding Σ 0..* Coding Code defined by a terminology system
.... text Σ 1..1 string Plain text representation of the concept
... route Σ 0..1 CodeableConcept Route of administration
Binding: EDQM - RouteOfAdministration (required)
.... id 0..1 string Unique id for inter-element referencing
.... extension D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
.... coding SΣ 1..* Coding Code defined by a terminology system
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ 1..1 uri Identity of the terminology system
..... version Σ 0..1 string Version of the system - if relevant
..... code Σ 1..1 code Symbol in syntax defined by the system
..... display Σ 0..1 string Representation defined by the system
..... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 1..1 string Plain text representation of the concept
... method ΣD 0..1 CodeableConcept ✕ This element is not supported
Binding: EDQM - Administration Method (required)
.... id 0..1 string Unique id for inter-element referencing
.... extension D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
.... coding Σ 1..* Coding Code defined by a terminology system
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ 1..1 uri Identity of the terminology system
..... version Σ 0..1 string Version of the system - if relevant
..... code Σ 1..1 code Symbol in syntax defined by the system
..... display Σ 0..1 string Representation defined by the system
..... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 1..1 string Plain text representation of the concept
... doseAndRate Σ 0..1 Element Amount of medication administered
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... type ΣD 0..1 CodeableConcept ✕ This element is not supported
Binding: DoseAndRateType (example): The kind of dose or rate specified.

.... Slices for dose[x] SΣ 0..1 Amount of medication per dose
Slice: Unordered, Closed by type:$this
..... doseRange Range(CHCoreRangeWithEmedUnits)
..... doseQuantity Quantity(CHCoreQuantityWithEmedUnits)
..... dose[x]:doseQuantity SC 0..1 CHEMEDEPRAmountQuantity A fixed quantity (no comparator)
qty-3: If a code for the unit is present, the system SHALL also be present
sqty-1: The comparator is not used on a SimpleQuantity
..... dose[x]:doseRange SC 0..1 CHEMEDEPRAmountRange Set of values bounded by low and high
rng-2: If present, low SHALL have a lower value than high
.... rate[x] C 0..1 CHEMEDEPRRatioAmountPerTime A ratio of two Quantity values - a numerator and a denominator
rat-1: Numerator and denominator SHALL both be present, or both are absent. If both are absent, there SHALL be some extension present
... maxDosePerPeriod C 0..1 CHEMEDEPRRatioAmountPerTime A ratio of two Quantity values - a numerator and a denominator
rat-1: Numerator and denominator SHALL both be present, or both are absent. If both are absent, there SHALL be some extension present
... maxDosePerAdministration C 0..1 CHEMEDEPRAmountQuantity A fixed quantity (no comparator)
qty-3: If a code for the unit is present, the system SHALL also be present
sqty-1: The comparator is not used on a SimpleQuantity
... maxDosePerLifetime CD 0..1 CHEMEDEPRAmountQuantity ✕ This element is not supported
qty-3: If a code for the unit is present, the system SHALL also be present
sqty-1: The comparator is not used on a SimpleQuantity

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Dosage.additionalInstructionexampleSNOMEDCTAdditionalDosageInstructions
http://hl7.org/fhir/ValueSet/additional-instruction-codes
from the FHIR Standard
Dosage.timing.repeat.durationUnitrequiredUnitsOfTime
http://hl7.org/fhir/ValueSet/units-of-time|4.0.1
from the FHIR Standard
Dosage.timing.repeat.periodUnitrequiredUnitsOfTime
http://hl7.org/fhir/ValueSet/units-of-time|4.0.1
from the FHIR Standard
Dosage.timing.repeat.dayOfWeekrequiredDaysOfWeek
http://hl7.org/fhir/ValueSet/days-of-week|4.0.1
from the FHIR Standard
Dosage.timing.repeat.whenrequiredEventTiming
http://hl7.org/fhir/ValueSet/event-timing|4.0.1
from the FHIR Standard
Dosage.timing.codepreferredTimingAbbreviation
http://hl7.org/fhir/ValueSet/timing-abbreviation
from the FHIR Standard
Dosage.siteexampleSNOMEDCTAnatomicalStructureForAdministrationSiteCodes
http://hl7.org/fhir/ValueSet/approach-site-codes
from the FHIR Standard
Dosage.routerequiredRouteOfAdministrationEDQM
http://fhir.ch/ig/ch-term/ValueSet/edqm-routeofadministration
Dosage.methodrequiredAdministrationMethodEDQM
http://fhir.ch/ig/ch-term/ValueSet/edqm-administrationmethod
Dosage.doseAndRate.typeexampleDoseAndRateType
http://hl7.org/fhir/ValueSet/dose-rate-type
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
base-dosage-textwarningDosageIt is a strong recommendation that the base dosage should contain the whole dosage information as narrative, including the information from split dosage elements.
: text.exists() and text.trim().length() > 0
ch-dosage-1errorDosage.sequenceNo sequence number (for one dosage element) or sequence number = 1 (for more than one dosage element)
: $this.count() = 0 or $this = 1
ch-dosage-4errorDosageFor split dosage timing event and dose/rate are required
: sequence.exists() implies (timing.repeat.when.exists() and doseAndRate.dose.exists())
ch-emed-event-timingwarningDosage.timing.repeat.whenFor the representation of the time of administration according to the 1-1-1-1 scheme, the values MORN-NOON-EVE-NIGHT are highly recommended.
: $this='MORN' or $this='NOON' or $this='EVE' or $this='NIGHT'
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
only-standard-event-timingserrorDosage.timing.repeat.whenThe timing event shall only be 'MORN', 'NOON', 'EVE' or 'NIGHT'.
: $this = 'MORN' or $this = 'NOON' or $this = 'EVE' or $this = 'NIGHT'
qty-3errorDosage.doseAndRate.dose[x]:doseQuantity, Dosage.maxDosePerAdministration, Dosage.maxDosePerLifetimeIf a code for the unit is present, the system SHALL also be present
: code.empty() or system.exists()
rat-1errorDosage.doseAndRate.rate[x], Dosage.maxDosePerPeriodNumerator and denominator SHALL both be present, or both are absent. If both are absent, there SHALL be some extension present
: (numerator.empty() xor denominator.exists()) and (numerator.exists() or extension.exists())
rng-2errorDosage.doseAndRate.dose[x]:doseRangeIf present, low SHALL have a lower value than high
: low.empty() or high.empty() or (low <= high)
sqty-1errorDosage.doseAndRate.dose[x]:doseQuantity, Dosage.maxDosePerAdministration, Dosage.maxDosePerLifetimeThe comparator is not used on a SimpleQuantity
: comparator.empty()
tim-1errorDosage.timing.repeatif there's a duration, there needs to be duration units
: duration.empty() or durationUnit.exists()
tim-2errorDosage.timing.repeatif there's a period, there needs to be period units
: period.empty() or periodUnit.exists()
tim-4errorDosage.timing.repeatduration SHALL be a non-negative value
: duration.exists() implies duration >= 0
tim-5errorDosage.timing.repeatperiod SHALL be a non-negative value
: period.exists() implies period >= 0
tim-6errorDosage.timing.repeatIf there's a periodMax, there must be a period
: periodMax.empty() or period.exists()
tim-7errorDosage.timing.repeatIf there's a durationMax, there must be a duration
: durationMax.empty() or duration.exists()
tim-8errorDosage.timing.repeatIf there's a countMax, there must be a count
: countMax.empty() or count.exists()
tim-9errorDosage.timing.repeatIf there's an offset, there must be a when (and not C, CM, CD, CV)
: offset.empty() or (when.exists() and ((when in ('C' | 'CM' | 'CD' | 'CV')).not()))
tim-10errorDosage.timing.repeatIf there's a timeOfDay, there cannot be a when, or vice versa
: timeOfDay.empty() or when.empty()

This structure is derived from CHEMEDDosage

Summary

Mandatory: 0 element(4 nested mandatory elements)
Must-Support: 1 element
Prohibited: 2 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Dosage.doseAndRate.dose[x]

Differential View

This structure is derived from CHEMEDDosage

NameFlagsCard.TypeDescription & Constraintsdoco
.. Dosage C 0..* CHEMEDDosage CH EMED Dosage (MedicationStatement / MedicationDispense)
base-dosage-text: It is a strong recommendation that the base dosage should contain the whole dosage information as narrative, including the information from split dosage elements.
... extension D 0..* Extension ✕ This element is not supported
... modifierExtension 0..0
... text SD 0..1 string Narrative representation of the full dosage (including split dosage elements if they exist) information. SHOULD be provided.
.... extension D 0..* Extension ✕ This element is not supported
.... text 1..1 string Plain text representation of the concept
... patientInstruction 0..1 string Patient instructions (e.g. 'take with food'), incl. free text dosage instructions (e.g. for complex dosage)
... timing
.... id D 0..1 string ✕ This element is not supported
.... extension D 0..* Extension ✕ This element is not supported
.... modifierExtension 0..0
.... event D 0..* dateTime ✕ This element is not supported
.... repeat
..... id D 0..1 string ✕ This element is not supported
..... extension D 0..* Extension ✕ This element is not supported
..... bounds[x] 0..1 Period Length/Range of lengths, or (Start and/or end) limits
..... count D 0..1 positiveInt ✕ This element is not supported
..... countMax D 0..1 positiveInt ✕ This element is not supported
..... duration D 0..1 decimal ✕ This element is not supported
..... durationMax D 0..1 decimal ✕ This element is not supported
..... durationUnit D 0..1 code ✕ This element is not supported
..... frequency D 0..1 positiveInt ✕ This element is not supported
..... frequencyMax D 0..1 positiveInt ✕ This element is not supported
..... period D 0..1 decimal ✕ This element is not supported
..... periodMax D 0..1 decimal ✕ This element is not supported
..... periodUnit D 0..1 code ✕ This element is not supported
..... dayOfWeek D 0..* code ✕ This element is not supported
..... timeOfDay D 0..* time ✕ This element is not supported
..... when C 0..* code ... It shall only contain values from Event Timings
only-standard-event-timings: The timing event shall only be 'MORN', 'NOON', 'EVE' or 'NIGHT'.
..... offset D 0..1 unsignedInt ✕ This element is not supported
.... code D 0..1 CodeableConcept ✕ This element is not supported
... asNeeded[x] 0..1 boolean Take "as needed" (for x)
... Slices for asNeeded[x] Content/Rules for all slices
.... asNeeded[x]:asNeededBoolean 0..1 boolean In reserve (to be taken by the patient only if the need arises - e.g. pains)
... site D 0..1 CodeableConcept ✕ This element is not supported
.... extension D 0..* Extension ✕ This element is not supported
.... text 1..1 string Plain text representation of the concept
... route 0..1 CodeableConcept Route of administration
.... extension D 0..* Extension ✕ This element is not supported
.... text 1..1 string Plain text representation of the concept
... method D 0..1 CodeableConcept ✕ This element is not supported
.... extension D 0..* Extension ✕ This element is not supported
.... text 1..1 string Plain text representation of the concept
... doseAndRate
.... type D 0..1 CodeableConcept ✕ This element is not supported
.... Slices for dose[x] 0..1 CHCoreRangeWithEmedUnits, CHCoreQuantityWithEmedUnits Amount of medication per dose
Slice: Unordered, Open by type:$this
..... dose[x]:doseQuantity 0..1 CHEMEDEPRAmountQuantity A fixed quantity (no comparator)
..... dose[x]:doseRange 0..1 CHEMEDEPRAmountRange Set of values bounded by low and high
.... rate[x] 0..1 CHEMEDEPRRatioAmountPerTime A ratio of two Quantity values - a numerator and a denominator
... maxDosePerPeriod 0..1 CHEMEDEPRRatioAmountPerTime A ratio of two Quantity values - a numerator and a denominator
... maxDosePerAdministration 0..1 CHEMEDEPRAmountQuantity A fixed quantity (no comparator)
... maxDosePerLifetime D 0..1 CHEMEDEPRAmountQuantity ✕ This element is not supported

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
base-dosage-textwarningDosageIt is a strong recommendation that the base dosage should contain the whole dosage information as narrative, including the information from split dosage elements.
: text.exists() and text.trim().length() > 0
only-standard-event-timingserrorDosage.timing.repeat.whenThe timing event shall only be 'MORN', 'NOON', 'EVE' or 'NIGHT'.
: $this = 'MORN' or $this = 'NOON' or $this = 'EVE' or $this = 'NIGHT'

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Dosage C 0..* CHEMEDDosage CH EMED Dosage (MedicationStatement / MedicationDispense)
ele-1: All FHIR elements must have a @value or children
ch-dosage-4: For split dosage timing event and dose/rate are required
base-dosage-text: It is a strong recommendation that the base dosage should contain the whole dosage information as narrative, including the information from split dosage elements.
... extension D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... text SΣD 0..1 string Narrative representation of the full dosage (including split dosage elements if they exist) information. SHOULD be provided.
ele-1: All FHIR elements must have a @value or children
... additionalInstruction Σ 0..* CodeableConcept Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
Binding: SNOMEDCTAdditionalDosageInstructions (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery".


ele-1: All FHIR elements must have a @value or children
.... extension D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... text Σ 1..1 string Plain text representation of the concept
ele-1: All FHIR elements must have a @value or children
... timing Σ 0..1 Timing When medication should be administered
ele-1: All FHIR elements must have a @value or children
.... id D 0..1 string ✕ This element is not supported
.... extension D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... event ΣD 0..* dateTime ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
.... repeat ΣC 0..1 Element When the event is to occur
ele-1: All FHIR elements must have a @value or children
tim-1: if there's a duration, there needs to be duration units
tim-2: if there's a period, there needs to be period units
tim-4: duration SHALL be a non-negative value
tim-5: period SHALL be a non-negative value
tim-6: If there's a periodMax, there must be a period
tim-7: If there's a durationMax, there must be a duration
tim-8: If there's a countMax, there must be a count
tim-9: If there's an offset, there must be a when (and not C, CM, CD, CV)
tim-10: If there's a timeOfDay, there cannot be a when, or vice versa
..... id D 0..1 string ✕ This element is not supported
..... extension D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... Slices for bounds[x] Σ 0..1 Period Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Closed by type:$this
ele-1: All FHIR elements must have a @value or children
...... bounds[x]:boundsPeriod SΣ 0..1 Period Start and/or end of treatment
ele-1: All FHIR elements must have a @value or children
..... count ΣD 0..1 positiveInt ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
..... countMax ΣD 0..1 positiveInt ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
..... duration ΣD 0..1 decimal ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
..... durationMax ΣD 0..1 decimal ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
..... durationUnit ΣD 0..1 code ✕ This element is not supported
Binding: UnitsOfTime (required): A unit of time (units from UCUM).


ele-1: All FHIR elements must have a @value or children
..... frequency ΣD 0..1 positiveInt ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
..... frequencyMax ΣD 0..1 positiveInt ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
..... period ΣD 0..1 decimal ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
..... periodMax ΣD 0..1 decimal ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
..... periodUnit ΣD 0..1 code ✕ This element is not supported
Binding: UnitsOfTime (required): A unit of time (units from UCUM).


ele-1: All FHIR elements must have a @value or children
..... dayOfWeek ΣD 0..* code ✕ This element is not supported
Binding: DaysOfWeek (required)
ele-1: All FHIR elements must have a @value or children
..... timeOfDay ΣD 0..* time ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
..... when SΣC 0..* code ... It shall only contain values from Event Timings
Binding: EventTiming (required): Real world event relating to the schedule.


ele-1: All FHIR elements must have a @value or children
ch-emed-event-timing: For the representation of the time of administration according to the 1-1-1-1 scheme, the values MORN-NOON-EVE-NIGHT are highly recommended.
only-standard-event-timings: The timing event shall only be 'MORN', 'NOON', 'EVE' or 'NIGHT'.
..... offset ΣD 0..1 unsignedInt ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
.... code ΣD 0..1 CodeableConcept ✕ This element is not supported
Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern.


ele-1: All FHIR elements must have a @value or children
... Slices for asNeeded[x] Σ 0..1 boolean Take "as needed" (for x)
Slice: Unordered, Closed by type:$this
ele-1: All FHIR elements must have a @value or children
.... asNeeded[x]:asNeededBoolean Σ 0..1 boolean In reserve (to be taken by the patient only if the need arises - e.g. pains)
ele-1: All FHIR elements must have a @value or children
... site ΣD 0..1 CodeableConcept ✕ This element is not supported
Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.


ele-1: All FHIR elements must have a @value or children
.... extension D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... text Σ 1..1 string Plain text representation of the concept
ele-1: All FHIR elements must have a @value or children
... route Σ 0..1 CodeableConcept Route of administration
Binding: EDQM - RouteOfAdministration (required)
ele-1: All FHIR elements must have a @value or children
.... extension D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... coding SΣ 1..* Coding Code defined by a terminology system
ele-1: All FHIR elements must have a @value or children
..... system Σ 1..1 uri Identity of the terminology system
ele-1: All FHIR elements must have a @value or children
..... code Σ 1..1 code Symbol in syntax defined by the system
ele-1: All FHIR elements must have a @value or children
.... text Σ 1..1 string Plain text representation of the concept
ele-1: All FHIR elements must have a @value or children
... method ΣD 0..1 CodeableConcept ✕ This element is not supported
Binding: EDQM - Administration Method (required)
ele-1: All FHIR elements must have a @value or children
.... extension D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... coding Σ 1..* Coding Code defined by a terminology system
ele-1: All FHIR elements must have a @value or children
..... system Σ 1..1 uri Identity of the terminology system
ele-1: All FHIR elements must have a @value or children
..... code Σ 1..1 code Symbol in syntax defined by the system
ele-1: All FHIR elements must have a @value or children
.... text Σ 1..1 string Plain text representation of the concept
ele-1: All FHIR elements must have a @value or children
... doseAndRate Σ 0..1 Element Amount of medication administered
ele-1: All FHIR elements must have a @value or children
.... type ΣD 0..1 CodeableConcept ✕ This element is not supported
Binding: DoseAndRateType (example): The kind of dose or rate specified.


ele-1: All FHIR elements must have a @value or children
.... Slices for dose[x] SΣ 0..1 Amount of medication per dose
Slice: Unordered, Closed by type:$this
ele-1: All FHIR elements must have a @value or children
..... doseRange Range(CHCoreRangeWithEmedUnits)
..... doseQuantity Quantity(CHCoreQuantityWithEmedUnits)
..... dose[x]:doseQuantity SC 0..1 CHEMEDEPRAmountQuantity A fixed quantity (no comparator)
ele-1: All FHIR elements must have a @value or children
qty-3: If a code for the unit is present, the system SHALL also be present
sqty-1: The comparator is not used on a SimpleQuantity
..... dose[x]:doseRange SC 0..1 CHEMEDEPRAmountRange Set of values bounded by low and high
ele-1: All FHIR elements must have a @value or children
rng-2: If present, low SHALL have a lower value than high
.... rate[x] C 0..1 CHEMEDEPRRatioAmountPerTime A ratio of two Quantity values - a numerator and a denominator
ele-1: All FHIR elements must have a @value or children
rat-1: Numerator and denominator SHALL both be present, or both are absent. If both are absent, there SHALL be some extension present
... maxDosePerPeriod C 0..1 CHEMEDEPRRatioAmountPerTime A ratio of two Quantity values - a numerator and a denominator
ele-1: All FHIR elements must have a @value or children
rat-1: Numerator and denominator SHALL both be present, or both are absent. If both are absent, there SHALL be some extension present
... maxDosePerAdministration C 0..1 CHEMEDEPRAmountQuantity A fixed quantity (no comparator)
ele-1: All FHIR elements must have a @value or children
qty-3: If a code for the unit is present, the system SHALL also be present
sqty-1: The comparator is not used on a SimpleQuantity
... maxDosePerLifetime CD 0..1 CHEMEDEPRAmountQuantity ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
qty-3: If a code for the unit is present, the system SHALL also be present
sqty-1: The comparator is not used on a SimpleQuantity

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Dosage.additionalInstructionexampleSNOMEDCTAdditionalDosageInstructions
http://hl7.org/fhir/ValueSet/additional-instruction-codes
from the FHIR Standard
Dosage.timing.repeat.durationUnitrequiredUnitsOfTime
http://hl7.org/fhir/ValueSet/units-of-time|4.0.1
from the FHIR Standard
Dosage.timing.repeat.periodUnitrequiredUnitsOfTime
http://hl7.org/fhir/ValueSet/units-of-time|4.0.1
from the FHIR Standard
Dosage.timing.repeat.dayOfWeekrequiredDaysOfWeek
http://hl7.org/fhir/ValueSet/days-of-week|4.0.1
from the FHIR Standard
Dosage.timing.repeat.whenrequiredEventTiming
http://hl7.org/fhir/ValueSet/event-timing|4.0.1
from the FHIR Standard
Dosage.timing.codepreferredTimingAbbreviation
http://hl7.org/fhir/ValueSet/timing-abbreviation
from the FHIR Standard
Dosage.siteexampleSNOMEDCTAnatomicalStructureForAdministrationSiteCodes
http://hl7.org/fhir/ValueSet/approach-site-codes
from the FHIR Standard
Dosage.routerequiredRouteOfAdministrationEDQM
http://fhir.ch/ig/ch-term/ValueSet/edqm-routeofadministration
Dosage.methodrequiredAdministrationMethodEDQM
http://fhir.ch/ig/ch-term/ValueSet/edqm-administrationmethod
Dosage.doseAndRate.typeexampleDoseAndRateType
http://hl7.org/fhir/ValueSet/dose-rate-type
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
base-dosage-textwarningDosageIt is a strong recommendation that the base dosage should contain the whole dosage information as narrative, including the information from split dosage elements.
: text.exists() and text.trim().length() > 0
ch-dosage-4errorDosageFor split dosage timing event and dose/rate are required
: sequence.exists() implies (timing.repeat.when.exists() and doseAndRate.dose.exists())
ch-emed-event-timingwarningDosage.timing.repeat.whenFor the representation of the time of administration according to the 1-1-1-1 scheme, the values MORN-NOON-EVE-NIGHT are highly recommended.
: $this='MORN' or $this='NOON' or $this='EVE' or $this='NIGHT'
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
only-standard-event-timingserrorDosage.timing.repeat.whenThe timing event shall only be 'MORN', 'NOON', 'EVE' or 'NIGHT'.
: $this = 'MORN' or $this = 'NOON' or $this = 'EVE' or $this = 'NIGHT'
qty-3errorDosage.doseAndRate.dose[x]:doseQuantity, Dosage.maxDosePerAdministration, Dosage.maxDosePerLifetimeIf a code for the unit is present, the system SHALL also be present
: code.empty() or system.exists()
rat-1errorDosage.doseAndRate.rate[x], Dosage.maxDosePerPeriodNumerator and denominator SHALL both be present, or both are absent. If both are absent, there SHALL be some extension present
: (numerator.empty() xor denominator.exists()) and (numerator.exists() or extension.exists())
rng-2errorDosage.doseAndRate.dose[x]:doseRangeIf present, low SHALL have a lower value than high
: low.empty() or high.empty() or (low <= high)
sqty-1errorDosage.doseAndRate.dose[x]:doseQuantity, Dosage.maxDosePerAdministration, Dosage.maxDosePerLifetimeThe comparator is not used on a SimpleQuantity
: comparator.empty()
tim-1errorDosage.timing.repeatif there's a duration, there needs to be duration units
: duration.empty() or durationUnit.exists()
tim-2errorDosage.timing.repeatif there's a period, there needs to be period units
: period.empty() or periodUnit.exists()
tim-4errorDosage.timing.repeatduration SHALL be a non-negative value
: duration.exists() implies duration >= 0
tim-5errorDosage.timing.repeatperiod SHALL be a non-negative value
: period.exists() implies period >= 0
tim-6errorDosage.timing.repeatIf there's a periodMax, there must be a period
: periodMax.empty() or period.exists()
tim-7errorDosage.timing.repeatIf there's a durationMax, there must be a duration
: durationMax.empty() or duration.exists()
tim-8errorDosage.timing.repeatIf there's a countMax, there must be a count
: countMax.empty() or count.exists()
tim-9errorDosage.timing.repeatIf there's an offset, there must be a when (and not C, CM, CD, CV)
: offset.empty() or (when.exists() and ((when in ('C' | 'CM' | 'CD' | 'CV')).not()))
tim-10errorDosage.timing.repeatIf there's a timeOfDay, there cannot be a when, or vice versa
: timeOfDay.empty() or when.empty()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Dosage C 0..* CHEMEDDosage CH EMED Dosage (MedicationStatement / MedicationDispense)
ch-dosage-4: For split dosage timing event and dose/rate are required
base-dosage-text: It is a strong recommendation that the base dosage should contain the whole dosage information as narrative, including the information from split dosage elements.
... id 0..1 string Unique id for inter-element referencing
... extension D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
... sequence ΣC 0..1 integer The order of the dosage instructions
ch-dosage-1: No sequence number (for one dosage element) or sequence number = 1 (for more than one dosage element)
... additionalInstruction Σ 0..* CodeableConcept Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
Binding: SNOMEDCTAdditionalDosageInstructions (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery".


.... id 0..1 string Unique id for inter-element referencing
.... extension D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
.... coding Σ 0..* Coding Code defined by a terminology system
.... text Σ 1..1 string Plain text representation of the concept
... patientInstruction SΣ 0..1 string Patient instructions (e.g. 'take with food'), incl. free text dosage instructions (e.g. for complex dosage)
... timing Σ 0..1 Timing When medication should be administered
.... id D 0..1 string ✕ This element is not supported
.... extension D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
.... event ΣD 0..* dateTime ✕ This element is not supported
.... repeat ΣC 0..1 Element When the event is to occur
tim-1: if there's a duration, there needs to be duration units
tim-2: if there's a period, there needs to be period units
tim-4: duration SHALL be a non-negative value
tim-5: period SHALL be a non-negative value
tim-6: If there's a periodMax, there must be a period
tim-7: If there's a durationMax, there must be a duration
tim-8: If there's a countMax, there must be a count
tim-9: If there's an offset, there must be a when (and not C, CM, CD, CV)
tim-10: If there's a timeOfDay, there cannot be a when, or vice versa
..... id D 0..1 string ✕ This element is not supported
..... extension D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
..... Slices for bounds[x] Σ 0..1 Period Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Closed by type:$this
...... bounds[x]:boundsPeriod SΣ 0..1 Period Start and/or end of treatment
..... count ΣD 0..1 positiveInt ✕ This element is not supported
..... countMax ΣD 0..1 positiveInt ✕ This element is not supported
..... duration ΣD 0..1 decimal ✕ This element is not supported
..... durationMax ΣD 0..1 decimal ✕ This element is not supported
..... durationUnit ΣD 0..1 code ✕ This element is not supported
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

..... frequency ΣD 0..1 positiveInt ✕ This element is not supported
..... frequencyMax ΣD 0..1 positiveInt ✕ This element is not supported
..... period ΣD 0..1 decimal ✕ This element is not supported
..... periodMax ΣD 0..1 decimal ✕ This element is not supported
..... periodUnit ΣD 0..1 code ✕ This element is not supported
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

..... dayOfWeek ΣD 0..* code ✕ This element is not supported
Binding: DaysOfWeek (required)
..... timeOfDay ΣD 0..* time ✕ This element is not supported
..... when SΣC 0..* code ... It shall only contain values from Event Timings
Binding: EventTiming (required): Real world event relating to the schedule.


ch-emed-event-timing: For the representation of the time of administration according to the 1-1-1-1 scheme, the values MORN-NOON-EVE-NIGHT are highly recommended.
only-standard-event-timings: The timing event shall only be 'MORN', 'NOON', 'EVE' or 'NIGHT'.
..... offset ΣD 0..1 unsignedInt ✕ This element is not supported
.... code ΣD 0..1 CodeableConcept ✕ This element is not supported
Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern.

... Slices for asNeeded[x] Σ 0..1 boolean Take "as needed" (for x)
Slice: Unordered, Closed by type:$this
.... asNeeded[x]:asNeededBoolean Σ 0..1 boolean In reserve (to be taken by the patient only if the need arises - e.g. pains)
... site ΣD 0..1 CodeableConcept ✕ This element is not supported
Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.

.... id 0..1 string Unique id for inter-element referencing
.... extension D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
.... coding Σ 0..* Coding Code defined by a terminology system
.... text Σ 1..1 string Plain text representation of the concept
... route Σ 0..1 CodeableConcept Route of administration
Binding: EDQM - RouteOfAdministration (required)
.... id 0..1 string Unique id for inter-element referencing
.... extension D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
.... coding SΣ 1..* Coding Code defined by a terminology system
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ 1..1 uri Identity of the terminology system
..... version Σ 0..1 string Version of the system - if relevant
..... code Σ 1..1 code Symbol in syntax defined by the system
..... display Σ 0..1 string Representation defined by the system
..... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 1..1 string Plain text representation of the concept
... method ΣD 0..1 CodeableConcept ✕ This element is not supported
Binding: EDQM - Administration Method (required)
.... id 0..1 string Unique id for inter-element referencing
.... extension D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
.... coding Σ 1..* Coding Code defined by a terminology system
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ 1..1 uri Identity of the terminology system
..... version Σ 0..1 string Version of the system - if relevant
..... code Σ 1..1 code Symbol in syntax defined by the system
..... display Σ 0..1 string Representation defined by the system
..... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 1..1 string Plain text representation of the concept
... doseAndRate Σ 0..1 Element Amount of medication administered
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... type ΣD 0..1 CodeableConcept ✕ This element is not supported
Binding: DoseAndRateType (example): The kind of dose or rate specified.

.... Slices for dose[x] SΣ 0..1 Amount of medication per dose
Slice: Unordered, Closed by type:$this
..... doseRange Range(CHCoreRangeWithEmedUnits)
..... doseQuantity Quantity(CHCoreQuantityWithEmedUnits)
..... dose[x]:doseQuantity SC 0..1 CHEMEDEPRAmountQuantity A fixed quantity (no comparator)
qty-3: If a code for the unit is present, the system SHALL also be present
sqty-1: The comparator is not used on a SimpleQuantity
..... dose[x]:doseRange SC 0..1 CHEMEDEPRAmountRange Set of values bounded by low and high
rng-2: If present, low SHALL have a lower value than high
.... rate[x] C 0..1 CHEMEDEPRRatioAmountPerTime A ratio of two Quantity values - a numerator and a denominator
rat-1: Numerator and denominator SHALL both be present, or both are absent. If both are absent, there SHALL be some extension present
... maxDosePerPeriod C 0..1 CHEMEDEPRRatioAmountPerTime A ratio of two Quantity values - a numerator and a denominator
rat-1: Numerator and denominator SHALL both be present, or both are absent. If both are absent, there SHALL be some extension present
... maxDosePerAdministration C 0..1 CHEMEDEPRAmountQuantity A fixed quantity (no comparator)
qty-3: If a code for the unit is present, the system SHALL also be present
sqty-1: The comparator is not used on a SimpleQuantity
... maxDosePerLifetime CD 0..1 CHEMEDEPRAmountQuantity ✕ This element is not supported
qty-3: If a code for the unit is present, the system SHALL also be present
sqty-1: The comparator is not used on a SimpleQuantity

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Dosage.additionalInstructionexampleSNOMEDCTAdditionalDosageInstructions
http://hl7.org/fhir/ValueSet/additional-instruction-codes
from the FHIR Standard
Dosage.timing.repeat.durationUnitrequiredUnitsOfTime
http://hl7.org/fhir/ValueSet/units-of-time|4.0.1
from the FHIR Standard
Dosage.timing.repeat.periodUnitrequiredUnitsOfTime
http://hl7.org/fhir/ValueSet/units-of-time|4.0.1
from the FHIR Standard
Dosage.timing.repeat.dayOfWeekrequiredDaysOfWeek
http://hl7.org/fhir/ValueSet/days-of-week|4.0.1
from the FHIR Standard
Dosage.timing.repeat.whenrequiredEventTiming
http://hl7.org/fhir/ValueSet/event-timing|4.0.1
from the FHIR Standard
Dosage.timing.codepreferredTimingAbbreviation
http://hl7.org/fhir/ValueSet/timing-abbreviation
from the FHIR Standard
Dosage.siteexampleSNOMEDCTAnatomicalStructureForAdministrationSiteCodes
http://hl7.org/fhir/ValueSet/approach-site-codes
from the FHIR Standard
Dosage.routerequiredRouteOfAdministrationEDQM
http://fhir.ch/ig/ch-term/ValueSet/edqm-routeofadministration
Dosage.methodrequiredAdministrationMethodEDQM
http://fhir.ch/ig/ch-term/ValueSet/edqm-administrationmethod
Dosage.doseAndRate.typeexampleDoseAndRateType
http://hl7.org/fhir/ValueSet/dose-rate-type
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
base-dosage-textwarningDosageIt is a strong recommendation that the base dosage should contain the whole dosage information as narrative, including the information from split dosage elements.
: text.exists() and text.trim().length() > 0
ch-dosage-1errorDosage.sequenceNo sequence number (for one dosage element) or sequence number = 1 (for more than one dosage element)
: $this.count() = 0 or $this = 1
ch-dosage-4errorDosageFor split dosage timing event and dose/rate are required
: sequence.exists() implies (timing.repeat.when.exists() and doseAndRate.dose.exists())
ch-emed-event-timingwarningDosage.timing.repeat.whenFor the representation of the time of administration according to the 1-1-1-1 scheme, the values MORN-NOON-EVE-NIGHT are highly recommended.
: $this='MORN' or $this='NOON' or $this='EVE' or $this='NIGHT'
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
only-standard-event-timingserrorDosage.timing.repeat.whenThe timing event shall only be 'MORN', 'NOON', 'EVE' or 'NIGHT'.
: $this = 'MORN' or $this = 'NOON' or $this = 'EVE' or $this = 'NIGHT'
qty-3errorDosage.doseAndRate.dose[x]:doseQuantity, Dosage.maxDosePerAdministration, Dosage.maxDosePerLifetimeIf a code for the unit is present, the system SHALL also be present
: code.empty() or system.exists()
rat-1errorDosage.doseAndRate.rate[x], Dosage.maxDosePerPeriodNumerator and denominator SHALL both be present, or both are absent. If both are absent, there SHALL be some extension present
: (numerator.empty() xor denominator.exists()) and (numerator.exists() or extension.exists())
rng-2errorDosage.doseAndRate.dose[x]:doseRangeIf present, low SHALL have a lower value than high
: low.empty() or high.empty() or (low <= high)
sqty-1errorDosage.doseAndRate.dose[x]:doseQuantity, Dosage.maxDosePerAdministration, Dosage.maxDosePerLifetimeThe comparator is not used on a SimpleQuantity
: comparator.empty()
tim-1errorDosage.timing.repeatif there's a duration, there needs to be duration units
: duration.empty() or durationUnit.exists()
tim-2errorDosage.timing.repeatif there's a period, there needs to be period units
: period.empty() or periodUnit.exists()
tim-4errorDosage.timing.repeatduration SHALL be a non-negative value
: duration.exists() implies duration >= 0
tim-5errorDosage.timing.repeatperiod SHALL be a non-negative value
: period.exists() implies period >= 0
tim-6errorDosage.timing.repeatIf there's a periodMax, there must be a period
: periodMax.empty() or period.exists()
tim-7errorDosage.timing.repeatIf there's a durationMax, there must be a duration
: durationMax.empty() or duration.exists()
tim-8errorDosage.timing.repeatIf there's a countMax, there must be a count
: countMax.empty() or count.exists()
tim-9errorDosage.timing.repeatIf there's an offset, there must be a when (and not C, CM, CD, CV)
: offset.empty() or (when.exists() and ((when in ('C' | 'CM' | 'CD' | 'CV')).not()))
tim-10errorDosage.timing.repeatIf there's a timeOfDay, there cannot be a when, or vice versa
: timeOfDay.empty() or when.empty()

This structure is derived from CHEMEDDosage

Summary

Mandatory: 0 element(4 nested mandatory elements)
Must-Support: 1 element
Prohibited: 2 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Dosage.doseAndRate.dose[x]

 

Other representations of profile: CSV, Excel, Schematron