UPTIS FHIR PoC Test Implementation Guide
1.0.0 - draft Estonia flag

UPTIS FHIR PoC Test Implementation Guide, published by TEHIK. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/TEHIK-EE/FHIR-PoC/ and changes regularly. See the Directory of published versions

Data Type Profile: EETISDosage

Official URL: https://fhir.ee/StructureDefinition/ee-tis-dosage Version: 1.0.0
Draft as of 2023-11-07 Computable Name: EETISDosage

Annustamisjuhis. Dosage is for exact representation of what quantity in which units and how often should medication be taken by patient.

Usage:

Formal Views of Profile Content

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

This structure is derived from Dosage

NameFlagsCard.TypeDescription & Constraintsdoco
.. Dosage 0..* Dosage Annustamisjuhis
... sequence 0..1 integer JÄRJEKORD. The order of the dosage instructions
... text 0..1 string Free text dosage instructions e.g. SIG
Max Length: 1000
... additionalInstruction 0..* CodeableConcept LISAJUHIS. Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
... timing 0..1 Timing ANNUSTAMISE AEG. When medication should be administered
.... repeat 0..1 Element ANNUSTAMISE KORDUS. When the event is to occur
..... bounds[x] 0..1 Duration, Range, Period Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
..... count 0..1 positiveInt KORDUSED. Number of times to repeat
..... countMax 0..1 positiveInt MAKSIMAALNE KORDUSTE ARV. Maximum number of times to repeat
..... duration 0..1 decimal KESTUS. How long when it happens
..... durationMax 0..1 decimal MAKSIMAALNE KESTUS. How long when it happens (Max)
..... durationUnit 0..1 code s | min | h | d | wk | mo | a - unit of time (UCUM)
..... frequency 0..1 positiveInt SAGEDUS. Indicates the number of repetitions that should occur within a period. I.e. Event occurs frequency times per period
..... frequencyMax 0..1 positiveInt MAKSIMAALNE ANNUSTAMISTE ARV. Event occurs up to frequencyMax times per period
..... period 0..1 decimal KUI SAGEDASTI ANNUSTATAKSE JA ÜHIK. The duration to which the frequency applies. I.e. Event occurs frequency times per period
..... periodMax 0..1 decimal MAKSIMAALNE PERIOOD ANNUSTAMISE VAHEL. Upper limit of period (3-4 hours)
..... dayOfWeek 0..* code mon | tue | wed | thu | fri | sat | sun
..... timeOfDay 0..* time Time of day for action
..... when 0..* code MILLEGA SEOTUD. Code for time period of occurrence
..... offset 0..1 unsignedInt PERIOOD ENNE VÕI PÄRAST. Minutes from event (before or after)
... asNeeded 0..1 boolean VAJADUSEL. Take "as needed"
... asNeededFor 0..1 CodeableConcept Take "as needed" (for x)
... site 0..1 CodeableConcept KEHAPIIRKOND. Body site to administer to
... route 0..1 CodeableConcept MANUSTAMISVIIS. How drug should enter body
... method 0..1 CodeableConcept MEETOD. Technique for administering medication
... doseAndRate 0..* Element ANNUS JA KIIRUS. Amount of medication administered, to be administered or typical amount to be administered
.... dose[x] 0..1 Range, SimpleQuantity RAVIMI KOGUS ANNUSE KOHTA. Amount of medication per dose
.... rate[x] 0..1 Ratio, Range, SimpleQuantity MANUSTAMISE KIIRUS. Amount of medication per unit of time
... maxDosePerPeriod 0..* Ratio MAKSIMAALNE ANNUS PERIOODIS. Upper limit on medication per unit of time
... maxDosePerAdministration 0..1 SimpleQuantity MAKSIMAALNE ANNUS ÜHE ANNUSTAMISE KOHTA. Upper limit on medication per administration
... maxDosePerLifetime 0..1 SimpleQuantity MAKSIMAALNE ANNUS ELUS. Upper limit on medication per lifetime of the patient

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Dosage C 0..* Dosage Annustamisjuhis
dos-1: AsNeededFor can only be set if AsNeeded is empty or true
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
... sequence Σ 0..1 integer JÄRJEKORD. The order of the dosage instructions
... text Σ 0..1 string Free text dosage instructions e.g. SIG
Max Length: 1000
... patientInstruction Σ 0..1 string KOMMENTAAR PATSIENDILE. Patient or consumer oriented instructions
... timing Σ 0..1 Timing ANNUSTAMISE AEG. When medication should be administered
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... repeat ΣC 0..1 Element ANNUSTAMISE KORDUS. When the event is to occur
tim-1: if there's a duration, there needs to be duration units
tim-2: if there's a period, there needs to be period units
tim-4: duration SHALL be a non-negative value
tim-5: period SHALL be a non-negative value
tim-6: If there's a periodMax, there must be a period
tim-7: If there's a durationMax, there must be a duration
tim-8: If there's a countMax, there must be a count
tim-9: If there's an offset, there must be a when (and not C, CM, CD, CV)
tim-10: If there's a timeOfDay, there cannot be a when, or vice versa
..... bounds[x] Σ 0..1 Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
...... boundsDuration Duration
...... boundsRange Range
...... boundsPeriod Period
..... count ΣC 0..1 positiveInt KORDUSED. Number of times to repeat
..... countMax ΣC 0..1 positiveInt MAKSIMAALNE KORDUSTE ARV. Maximum number of times to repeat
..... duration ΣC 0..1 decimal KESTUS. How long when it happens
..... durationMax ΣC 0..1 decimal MAKSIMAALNE KESTUS. How long when it happens (Max)
..... durationUnit ΣC 0..1 code s | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

