eMediplan CHMED Implementation Guide
2.1.0 - CI Build Switzerland flag

eMediplan CHMED Implementation Guide, published by IG eMediplan. This is not an authorized publication; it is the continuous build for version 2.1.0). This version is based on the current content of https://github.com/ahdis/chmed/ and changes regularly. See the Directory of published versions

Data Type Profile: CHMED Dosage

Official URL: http://chmed.emediplan.ch/fhir/StructureDefinition/chmed-dosage Version: 2.1.0
Active as of 2022-08-12 Computable Name: CHMEDDosage

Copyright/Legal: CC-BY-SA-4.0

Dosage according to the ‘eMedication Plan CHMED Posology’

Usage:

  • This DataType Constraint is not used by any profiles in this Implementation Guide

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..*DosageCHMED Dosage
... posologyObjectType S0..*CodingCHMED Posology Object Type
URL: http://chmed.emediplan.ch/fhir/StructureDefinition/chmed-posology-object-type
Binding: CHMED Posology Object Type (required)
... timedDosageObjectType S0..1CodingCHMED Timed Dosage Object Type
URL: http://chmed.emediplan.ch/fhir/StructureDefinition/chmed-timed-dosage-object-type
Binding: CHMED Timed Dosage Object Type (required)
... sequence 0..1integerThe order of the dosage instructions (number is identical -> concurrent, number is different -> sequential)
.... additionalInstruction:relativeToMeal 0..1CodeableConceptWhen the medicament must be applied relative to a meal (before, during or after)
Binding: CHMED Relative to Meal (required)
.... additionalInstruction:evenOddDays 0..1CodeableConceptThe medicament is be applied on even or odd days
Binding: CHMED Even/Odd Days (required)
... timing
.... repeat
..... dayOfMonth 0..*positiveIntDay of Month for schedule
URL: http://hl7.org/fhir/StructureDefinition/timing-dayOfMonth
..... boundsPeriod 0..1PeriodLength/Range of lengths, or (Start and/or end) limits
...... start 0..1dateTimeStarting time with inclusive boundary
...... end 0..1dateTimeEnd time with inclusive boundary, if not ongoing
..... count 0..1positiveIntNumber of times to repeat
..... duration 0..1decimalHow long when it happens
..... durationUnit 0..1codes | min | h | d | wk | mo | a - unit of time (UCUM)
..... frequency 0..1positiveIntEvent occurs frequency times per period
..... period 0..1decimalEvent occurs frequency times per period
..... periodUnit 0..1codes | min | h | d | wk | mo | a - unit of time (UCUM)
..... dayOfWeek 0..*codemon | tue | wed | thu | fri | sat | sun
..... timeOfDay 0..*timeTime of day for action
..... when 0..*codeCode for time period of occurrence
... asNeededBoolean 0..1booleanReserve medication ('true' if in reserve, 'false' otherwise)
... route 0..1CodeableConceptRoute of administration
Binding: EDQM - RouteOfAdministration (required)
... method 0..1CodeableConceptMethod of administration
Binding: CHMED Method of Administration (required)
... doseAndRate
.... doseRange 0..1CHEMEDRangeWithEmedUnitsSet of values bounded by low and high
..... low 0..1CHEMEDQuantityWithEmedUnitsA fixed quantity (no comparator)
..... high 0..1CHEMEDQuantityWithEmedUnitsA fixed quantity (no comparator)
.... doseQuantity 0..1CHEMEDQuantityWithEmedUnitsA fixed quantity (no comparator)
..... doseQuantityTo 0..1CHEMEDQuantityWithEmedUnitsCHMED Dose Quantity To
URL: http://chmed.emediplan.ch/fhir/StructureDefinition/chmed-dose-quantity-to
..... value 1..1decimalNumerical value (with implicit precision)
..... unit 1..1stringUnit representation
..... system 1..1uriSystem of the code from Units of Presentation
..... code 1..1codeCoded form of the unit
... maxDosePerPeriod 0..1CHEMEDRatioWithEmedUnitsA ratio of two Quantity values - a numerator and a denominator
.... numerator 1..1CHEMEDQuantityWithEmedUnitsA fixed quantity (no comparator)
.... denominator
..... value 1..1decimalNumerical value (with implicit precision)
..... unit 1..1stringUnit representation
..... system 1..1uriSystem of the code from Units of Presentation
..... code 1..1codeCoded form of the unit

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Dosage 0..*DosageCHMED Dosage
... id 0..1stringUnique id for inter-element referencing
... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
... posologyObjectType S0..*CodingCHMED Posology Object Type
URL: http://chmed.emediplan.ch/fhir/StructureDefinition/chmed-posology-object-type
Binding: CHMED Posology Object Type (required)
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
... sequence Σ0..1integerThe order of the dosage instructions (number is identical -> concurrent, number is different -> sequential)
... text Σ0..1stringFree text dosage instructions e.g. SIG
... Slices for additionalInstruction Σ0..*CodeableConceptSupplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
Slice: Unordered, Open by pattern:$this
Binding: SNOMEDCTAdditionalDosageInstructions (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery".


.... additionalInstruction:relativeToMeal Σ0..1CodeableConceptWhen the medicament must be applied relative to a meal (before, during or after)
Binding: CHMED Relative to Meal (required)
.... additionalInstruction:evenOddDays Σ0..1CodeableConceptThe medicament is be applied on even or odd days
Binding: CHMED Even/Odd Days (required)
... patientInstruction Σ0..1stringPatient or consumer oriented instructions
... timing Σ0..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 ΣI0..1ElementWhen the event is to occur
..... id 0..1stringUnique id for inter-element referencing
..... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... dayOfMonth 0..*positiveIntDay of Month for schedule
URL: http://hl7.org/fhir/StructureDefinition/timing-dayOfMonth
..... Slices for bounds[x] Σ0..1PeriodLength/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Closed by type:$this
...... bounds[x]:boundsPeriod Σ0..1PeriodLength/Range of lengths, or (Start and/or end) limits
....... id 0..1stringUnique id for inter-element referencing
....... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
....... start ΣI0..1dateTimeStarting time with inclusive boundary
....... end ΣI0..1dateTimeEnd time with inclusive boundary, if not ongoing
..... 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 Σ0..*codeCode for time period of occurrence
Binding: EventTiming (required): Real world event relating to the schedule.


..... 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.

... Slices for asNeeded[x] Σ0..1booleanTake "as needed" (for x)
Slice: Unordered, Closed by type:$this
.... asNeeded[x]:asNeededBoolean Σ0..1booleanReserve medication ('true' if in reserve, 'false' otherwise)
... site Σ0..1CodeableConceptBody site to administer to
Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.

... route Σ0..1CodeableConceptRoute of administration
Binding: EDQM - RouteOfAdministration (required)
... method Σ0..1CodeableConceptMethod of administration
Binding: CHMED Method of Administration (required)
... doseAndRate Σ0..*ElementAmount 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.

.... Slices for dose[x] Σ0..1Amount of medication per dose
Slice: Unordered, Closed by type:$this
..... doseRangeRange
..... doseQuantityQuantity
..... dose[x]:doseRange I0..1CHEMEDRangeWithEmedUnitsSet of values bounded by low and high
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... low I0..1CHEMEDQuantityWithEmedUnitsA fixed quantity (no comparator)
...... high I0..1CHEMEDQuantityWithEmedUnitsA fixed quantity (no comparator)
..... dose[x]:doseQuantity I0..1CHEMEDQuantityWithEmedUnitsA fixed quantity (no comparator)
...... id 0..1stringUnique id for inter-element referencing
...... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... doseQuantityTo 0..1CHEMEDQuantityWithEmedUnitsCHMED Dose Quantity To
URL: http://chmed.emediplan.ch/fhir/StructureDefinition/chmed-dose-quantity-to
...... value Σ1..1decimalNumerical value (with implicit precision)
...... unit Σ1..1stringUnit representation
...... system ΣI1..1uriSystem of the code from Units of Presentation
...... code Σ1..1codeCoded form of the unit
Binding: UnitCode (required): The coded unit used describing the quantity.

.... rate[x] Σ0..1Amount of medication per unit of time
..... rateRatioRatio
..... rateRangeRange
..... rateQuantityQuantity(SimpleQuantity)
... maxDosePerPeriod I0..1CHEMEDRatioWithEmedUnitsA ratio of two Quantity values - a numerator and a denominator
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... numerator I1..1CHEMEDQuantityWithEmedUnitsA fixed quantity (no comparator)
.... denominator I1..1CHEMEDQuantityWithEmedUnitsA fixed quantity (no comparator)
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... value Σ1..1decimalNumerical value (with implicit precision)
..... unit Σ1..1stringUnit representation
..... system ΣI1..1uriSystem of the code from Units of Presentation
..... code Σ1..1codeCoded form of the unit
Binding: UnitCode (required): The coded unit used describing the quantity.

... maxDosePerAdministration Σ0..1SimpleQuantityUpper limit on medication per administration
... maxDosePerLifetime Σ0..1SimpleQuantityUpper limit on medication per lifetime of the patient

doco Documentation for this format

Differential View

This structure is derived from Dosage

NameFlagsCard.TypeDescription & Constraintsdoco
.. Dosage 0..*DosageCHMED Dosage
... posologyObjectType S0..*CodingCHMED Posology Object Type
URL: http://chmed.emediplan.ch/fhir/StructureDefinition/chmed-posology-object-type
Binding: CHMED Posology Object Type (required)
... timedDosageObjectType S0..1CodingCHMED Timed Dosage Object Type
URL: http://chmed.emediplan.ch/fhir/StructureDefinition/chmed-timed-dosage-object-type
Binding: CHMED Timed Dosage Object Type (required)
... sequence 0..1integerThe order of the dosage instructions (number is identical -> concurrent, number is different -> sequential)
.... additionalInstruction:relativeToMeal 0..1CodeableConceptWhen the medicament must be applied relative to a meal (before, during or after)
Binding: CHMED Relative to Meal (required)
.... additionalInstruction:evenOddDays 0..1CodeableConceptThe medicament is be applied on even or odd days
Binding: CHMED Even/Odd Days (required)
... timing
.... repeat
..... dayOfMonth 0..*positiveIntDay of Month for schedule
URL: http://hl7.org/fhir/StructureDefinition/timing-dayOfMonth
..... boundsPeriod 0..1PeriodLength/Range of lengths, or (Start and/or end) limits
...... start 0..1dateTimeStarting time with inclusive boundary
...... end 0..1dateTimeEnd time with inclusive boundary, if not ongoing
..... count 0..1positiveIntNumber of times to repeat
..... duration 0..1decimalHow long when it happens
..... durationUnit 0..1codes | min | h | d | wk | mo | a - unit of time (UCUM)
..... frequency 0..1positiveIntEvent occurs frequency times per period
..... period 0..1decimalEvent occurs frequency times per period
..... periodUnit 0..1codes | min | h | d | wk | mo | a - unit of time (UCUM)
..... dayOfWeek 0..*codemon | tue | wed | thu | fri | sat | sun
..... timeOfDay 0..*timeTime of day for action
..... when 0..*codeCode for time period of occurrence
... asNeededBoolean 0..1booleanReserve medication ('true' if in reserve, 'false' otherwise)
... route 0..1CodeableConceptRoute of administration
Binding: EDQM - RouteOfAdministration (required)
... method 0..1CodeableConceptMethod of administration
Binding: CHMED Method of Administration (required)
... doseAndRate
.... doseRange 0..1CHEMEDRangeWithEmedUnitsSet of values bounded by low and high
..... low 0..1CHEMEDQuantityWithEmedUnitsA fixed quantity (no comparator)
..... high 0..1CHEMEDQuantityWithEmedUnitsA fixed quantity (no comparator)
.... doseQuantity 0..1CHEMEDQuantityWithEmedUnitsA fixed quantity (no comparator)
..... doseQuantityTo 0..1CHEMEDQuantityWithEmedUnitsCHMED Dose Quantity To
URL: http://chmed.emediplan.ch/fhir/StructureDefinition/chmed-dose-quantity-to
..... value 1..1decimalNumerical value (with implicit precision)
..... unit 1..1stringUnit representation
..... system 1..1uriSystem of the code from Units of Presentation
..... code 1..1codeCoded form of the unit
... maxDosePerPeriod 0..1CHEMEDRatioWithEmedUnitsA ratio of two Quantity values - a numerator and a denominator
.... numerator 1..1CHEMEDQuantityWithEmedUnitsA fixed quantity (no comparator)
.... denominator
..... value 1..1decimalNumerical value (with implicit precision)
..... unit 1..1stringUnit representation
..... system 1..1uriSystem of the code from Units of Presentation
..... code 1..1codeCoded form of the unit

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Dosage 0..*DosageCHMED Dosage
... id 0..1stringUnique id for inter-element referencing
... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
... posologyObjectType S0..*CodingCHMED Posology Object Type
URL: http://chmed.emediplan.ch/fhir/StructureDefinition/chmed-posology-object-type
Binding: CHMED Posology Object Type (required)
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
... sequence Σ0..1integerThe order of the dosage instructions (number is identical -> concurrent, number is different -> sequential)
... text Σ0..1stringFree text dosage instructions e.g. SIG
... Slices for additionalInstruction Σ0..*CodeableConceptSupplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
Slice: Unordered, Open by pattern:$this
Binding: SNOMEDCTAdditionalDosageInstructions (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery".


.... additionalInstruction:relativeToMeal Σ0..1CodeableConceptWhen the medicament must be applied relative to a meal (before, during or after)
Binding: CHMED Relative to Meal (required)
.... additionalInstruction:evenOddDays Σ0..1CodeableConceptThe medicament is be applied on even or odd days
Binding: CHMED Even/Odd Days (required)
... patientInstruction Σ0..1stringPatient or consumer oriented instructions
... timing Σ0..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 ΣI0..1ElementWhen the event is to occur
..... id 0..1stringUnique id for inter-element referencing
..... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... dayOfMonth 0..*positiveIntDay of Month for schedule
URL: http://hl7.org/fhir/StructureDefinition/timing-dayOfMonth
..... Slices for bounds[x] Σ0..1PeriodLength/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Closed by type:$this
...... bounds[x]:boundsPeriod Σ0..1PeriodLength/Range of lengths, or (Start and/or end) limits
....... id 0..1stringUnique id for inter-element referencing
....... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
....... start ΣI0..1dateTimeStarting time with inclusive boundary
....... end ΣI0..1dateTimeEnd time with inclusive boundary, if not ongoing
..... 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 Σ0..*codeCode for time period of occurrence
Binding: EventTiming (required): Real world event relating to the schedule.


..... 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.

... Slices for asNeeded[x] Σ0..1booleanTake "as needed" (for x)
Slice: Unordered, Closed by type:$this
.... asNeeded[x]:asNeededBoolean Σ0..1booleanReserve medication ('true' if in reserve, 'false' otherwise)
... site Σ0..1CodeableConceptBody site to administer to
Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.

... route Σ0..1CodeableConceptRoute of administration
Binding: EDQM - RouteOfAdministration (required)
... method Σ0..1CodeableConceptMethod of administration
Binding: CHMED Method of Administration (required)
... doseAndRate Σ0..*ElementAmount 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.

.... Slices for dose[x] Σ0..1Amount of medication per dose
Slice: Unordered, Closed by type:$this
..... doseRangeRange
..... doseQuantityQuantity
..... dose[x]:doseRange I0..1CHEMEDRangeWithEmedUnitsSet of values bounded by low and high
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... low I0..1CHEMEDQuantityWithEmedUnitsA fixed quantity (no comparator)
...... high I0..1CHEMEDQuantityWithEmedUnitsA fixed quantity (no comparator)
..... dose[x]:doseQuantity I0..1CHEMEDQuantityWithEmedUnitsA fixed quantity (no comparator)
...... id 0..1stringUnique id for inter-element referencing
...... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... doseQuantityTo 0..1CHEMEDQuantityWithEmedUnitsCHMED Dose Quantity To
URL: http://chmed.emediplan.ch/fhir/StructureDefinition/chmed-dose-quantity-to
...... value Σ1..1decimalNumerical value (with implicit precision)
...... unit Σ1..1stringUnit representation
...... system ΣI1..1uriSystem of the code from Units of Presentation
...... code Σ1..1codeCoded form of the unit
Binding: UnitCode (required): The coded unit used describing the quantity.

.... rate[x] Σ0..1Amount of medication per unit of time
..... rateRatioRatio
..... rateRangeRange
..... rateQuantityQuantity(SimpleQuantity)
... maxDosePerPeriod I0..1CHEMEDRatioWithEmedUnitsA ratio of two Quantity values - a numerator and a denominator
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... numerator I1..1CHEMEDQuantityWithEmedUnitsA fixed quantity (no comparator)
.... denominator I1..1CHEMEDQuantityWithEmedUnitsA fixed quantity (no comparator)
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... value Σ1..1decimalNumerical value (with implicit precision)
..... unit Σ1..1stringUnit representation
..... system ΣI1..1uriSystem of the code from Units of Presentation
..... code Σ1..1codeCoded form of the unit
Binding: UnitCode (required): The coded unit used describing the quantity.

... maxDosePerAdministration Σ0..1SimpleQuantityUpper limit on medication per administration
... maxDosePerLifetime Σ0..1SimpleQuantityUpper limit on medication per lifetime of the patient

doco Documentation for this format

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSet
Dosage.additionalInstructionexampleSNOMEDCTAdditionalDosageInstructions
Dosage.additionalInstruction:relativeToMealrequiredRelativeToMeal
Dosage.additionalInstruction:evenOddDaysrequiredEvenOddDays
Dosage.timing.repeat.durationUnitrequiredUnitsOfTime
Dosage.timing.repeat.periodUnitrequiredUnitsOfTime
Dosage.timing.repeat.dayOfWeekrequiredDaysOfWeek
Dosage.timing.repeat.whenrequiredEventTiming
Dosage.timing.codepreferredTimingAbbreviation
Dosage.siteexampleSNOMEDCTAnatomicalStructureForAdministrationSiteCodes
Dosage.routerequiredRouteOfAdministrationEDQM
Dosage.methodrequiredCDTYP62
Dosage.doseAndRate.typeexampleDoseAndRateType
Dosage.doseAndRate.dose[x]:doseQuantity.coderequiredUnitCode
Dosage.maxDosePerPeriod.denominator.coderequiredUnitCode

Constraints

IdGradePathDetailsRequirements
ele-1errorDosageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorDosage.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorDosage.extension:posologyObjectTypeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorDosage.extension:posologyObjectTypeMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorDosage.extension:timedDosageObjectTypeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorDosage.extension:timedDosageObjectTypeMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorDosage.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorDosage.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorDosage.sequenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.additionalInstructionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.additionalInstruction:relativeToMealAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.additionalInstruction:evenOddDaysAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.patientInstructionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.timingAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.timing.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorDosage.timing.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorDosage.timing.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorDosage.timing.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorDosage.timing.eventAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.timing.repeatAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
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()
ele-1errorDosage.timing.repeat.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorDosage.timing.repeat.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorDosage.timing.repeat.extension:dayOfMonthAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorDosage.timing.repeat.extension:dayOfMonthMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorDosage.timing.repeat.bounds[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.timing.repeat.bounds[x]:boundsPeriodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.timing.repeat.bounds[x]:boundsPeriod.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorDosage.timing.repeat.bounds[x]:boundsPeriod.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorDosage.timing.repeat.bounds[x]:boundsPeriod.startAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.timing.repeat.bounds[x]:boundsPeriod.endAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.timing.repeat.countAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.timing.repeat.countMaxAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.timing.repeat.durationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.timing.repeat.durationMaxAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.timing.repeat.durationUnitAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.timing.repeat.frequencyAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.timing.repeat.frequencyMaxAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.timing.repeat.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.timing.repeat.periodMaxAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.timing.repeat.periodUnitAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.timing.repeat.dayOfWeekAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.timing.repeat.timeOfDayAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.timing.repeat.whenAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.timing.repeat.offsetAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.timing.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.asNeeded[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.asNeeded[x]:asNeededBooleanAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.siteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.routeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.methodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.doseAndRateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.doseAndRate.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorDosage.doseAndRate.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorDosage.doseAndRate.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.doseAndRate.dose[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.doseAndRate.dose[x]:doseRangeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
rng-2errorDosage.doseAndRate.dose[x]:doseRangeIf present, low SHALL have a lower value than high
: low.empty() or high.empty() or (low <= high)
ele-1errorDosage.doseAndRate.dose[x]:doseRange.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorDosage.doseAndRate.dose[x]:doseRange.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorDosage.doseAndRate.dose[x]:doseRange.lowAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
qty-3errorDosage.doseAndRate.dose[x]:doseRange.lowIf a code for the unit is present, the system SHALL also be present
: code.empty() or system.exists()
sqty-1errorDosage.doseAndRate.dose[x]:doseRange.lowThe comparator is not used on a SimpleQuantity
: comparator.empty()
ele-1errorDosage.doseAndRate.dose[x]:doseRange.highAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
qty-3errorDosage.doseAndRate.dose[x]:doseRange.highIf a code for the unit is present, the system SHALL also be present
: code.empty() or system.exists()
sqty-1errorDosage.doseAndRate.dose[x]:doseRange.highThe comparator is not used on a SimpleQuantity
: comparator.empty()
ele-1errorDosage.doseAndRate.dose[x]:doseQuantityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
qty-3errorDosage.doseAndRate.dose[x]:doseQuantityIf a code for the unit is present, the system SHALL also be present
: code.empty() or system.exists()
sqty-1errorDosage.doseAndRate.dose[x]:doseQuantityThe comparator is not used on a SimpleQuantity
: comparator.empty()
ele-1errorDosage.doseAndRate.dose[x]:doseQuantity.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorDosage.doseAndRate.dose[x]:doseQuantity.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorDosage.doseAndRate.dose[x]:doseQuantity.extension:doseQuantityToAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorDosage.doseAndRate.dose[x]:doseQuantity.extension:doseQuantityToMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorDosage.doseAndRate.dose[x]:doseQuantity.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.doseAndRate.dose[x]:doseQuantity.unitAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.doseAndRate.dose[x]:doseQuantity.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.doseAndRate.dose[x]:doseQuantity.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.doseAndRate.rate[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.maxDosePerPeriodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
rat-1errorDosage.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())
ele-1errorDosage.maxDosePerPeriod.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorDosage.maxDosePerPeriod.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorDosage.maxDosePerPeriod.numeratorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
qty-3errorDosage.maxDosePerPeriod.numeratorIf a code for the unit is present, the system SHALL also be present
: code.empty() or system.exists()
sqty-1errorDosage.maxDosePerPeriod.numeratorThe comparator is not used on a SimpleQuantity
: comparator.empty()
ele-1errorDosage.maxDosePerPeriod.denominatorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
qty-3errorDosage.maxDosePerPeriod.denominatorIf a code for the unit is present, the system SHALL also be present
: code.empty() or system.exists()
sqty-1errorDosage.maxDosePerPeriod.denominatorThe comparator is not used on a SimpleQuantity
: comparator.empty()
ele-1errorDosage.maxDosePerPeriod.denominator.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorDosage.maxDosePerPeriod.denominator.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorDosage.maxDosePerPeriod.denominator.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.maxDosePerPeriod.denominator.unitAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.maxDosePerPeriod.denominator.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.maxDosePerPeriod.denominator.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.maxDosePerAdministrationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDosage.maxDosePerLifetimeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())