ELGA e-Medikation (R4) DRAFT
0.1.1 - ci-build

ELGA e-Medikation (R4) DRAFT, published by ELGA GmbH. This guide is not an authorized publication; it is the continuous build for version 0.1.1 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7Austria/ELGA-e-Medikation-R4/ and changes regularly. See the Directory of published versions

Data Type Profile: AT ELGA e-Medikation Timing

Official URL: https://fhir.hl7.at/elga/emed/r4/StructureDefinition/at-elga-emed-timing Version: 0.1.1
Draft as of 2026-09-14 Responsible: ELGA GmbH Computable Name: AtElgaEmedTiming

AT ELGA e-Medikation Timing

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Timing 0..* Timing A timing schedule that specifies an event that may occur multiple times
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
... event SΣ 0..* dateTime Zeitpunkt der Einnahme.
... repeat SΣC 0..1 Element Wiederholungsangaben zur Einnahme
Constraints: tim-1, tim-2, tim-4, tim-5, tim-6, tim-7, tim-8, tim-9, tim-10
.... Slices for extension Content/Rules for all slices
..... extension:TimingDayOfMonth S 0..1 positiveInt Day of Month for schedule
URL: http://hl7.org/fhir/StructureDefinition/timing-dayOfMonth
.... Slices for bounds[x] Σ 0..1 Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
..... boundsDuration Duration
..... boundsRange Range
..... boundsPeriod Period
..... bounds[x]:boundsPeriod Σ 0..1 Period Length/Range of lengths, or (Start and/or end) limits
...... start ΣC 0..1 dateTime Zeitraum der Einnahme: Start.
...... end ΣC 0..1 dateTime Zeitraum der Einnahme: Ende.
.... frequency Σ 0..1 positiveInt Häufigkeit der Einnahme, z.B. 3 mal täglich.
.... period SΣ 0..1 decimal Intervall der Einnahme, z.B. alle 4 Stunden.
.... periodUnit Σ 0..1 code Einheit des Intervalls der Einnahme, z.B. h für Stunden, d für Tage.
Binding: https://termgit.elga.gv.at/ValueSet/elga-medikationfrequenz (required)
.... when SΣ 0..* code Code for time period of occurrence
Binding: EventTiming (required): Real world event relating to the schedule.
.... offset SΣ 0..1 unsignedInt Minutes from event (before or after)

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Timing.repeat.periodUnit Base required https://termgit.elga.gv.at/ValueSet/elga-medikationfrequenz Not State Unknown
Timing.repeat.when Base required EventTiming 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
tim-1 error Timing.repeat if there's a duration, there needs to be duration units duration.empty() or durationUnit.exists()
tim-2 error Timing.repeat if there's a period, there needs to be period units period.empty() or periodUnit.exists()
tim-4 error Timing.repeat duration SHALL be a non-negative value duration.exists() implies duration >= 0
tim-5 error Timing.repeat period SHALL be a non-negative value period.exists() implies period >= 0
tim-6 error Timing.repeat If there's a periodMax, there must be a period periodMax.empty() or period.exists()
tim-7 error Timing.repeat If there's a durationMax, there must be a duration durationMax.empty() or duration.exists()
tim-8 error Timing.repeat If there's a countMax, there must be a count countMax.empty() or count.exists()
tim-9 error Timing.repeat If 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-10 error Timing.repeat If there's a timeOfDay, there cannot be a when, or vice versa timeOfDay.empty() or when.empty()