..... frequency Σ 0..1 positiveInt SAGEDUS. Indicates the number of repetitions that should occur within a period. I.e. Event occurs frequency times per period
..... frequencyMax Σ 0..1 positiveInt MAKSIMAALNE ANNUSTAMISTE ARV. Event occurs up to frequencyMax times per period
..... period ΣC 0..1 decimal KUI SAGEDASTI ANNUSTATAKSE JA ÜHIK. The duration to which the frequency applies. I.e. Event occurs frequency times per period
..... periodMax ΣC 0..1 decimal MAKSIMAALNE PERIOOD ANNUSTAMISE VAHEL. Upper limit of period (3-4 hours)
..... dayOfWeek Σ 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required)
..... timeOfDay ΣC 0..* time Time of day for action
..... when ΣC 0..* code MILLEGA SEOTUD. Code for time period of occurrence
Binding: EventTiming (required): Real-world event relating to the schedule.


..... offset ΣC 0..1 unsignedInt PERIOOD ENNE VÕI PÄRAST. Minutes from event (before or after)
... asNeeded ΣC 0..1 boolean VAJADUSEL. Take "as needed"
... asNeededFor ΣC 0..1 CodeableConcept Take "as needed" (for x)
Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the precondition that should be met or evaluated prior to consuming or administering a medication dose. For example "pain", "30 minutes prior to sexual intercourse", "on flare-up" etc.


... site Σ 0..1 CodeableConcept KEHAPIIRKOND. Body site to administer to
Binding: SNOMEDCTAnatomicalStructureAdministrationSites (example): A coded concept describing the site location the medicine enters into or onto the body.

... route Σ 0..1 CodeableConcept MANUSTAMISVIIS. How drug should enter body
Binding: SNOMEDCTRouteCodes (example): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.

... method Σ 0..1 CodeableConcept MEETOD. Technique for administering medication
Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.

