CH EMED (R4)
5.0.0-ci-build - ci-build Switzerland flag

CH EMED (R4), published by HL7 Switzerland. This guide is not an authorized publication; it is the continuous build for version 5.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/hl7ch/ch-emed/ and changes regularly. See the Directory of published versions

Data Type Profile: CH EMED Dosage Split

Official URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-dosage-split Version: 5.0.0-ci-build
Active as of 2024-05-23 Computable Name: CHEMEDDosageSplit

Copyright/Legal: CC0-1.0

Definition of the split dosage (used in MedicationStatement / MedicationDispense / MedicationRequest)

Usage:

Formal Views of Profile Content

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

This structure is derived from CHCoreDosage

NameFlagsCard.TypeDescription & Constraintsdoco
.. Dosage 0..* CHCoreDosage CH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)
... sequence C 1..1 integer The order of the dosage instructions
ch-dosage-2: The sequence number must be greater than 1
... text 0..0
... additionalInstruction 0..0
... timing 1..1 Timing When medication should be administered
.... repeat 1..1 Element When the event is to occur
..... Slices for bounds[x] 0..1 Duration, Range, Period Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
...... bounds[x]:boundsPeriod 0..0
..... when SC 1..* code Code for time period of occurrence
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.
... asNeeded[x] 0..0
... site 0..0
... route 0..0
... method 0..0
... doseAndRate 1..1 Element Amount of medication administered
.... dose[x] S 1..1 CHCoreRangeWithEmedUnits, CHCoreQuantityWithEmedUnits Amount of medication per dose
... maxDosePerPeriod 0..0
... maxDosePerAdministration 0..0
... maxDosePerLifetime 0..0

doco Documentation for this format

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'
NameFlagsCard.TypeDescription & Constraintsdoco
.. Dosage 0..* CHCoreDosage CH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
... sequence ΣC 1..1 integer The order of the dosage instructions
ch-dosage-2: The sequence number must be greater than 1
... timing Σ 1..1 Timing When medication should be administered
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... repeat ΣC 1..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
..... Slices for bounds[x] Σ 0..1 Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
...... boundsDuration Duration
...... boundsRange Range
...... boundsPeriod Period
..... when SΣC 1..* code Code for time period of occurrence
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.
.... dose[x] SΣ 1..1 Amount of medication per dose
..... doseRange Range(CHCoreRangeWithEmedUnits)
..... doseQuantity Quantity(CHCoreQuantityWithEmedUnits)

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

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()
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..* CHCoreDosage CH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)
... id 0..1 string Unique id for inter-element referencing
... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
... timing Σ 1..1 Timing When medication should be 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
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... event Σ 0..* dateTime When the event occurs
.... repeat ΣC 1..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 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... Slices for bounds[x] Σ 0..1 Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
...... boundsDuration Duration
...... boundsRange Range
...... boundsPeriod Period
..... count Σ 0..1 positiveInt Number of times to repeat
..... countMax Σ 0..1 positiveInt Maximum number of times to repeat
..... duration Σ 0..1 decimal How long when it happens
..... durationMax Σ 0..1 decimal How long when it happens (Max)
..... durationUnit Σ 0..1 code s | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

..... frequency Σ 0..1 positiveInt Event occurs frequency times per period
..... frequencyMax Σ 0..1 positiveInt Event occurs up to frequencyMax times per period
..... period Σ 0..1 decimal Event occurs frequency times per period
..... periodMax Σ 0..1 decimal Upper limit of period (3-4 hours)
..... periodUnit Σ 0..1 code s | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

..... dayOfWeek Σ 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required)
..... timeOfDay Σ 0..* time Time of day for action
..... when SΣC 1..* code Code for time period of occurrence
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.
..... offset Σ 0..1 unsignedInt Minutes from event (before or after)
.... code Σ 0..1 CodeableConcept BID | TID | QID | AM | PM | QD | QOD | +
Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern.

... doseAndRate Σ 1..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 Σ 0..1 CodeableConcept The kind of dose or rate specified
Binding: DoseAndRateType (example): The kind of dose or rate specified.

.... dose[x] SΣ 1..1 Amount of medication per dose
..... doseRange Range(CHCoreRangeWithEmedUnits)
..... doseQuantity Quantity(CHCoreQuantityWithEmedUnits)
.... rate[x] Σ 0..1 Amount of medication per unit of time
..... rateRatio Ratio
..... rateRange Range
..... rateQuantity Quantity(SimpleQuantity)

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()
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 CHCoreDosage

