description: Base StructureDefinition for Timing Type package_name: hl7.fhir.core derivation: specialization name: Timing type: null elements: event: {short: When the event occurs, type: dateTime, array: true, isSummary: true, index: 0} repeat: constraint: tim-3: {human: 'Either frequency or when can exist, not both', severity: error, expression: ((period or frequency) and when).not()} tim-1: {human: 'if there''s a duration, there needs to be duration units', severity: error, expression: duration.empty() or durationUnit} tim-2: {human: 'if there''s a period, there needs to be period units', severity: error, expression: period.empty() or periodUnit} tim-9: {human: 'If there''s an offset, there must be a when', severity: error, expression: offset.empty() or when} tim-6: {human: 'If there''s a periodMax, there must be a period', severity: error, expression: periodMax.empty() or period} tim-8: {human: 'If there''s a countMax, there must be a count', severity: error, expression: countMax.empty() or count} tim-7: {human: 'If there''s a durationMax, there must be a duration', severity: error, expression: durationMax.empty() or duration} 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: {type: integer, short: Event occurs up to frequencyMax times per period, 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: 17} offset: {type: unsignedInt, short: Minutes from event (before or after), isSummary: true, index: 18} 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: constraint: tim-4: {human: duration SHALL be a non-negative value, severity: error, expression: duration >= 0} 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 boundsQuantity: {short: 'Length/Range of lengths, or (Start and/or end) limits', type: Quantity, choiceOf: bounds, isSummary: true, index: 4} bounds: short: Length/Range of lengths, or (Start and/or end) limits isSummary: true choices: [boundsQuantity, boundsRange, boundsPeriod] index: 3 durationUnit: {short: s | min | h | d | wk | mo | a - unit of time (UCUM), type: code, isSummary: true, index: 11} 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: {type: decimal, short: Upper limit of period (3-4 hours), isSummary: true, index: 15} period: constraint: tim-5: {human: period SHALL be a non-negative value, severity: error, expression: period >= 0} short: Event occurs frequency times per period type: decimal isSummary: true index: 14 countMax: {type: integer, short: Maximum number of times to repeat, isSummary: true, index: 8} code: {short: QD | QOD | Q4H | Q6H | BID | TID | QID | AM | PM +, 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: 19} package_version: 1.4.0 class: datatype kind: datatype url: http://hl7.org/fhir/StructureDefinition/Timing base: http://hl7.org/fhir/StructureDefinition/Element version: null