... doseAndRate Σ 0..* Element ANNUS JA KIIRUS. Amount of medication administered, to be administered or typical amount to be administered
.... dose[x] Σ 0..1 RAVIMI KOGUS ANNUSE KOHTA. Amount of medication per dose
..... doseRange Range
..... doseQuantity Quantity(SimpleQuantity)
.... rate[x] Σ 0..1 MANUSTAMISE KIIRUS. Amount of medication per unit of time
..... rateRatio Ratio
..... rateRange Range
..... rateQuantity Quantity(SimpleQuantity)
... maxDosePerPeriod Σ 0..* Ratio MAKSIMAALNE ANNUS PERIOODIS. Upper limit on medication per unit of time
... maxDosePerAdministration Σ 0..1 SimpleQuantity MAKSIMAALNE ANNUS ÜHE ANNUSTAMISE KOHTA. Upper limit on medication per administration
... maxDosePerLifetime Σ 0..1 SimpleQuantity MAKSIMAALNE ANNUS ELUS. Upper limit on medication per lifetime of the patient

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|5.0.0
from the FHIR Standard
Dosage.timing.repeat.dayOfWeekrequiredDaysOfWeek
http://hl7.org/fhir/ValueSet/days-of-week|5.0.0
from the FHIR Standard
Dosage.timing.repeat.whenrequiredEventTiming
http://hl7.org/fhir/ValueSet/event-timing|5.0.0
from the FHIR Standard
Dosage.asNeededForexampleSNOMEDCTMedicationAsNeededReasonCodes
http://hl7.org/fhir/ValueSet/medication-as-needed-reason
from the FHIR Standard
Dosage.siteexampleSNOMEDCTAnatomicalStructureAdministrationSites
http://hl7.org/fhir/ValueSet/approach-site-codes
from the FHIR Standard
Dosage.routeexampleSNOMEDCTRouteCodes
http://hl7.org/fhir/ValueSet/route-codes
from the FHIR Standard
Dosage.methodexampleSNOMEDCTAdministrationMethodCodes
http://hl7.org/fhir/ValueSet/administration-method-codes
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dos-1errorDosageAsNeededFor can only be set if AsNeeded is empty or true
: asNeededFor.empty() or asNeeded.empty() or asNeeded
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
tim-1errorDosage.timing.repeatif there's a duration, there needs to be duration units
: duration.empty() or durationUnit.exists()
tim-2errorDosage.timing.repeatif there's a period, there needs to be period units
: period.empty() or periodUnit.exists()
tim-4errorDosage.timing.repeatduration SHALL be a non-negative value
: duration.exists() implies duration >= 0
tim-5errorDosage.timing.repeatperiod SHALL be a non-negative value
: period.exists() implies period >= 0
tim-6errorDosage.timing.repeatIf there's a periodMax, there must be a period
: periodMax.empty() or period.exists()
tim-7errorDosage.timing.repeatIf there's a durationMax, there must be a duration
: durationMax.empty() or duration.exists()
tim-8errorDosage.timing.repeatIf there's a countMax, there must be a count
: countMax.empty() or count.exists()
tim-9errorDosage.timing.repeatIf there's an offset, there must be a when (and not C, CM, CD, CV)
: offset.empty() or (when.exists() and when.select($this in ('C' | 'CM' | 'CD' | 'CV')).allFalse())
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 C 0..* Dosage Annustamisjuhis
dos-1: AsNeededFor can only be set if AsNeeded is empty or true
... id 0..1 id Unique id for inter-element referencing
... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
... text Σ 0..1 string Free text dosage instructions e.g. SIG
Max Length: 1000
... additionalInstruction Σ 0..* CodeableConcept LISAJUHIS. Supplemental 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".


... patientInstruction Σ 0..1 string KOMMENTAAR PATSIENDILE. Patient or consumer oriented instructions
... timing Σ 0..1 Timing ANNUSTAMISE AEG. When medication should be administered
.... id 0..1 id Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... event Σ 0..* dateTime When the event occurs
.... repeat ΣC 0..1 Element ANNUSTAMISE KORDUS. When the event is to occur
tim-1: if there's a duration, there needs to be duration units
tim-2: if there's a period, there needs to be period units
tim-4: duration SHALL be a non-negative value
tim-5: period SHALL be a non-negative value
tim-6: If there's a periodMax, there must be a period
tim-7: If there's a durationMax, there must be a duration
tim-8: If there's a countMax, there must be a count
tim-9: If there's an offset, there must be a when (and not C, CM, CD, CV)
tim-10: If there's a timeOfDay, there cannot be a when, or vice versa
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... bounds[x] Σ 0..1 Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
...... boundsDuration Duration
...... boundsRange Range
...... boundsPeriod Period
..... count ΣC 0..1 positiveInt KORDUSED. Number of times to repeat
..... countMax ΣC 0..1 positiveInt MAKSIMAALNE KORDUSTE ARV. Maximum number of times to repeat
..... duration ΣC 0..1 decimal KESTUS. How long when it happens
..... durationMax ΣC 0..1 decimal MAKSIMAALNE KESTUS. How long when it happens (Max)
..... durationUnit ΣC 0..1 code s | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

..... frequency Σ 0..1 positiveInt SAGEDUS. Indicates the number of repetitions that should occur within a period. I.e. Event occurs frequency times per period
..... frequencyMax Σ 0..1 positiveInt MAKSIMAALNE ANNUSTAMISTE ARV. Event occurs up to frequencyMax times per period
..... period ΣC 0..1 decimal KUI SAGEDASTI ANNUSTATAKSE JA ÜHIK. The duration to which the frequency applies. I.e. Event occurs frequency times per period
..... periodMax ΣC 0..1 decimal MAKSIMAALNE PERIOOD ANNUSTAMISE VAHEL. Upper limit of period (3-4 hours)
..... periodUnit ΣC 0..1 code s | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

..... dayOfWeek Σ 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required)
..... timeOfDay ΣC 0..* time Time of day for action
..... when ΣC 0..* code MILLEGA SEOTUD. Code for time period of occurrence
Binding: EventTiming (required): Real-world event relating to the schedule.


..... offset ΣC 0..1 unsignedInt PERIOOD ENNE VÕI PÄRAST. Minutes from event (before or after)
.... code Σ 0..1 CodeableConcept C | BID | TID | QID | AM | PM | QD | QOD | +
Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern.

