Medication IG DE
1.0.0-ballot1 - 1.0.0

This page is part of the Medication IG DE (vballot1: Releases Ballot 1) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version. For a full list of available versions, see the Directory of published versions

Data Type Profile: Zeitmuster für deutschlandweite Dosierungen

Official URL: http://ig.fhir.de/igs/medication/StructureDefinition/TimingDE Version: 1.0.0-ballot1
Draft as of 2025-07-11 Computable Name: TimingDE

Beschreibt ein Ereignis, das mehrfach auftreten kann. Zeitpläne werden verwendet, um festzuhalten, wann etwas geplant, erwartet oder angefordert ist. Die häufigste Anwendung ist in Dosierungsanweisungen für Medikamente. Sie werden aber auch für die Planung verschiedener Versorgungsleistungen genutzt und können zur Dokumentation von bereits erfolgten oder laufenden Aktivitäten verwendet werden.

Usages:

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
... repeat SΣC 0..1 Element Wann das Ereignis stattfinden soll
Constraints: tim-9, tim-5, tim-6, tim-7, tim-8, tim-1, tim-10, tim-2, tim-4
.... Slices for bounds[x] SΣ 0..1 Länge/Bereich der Längen oder (Start- und/oder End-)Grenzen
Slice: Unordered, Open by type:$this
..... boundsDuration Duration
..... boundsRange Range
..... boundsPeriod Period
..... bounds[x]:boundsDuration SΣ 0..1 Duration Dauer der Dosieranweisung ausgedrückt in UCUM-Einheiten
...... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
...... system ΣC 0..1 uri UCUM-Einheit für die Dauer
Fixed Value: http://unitsofmeasure.org
.... frequency SΣ 0..1 positiveInt Ereignis tritt frequency-mal pro Zeitraum auf
.... period SΣ 0..1 decimal Ereignis tritt frequency-mal pro Zeitraum auf
.... periodUnit Σ 0..1 code s | min | h | d | wk | mo | a - Zeiteinheit (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).
.... dayOfWeek SΣ 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required)
.... timeOfDay SΣ 0..* time Tageszeit für die Aktion
.... when SΣ 0..* code Code für den Zeitraum des Auftretens
Binding: EventTiming (required): Real world event relating to the schedule.

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Timing.repeat.bounds[x]:boundsDuration.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1
From the FHIR Standard
Timing.repeat.periodUnitrequiredUnitsOfTime
http://hl7.org/fhir/ValueSet/units-of-time|4.0.1
From the FHIR Standard
Timing.repeat.dayOfWeekrequiredDaysOfWeek
http://hl7.org/fhir/ValueSet/days-of-week|4.0.1
From the FHIR Standard
Timing.repeat.whenrequiredEventTiming
http://hl7.org/fhir/ValueSet/event-timing|4.0.1
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
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-1errorTiming.repeatif there's a duration, there needs to be duration units
: duration.empty() or durationUnit.exists()
tim-2errorTiming.repeatif there's a period, there needs to be period units
: period.empty() or periodUnit.exists()
tim-4errorTiming.repeatduration SHALL be a non-negative value
: duration.exists() implies duration >= 0
tim-5errorTiming.repeatperiod SHALL be a non-negative value
: period.exists() implies period >= 0
tim-6errorTiming.repeatIf there's a periodMax, there must be a period
: periodMax.empty() or period.exists()
tim-7errorTiming.repeatIf there's a durationMax, there must be a duration
: durationMax.empty() or duration.exists()
tim-8errorTiming.repeatIf there's a countMax, there must be a count
: countMax.empty() or count.exists()
tim-9errorTiming.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-10errorTiming.repeatIf 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
... repeat S 0..1 Element Wann das Ereignis stattfinden soll
.... Slices for bounds[x] S 0..1 Duration, Range, Period Länge/Bereich der Längen oder (Start- und/oder End-)Grenzen
Slice: Unordered, Open by type:$this
..... bounds[x]:boundsDuration S 0..1 Duration Dauer der Dosieranweisung ausgedrückt in UCUM-Einheiten
...... system 0..1 uri UCUM-Einheit für die Dauer
Fixed Value: http://unitsofmeasure.org
.... frequency S 0..1 positiveInt Ereignis tritt frequency-mal pro Zeitraum auf
.... period S 0..1 decimal Ereignis tritt frequency-mal pro Zeitraum auf
.... periodUnit 0..1 code s | min | h | d | wk | mo | a - Zeiteinheit (UCUM)
.... dayOfWeek S 0..* code mon | tue | wed | thu | fri | sat | sun
.... timeOfDay S 0..* time Tageszeit für die Aktion
.... when S 0..* code Code für den Zeitraum des Auftretens

