CH EMED EPR
1.0.1-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 1.0.1-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 (MedicationRequest)

Official URL: http://fhir.ch/ig/ch-emed-epr/StructureDefinition/ch-emed-epr-dosage-medicationrequest Version: 1.0.1-ci-build
Draft as of 2024-03-25 Computable Name: CHEMEDEPRDosageMedicationRequest

Copyright/Legal: CC0-1.0

Definition of the main dosage element (used in MedicationRequest)

Usage:

Formal Views of Profile Content

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

This structure is derived from CHEMEDDosageMedicationRequest

NameFlagsCard.TypeDescription & Constraintsdoco
.. Dosage CHEMEDDosageMedicationRequest
... extension D0..*Extension✕ This element is not supported
... modifierExtension 0..0
... text D0..1string✕ This element is not supported
.... extension D0..*Extension✕ This element is not supported
.... text 1..1stringPlain text representation of the concept
... timing
.... id D0..1string✕ This element is not supported
.... extension D0..*Extension✕ This element is not supported
.... modifierExtension 0..0
.... event D0..*dateTime✕ This element is not supported
.... repeat
..... id D0..1string✕ This element is not supported
..... extension D0..*Extension✕ This element is not supported
..... bounds[x] 0..1PeriodLength/Range of lengths, or (Start and/or end) limits
..... count D0..1positiveInt✕ This element is not supported
..... countMax D0..1positiveInt✕ This element is not supported
..... duration D0..1decimal✕ This element is not supported
..... durationMax D0..1decimal✕ This element is not supported
..... durationUnit D0..1code✕ This element is not supported
..... frequency D0..1positiveInt✕ This element is not supported
..... frequencyMax D0..1positiveInt✕ This element is not supported
..... period D0..1decimal✕ This element is not supported
..... periodMax D0..1decimal✕ This element is not supported
..... periodUnit D0..1code✕ This element is not supported
..... dayOfWeek D0..*code✕ This element is not supported
..... timeOfDay D0..*time✕ This element is not supported
..... when C0..*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 D0..1unsignedInt✕ This element is not supported
.... code D0..1CodeableConcept✕ This element is not supported
... asNeeded[x] 0..1booleanTake "as needed" (for x)
... asNeeded[x]:asNeededBoolean 0..1booleanIn reserve (to be taken by the patient only if the need arises - e.g. pains)
... site D0..1CodeableConcept✕ This element is not supported
.... extension D0..*Extension✕ This element is not supported
.... text 1..1stringPlain text representation of the concept
... route 0..1CodeableConceptRoute of administration
.... extension D0..*Extension✕ This element is not supported
.... text 1..1stringPlain text representation of the concept
... method D0..1CodeableConcept✕ This element is not supported
.... extension D0..*Extension✕ This element is not supported
.... text 1..1stringPlain text representation of the concept
... doseAndRate
.... type D0..1CodeableConcept✕ This element is not supported
.... Slices for dose[x] 0..1CHCoreRangeWithEmedUnits, CHCoreQuantityWithEmedUnitsAmount 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
... maxDosePerPeriod 0..1CHEMEDEPRRatioAmountPerTimeA ratio of two Quantity values - a numerator and a denominator
... maxDosePerAdministration 0..1CHEMEDEPRAmountQuantityA fixed quantity (no comparator)
... maxDosePerLifetime D0..1CHEMEDEPRAmountQuantity✕ This element is not supported

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 C0..*CHEMEDDosageMedicationRequestCH EMED Dosage (MedicationRequest)
ch-dosage-4: For split dosage timing event and dose/rate are required
ch-dosage-3: Patient instruction/free text dosage instruction, timing or as needed has to be specified
... extension 0..*Extension✕ This element is not supported
Slice: Unordered, Open by value:url
... text Σ0..1string✕ This element is not supported
... patientInstruction SΣ0..1stringPatient instructions (e.g. 'take with food'), incl. free text dosage instructions (e.g. for complex dosage)
.... id 0..1string✕ This element is not supported
.... extension 0..*Extension✕ This element is not supported
Slice: Unordered, Open by value:url
.... event Σ0..*dateTime✕ This element is not supported
.... repeat ΣC0..1ElementWhen 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..1string✕ This element is not supported
..... extension 0..*Extension✕ This element is not supported
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
...... bounds[x]:boundsPeriod SΣ0..1PeriodStart and/or end of treatment
..... count Σ0..1positiveInt✕ This element is not supported
..... countMax Σ0..1positiveInt✕ This element is not supported
..... duration Σ0..1decimal✕ This element is not supported
..... durationMax Σ0..1decimal✕ This element is not supported
..... durationUnit Σ0..1code✕ This element is not supported
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

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