... asNeeded ΣC 0..1 boolean VAJADUSEL. Take "as needed"
... asNeededFor ΣC 0..1 CodeableConcept Take "as needed" (for x)
Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the precondition that should be met or evaluated prior to consuming or administering a medication dose. For example "pain", "30 minutes prior to sexual intercourse", "on flare-up" etc.


... site Σ 0..1 CodeableConcept KEHAPIIRKOND. Body site to administer to
Binding: SNOMEDCTAnatomicalStructureAdministrationSites (example): A coded concept describing the site location the medicine enters into or onto the body.

... route Σ 0..1 CodeableConcept MANUSTAMISVIIS. How drug should enter body
Binding: SNOMEDCTRouteCodes (example): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.

... method Σ 0..1 CodeableConcept MEETOD. Technique for administering medication
Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.

... doseAndRate Σ 0..* Element ANNUS JA KIIRUS. Amount of medication administered, to be administered or typical amount to be administered
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... type Σ 0..1 CodeableConcept The kind of dose or rate specified
Binding: DoseAndRateType (example): The kind of dose or rate specified.

.... dose[x] Σ 0..1 RAVIMI KOGUS ANNUSE KOHTA. Amount of medication per dose
..... doseRange Range
..... doseQuantity Quantity(SimpleQuantity)
.... rate[x] Σ 0..1 MANUSTAMISE KIIRUS. Amount of medication per unit of time
..... rateRatio Ratio
..... rateRange Range
..... rateQuantity Quantity(SimpleQuantity)
... maxDosePerPeriod Σ 0..* Ratio MAKSIMAALNE ANNUS PERIOODIS. Upper limit on medication per unit of time
... maxDosePerAdministration Σ 0..1 SimpleQuantity MAKSIMAALNE ANNUS ÜHE ANNUSTAMISE KOHTA. Upper limit on medication per administration
... maxDosePerLifetime Σ 0..1 SimpleQuantity MAKSIMAALNE ANNUS ELUS. Upper limit on medication per lifetime of the patient

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|5.0.0
from the FHIR Standard
Dosage.timing.repeat.periodUnitrequiredUnitsOfTime
http://hl7.org/fhir/ValueSet/units-of-time|5.0.0
from the FHIR Standard
Dosage.timing.repeat.dayOfWeekrequiredDaysOfWeek
http://hl7.org/fhir/ValueSet/days-of-week|5.0.0
from the FHIR Standard
Dosage.timing.repeat.whenrequiredEventTiming
http://hl7.org/fhir/ValueSet/event-timing|5.0.0
from the FHIR Standard
Dosage.timing.codepreferredTimingAbbreviation
http://hl7.org/fhir/ValueSet/timing-abbreviation
from the FHIR Standard
Dosage.asNeededForexampleSNOMEDCTMedicationAsNeededReasonCodes
http://hl7.org/fhir/ValueSet/medication-as-needed-reason
from the FHIR Standard
Dosage.siteexampleSNOMEDCTAnatomicalStructureAdministrationSites
http://hl7.org/fhir/ValueSet/approach-site-codes
from the FHIR Standard
Dosage.routeexampleSNOMEDCTRouteCodes
http://hl7.org/fhir/ValueSet/route-codes
from the FHIR Standard
Dosage.methodexampleSNOMEDCTAdministrationMethodCodes
http://hl7.org/fhir/ValueSet/administration-method-codes
from the FHIR Standard
Dosage.doseAndRate.typeexampleDoseAndRateType
http://terminology.hl7.org/ValueSet/dose-rate-type

Constraints

IdGradePath(s)DetailsRequirements
dos-1errorDosageAsNeededFor can only be set if AsNeeded is empty or true
: asNeededFor.empty() or asNeeded.empty() or asNeeded
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
tim-1errorDosage.timing.repeatif there's a duration, there needs to be duration units
: duration.empty() or durationUnit.exists()
tim-2errorDosage.timing.repeatif there's a period, there needs to be period units
: period.empty() or periodUnit.exists()
tim-4errorDosage.timing.repeatduration SHALL be a non-negative value
: duration.exists() implies duration >= 0
tim-5errorDosage.timing.repeatperiod SHALL be a non-negative value
: period.exists() implies period >= 0
tim-6errorDosage.timing.repeatIf there's a periodMax, there must be a period
: periodMax.empty() or period.exists()
tim-7errorDosage.timing.repeatIf there's a durationMax, there must be a duration
: durationMax.empty() or duration.exists()
tim-8errorDosage.timing.repeatIf there's a countMax, there must be a count
: countMax.empty() or count.exists()
tim-9errorDosage.timing.repeatIf there's an offset, there must be a when (and not C, CM, CD, CV)
: offset.empty() or (when.exists() and when.select($this in ('C' | 'CM' | 'CD' | 'CV')).allFalse())
tim-10errorDosage.timing.repeatIf there's a timeOfDay, there cannot be a when, or vice versa
: timeOfDay.empty() or when.empty()

