CH EMED EPR
1.0.0 - trial-use Switzerland flag

This page is part of the FHIR eMedication exchange formats for the implementation effort of CARA within its EPR community (v1.0.0: STU1) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version. For a full list of available versions, see the Directory of published versions

Data Type Profile: Dosage Split

Official URL: http://fhir.ch/ig/ch-emed-epr/StructureDefinition/ch-emed-epr-dosage-split Version: 1.0.0
Draft as of 2024-01-26 Computable Name: CHEMEDEPRDosageSplit

Copyright/Legal: CC0-1.0

Definition of the split dosage element

Usage:

Formal Views of Profile Content

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

This structure is derived from CHEMEDDosageSplit

NameFlagsCard.TypeDescription & Constraintsdoco
.. Dosage CHEMEDDosageSplit
... extension D0..*Extension✕ This element is not supported
... modifierExtension 0..0
... text D0..0string
.... modifierExtension 0..0
.... event D0..*dateTime✕ This element is not supported
.... repeat
..... bounds[x] 0..1PeriodLength/Range of lengths, or (Start and/or end) limits
..... when C1..*code... It shall only contain values from Event Timings
only-standard-event-timings: The timing event shall only be 'MORN', 'NOON', 'EVE' or 'NIGHT'.
.... code D0..1CodeableConcept✕ This element is not supported
... site
.... text 1..1stringPlain text representation of the concept
... route
.... text 1..1stringPlain text representation of the concept
... doseAndRate
.... type D0..1CodeableConcept✕ This element is not supported
.... Slices for dose[x] 1..1CHEMEDRangeWithEmedUnits, CHEMEDQuantityWithEmedUnitsAmount of medication per dose
Slice: Unordered, Open by type:$this
..... dose[x]:doseQuantity 0..1CHEMEDEPRAmountQuantityA fixed quantity (no comparator)
..... dose[x]:doseRange 0..1CHEMEDEPRAmountRangeSet of values bounded by low and high
.... rate[x] 0..1CHEMEDEPRRatioAmountPerTimeA ratio of two Quantity values - a numerator and a denominator

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
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 0..*CHEMEDDosageSplitCH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)
... extension 0..*Extension✕ This element is not supported
Slice: Unordered, Open by value:url
... sequence ΣC1..1integerThe order of the dosage instructions
... timing Σ1..1TimingWhen medication should be administered
.... event Σ0..*dateTime✕ This element is not supported
.... repeat ΣC1..1ElementWhen the event is to occur
..... Slices for bounds[x] Σ0..1PeriodLength/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Closed by type:$this
..... when SΣC1..*code... It shall only contain values from Event Timings
Binding: EventTiming (required): Real world event relating to the schedule.


only-standard-event-timings: The timing event shall only be 'MORN', 'NOON', 'EVE' or 'NIGHT'.
.... code Σ0..1CodeableConcept✕ This element is not supported
Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern.

.... type Σ0..1CodeableConcept✕ This element is not supported
Binding: DoseAndRateType (example): The kind of dose or rate specified.

.... Slices for dose[x] SΣ1..1Amount of medication per dose
Slice: Unordered, Closed by type:$this
..... doseRangeRange(CHEMEDRangeWithEmedUnits)
..... doseQuantityQuantity(CHEMEDQuantityWithEmedUnits)
..... dose[x]:doseQuantity SC0..1CHEMEDEPRAmountQuantityA fixed quantity (no comparator)
..... dose[x]:doseRange SC0..1CHEMEDEPRAmountRangeSet of values bounded by low and high
.... rate[x] C0..1CHEMEDEPRRatioAmountPerTimeA ratio of two Quantity values - a numerator and a denominator

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
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.doseAndRate.typeexampleDoseAndRateType
http://hl7.org/fhir/ValueSet/dose-rate-type
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
ch-dosage-2errorDosage.sequenceThe sequence number must be greater than 1
: $this > 1
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]:doseQuantityIf a code for the unit is present, the system SHALL also be present
: code.empty() or system.exists()
rat-1errorDosage.doseAndRate.rate[x]Numerator 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]:doseQuantityThe 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 0..*CHEMEDDosageSplitCH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)
... id 0..1stringUnique id for inter-element referencing
... extension 0..*Extension✕ This element is not supported
Slice: Unordered, Open by value:url
... sequence ΣC1..1integerThe order of the dosage instructions
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... event Σ0..*dateTime✕ This element is not supported
.... repeat ΣC1..1ElementWhen the event is to occur
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... Slices for bounds[x] Σ0..1PeriodLength/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Closed by type:$this
..... count Σ0..1positiveIntNumber of times to repeat
..... countMax Σ0..1positiveIntMaximum number of times to repeat
..... duration Σ0..1decimalHow long when it happens
..... durationMax Σ0..1decimalHow long when it happens (Max)
..... durationUnit Σ0..1codes | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