doco Documentation for this format
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 N 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 Wann das Ereignis stattfinden soll
Constraints: tim-9, tim-5, tim-6, tim-7, tim-8, tim-1, tim-10, tim-2, tim-4
.... id 0..1 string Unique id for inter-element referencing
.... extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for bounds[x] SΣ 0..1 Länge/Bereich der Längen oder (Start- und/oder End-)Grenzen
Slice: Unordered, Open by type:$this
..... boundsDuration Duration
..... boundsRange Range
..... boundsPeriod Period
..... bounds[x]:boundsDuration SΣ 0..1 Duration Dauer der Dosieranweisung ausgedrückt in UCUM-Einheiten
...... id 0..1 string Unique id for inter-element referencing
...... extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... value Σ 0..1 decimal Numerical value (with implicit precision)
...... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
...... unit Σ 0..1 string Unit representation
...... system ΣC 0..1 uri UCUM-Einheit für die Dauer
Fixed Value: http://unitsofmeasure.org
...... code Σ 0..1 code Coded form of the unit
.... 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 SΣ 0..1 positiveInt Ereignis tritt frequency-mal pro Zeitraum auf
.... frequencyMax Σ 0..1 positiveInt Event occurs up to frequencyMax times per period
.... period SΣ 0..1 decimal Ereignis tritt frequency-mal pro Zeitraum auf
.... periodMax Σ 0..1 decimal Upper limit of period (3-4 hours)
.... periodUnit Σ 0..1 code s | min | h | d | wk | mo | a - Zeiteinheit (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).
.... dayOfWeek SΣ 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required)
.... timeOfDay SΣ 0..* time Tageszeit für die Aktion
.... when SΣ 0..* code Code für den Zeitraum des Auftretens
Binding: EventTiming (required): Real world event relating to the schedule.
.... offset Σ 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