..... dayOfWeek Σ0..*code✕ This element is not supported
Binding: DaysOfWeek (required)
..... timeOfDay Σ0..*time✕ This element is not supported
..... when SΣC0..*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 Σ0..1unsignedInt✕ This element is not supported
.... code Σ0..1CodeableConcept✕ This element is not supported
Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern.

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

.... extension 0..*Extension✕ This element is not supported
Slice: Unordered, Open by value:url
.... text Σ1..1stringPlain text representation of the concept
... route Σ0..1CodeableConceptRoute of administration
Binding: EDQM - RouteOfAdministration (required)
.... extension 0..*Extension✕ This element is not supported
Slice: Unordered, Open by value:url
.... coding SΣ1..*CodingCode defined by a terminology system
..... system Σ1..1uriIdentity of the terminology system
..... code Σ1..1codeSymbol in syntax defined by the system
.... text Σ1..1stringPlain text representation of the concept
... method Σ0..1CodeableConcept✕ This element is not supported
Binding: EDQM - Administration Method (required)
.... extension 0..*Extension✕ This element is not supported
Slice: Unordered, Open by value:url
.... coding Σ1..*CodingCode defined by a terminology system
..... system Σ1..1uriIdentity of the terminology system
..... code Σ1..1codeSymbol in syntax defined by the system
.... text Σ1..1stringPlain text representation of the concept
... doseAndRate Σ1..1ElementAmount of medication administered
.... type Σ0..1CodeableConcept✕ This element is not supported
Binding: DoseAndRateType (example): The kind of dose or rate specified.

.... Slices for dose[x] SΣ0..1Amount of medication per dose
Slice: Unordered, Closed by type:$this
..... doseRangeRange(CHCoreRangeWithEmedUnits)
..... doseQuantityQuantity(CHCoreQuantityWithEmedUnits)
..... dose[x]:doseQuantity SC0..1CHEMEDEPRAmountQuantityA 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 SC0..1CHEMEDEPRAmountRangeSet of values bounded by low and high
rng-2: If present, low SHALL have a lower value than high
.... rate[x] C0..1CHEMEDEPRRatioAmountPerTimeA 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 C0..1CHEMEDEPRRatioAmountPerTimeA 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 C0..1CHEMEDEPRAmountQuantityA 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 C0..1CHEMEDEPRAmountQuantity✕ 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.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
ch-dosage-3errorDosagePatient instruction/free text dosage instruction, timing or as needed has to be specified
: patientInstruction.exists() or timing.exists() or asNeeded.exists()
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 C0..*CHEMEDDosageMedicationRequestCH EMED Dosage (MedicationRequest)
ch-dosage-4: For split dosage timing event and dose/rate are required
ch-dosage-3: Patient instruction/free text dosage instruction, timing or as needed has to be specified
... id 0..1stringUnique id for inter-element referencing
... extension 0..*Extension✕ This element is not supported
Slice: Unordered, Open by value:url
... sequence ΣC0..1integerThe 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..*CodeableConceptSupplemental 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..1stringUnique id for inter-element referencing
.... extension 0..*Extension✕ This element is not supported
Slice: Unordered, Open by value:url
.... coding Σ0..*CodingCode defined by a terminology system
.... text Σ1..1stringPlain text representation of the concept
... patientInstruction SΣ0..1stringPatient instructions (e.g. 'take with food'), incl. free text dosage instructions (e.g. for complex dosage)
... timing Σ0..1TimingWhen medication should be administered
.... id 0..1string✕ This element is not supported
.... extension 0..*Extension✕ This element is not supported
Slice: Unordered, Open by value:url
.... event Σ0..*dateTime✕ This element is not supported
.... repeat ΣC0..1ElementWhen 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..1string✕ This element is not supported
..... extension 0..*Extension✕ This element is not supported
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
...... bounds[x]:boundsPeriod SΣ0..1PeriodStart and/or end of treatment
..... count Σ0..1positiveInt✕ This element is not supported
..... countMax Σ0..1positiveInt✕ This element is not supported
..... duration Σ0..1decimal✕ This element is not supported
..... durationMax Σ0..1decimal✕ This element is not supported
..... durationUnit Σ0..1code✕ This element is not supported
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

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