This structure is derived from Timing

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Timing Timing
... event S 0..* dateTime Zeitpunkt der Einnahme.
... repeat S 0..1 Element Wiederholungsangaben zur Einnahme
.... Slices for extension Content/Rules for all slices
..... extension:TimingDayOfMonth S 0..1 positiveInt Day of Month for schedule
URL: http://hl7.org/fhir/StructureDefinition/timing-dayOfMonth
.... Slices for bounds[x] 0..1 Duration, Range, Period Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
..... bounds[x]:boundsPeriod 0..1 Period Length/Range of lengths, or (Start and/or end) limits
...... start 0..1 dateTime Zeitraum der Einnahme: Start.
...... end 0..1 dateTime Zeitraum der Einnahme: Ende.
.... frequency 0..1 positiveInt Häufigkeit der Einnahme, z.B. 3 mal täglich.
.... period S 0..1 decimal Intervall der Einnahme, z.B. alle 4 Stunden.
.... periodUnit 0..1 code Einheit des Intervalls der Einnahme, z.B. h für Stunden, d für Tage.
Binding: https://termgit.elga.gv.at/ValueSet/elga-medikationfrequenz (required)
.... when S 0..* code Code for time period of occurrence
.... offset S 0..1 unsignedInt Minutes from event (before or after)

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Timing.repeat.periodUnit Base required https://termgit.elga.gv.at/ValueSet/elga-medikationfrequenz Not State Unknown
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Timing 0..* Timing A timing schedule that specifies an event that may occur multiple times
... id 0..1 string Unique id for inter-element referencing
... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
... repeat SΣC 0..1 Element Wiederholungsangaben zur Einnahme
Constraints: tim-1, tim-2, tim-4, tim-5, tim-6, tim-7, tim-8, tim-9, tim-10
.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... extension:TimingDayOfMonth S 0..1 positiveInt Day of Month for schedule
URL: http://hl7.org/fhir/StructureDefinition/timing-dayOfMonth
.... Slices for bounds[x] Σ 0..1 Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
..... boundsDuration Duration
..... boundsRange Range
..... boundsPeriod Period
..... bounds[x]:boundsPeriod Σ 0..1 Period Length/Range of lengths, or (Start and/or end) limits
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... start ΣC 0..1 dateTime Zeitraum der Einnahme: Start.
...... end ΣC 0..1 dateTime Zeitraum der Einnahme: Ende.
.... count Σ 0..1 positiveInt Number of times to repeat
.... countMax Σ 0..1 positiveInt Maximum number of times to repeat
.... duration Σ 0..1 decimal How long when it happens
.... durationMax Σ 0..1 decimal How long when it happens (Max)
.... durationUnit Σ 0..1 code s | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).
.... frequency Σ 0..1 positiveInt Häufigkeit der Einnahme, z.B. 3 mal täglich.
.... frequencyMax Σ 0..1 positiveInt Event occurs up to frequencyMax times per period
.... period SΣ 0..1 decimal Intervall der Einnahme, z.B. alle 4 Stunden.
.... periodMax Σ 0..1 decimal Upper limit of period (3-4 hours)
.... periodUnit Σ 0..1 code Einheit des Intervalls der Einnahme, z.B. h für Stunden, d für Tage.
Binding: https://termgit.elga.gv.at/ValueSet/elga-medikationfrequenz (required)
.... dayOfWeek Σ 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required)
.... timeOfDay Σ 0..* time Time of day for action
.... when SΣ 0..* code Code for time period of occurrence
Binding: EventTiming (required): Real world event relating to the schedule.
.... offset SΣ 0..1 unsignedInt Minutes from event (before or after)
... code Σ 0..1 CodeableConcept BID | TID | QID | AM | PM | QD | QOD | +
Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Timing.repeat.durationUnit Base required UnitsOfTime 📍4.0.1 FHIR Std.
Timing.repeat.periodUnit Base required https://termgit.elga.gv.at/ValueSet/elga-medikationfrequenz Not State Unknown
Timing.repeat.dayOfWeek Base required DaysOfWeek 📍4.0.1 FHIR Std.
Timing.repeat.when Base required EventTiming 📍4.0.1 FHIR Std.
Timing.code Base preferred TimingAbbreviation 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
tim-1 error Timing.repeat if there's a duration, there needs to be duration units duration.empty() or durationUnit.exists()
tim-2 error Timing.repeat if there's a period, there needs to be period units period.empty() or periodUnit.exists()
tim-4 error Timing.repeat duration SHALL be a non-negative value duration.exists() implies duration >= 0
tim-5 error Timing.repeat period SHALL be a non-negative value period.exists() implies period >= 0
tim-6 error Timing.repeat If there's a periodMax, there must be a period periodMax.empty() or period.exists()
tim-7 error Timing.repeat If there's a durationMax, there must be a duration durationMax.empty() or duration.exists()
tim-8 error Timing.repeat If there's a countMax, there must be a count countMax.empty() or count.exists()
tim-9 error Timing.repeat If 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-10 error Timing.repeat If there's a timeOfDay, there cannot be a when, or vice versa timeOfDay.empty() or when.empty()