..... frequency Σ0..1positiveIntEvent occurs frequency times per period
..... frequencyMax Σ0..1positiveIntEvent occurs up to frequencyMax times per period
..... period Σ0..1decimalEvent occurs frequency times per period
..... periodMax Σ0..1decimalUpper limit of period (3-4 hours)
..... periodUnit Σ0..1codes | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

..... dayOfWeek Σ0..*codemon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required)
..... timeOfDay Σ0..*timeTime of day for action
..... when SΣC1..*code... It shall only contain values from Event Timings
Binding: EventTiming (required): Real world event relating to the schedule.


only-standard-event-timings: The timing event shall only be 'MORN', 'NOON', 'EVE' or 'NIGHT'.
..... offset Σ0..1unsignedIntMinutes from event (before or after)
.... code Σ0..1CodeableConcept✕ This element is not supported
Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern.

... doseAndRate Σ1..1ElementAmount of medication administered
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... type Σ0..1CodeableConcept✕ This element is not supported
Binding: DoseAndRateType (example): The kind of dose or rate specified.

.... Slices for dose[x] SΣ1..1Amount of medication per dose
Slice: Unordered, Closed by type:$this
..... doseRangeRange(CHEMEDRangeWithEmedUnits)
..... doseQuantityQuantity(CHEMEDQuantityWithEmedUnits)
..... dose[x]:doseQuantity SC0..1CHEMEDEPRAmountQuantityA fixed quantity (no comparator)
..... dose[x]:doseRange SC0..1CHEMEDEPRAmountRangeSet of values bounded by low and high
.... rate[x] C0..1CHEMEDEPRRatioAmountPerTimeA ratio of two Quantity values - a numerator and a denominator

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
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.doseAndRate.typeexampleDoseAndRateType
http://hl7.org/fhir/ValueSet/dose-rate-type
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
ch-dosage-2errorDosage.sequenceThe sequence number must be greater than 1
: $this > 1
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]:doseQuantityIf a code for the unit is present, the system SHALL also be present
: code.empty() or system.exists()
rat-1errorDosage.doseAndRate.rate[x]Numerator 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]:doseQuantityThe 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 CHEMEDDosageSplit

Summary

Mandatory: 0 element (2 nested mandatory elements)
Prohibited: 2 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element Dosage.doseAndRate.dose[x] is sliced based on the value of type:$this

Differential View

This structure is derived from CHEMEDDosageSplit

NameFlagsCard.TypeDescription & Constraintsdoco
.. Dosage CHEMEDDosageSplit
... extension D0..*Extension✕ This element is not supported
... modifierExtension 0..0
... text D0..0string
.... modifierExtension 0..0
.... event D0..*dateTime✕ This element is not supported
.... repeat
..... bounds[x] 0..1PeriodLength/Range of lengths, or (Start and/or end) limits
..... when C1..*code... It shall only contain values from Event Timings
only-standard-event-timings: The timing event shall only be 'MORN', 'NOON', 'EVE' or 'NIGHT'.
.... code D0..1CodeableConcept✕ This element is not supported
... site
.... text 1..1stringPlain text representation of the concept
... route
.... text 1..1stringPlain text representation of the concept
... doseAndRate
.... type D0..1CodeableConcept✕ This element is not supported
.... Slices for dose[x] 1..1CHEMEDRangeWithEmedUnits, CHEMEDQuantityWithEmedUnitsAmount of medication per dose
Slice: Unordered, Open by type:$this
..... dose[x]:doseQuantity 0..1CHEMEDEPRAmountQuantityA fixed quantity (no comparator)
..... dose[x]:doseRange 0..1CHEMEDEPRAmountRangeSet of values bounded by low and high
.... rate[x] 0..1CHEMEDEPRRatioAmountPerTimeA ratio of two Quantity values - a numerator and a denominator

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
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 0..*CHEMEDDosageSplitCH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)
... extension 0..*Extension✕ This element is not supported
Slice: Unordered, Open by value:url
... sequence ΣC1..1integerThe order of the dosage instructions
... timing Σ1..1TimingWhen medication should be administered
.... event Σ0..*dateTime✕ This element is not supported
.... repeat ΣC1..1ElementWhen the event is to occur
..... Slices for bounds[x] Σ0..1PeriodLength/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Closed by type:$this
..... when SΣC1..*code... It shall only contain values from Event Timings
Binding: EventTiming (required): Real world event relating to the schedule.


