description: Base StructureDefinition for Timing Type package_name: hl7.fhir.r3.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-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, or vice versa', 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)', severity: error, expression: offset.empty() or (when.exists() and ((when in ('C' | 'CM' | 'CD' | 'CV')).not()))} tim-6: {human: 'If there''s a periodMax, there must be a period', 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: 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, array: true, 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, 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), 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, isSummary: true, index: 11} dayOfWeek: {short: mon | tue | wed | thu | fri | sat | sun, type: code, array: true, isSummary: true, index: 17} count: {short: Number of times to repeat, 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, type: time, array: true, isSummary: true, index: 18} code: {short: BID | TID | QID | AM | PM | QD | QOD | Q4H | Q6H +, type: CodeableConcept, isSummary: true, index: 21} package_version: 3.0.2 class: complex-type kind: complex-type url: http://hl7.org/fhir/StructureDefinition/Timing base: http://hl7.org/fhir/StructureDefinition/Element version: null