This structure is derived from Dosage

Summary

Slices

This structure defines the following Slices:

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

Differential View

This structure is derived from Dosage

NameFlagsCard.TypeDescription & Constraintsdoco
.. Dosage 0..* Dosage Annustamisjuhis
... sequence 0..1 integer JÄRJEKORD. The order of the dosage instructions
... text 0..1 string Free text dosage instructions e.g. SIG
Max Length: 1000
... additionalInstruction 0..* CodeableConcept LISAJUHIS. Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
... timing 0..1 Timing ANNUSTAMISE AEG. When medication should be administered
.... repeat 0..1 Element ANNUSTAMISE KORDUS. When the event is to occur
..... bounds[x] 0..1 Duration, Range, Period Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
..... count 0..1 positiveInt KORDUSED. Number of times to repeat
..... countMax 0..1 positiveInt MAKSIMAALNE KORDUSTE ARV. Maximum number of times to repeat
..... duration 0..1 decimal KESTUS. How long when it happens
..... durationMax 0..1 decimal MAKSIMAALNE KESTUS. How long when it happens (Max)
..... durationUnit 0..1 code s | min | h | d | wk | mo | a - unit of time (UCUM)
..... frequency 0..1 positiveInt SAGEDUS. Indicates the number of repetitions that should occur within a period. I.e. Event occurs frequency times per period
..... frequencyMax 0..1 positiveInt MAKSIMAALNE ANNUSTAMISTE ARV. Event occurs up to frequencyMax times per period
..... period 0..1 decimal KUI SAGEDASTI ANNUSTATAKSE JA ÜHIK. The duration to which the frequency applies. I.e. Event occurs frequency times per period
..... periodMax 0..1 decimal MAKSIMAALNE PERIOOD ANNUSTAMISE VAHEL. Upper limit of period (3-4 hours)
..... dayOfWeek 0..* code mon | tue | wed | thu | fri | sat | sun
..... timeOfDay 0..* time Time of day for action
..... when 0..* code MILLEGA SEOTUD. Code for time period of occurrence
..... offset 0..1 unsignedInt PERIOOD ENNE VÕI PÄRAST. Minutes from event (before or after)
... asNeeded 0..1 boolean VAJADUSEL. Take "as needed"
... asNeededFor 0..1 CodeableConcept Take "as needed" (for x)
... site 0..1 CodeableConcept KEHAPIIRKOND. Body site to administer to
... route 0..1 CodeableConcept MANUSTAMISVIIS. How drug should enter body
... method 0..1 CodeableConcept MEETOD. Technique for administering medication
... doseAndRate 0..* Element ANNUS JA KIIRUS. Amount of medication administered, to be administered or typical amount to be administered
.... dose[x] 0..1 Range, SimpleQuantity RAVIMI KOGUS ANNUSE KOHTA. Amount of medication per dose
.... rate[x] 0..1 Ratio, Range, SimpleQuantity MANUSTAMISE KIIRUS. Amount of medication per unit of time
... maxDosePerPeriod 0..* Ratio MAKSIMAALNE ANNUS PERIOODIS. Upper limit on medication per unit of time
... maxDosePerAdministration 0..1 SimpleQuantity MAKSIMAALNE ANNUS ÜHE ANNUSTAMISE KOHTA. Upper limit on medication per administration
... maxDosePerLifetime 0..1 SimpleQuantity MAKSIMAALNE ANNUS ELUS. Upper limit on medication per lifetime of the patient

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Dosage C 0..* Dosage Annustamisjuhis
dos-1: AsNeededFor can only be set if AsNeeded is empty or true
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
... sequence Σ 0..1 integer JÄRJEKORD. The order of the dosage instructions
... text Σ 0..1 string Free text dosage instructions e.g. SIG
Max Length: 1000
... patientInstruction Σ 0..1 string KOMMENTAAR PATSIENDILE. Patient or consumer oriented instructions
... timing Σ 0..1 Timing ANNUSTAMISE AEG. When medication should be administered
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... repeat ΣC 0..1 Element ANNUSTAMISE KORDUS. When the event is to occur
tim-1: if there's a duration, there needs to be duration units
tim-2: if there's a period, there needs to be period units
tim-4: duration SHALL be a non-negative value
tim-5: period SHALL be a non-negative value
tim-6: If there's a periodMax, there must be a period
tim-7: If there's a durationMax, there must be a duration
tim-8: If there's a countMax, there must be a count
tim-9: If there's an offset, there must be a when (and not C, CM, CD, CV)
tim-10: If there's a timeOfDay, there cannot be a when, or vice versa
..... bounds[x] Σ 0..1 Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
...... boundsDuration Duration
...... boundsRange Range
...... boundsPeriod Period
..... count ΣC 0..1 positiveInt KORDUSED. Number of times to repeat
..... countMax ΣC 0..1 positiveInt MAKSIMAALNE KORDUSTE ARV. Maximum number of times to repeat
..... duration ΣC 0..1 decimal KESTUS. How long when it happens
..... durationMax ΣC 0..1 decimal MAKSIMAALNE KESTUS. How long when it happens (Max)
..... durationUnit ΣC 0..1 code s | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