..... dayOfWeek Σ0..*code✕ This element is not supported
Binding: DaysOfWeek (required)
..... timeOfDay Σ0..*time✕ This element is not supported
..... when SΣC0..*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 Σ0..1unsignedInt✕ This element is not supported
.... code Σ0..1CodeableConcept✕ This element is not supported
Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern.

... Slices for asNeeded[x] Σ0..1booleanTake "as needed" (for x)
Slice: Unordered, Closed by type:$this
.... asNeeded[x]:asNeededBoolean Σ0..1booleanIn reserve (to be taken by the patient only if the need arises - e.g. pains)
... site Σ0..1CodeableConcept✕ 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..1stringUnique id for inter-element referencing
.... extension 0..*Extension✕ This element is not supported
Slice: Unordered, Open by value:url
.... coding Σ0..*CodingCode defined by a terminology system
.... text Σ1..1stringPlain text representation of the concept
... route Σ0..1CodeableConceptRoute of administration
Binding: EDQM - RouteOfAdministration (required)
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*Extension✕ This element is not supported
Slice: Unordered, Open by value:url
.... coding SΣ1..*CodingCode defined by a terminology system
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ1..1uriIdentity of the terminology system
..... version Σ0..1stringVersion of the system - if relevant
..... code Σ1..1codeSymbol in syntax defined by the system
..... display Σ0..1stringRepresentation defined by the system
..... userSelected Σ0..1booleanIf this coding was chosen directly by the user
.... text Σ1..1stringPlain text representation of the concept
... method Σ0..1CodeableConcept✕ This element is not supported
Binding: EDQM - Administration Method (required)
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*Extension✕ This element is not supported
Slice: Unordered, Open by value:url
.... coding Σ1..*CodingCode defined by a terminology system
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ1..1uriIdentity of the terminology system
..... version Σ0..1stringVersion of the system - if relevant
..... code Σ1..1codeSymbol in syntax defined by the system
..... display Σ0..1stringRepresentation defined by the system
..... userSelected Σ0..1booleanIf this coding was chosen directly by the user
.... text Σ1..1stringPlain text representation of the concept
... 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Σ0..1Amount of medication per dose
Slice: Unordered, Closed by type:$this
..... doseRangeRange(CHCoreRangeWithEmedUnits)
..... doseQuantityQuantity(CHCoreQuantityWithEmedUnits)
..... dose[x]:doseQuantity SC0..1CHEMEDEPRAmountQuantityA 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 SC0..1CHEMEDEPRAmountRangeSet of values bounded by low and high
rng-2: If present, low SHALL have a lower value than high
.... rate[x] C0..1CHEMEDEPRRatioAmountPerTimeA 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 C0..1CHEMEDEPRRatioAmountPerTimeA 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 C0..1CHEMEDEPRAmountQuantityA 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 C0..1CHEMEDEPRAmountQuantity✕ 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
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-3errorDosagePatient instruction/free text dosage instruction, timing or as needed has to be specified
: patientInstruction.exists() or timing.exists() or asNeeded.exists()
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 CHEMEDDosageMedicationRequest

