description: Base StructureDefinition for Timing Type package_name: hl7.fhir.core 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', severity: error, expression: countMax.empty() or count.exists()} tim-2: {human: 'if there''s a period, there needs to be period units', severity: error, expression: period.empty() or periodUnit.exists()} tim-5: {human: period SHALL be a non-negative value, severity: error, expression: period.exists() implies period >= 0} tim-7: {human: 'If there''s a durationMax, there must be a duration', severity: error, expression: durationMax.empty() or duration.exists()} tim-11: {human: 'If there''s a dayOfWeek, there cannot be be a frequency, or a period', severity: error, expression: dayOfWeek.exists() implies (frequency.empty() and period.empty())} tim-4: {human: duration SHALL be a non-negative value, severity: error, expression: duration.exists() implies duration >= 0} tim-1: {human: 'if there''s a duration, there needs to be duration units', severity: error, expression: duration.empty() or durationUnit.exists()} tim-10: {human: 'If there''s a timeOfDay, there cannot be be a when, a frequency, or a period', severity: error, expression: timeOfDay.exists() implies (when.empty() and frequency.empty() and period.empty())} tim-9: {human: 'If there''s an offset, there must be a when', severity: error, expression: offset.empty() or when.exists()} tim-6: {human: 'If there''s a periodMax, there must be a period', severity: error, expression: periodMax.empty() or period.exists()} tim-3: {human: 'Either frequency or when can exist, not both', severity: error, expression: ((period or frequency) and when).not()} 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: integer, 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: Regular life events the event is tied to, type: code, isSummary: true, index: 19} offset: {type: unsignedInt, short: Minutes from event (before or after), isSummary: true, index: 20} periodUnit: {short: s | min | h | d | wk | mo | a - unit of time (UCUM), type: code, isSummary: true, index: 16} frequency: {short: Event occurs frequency times per period, type: integer, defaultValueInteger: 1, isSummary: true, index: 12} durationMax: {short: How long when it happens (Max), comments: 'For some events the duration is part of the definition of the event (e.g. IV infusions, where the duration is implicit in the specified quantity and rate). For others, it''s part of the timing specification (e.g. exercise).', type: decimal, isSummary: true, index: 10} duration: {short: How long when it happens, comments: 'For some events the duration is part of the definition of the event (e.g. IV infusions, where the duration is implicit in the specified quantity and rate). For others, it''s part of the timing specification (e.g. exercise).', 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, isSummary: true, index: 11} dayOfWeek: {short: mon | tue | wed | thu | fri | sat | sun, comments: 'If no days are specified, the action is assumed to happen every day as otherwise specified. The elements frequency and period cannot be used as well as dayOfWeek.', type: code, array: true, isSummary: true, index: 17} count: {short: Number of times to repeat, comments: 'If you have both bounds and count, then this should be understood as within the bounds period, until count times happens.', type: integer, isSummary: true, index: 7} periodMax: {short: Upper limit of period (3-4 hours), type: decimal, isSummary: true, index: 15} period: {short: Event occurs frequency times per period, type: decimal, isSummary: true, index: 14} countMax: {short: Maximum number of times to repeat, type: integer, isSummary: true, index: 8} timeOfDay: {short: Time of day for action, comments: 'When time of day is speciifed, it is inferred that the action happens every day (as filtered by dayofWeek) on the specified times. The elements when, frequency and period cannot be used as well as timeOfDay.', type: time, array: true, isSummary: true, index: 18} code: {short: BID | TID | QID | AM | PM | QD | QOD | Q4H | Q6H +, comments: 'BID etc are defined as ''at institutionally specified times''. For example, an institution may choose that BID is "always at 7am and 6pm". If it is inappropriate for this choice to be made, the code BID should not be used. Instead, a distinct organization-specific code should be used in place of the HL7-defined BID code and/or the a structured representation should be used (in this case, specifying the two event times).', type: CodeableConcept, isSummary: true, index: 21} package_version: 1.8.0 class: complex-type kind: complex-type url: http://hl7.org/fhir/StructureDefinition/Timing base: http://hl7.org/fhir/StructureDefinition/Element version: null