..... frequency Σ 0..1 positiveInt SAGEDUS. Indicates the number of repetitions that should occur within a period. I.e. Event occurs frequency times per period
..... frequencyMax Σ 0..1 positiveInt MAKSIMAALNE ANNUSTAMISTE ARV. Event occurs up to frequencyMax times per period
..... period ΣC 0..1 decimal KUI SAGEDASTI ANNUSTATAKSE JA ÜHIK. The duration to which the frequency applies. I.e. Event occurs frequency times per period
..... periodMax ΣC 0..1 decimal MAKSIMAALNE PERIOOD ANNUSTAMISE VAHEL. Upper limit of period (3-4 hours)
..... dayOfWeek Σ 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required)
..... timeOfDay ΣC 0..* time Time of day for action
..... when ΣC 0..* code MILLEGA SEOTUD. Code for time period of occurrence
Binding: EventTiming (required): Real-world event relating to the schedule.


..... offset ΣC 0..1 unsignedInt PERIOOD ENNE VÕI PÄRAST. Minutes from event (before or after)
... asNeeded ΣC 0..1 boolean VAJADUSEL. Take "as needed"
... asNeededFor ΣC 0..1 CodeableConcept Take "as needed" (for x)
Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the precondition that should be met or evaluated prior to consuming or administering a medication dose. For example "pain", "30 minutes prior to sexual intercourse", "on flare-up" etc.


... site Σ 0..1 CodeableConcept KEHAPIIRKOND. Body site to administer to
Binding: SNOMEDCTAnatomicalStructureAdministrationSites (example): A coded concept describing the site location the medicine enters into or onto the body.

... route Σ 0..1 CodeableConcept MANUSTAMISVIIS. How drug should enter body
Binding: SNOMEDCTRouteCodes (example): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.

... method Σ 0..1 CodeableConcept MEETOD. Technique for administering medication
Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.

... doseAndRate Σ 0..* Element ANNUS JA KIIRUS. Amount of medication administered, to be administered or typical amount to be administered
.... dose[x] Σ 0..1 RAVIMI KOGUS ANNUSE KOHTA. Amount of medication per dose
..... doseRange Range
..... doseQuantity Quantity(SimpleQuantity)
.... rate[x] Σ 0..1 MANUSTAMISE KIIRUS. Amount of medication per unit of time
..... rateRatio Ratio
..... rateRange Range
..... rateQuantity Quantity(SimpleQuantity)
... maxDosePerPeriod Σ 0..* Ratio MAKSIMAALNE ANNUS PERIOODIS. Upper limit on medication per unit of time
... maxDosePerAdministration Σ 0..1 SimpleQuantity MAKSIMAALNE ANNUS ÜHE ANNUSTAMISE KOHTA. Upper limit on medication per administration
... maxDosePerLifetime Σ 0..1 SimpleQuantity MAKSIMAALNE ANNUS ELUS. Upper limit on medication per lifetime of the patient

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|5.0.0
from the FHIR Standard
Dosage.timing.repeat.dayOfWeekrequiredDaysOfWeek
http://hl7.org/fhir/ValueSet/days-of-week|5.0.0
from the FHIR Standard
Dosage.timing.repeat.whenrequiredEventTiming
http://hl7.org/fhir/ValueSet/event-timing|5.0.0
from the FHIR Standard
Dosage.asNeededForexampleSNOMEDCTMedicationAsNeededReasonCodes
http://hl7.org/fhir/ValueSet/medication-as-needed-reason
from the FHIR Standard
Dosage.siteexampleSNOMEDCTAnatomicalStructureAdministrationSites
http://hl7.org/fhir/ValueSet/approach-site-codes
from the FHIR Standard
Dosage.routeexampleSNOMEDCTRouteCodes
http://hl7.org/fhir/ValueSet/route-codes
from the FHIR Standard
Dosage.methodexampleSNOMEDCTAdministrationMethodCodes
http://hl7.org/fhir/ValueSet/administration-method-codes
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dos-1errorDosageAsNeededFor can only be set if AsNeeded is empty or true
: asNeededFor.empty() or asNeeded.empty() or asNeeded
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
tim-1errorDosage.timing.repeatif there's a duration, there needs to be duration units
: duration.empty() or durationUnit.exists()
tim-2errorDosage.timing.repeatif there's a period, there needs to be period units
: period.empty() or periodUnit.exists()
tim-4errorDosage.timing.repeatduration SHALL be a non-negative value
: duration.exists() implies duration >= 0
tim-5errorDosage.timing.repeatperiod SHALL be a non-negative value
: period.exists() implies period >= 0
tim-6errorDosage.timing.repeatIf there's a periodMax, there must be a period
: periodMax.empty() or period.exists()
tim-7errorDosage.timing.repeatIf there's a durationMax, there must be a duration
: durationMax.empty() or duration.exists()
tim-8errorDosage.timing.repeatIf there's a countMax, there must be a count
: countMax.empty() or count.exists()
tim-9errorDosage.timing.repeatIf there's an offset, there must be a when (and not C, CM, CD, CV)
: offset.empty() or (when.exists() and when.select($this in ('C' | 'CM' | 'CD' | 'CV')).allFalse())
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 C 0..* Dosage Annustamisjuhis
dos-1: AsNeededFor can only be set if AsNeeded is empty or true
... id 0..1 id Unique id for inter-element referencing
... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
... text Σ 0..1 string Free text dosage instructions e.g. SIG
Max Length: 1000
... additionalInstruction Σ 0..* CodeableConcept LISAJUHIS. Supplemental 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".


