CH EMED (R4)
4.0.1 - trial-use Switzerland flag

This page is part of the CH EMED (R4) (v4.0.1: STU 4) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, 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: 4.0.1
Active as of 2023-12-28 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 Dosage

NameFlagsCard.TypeDescription & Constraintsdoco
.. Dosage 0..*DosageCH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)
... sequence C1..1integerThe order of the dosage instructions
ch-dosage-2: The sequence number must be greater than 1
... text 0..0
... additionalInstruction 0..0
... timing 1..1TimingWhen medication should be administered
.... repeat 1..1ElementWhen the event is to occur
..... Slices for bounds[x] 0..1Duration, Range, PeriodLength/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
...... bounds[x]:boundsPeriod 0..0
..... when SC1..*codeCode 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..1ElementAmount of medication administered
.... dose[x] S1..1Amount of medication per dose
..... doseRangeRange(CHEMEDRangeWithEmedUnits)
..... doseQuantityQuantity(CHEMEDQuantityWithEmedUnits)
... 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..*DosageCH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
... sequence ΣC1..1integerThe order of the dosage instructions
ch-dosage-2: The sequence number must be greater than 1
... timing Σ1..1TimingWhen medication should be administered
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... repeat ΣC1..1ElementWhen the event is to occur
..... Slices for bounds[x] Σ0..1Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
...... boundsDurationDuration
...... boundsRangeRange
...... boundsPeriodPeriod
..... when SΣC1..*codeCode 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..1Amount of medication per dose
..... doseRangeRange(CHEMEDRangeWithEmedUnits)
..... doseQuantityQuantity(CHEMEDQuantityWithEmedUnits)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Dosage.timing.repeat.whenrequiredEventTiming

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..*DosageCH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)
... id 0..1stringUnique id for inter-element referencing
... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
... timing Σ1..1TimingWhen medication should be administered
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... event Σ0..*dateTimeWhen the event occurs
.... 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..1Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
...... boundsDurationDuration
...... boundsRangeRange
...... boundsPeriodPeriod
..... 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..*codeCode 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..1unsignedIntMinutes from event (before or after)
.... code Σ0..1CodeableConceptBID | TID | QID | AM | PM | QD | QOD | +
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..1CodeableConceptThe kind of dose or rate specified
Binding: DoseAndRateType (example): The kind of dose or rate specified.

.... dose[x] SΣ1..1Amount of medication per dose
..... doseRangeRange(CHEMEDRangeWithEmedUnits)
..... doseQuantityQuantity(CHEMEDQuantityWithEmedUnits)
.... rate[x] Σ0..1Amount of medication per unit of time
..... rateRatioRatio
..... rateRangeRange
..... rateQuantityQuantity(SimpleQuantity)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Dosage.timing.repeat.durationUnitrequiredUnitsOfTime
Dosage.timing.repeat.periodUnitrequiredUnitsOfTime
Dosage.timing.repeat.dayOfWeekrequiredDaysOfWeek
Dosage.timing.repeat.whenrequiredEventTiming
Dosage.timing.codepreferredTimingAbbreviation
Dosage.doseAndRate.typeexampleDoseAndRateType

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 Dosage

Summary

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

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element Dosage.timing.repeat.bounds[x] is sliced based on the value of type:$this

Differential View

This structure is derived from Dosage

NameFlagsCard.TypeDescription & Constraintsdoco
.. Dosage 0..*DosageCH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)
... sequence C1..1integerThe order of the dosage instructions
ch-dosage-2: The sequence number must be greater than 1
... text 0..0
... additionalInstruction 0..0
... timing 1..1TimingWhen medication should be administered
.... repeat 1..1ElementWhen the event is to occur
..... Slices for bounds[x] 0..1Duration, Range, PeriodLength/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
...... bounds[x]:boundsPeriod 0..0
..... when SC1..*codeCode 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..1ElementAmount of medication administered
.... dose[x] S1..1Amount of medication per dose
..... doseRangeRange(CHEMEDRangeWithEmedUnits)
..... doseQuantityQuantity(CHEMEDQuantityWithEmedUnits)
... 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..*DosageCH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
... sequence ΣC1..1integerThe order of the dosage instructions
ch-dosage-2: The sequence number must be greater than 1
... timing Σ1..1TimingWhen medication should be administered
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... repeat ΣC1..1ElementWhen the event is to occur
..... Slices for bounds[x] Σ0..1Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
...... boundsDurationDuration
...... boundsRangeRange
...... boundsPeriodPeriod
..... when SΣC1..*codeCode 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..1Amount of medication per dose
..... doseRangeRange(CHEMEDRangeWithEmedUnits)
..... doseQuantityQuantity(CHEMEDQuantityWithEmedUnits)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Dosage.timing.repeat.whenrequiredEventTiming

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..*DosageCH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)
... id 0..1stringUnique id for inter-element referencing
... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
... timing Σ1..1TimingWhen medication should be administered
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... event Σ0..*dateTimeWhen the event occurs
.... 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..1Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
...... boundsDurationDuration
...... boundsRangeRange
...... boundsPeriodPeriod
..... 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..*codeCode 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..1unsignedIntMinutes from event (before or after)
.... code Σ0..1CodeableConceptBID | TID | QID | AM | PM | QD | QOD | +
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..1CodeableConceptThe kind of dose or rate specified
Binding: DoseAndRateType (example): The kind of dose or rate specified.

.... dose[x] SΣ1..1Amount of medication per dose
..... doseRangeRange(CHEMEDRangeWithEmedUnits)
..... doseQuantityQuantity(CHEMEDQuantityWithEmedUnits)
.... rate[x] Σ0..1Amount of medication per unit of time
..... rateRatioRatio
..... rateRangeRange
..... rateQuantityQuantity(SimpleQuantity)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Dosage.timing.repeat.durationUnitrequiredUnitsOfTime
Dosage.timing.repeat.periodUnitrequiredUnitsOfTime
Dosage.timing.repeat.dayOfWeekrequiredDaysOfWeek
Dosage.timing.repeat.whenrequiredEventTiming
Dosage.timing.codepreferredTimingAbbreviation
Dosage.doseAndRate.typeexampleDoseAndRateType

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 Dosage

Summary

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

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element Dosage.timing.repeat.bounds[x] is sliced based on the value of type:$this

 

Other representations of profile: CSV, Excel, Schematron