description: 'Timing Type: Specifies an event that may occur multiple times. Timing schedules are used to record when things are planned, expected or requested to occur. The most common usage is in dosage instructions for medications. They are also used when planning care of various kinds, and may be used for reporting the schedule to which past regular activities were carried out.' package_name: hl7.fhir.r5.examples derivation: specialization name: Timing type: Timing elements: event: {short: When the event occurs, type: dateTime, array: true, isSummary: true, index: 0} repeat: constraint: tim-8: {human: 'If there''s a countMax, there must be a count', source: 'http://hl7.org/fhir/StructureDefinition/Timing', severity: error, expression: countMax.empty() or count.exists()} tim-2: {human: 'if there''s a period, there needs to be period units', source: 'http://hl7.org/fhir/StructureDefinition/Timing', severity: error, expression: period.empty() or periodUnit.exists()} tim-5: {human: period SHALL be a non-negative value, source: 'http://hl7.org/fhir/StructureDefinition/Timing', severity: error, expression: period.exists() implies period >= 0} tim-7: {human: 'If there''s a durationMax, there must be a duration', source: 'http://hl7.org/fhir/StructureDefinition/Timing', severity: error, expression: durationMax.empty() or duration.exists()} tim-4: {human: duration SHALL be a non-negative value, source: 'http://hl7.org/fhir/StructureDefinition/Timing', severity: error, expression: duration.exists() implies duration >= 0} tim-1: {human: 'if there''s a duration, there needs to be duration units', source: 'http://hl7.org/fhir/StructureDefinition/Timing', severity: error, expression: duration.empty() or durationUnit.exists()} tim-10: {human: 'If there''s a timeOfDay, there cannot be a when, or vice versa', source: 'http://hl7.org/fhir/StructureDefinition/Timing', severity: error, expression: timeOfDay.empty() or when.empty()} tim-9: {human: 'If there''s an offset, there must be a when (and not C, CM, CD, CV)', source: 'http://hl7.org/fhir/StructureDefinition/Timing', severity: error, expression: offset.empty() or (when.exists() and when.select($this in ('C' | 'CM' | 'CD' | 'CV')).allFalse())} tim-6: {human: 'If there''s a periodMax, there must be a period', source: 'http://hl7.org/fhir/StructureDefinition/Timing', severity: error, expression: periodMax.empty() or period.exists()} short: When the event is to occur type: Element isSummary: true index: 1 elements: boundsRange: {short: 'Length/Range of lengths, or (Start and/or end) limits', type: Range, choiceOf: bounds, isSummary: true, index: 5} frequencyMax: {short: Event occurs up to frequencyMax times per period, type: positiveInt, isSummary: true, index: 13} boundsPeriod: {short: 'Length/Range of lengths, or (Start and/or end) limits', type: Period, choiceOf: bounds, isSummary: true, index: 6} when: short: Code for time period of occurrence type: code array: true binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/event-timing|5.0.0-draft-final'} isSummary: true index: 19 offset: {short: Minutes from event (before or after), type: unsignedInt, isSummary: true, index: 20} periodUnit: short: s | min | h | d | wk | mo | a - unit of time (UCUM) type: code binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/units-of-time|5.0.0-draft-final'} isSummary: true index: 16 frequency: {short: Indicates the number of repetitions that should occur within a period. I.e. Event occurs frequency times per period, type: positiveInt, meaningWhenMissing: 'If no frequency is stated, the assumption is that the event occurs once per period, but systems SHOULD always be specific about this', isSummary: true, index: 12} durationMax: {short: How long when it happens (Max), type: decimal, isSummary: true, index: 10} duration: {short: How long when it happens, type: decimal, isSummary: true, index: 9} bounds: short: Length/Range of lengths, or (Start and/or end) limits choices: [boundsDuration, boundsRange, boundsPeriod] isSummary: true index: 3 boundsDuration: {short: 'Length/Range of lengths, or (Start and/or end) limits', type: Duration, choiceOf: bounds, isSummary: true, index: 4} durationUnit: short: s | min | h | d | wk | mo | a - unit of time (UCUM) type: code binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/units-of-time|5.0.0-draft-final'} isSummary: true index: 11 dayOfWeek: short: mon | tue | wed | thu | fri | sat | sun type: code array: true binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/days-of-week|5.0.0-draft-final'} isSummary: true index: 17 count: {short: Number of times to repeat, type: positiveInt, isSummary: true, index: 7} periodMax: {short: Upper limit of period (3-4 hours), type: decimal, isSummary: true, index: 15} period: {short: The duration to which the frequency applies. I.e. Event occurs frequency times per period, type: decimal, isSummary: true, index: 14} countMax: {short: Maximum number of times to repeat, type: positiveInt, isSummary: true, index: 8} timeOfDay: {short: Time of day for action, type: time, array: true, isSummary: true, index: 18} code: short: C | BID | TID | QID | AM | PM | QD | QOD | + type: CodeableConcept binding: {strength: preferred, valueSet: 'http://hl7.org/fhir/ValueSet/timing-abbreviation'} isSummary: true index: 21 package_version: 5.0.0-draft-final class: complex-type kind: complex-type url: http://hl7.org/fhir/StructureDefinition/Timing base: http://hl7.org/fhir/StructureDefinition/BackboneType version: 5.0.0-draft-final