... patientInstruction Σ 0..1 string KOMMENTAAR PATSIENDILE. Patient or consumer oriented instructions
... timing Σ 0..1 Timing ANNUSTAMISE AEG. When medication should be administered
.... id 0..1 id Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... event Σ 0..* dateTime When the event occurs
.... repeat ΣC 0..1 Element ANNUSTAMISE KORDUS. When the event is to occur
tim-1: if there's a duration, there needs to be duration units
tim-2: if there's a period, there needs to be period units
tim-4: duration SHALL be a non-negative value
tim-5: period SHALL be a non-negative value
tim-6: If there's a periodMax, there must be a period
tim-7: If there's a durationMax, there must be a duration
tim-8: If there's a countMax, there must be a count
tim-9: If there's an offset, there must be a when (and not C, CM, CD, CV)
tim-10: If there's a timeOfDay, there cannot be a when, or vice versa
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... bounds[x] Σ 0..1 Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
...... boundsDuration Duration
...... boundsRange Range
...... boundsPeriod Period
..... count ΣC 0..1 positiveInt KORDUSED. Number of times to repeat
..... countMax ΣC 0..1 positiveInt MAKSIMAALNE KORDUSTE ARV. Maximum number of times to repeat
..... duration ΣC 0..1 decimal KESTUS. How long when it happens
..... durationMax ΣC 0..1 decimal MAKSIMAALNE KESTUS. How long when it happens (Max)
..... durationUnit ΣC 0..1 code s | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

..... frequency Σ 0..1 positiveInt SAGEDUS. Indicates the number of repetitions that should occur within a period. I.e. Event occurs frequency times per period
..... frequencyMax Σ 0..1 positiveInt MAKSIMAALNE ANNUSTAMISTE ARV. Event occurs up to frequencyMax times per period
..... period ΣC 0..1 decimal KUI SAGEDASTI ANNUSTATAKSE JA ÜHIK. The duration to which the frequency applies. I.e. Event occurs frequency times per period
..... periodMax ΣC 0..1 decimal MAKSIMAALNE PERIOOD ANNUSTAMISE VAHEL. Upper limit of period (3-4 hours)
..... periodUnit ΣC 0..1 code s | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

..... dayOfWeek Σ 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required)
..... timeOfDay ΣC 0..* time Time of day for action
..... when ΣC 0..* code MILLEGA SEOTUD. Code for time period of occurrence
Binding: EventTiming (required): Real-world event relating to the schedule.


..... offset ΣC 0..1 unsignedInt PERIOOD ENNE VÕI PÄRAST. Minutes from event (before or after)
.... code Σ 0..1 CodeableConcept C | BID | TID | QID | AM | PM | QD | QOD | +
Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern.

... asNeeded ΣC 0..1 boolean VAJADUSEL. Take "as needed"
... asNeededFor ΣC 0..1 CodeableConcept Take "as needed" (for x)
Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the precondition that should be met or evaluated prior to consuming or administering a medication dose. For example "pain", "30 minutes prior to sexual intercourse", "on flare-up" etc.