This structure is derived from Timing

Summary

Must-Support: 6 elements

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

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

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Timing 0..* Timing A timing schedule that specifies an event that may occur multiple times
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
... event SΣ 0..* dateTime Zeitpunkt der Einnahme.
... repeat SΣC 0..1 Element Wiederholungsangaben zur Einnahme
Constraints: tim-1, tim-2, tim-4, tim-5, tim-6, tim-7, tim-8, tim-9, tim-10
.... Slices for extension Content/Rules for all slices
..... extension:TimingDayOfMonth S 0..1 positiveInt Day of Month for schedule
URL: http://hl7.org/fhir/StructureDefinition/timing-dayOfMonth
.... Slices for bounds[x] Σ 0..1 Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
..... boundsDuration Duration
..... boundsRange Range
..... boundsPeriod Period
..... bounds[x]:boundsPeriod Σ 0..1 Period Length/Range of lengths, or (Start and/or end) limits
...... start ΣC 0..1 dateTime Zeitraum der Einnahme: Start.
...... end ΣC 0..1 dateTime Zeitraum der Einnahme: Ende.
.... frequency Σ 0..1 positiveInt Häufigkeit der Einnahme, z.B. 3 mal täglich.
.... period SΣ 0..1 decimal Intervall der Einnahme, z.B. alle 4 Stunden.
.... periodUnit Σ 0..1 code Einheit des Intervalls der Einnahme, z.B. h für Stunden, d für Tage.
Binding: https://termgit.elga.gv.at/ValueSet/elga-medikationfrequenz (required)
.... when SΣ 0..* code Code for time period of occurrence
Binding: EventTiming (required): Real world event relating to the schedule.
.... offset SΣ 0..1 unsignedInt Minutes from event (before or after)

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Timing.repeat.periodUnit Base required https://termgit.elga.gv.at/ValueSet/elga-medikationfrequenz Not State Unknown
Timing.repeat.when Base required EventTiming 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
tim-1 error Timing.repeat if there's a duration, there needs to be duration units duration.empty() or durationUnit.exists()
tim-2 error Timing.repeat if there's a period, there needs to be period units period.empty() or periodUnit.exists()
tim-4 error Timing.repeat duration SHALL be a non-negative value duration.exists() implies duration >= 0
tim-5 error Timing.repeat period SHALL be a non-negative value period.exists() implies period >= 0
tim-6 error Timing.repeat If there's a periodMax, there must be a period periodMax.empty() or period.exists()
tim-7 error Timing.repeat If there's a durationMax, there must be a duration durationMax.empty() or duration.exists()
tim-8 error Timing.repeat If there's a countMax, there must be a count countMax.empty() or count.exists()
tim-9 error Timing.repeat If 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-10 error Timing.repeat If there's a timeOfDay, there cannot be a when, or vice versa timeOfDay.empty() or when.empty()

Differential View