Summary

Mandatory: 0 element (4 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 CHEMEDDosageMedicationRequest

NameFlagsCard.TypeDescription & Constraintsdoco
.. Dosage CHEMEDDosageMedicationRequest
... extension D0..*Extension✕ This element is not supported
... modifierExtension 0..0
... text D0..1string✕ This element is not supported
.... extension D0..*Extension✕ This element is not supported
.... text 1..1stringPlain text representation of the concept
... timing
.... id D0..1string✕ This element is not supported
.... extension D0..*Extension✕ This element is not supported
.... modifierExtension 0..0
.... event D0..*dateTime✕ This element is not supported
.... repeat
..... id D0..1string✕ This element is not supported
..... extension D0..*Extension✕ This element is not supported
..... bounds[x] 0..1PeriodLength/Range of lengths, or (Start and/or end) limits
..... count D0..1positiveInt✕ This element is not supported
..... countMax D0..1positiveInt✕ This element is not supported
..... duration D0..1decimal✕ This element is not supported
..... durationMax D0..1decimal✕ This element is not supported
..... durationUnit D0..1code✕ This element is not supported
..... frequency D0..1positiveInt✕ This element is not supported
..... frequencyMax D0..1positiveInt✕ This element is not supported
..... period D0..1decimal✕ This element is not supported
..... periodMax D0..1decimal✕ This element is not supported
..... periodUnit D0..1code✕ This element is not supported
..... dayOfWeek D0..*code✕ This element is not supported
..... timeOfDay D0..*time✕ This element is not supported
..... when C0..*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 D0..1unsignedInt✕ This element is not supported
.... code D0..1CodeableConcept✕ This element is not supported
... asNeeded[x] 0..1booleanTake "as needed" (for x)
... asNeeded[x]:asNeededBoolean 0..1booleanIn reserve (to be taken by the patient only if the need arises - e.g. pains)
... site D0..1CodeableConcept✕ This element is not supported
.... extension D0..*Extension✕ This element is not supported
.... text 1..1stringPlain text representation of the concept
... route 0..1CodeableConceptRoute of administration
.... extension D0..*Extension✕ This element is not supported
.... text 1..1stringPlain text representation of the concept
... method D0..1CodeableConcept✕ This element is not supported
.... extension D0..*Extension✕ This element is not supported
.... text 1..1stringPlain text representation of the concept
... doseAndRate
.... type D0..1CodeableConcept✕ This element is not supported
.... Slices for dose[x] 0..1CHCoreRangeWithEmedUnits, CHCoreQuantityWithEmedUnitsAmount 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
... maxDosePerPeriod 0..1CHEMEDEPRRatioAmountPerTimeA ratio of two Quantity values - a numerator and a denominator
... maxDosePerAdministration 0..1CHEMEDEPRAmountQuantityA fixed quantity (no comparator)
... maxDosePerLifetime D0..1CHEMEDEPRAmountQuantity✕ This element is not supported

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 C0..*CHEMEDDosageMedicationRequestCH EMED Dosage (MedicationRequest)
ch-dosage-4: For split dosage timing event and dose/rate are required
ch-dosage-3: Patient instruction/free text dosage instruction, timing or as needed has to be specified
... extension 0..*Extension✕ This element is not supported
Slice: Unordered, Open by value:url
... text Σ0..1string✕ This element is not supported
... patientInstruction SΣ0..1stringPatient instructions (e.g. 'take with food'), incl. free text dosage instructions (e.g. for complex dosage)
.... id 0..1string✕ This element is not supported
.... extension 0..*Extension✕ This element is not supported
Slice: Unordered, Open by value:url
.... event Σ0..*dateTime✕ This element is not supported
.... repeat ΣC0..1ElementWhen 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..1string✕ This element is not supported
..... extension 0..*Extension✕ This element is not supported
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
...... bounds[x]:boundsPeriod SΣ0..1PeriodStart and/or end of treatment
..... count Σ0..1positiveInt✕ This element is not supported
..... countMax Σ0..1positiveInt✕ This element is not supported
..... duration Σ0..1decimal✕ This element is not supported
..... durationMax Σ0..1decimal✕ This element is not supported
..... durationUnit Σ0..1code✕ This element is not supported
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

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

..... dayOfWeek Σ0..*code✕ This element is not supported
Binding: DaysOfWeek (required)
..... timeOfDay Σ0..*time✕ This element is not supported
..... when SΣC0..*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 Σ0..1unsignedInt✕ This element is not supported
.... code Σ0..1CodeableConcept✕ This element is not supported
Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern.

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

.... extension 0..*Extension✕ This element is not supported
Slice: Unordered, Open by value:url
.... text Σ1..1stringPlain text representation of the concept
... route Σ0..1CodeableConceptRoute of administration
Binding: EDQM - RouteOfAdministration (required)
.... extension 0..*Extension✕ This element is not supported
Slice: Unordered, Open by value:url
.... coding SΣ1..*CodingCode defined by a terminology system
..... system Σ1..1uriIdentity of the terminology system
..... code Σ1..1codeSymbol in syntax defined by the system
.... text Σ1..1stringPlain text representation of the concept
... method Σ0..1CodeableConcept✕ This element is not supported
Binding: EDQM - Administration Method (required)
.... extension 0..*Extension✕ This element is not supported
Slice: Unordered, Open by value:url
.... coding Σ1..*CodingCode defined by a terminology system
..... system Σ1..1uriIdentity of the terminology system
..... code Σ1..1codeSymbol in syntax defined by the system
.... text Σ1..1stringPlain text representation of the concept
... doseAndRate Σ1..1ElementAmount of medication administered
.... type Σ0..1CodeableConcept✕ This element is not supported
Binding: DoseAndRateType (example): The kind of dose or rate specified.

.... Slices for dose[x] SΣ0..1Amount of medication per dose
Slice: Unordered, Closed by type:$this
..... doseRangeRange(CHCoreRangeWithEmedUnits)
..... doseQuantityQuantity(CHCoreQuantityWithEmedUnits)
..... dose[x]:doseQuantity SC0..1CHEMEDEPRAmountQuantityA 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 SC0..1CHEMEDEPRAmountRangeSet of values bounded by low and high
rng-2: If present, low SHALL have a lower value than high
.... rate[x] C0..1CHEMEDEPRRatioAmountPerTimeA 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 C0..1CHEMEDEPRRatioAmountPerTimeA 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 C0..1CHEMEDEPRAmountQuantityA 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 C0..1CHEMEDEPRAmountQuantity✕ 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.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
ch-dosage-3errorDosagePatient instruction/free text dosage instruction, timing or as needed has to be specified
: patientInstruction.exists() or timing.exists() or asNeeded.exists()
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 C0..*CHEMEDDosageMedicationRequestCH EMED Dosage (MedicationRequest)
ch-dosage-4: For split dosage timing event and dose/rate are required
ch-dosage-3: Patient instruction/free text dosage instruction, timing or as needed has to be specified
... id 0..1stringUnique id for inter-element referencing
... extension 0..*Extension✕ This element is not supported
Slice: Unordered, Open by value:url
... sequence ΣC0..1integerThe 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..*CodeableConceptSupplemental 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..1stringUnique id for inter-element referencing
.... extension 0..*Extension✕ This element is not supported
Slice: Unordered, Open by value:url
.... coding Σ0..*CodingCode defined by a terminology system
.... text Σ1..1stringPlain text representation of the concept
... patientInstruction SΣ0..1stringPatient instructions (e.g. 'take with food'), incl. free text dosage instructions (e.g. for complex dosage)
... timing Σ0..1TimingWhen medication should be administered
.... id 0..1string✕ This element is not supported
.... extension 0..*Extension✕ This element is not supported
Slice: Unordered, Open by value:url
.... event Σ0..*dateTime✕ This element is not supported
.... repeat ΣC0..1ElementWhen 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..1string✕ This element is not supported
..... extension 0..*Extension✕ This element is not supported
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
...... bounds[x]:boundsPeriod SΣ0..1PeriodStart and/or end of treatment
..... count Σ0..1positiveInt✕ This element is not supported
..... countMax Σ0..1positiveInt✕ This element is not supported
..... duration Σ0..1decimal✕ This element is not supported
..... durationMax Σ0..1decimal✕ This element is not supported
..... durationUnit Σ0..1code✕ This element is not supported
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

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

..... dayOfWeek Σ0..*code✕ This element is not supported
Binding: DaysOfWeek (required)
..... timeOfDay Σ0..*time✕ This element is not supported
..... when SΣC0..*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 Σ0..1unsignedInt✕ This element is not supported
.... code Σ0..1CodeableConcept✕ This element is not supported
Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern.

... Slices for asNeeded[x] Σ0..1booleanTake "as needed" (for x)
Slice: Unordered, Closed by type:$this
.... asNeeded[x]:asNeededBoolean Σ0..1booleanIn reserve (to be taken by the patient only if the need arises - e.g. pains)
... site Σ0..1CodeableConcept✕ 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..1stringUnique id for inter-element referencing
.... extension 0..*Extension✕ This element is not supported
Slice: Unordered, Open by value:url
.... coding Σ0..*CodingCode defined by a terminology system
.... text Σ1..1stringPlain text representation of the concept
... route Σ0..1CodeableConceptRoute of administration
Binding: EDQM - RouteOfAdministration (required)
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*Extension✕ This element is not supported
Slice: Unordered, Open by value:url
.... coding SΣ1..*CodingCode defined by a terminology system
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ1..1uriIdentity of the terminology system
..... version Σ0..1stringVersion of the system - if relevant
..... code Σ1..1codeSymbol in syntax defined by the system
..... display Σ0..1stringRepresentation defined by the system
..... userSelected Σ0..1booleanIf this coding was chosen directly by the user
.... text Σ1..1stringPlain text representation of the concept
... method Σ0..1CodeableConcept✕ This element is not supported
Binding: EDQM - Administration Method (required)
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*Extension✕ This element is not supported
Slice: Unordered, Open by value:url
.... coding Σ1..*CodingCode defined by a terminology system
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ1..1uriIdentity of the terminology system
..... version Σ0..1stringVersion of the system - if relevant
..... code Σ1..1codeSymbol in syntax defined by the system
..... display Σ0..1stringRepresentation defined by the system
..... userSelected Σ0..1booleanIf this coding was chosen directly by the user
.... text Σ1..1stringPlain text representation of the concept
... 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Σ0..1Amount of medication per dose
Slice: Unordered, Closed by type:$this
..... doseRangeRange(CHCoreRangeWithEmedUnits)
..... doseQuantityQuantity(CHCoreQuantityWithEmedUnits)
..... dose[x]:doseQuantity SC0..1CHEMEDEPRAmountQuantityA 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 SC0..1CHEMEDEPRAmountRangeSet of values bounded by low and high
rng-2: If present, low SHALL have a lower value than high
.... rate[x] C0..1CHEMEDEPRRatioAmountPerTimeA 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 C0..1CHEMEDEPRRatioAmountPerTimeA 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 C0..1CHEMEDEPRAmountQuantityA 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 C0..1CHEMEDEPRAmountQuantity✕ 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
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-3errorDosagePatient instruction/free text dosage instruction, timing or as needed has to be specified
: patientInstruction.exists() or timing.exists() or asNeeded.exists()
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 CHEMEDDosageMedicationRequest

Summary

Mandatory: 0 element (4 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