Summary

Mandatory: 6 elements
Must-Support: 2 elements
Prohibited: 11 elements

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Dosage.timing.repeat.bounds[x]

Differential View

This structure is derived from CHCoreDosage

NameFlagsCard.TypeDescription & Constraintsdoco
.. Dosage 0..* CHCoreDosage CH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)
... sequence C 1..1 integer The order of the dosage instructions
ch-dosage-2: The sequence number must be greater than 1
... text 0..0
... additionalInstruction 0..0
... timing 1..1 Timing When medication should be administered
.... repeat 1..1 Element When the event is to occur
..... Slices for bounds[x] 0..1 Duration, Range, Period Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
...... bounds[x]:boundsPeriod 0..0
..... when SC 1..* code Code for time period of occurrence
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.
... asNeeded[x] 0..0
... site 0..0
... route 0..0
... method 0..0
... doseAndRate 1..1 Element Amount of medication administered
.... dose[x] S 1..1 CHCoreRangeWithEmedUnits, CHCoreQuantityWithEmedUnits Amount of medication per dose
... maxDosePerPeriod 0..0
... maxDosePerAdministration 0..0
... maxDosePerLifetime 0..0

doco Documentation for this format

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'

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Dosage 0..* CHCoreDosage CH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
... sequence ΣC 1..1 integer The order of the dosage instructions
ch-dosage-2: The sequence number must be greater than 1
... timing Σ 1..1 Timing When medication should be administered
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... repeat ΣC 1..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
..... Slices for bounds[x] Σ 0..1 Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
...... boundsDuration Duration
...... boundsRange Range
...... boundsPeriod Period
..... when SΣC 1..* code Code for time period of occurrence
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.
.... dose[x] SΣ 1..1 Amount of medication per dose
..... doseRange Range(CHCoreRangeWithEmedUnits)
..... doseQuantity Quantity(CHCoreQuantityWithEmedUnits)

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

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()
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..* CHCoreDosage CH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)
... id 0..1 string Unique id for inter-element referencing
... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
... timing Σ 1..1 Timing When medication should be 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
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... event Σ 0..* dateTime When the event occurs
.... repeat ΣC 1..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 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... Slices for bounds[x] Σ 0..1 Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
...... boundsDuration Duration
...... boundsRange Range
...... boundsPeriod Period
..... count Σ 0..1 positiveInt Number of times to repeat
..... countMax Σ 0..1 positiveInt Maximum number of times to repeat
..... duration Σ 0..1 decimal How long when it happens
..... durationMax Σ 0..1 decimal How long when it happens (Max)
..... durationUnit Σ 0..1 code s | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

..... frequency Σ 0..1 positiveInt Event occurs frequency times per period
..... frequencyMax Σ 0..1 positiveInt Event occurs up to frequencyMax times per period
..... period Σ 0..1 decimal Event occurs frequency times per period
..... periodMax Σ 0..1 decimal Upper limit of period (3-4 hours)
..... periodUnit Σ 0..1 code s | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

..... dayOfWeek Σ 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required)
..... timeOfDay Σ 0..* time Time of day for action
..... when SΣC 1..* code Code for time period of occurrence
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.
..... offset Σ 0..1 unsignedInt Minutes from event (before or after)
.... code Σ 0..1 CodeableConcept BID | TID | QID | AM | PM | QD | QOD | +
Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern.

... doseAndRate Σ 1..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 Σ 0..1 CodeableConcept The kind of dose or rate specified
Binding: DoseAndRateType (example): The kind of dose or rate specified.

.... dose[x] SΣ 1..1 Amount of medication per dose
..... doseRange Range(CHCoreRangeWithEmedUnits)
..... doseQuantity Quantity(CHCoreQuantityWithEmedUnits)
.... rate[x] Σ 0..1 Amount of medication per unit of time
..... rateRatio Ratio
..... rateRange Range
..... rateQuantity Quantity(SimpleQuantity)

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()
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 CHCoreDosage

Summary

Mandatory: 6 elements
Must-Support: 2 elements
Prohibited: 11 elements

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Dosage.timing.repeat.bounds[x]

 

Other representations of profile: CSV, Excel, Schematron