only-standard-event-timings: The timing event shall only be 'MORN', 'NOON', 'EVE' or 'NIGHT'.
.... code Σ0..1CodeableConcept✕ This element is not supported
Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern.

.... type Σ0..1CodeableConcept✕ This element is not supported
Binding: DoseAndRateType (example): The kind of dose or rate specified.

.... Slices for dose[x] SΣ1..1Amount of medication per dose
Slice: Unordered, Closed by type:$this
..... doseRangeRange(CHEMEDRangeWithEmedUnits)
..... doseQuantityQuantity(CHEMEDQuantityWithEmedUnits)
..... dose[x]:doseQuantity SC0..1CHEMEDEPRAmountQuantityA fixed quantity (no comparator)
..... dose[x]:doseRange SC0..1CHEMEDEPRAmountRangeSet of values bounded by low and high
.... rate[x] C0..1CHEMEDEPRRatioAmountPerTimeA ratio of two Quantity values - a numerator and a denominator

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
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.doseAndRate.typeexampleDoseAndRateType
http://hl7.org/fhir/ValueSet/dose-rate-type
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
ch-dosage-2errorDosage.sequenceThe sequence number must be greater than 1
: $this > 1
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]:doseQuantityIf a code for the unit is present, the system SHALL also be present
: code.empty() or system.exists()
rat-1errorDosage.doseAndRate.rate[x]Numerator 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]:doseQuantityThe 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 0..*CHEMEDDosageSplitCH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)
... id 0..1stringUnique id for inter-element referencing
... extension 0..*Extension✕ This element is not supported
Slice: Unordered, Open by value:url
... sequence ΣC1..1integerThe order of the dosage instructions
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... event Σ0..*dateTime✕ This element is not supported
.... repeat ΣC1..1ElementWhen the event is to occur
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... Slices for bounds[x] Σ0..1PeriodLength/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Closed by type:$this
..... count Σ0..1positiveIntNumber of times to repeat
..... countMax Σ0..1positiveIntMaximum number of times to repeat
..... duration Σ0..1decimalHow long when it happens
..... durationMax Σ0..1decimalHow long when it happens (Max)
..... durationUnit Σ0..1codes | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

..... frequency Σ0..1positiveIntEvent occurs frequency times per period
..... frequencyMax Σ0..1positiveIntEvent occurs up to frequencyMax times per period
..... period Σ0..1decimalEvent occurs frequency times per period
..... periodMax Σ0..1decimalUpper limit of period (3-4 hours)
..... periodUnit Σ0..1codes | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

..... dayOfWeek Σ0..*codemon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required)
..... timeOfDay Σ0..*timeTime of day for action
..... when SΣC1..*code... It shall only contain values from Event Timings
Binding: EventTiming (required): Real world event relating to the schedule.


only-standard-event-timings: The timing event shall only be 'MORN', 'NOON', 'EVE' or 'NIGHT'.
..... offset Σ0..1unsignedIntMinutes from event (before or after)
.... code Σ0..1CodeableConcept✕ This element is not supported
Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern.

... doseAndRate Σ1..1ElementAmount of medication administered
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... type Σ0..1CodeableConcept✕ This element is not supported
Binding: DoseAndRateType (example): The kind of dose or rate specified.

.... Slices for dose[x] SΣ1..1Amount of medication per dose
Slice: Unordered, Closed by type:$this
..... doseRangeRange(CHEMEDRangeWithEmedUnits)
..... doseQuantityQuantity(CHEMEDQuantityWithEmedUnits)
..... dose[x]:doseQuantity SC0..1CHEMEDEPRAmountQuantityA fixed quantity (no comparator)
..... dose[x]:doseRange SC0..1CHEMEDEPRAmountRangeSet of values bounded by low and high
.... rate[x] C0..1CHEMEDEPRRatioAmountPerTimeA ratio of two Quantity values - a numerator and a denominator

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
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.doseAndRate.typeexampleDoseAndRateType
http://hl7.org/fhir/ValueSet/dose-rate-type
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
ch-dosage-2errorDosage.sequenceThe sequence number must be greater than 1
: $this > 1
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]:doseQuantityIf a code for the unit is present, the system SHALL also be present
: code.empty() or system.exists()
rat-1errorDosage.doseAndRate.rate[x]Numerator 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]:doseQuantityThe 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 CHEMEDDosageSplit

Summary

Mandatory: 0 element (2 nested mandatory elements)
Prohibited: 2 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element Dosage.doseAndRate.dose[x] is sliced based on the value of type:$this

 

Other representations of profile: CSV, Excel, Schematron