PathConformanceValueSetURI
Timing.repeat.bounds[x]:boundsDuration.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1
From the FHIR Standard
Timing.repeat.durationUnitrequiredUnitsOfTime
http://hl7.org/fhir/ValueSet/units-of-time|4.0.1
From the FHIR Standard
Timing.repeat.periodUnitrequiredUnitsOfTime
http://hl7.org/fhir/ValueSet/units-of-time|4.0.1
From the FHIR Standard
Timing.repeat.dayOfWeekrequiredDaysOfWeek
http://hl7.org/fhir/ValueSet/days-of-week|4.0.1
From the FHIR Standard
Timing.repeat.whenrequiredEventTiming
http://hl7.org/fhir/ValueSet/event-timing|4.0.1
From the FHIR Standard
Timing.codepreferredTimingAbbreviation
http://hl7.org/fhir/ValueSet/timing-abbreviation
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
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-1errorTiming.repeatif there's a duration, there needs to be duration units
: duration.empty() or durationUnit.exists()
tim-2errorTiming.repeatif there's a period, there needs to be period units
: period.empty() or periodUnit.exists()
tim-4errorTiming.repeatduration SHALL be a non-negative value
: duration.exists() implies duration >= 0
tim-5errorTiming.repeatperiod SHALL be a non-negative value
: period.exists() implies period >= 0
tim-6errorTiming.repeatIf there's a periodMax, there must be a period
: periodMax.empty() or period.exists()
tim-7errorTiming.repeatIf there's a durationMax, there must be a duration
: durationMax.empty() or duration.exists()
tim-8errorTiming.repeatIf there's a countMax, there must be a count
: countMax.empty() or count.exists()
tim-9errorTiming.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-10errorTiming.repeatIf 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: 8 elements
Fixed: 1 element

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
... repeat SΣC 0..1 Element Wann das Ereignis stattfinden soll
Constraints: tim-9, tim-5, tim-6, tim-7, tim-8, tim-1, tim-10, tim-2, tim-4
.... Slices for bounds[x] SΣ 0..1 Länge/Bereich der Längen oder (Start- und/oder End-)Grenzen
Slice: Unordered, Open by type:$this
..... boundsDuration Duration
..... boundsRange Range
..... boundsPeriod Period
..... bounds[x]:boundsDuration SΣ 0..1 Duration Dauer der Dosieranweisung ausgedrückt in UCUM-Einheiten
...... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
...... system ΣC 0..1 uri UCUM-Einheit für die Dauer
Fixed Value: http://unitsofmeasure.org
.... frequency SΣ 0..1 positiveInt Ereignis tritt frequency-mal pro Zeitraum auf
.... period SΣ 0..1 decimal Ereignis tritt frequency-mal pro Zeitraum auf
.... periodUnit Σ 0..1 code s | min | h | d | wk | mo | a - Zeiteinheit (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).
.... dayOfWeek SΣ 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required)
.... timeOfDay SΣ 0..* time Tageszeit für die Aktion
.... when SΣ 0..* code Code für den Zeitraum des Auftretens
Binding: EventTiming (required): Real world event relating to the schedule.

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Timing.repeat.bounds[x]:boundsDuration.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1
From the FHIR Standard
Timing.repeat.periodUnitrequiredUnitsOfTime
http://hl7.org/fhir/ValueSet/units-of-time|4.0.1
From the FHIR Standard
Timing.repeat.dayOfWeekrequiredDaysOfWeek
http://hl7.org/fhir/ValueSet/days-of-week|4.0.1
From the FHIR Standard
Timing.repeat.whenrequiredEventTiming
http://hl7.org/fhir/ValueSet/event-timing|4.0.1
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
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-1errorTiming.repeatif there's a duration, there needs to be duration units
: duration.empty() or durationUnit.exists()
tim-2errorTiming.repeatif there's a period, there needs to be period units
: period.empty() or periodUnit.exists()
tim-4errorTiming.repeatduration SHALL be a non-negative value
: duration.exists() implies duration >= 0
tim-5errorTiming.repeatperiod SHALL be a non-negative value
: period.exists() implies period >= 0
tim-6errorTiming.repeatIf there's a periodMax, there must be a period
: periodMax.empty() or period.exists()
tim-7errorTiming.repeatIf there's a durationMax, there must be a duration
: durationMax.empty() or duration.exists()
tim-8errorTiming.repeatIf there's a countMax, there must be a count
: countMax.empty() or count.exists()
tim-9errorTiming.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-10errorTiming.repeatIf 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
... repeat S 0..1 Element Wann das Ereignis stattfinden soll
.... Slices for bounds[x] S 0..1 Duration, Range, Period Länge/Bereich der Längen oder (Start- und/oder End-)Grenzen
Slice: Unordered, Open by type:$this
..... bounds[x]:boundsDuration S 0..1 Duration Dauer der Dosieranweisung ausgedrückt in UCUM-Einheiten
...... system 0..1 uri UCUM-Einheit für die Dauer
Fixed Value: http://unitsofmeasure.org
.... frequency S 0..1 positiveInt Ereignis tritt frequency-mal pro Zeitraum auf
.... period S 0..1 decimal Ereignis tritt frequency-mal pro Zeitraum auf
.... periodUnit 0..1 code s | min | h | d | wk | mo | a - Zeiteinheit (UCUM)
.... dayOfWeek S 0..* code mon | tue | wed | thu | fri | sat | sun
.... timeOfDay S 0..* time Tageszeit für die Aktion
.... when S 0..* code Code für den Zeitraum des Auftretens