... site Σ 0..1 CodeableConcept KEHAPIIRKOND. Body site to administer to
Binding: SNOMEDCTAnatomicalStructureAdministrationSites (example): A coded concept describing the site location the medicine enters into or onto the body.

... route Σ 0..1 CodeableConcept MANUSTAMISVIIS. How drug should enter body
Binding: SNOMEDCTRouteCodes (example): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.

... method Σ 0..1 CodeableConcept MEETOD. Technique for administering medication
Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.

... doseAndRate Σ 0..* Element ANNUS JA KIIRUS. Amount of medication administered, to be administered or typical amount to be administered
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... type Σ 0..1 CodeableConcept The kind of dose or rate specified
Binding: DoseAndRateType (example): The kind of dose or rate specified.

.... dose[x] Σ 0..1 RAVIMI KOGUS ANNUSE KOHTA. Amount of medication per dose
..... doseRange Range
..... doseQuantity Quantity(SimpleQuantity)
.... rate[x] Σ 0..1 MANUSTAMISE KIIRUS. Amount of medication per unit of time
..... rateRatio Ratio
..... rateRange Range
..... rateQuantity Quantity(SimpleQuantity)
... maxDosePerPeriod Σ 0..* Ratio MAKSIMAALNE ANNUS PERIOODIS. Upper limit on medication per unit of time
... maxDosePerAdministration Σ 0..1 SimpleQuantity MAKSIMAALNE ANNUS ÜHE ANNUSTAMISE KOHTA. Upper limit on medication per administration
... maxDosePerLifetime Σ 0..1 SimpleQuantity MAKSIMAALNE ANNUS ELUS. Upper limit on medication per lifetime of the patient

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|5.0.0
from the FHIR Standard
Dosage.timing.repeat.periodUnitrequiredUnitsOfTime
http://hl7.org/fhir/ValueSet/units-of-time|5.0.0
from the FHIR Standard
Dosage.timing.repeat.dayOfWeekrequiredDaysOfWeek
http://hl7.org/fhir/ValueSet/days-of-week|5.0.0
from the FHIR Standard
Dosage.timing.repeat.whenrequiredEventTiming
http://hl7.org/fhir/ValueSet/event-timing|5.0.0
from the FHIR Standard
Dosage.timing.codepreferredTimingAbbreviation
http://hl7.org/fhir/ValueSet/timing-abbreviation
from the FHIR Standard
Dosage.asNeededForexampleSNOMEDCTMedicationAsNeededReasonCodes
http://hl7.org/fhir/ValueSet/medication-as-needed-reason
from the FHIR Standard
Dosage.siteexampleSNOMEDCTAnatomicalStructureAdministrationSites
http://hl7.org/fhir/ValueSet/approach-site-codes
from the FHIR Standard
Dosage.routeexampleSNOMEDCTRouteCodes
http://hl7.org/fhir/ValueSet/route-codes
from the FHIR Standard
Dosage.methodexampleSNOMEDCTAdministrationMethodCodes
http://hl7.org/fhir/ValueSet/administration-method-codes
from the FHIR Standard
Dosage.doseAndRate.typeexampleDoseAndRateType
http://terminology.hl7.org/ValueSet/dose-rate-type

Constraints

IdGradePath(s)DetailsRequirements
dos-1errorDosageAsNeededFor can only be set if AsNeeded is empty or true
: asNeededFor.empty() or asNeeded.empty() or asNeeded
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
tim-1errorDosage.timing.repeatif there's a duration, there needs to be duration units
: duration.empty() or durationUnit.exists()
tim-2errorDosage.timing.repeatif there's a period, there needs to be period units
: period.empty() or periodUnit.exists()
tim-4errorDosage.timing.repeatduration SHALL be a non-negative value
: duration.exists() implies duration >= 0
tim-5errorDosage.timing.repeatperiod SHALL be a non-negative value
: period.exists() implies period >= 0
tim-6errorDosage.timing.repeatIf there's a periodMax, there must be a period
: periodMax.empty() or period.exists()
tim-7errorDosage.timing.repeatIf there's a durationMax, there must be a duration
: durationMax.empty() or duration.exists()
tim-8errorDosage.timing.repeatIf there's a countMax, there must be a count
: countMax.empty() or count.exists()
tim-9errorDosage.timing.repeatIf there's an offset, there must be a when (and not C, CM, CD, CV)
: offset.empty() or (when.exists() and when.select($this in ('C' | 'CM' | 'CD' | 'CV')).allFalse())
tim-10errorDosage.timing.repeatIf there's a timeOfDay, there cannot be a when, or vice versa
: timeOfDay.empty() or when.empty()

This structure is derived from Dosage

Summary

Slices

This structure defines the following Slices:

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

 

Other representations of profile: CSV, Excel, Schematron