This structure is derived from Timing

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Timing Timing
... event S 0..* dateTime Zeitpunkt der Einnahme.
... repeat S 0..1 Element Wiederholungsangaben zur Einnahme
.... Slices for extension Content/Rules for all slices
..... extension:TimingDayOfMonth S 0..1 positiveInt Day of Month for schedule
URL: http://hl7.org/fhir/StructureDefinition/timing-dayOfMonth
.... Slices for bounds[x] 0..1 Duration, Range, Period Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
..... bounds[x]:boundsPeriod 0..1 Period Length/Range of lengths, or (Start and/or end) limits
...... start 0..1 dateTime Zeitraum der Einnahme: Start.
...... end 0..1 dateTime Zeitraum der Einnahme: Ende.
.... frequency 0..1 positiveInt Häufigkeit der Einnahme, z.B. 3 mal täglich.
.... period S 0..1 decimal Intervall der Einnahme, z.B. alle 4 Stunden.
.... periodUnit 0..1 code Einheit des Intervalls der Einnahme, z.B. h für Stunden, d für Tage.
Binding: https://termgit.elga.gv.at/ValueSet/elga-medikationfrequenz (required)
.... when S 0..* code Code for time period of occurrence
.... offset S 0..1 unsignedInt Minutes from event (before or after)

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Timing.repeat.periodUnit Base required https://termgit.elga.gv.at/ValueSet/elga-medikationfrequenz Not State Unknown

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Timing 0..* Timing A timing schedule that specifies an event that may occur multiple times
... id 0..1 string Unique id for inter-element referencing
... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
... repeat SΣC 0..1 Element Wiederholungsangaben zur Einnahme
Constraints: tim-1, tim-2, tim-4, tim-5, tim-6, tim-7, tim-8, tim-9, tim-10
.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... extension:TimingDayOfMonth S 0..1 positiveInt Day of Month for schedule
URL: http://hl7.org/fhir/StructureDefinition/timing-dayOfMonth
.... Slices for bounds[x] Σ 0..1 Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
..... boundsDuration Duration
..... boundsRange Range
..... boundsPeriod Period
..... bounds[x]:boundsPeriod Σ 0..1 Period Length/Range of lengths, or (Start and/or end) limits
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... start ΣC 0..1 dateTime Zeitraum der Einnahme: Start.
...... end ΣC 0..1 dateTime Zeitraum der Einnahme: Ende.
.... count Σ 0..1 positiveInt Number of times to repeat
.... countMax Σ 0..1 positiveInt Maximum number of times to repeat
.... duration Σ 0..1 decimal How long when it happens
.... durationMax Σ 0..1 decimal How long when it happens (Max)
.... durationUnit Σ 0..1 code s | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).
.... frequency Σ 0..1 positiveInt Häufigkeit der Einnahme, z.B. 3 mal täglich.
.... frequencyMax Σ 0..1 positiveInt Event occurs up to frequencyMax times per period
.... period SΣ 0..1 decimal Intervall der Einnahme, z.B. alle 4 Stunden.
.... periodMax Σ 0..1 decimal Upper limit of period (3-4 hours)
.... periodUnit Σ 0..1 code Einheit des Intervalls der Einnahme, z.B. h für Stunden, d für Tage.
Binding: https://termgit.elga.gv.at/ValueSet/elga-medikationfrequenz (required)
.... dayOfWeek Σ 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required)
.... timeOfDay Σ 0..* time Time of day for action
.... when SΣ 0..* code Code for time period of occurrence
Binding: EventTiming (required): Real world event relating to the schedule.
.... offset SΣ 0..1 unsignedInt Minutes from event (before or after)
... code Σ 0..1 CodeableConcept BID | TID | QID | AM | PM | QD | QOD | +
Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Timing.repeat.durationUnit Base required UnitsOfTime 📍4.0.1 FHIR Std.
Timing.repeat.periodUnit Base required https://termgit.elga.gv.at/ValueSet/elga-medikationfrequenz Not State Unknown
Timing.repeat.dayOfWeek Base required DaysOfWeek 📍4.0.1 FHIR Std.
Timing.repeat.when Base required EventTiming 📍4.0.1 FHIR Std.
Timing.code Base preferred TimingAbbreviation 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
tim-1 error Timing.repeat if there's a duration, there needs to be duration units duration.empty() or durationUnit.exists()
tim-2 error Timing.repeat if there's a period, there needs to be period units period.empty() or periodUnit.exists()
tim-4 error Timing.repeat duration SHALL be a non-negative value duration.exists() implies duration >= 0
tim-5 error Timing.repeat period SHALL be a non-negative value period.exists() implies period >= 0
tim-6 error Timing.repeat If there's a periodMax, there must be a period periodMax.empty() or period.exists()
tim-7 error Timing.repeat If there's a durationMax, there must be a duration durationMax.empty() or duration.exists()
tim-8 error Timing.repeat If there's a countMax, there must be a count countMax.empty() or count.exists()
tim-9 error Timing.repeat If 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-10 error Timing.repeat If there's a timeOfDay, there cannot be a when, or vice versa timeOfDay.empty() or when.empty()

This structure is derived from Timing

Summary

Must-Support: 6 elements

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

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

 

Other representations of profile: CSV, Excel, Schematron