doco Documentation for this format

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 N 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 Wann das Ereignis stattfinden soll
Constraints: tim-9, tim-5, tim-6, tim-7, tim-8, tim-1, tim-10, tim-2, tim-4
.... id 0..1 string Unique id for inter-element referencing
.... extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for bounds[x] SΣ 0..1 Länge/Bereich der Längen oder (Start- und/oder End-)Grenzen
Slice: Unordered, Open by type:$this
..... boundsDuration Duration
..... boundsRange Range
..... boundsPeriod Period
..... bounds[x]:boundsDuration SΣ 0..1 Duration Dauer der Dosieranweisung ausgedrückt in UCUM-Einheiten
...... id 0..1 string Unique id for inter-element referencing
...... extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... value Σ 0..1 decimal Numerical value (with implicit precision)
...... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
...... unit Σ 0..1 string Unit representation
...... system ΣC 0..1 uri UCUM-Einheit für die Dauer
Fixed Value: http://unitsofmeasure.org
...... code Σ 0..1 code Coded form of the unit
.... 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 SΣ 0..1 positiveInt Ereignis tritt frequency-mal pro Zeitraum auf
.... frequencyMax Σ 0..1 positiveInt Event occurs up to frequencyMax times per period
.... period SΣ 0..1 decimal Ereignis tritt frequency-mal pro Zeitraum auf
.... periodMax Σ 0..1 decimal Upper limit of period (3-4 hours)
.... periodUnit Σ 0..1 code s | min | h | d | wk | mo | a - Zeiteinheit (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).
.... dayOfWeek SΣ 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required)
.... timeOfDay SΣ 0..* time Tageszeit für die Aktion
.... when SΣ 0..* code Code für den Zeitraum des Auftretens
Binding: EventTiming (required): Real world event relating to the schedule.
.... offset Σ 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

PathConformanceValueSetURI
Timing.repeat.bounds[x]:boundsDuration.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1
From the FHIR Standard
Timing.repeat.durationUnitrequiredUnitsOfTime
http://hl7.org/fhir/ValueSet/units-of-time|4.0.1
From the FHIR Standard
Timing.repeat.periodUnitrequiredUnitsOfTime
http://hl7.org/fhir/ValueSet/units-of-time|4.0.1
From the FHIR Standard
Timing.repeat.dayOfWeekrequiredDaysOfWeek
http://hl7.org/fhir/ValueSet/days-of-week|4.0.1
From the FHIR Standard
Timing.repeat.whenrequiredEventTiming
http://hl7.org/fhir/ValueSet/event-timing|4.0.1
From the FHIR Standard
Timing.codepreferredTimingAbbreviation
http://hl7.org/fhir/ValueSet/timing-abbreviation
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
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-1errorTiming.repeatif there's a duration, there needs to be duration units
: duration.empty() or durationUnit.exists()
tim-2errorTiming.repeatif there's a period, there needs to be period units
: period.empty() or periodUnit.exists()
tim-4errorTiming.repeatduration SHALL be a non-negative value
: duration.exists() implies duration >= 0
tim-5errorTiming.repeatperiod SHALL be a non-negative value
: period.exists() implies period >= 0
tim-6errorTiming.repeatIf there's a periodMax, there must be a period
: periodMax.empty() or period.exists()
tim-7errorTiming.repeatIf there's a durationMax, there must be a duration
: durationMax.empty() or duration.exists()
tim-8errorTiming.repeatIf there's a countMax, there must be a count
: countMax.empty() or count.exists()
tim-9errorTiming.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-10errorTiming.repeatIf 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: 8 elements
Fixed: 1 element

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