http://hl7.org/fhir/StructureDefinition/Timing|5.0.0

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.
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.'
derivation: specialization
name: Timing
type: Timing
elements:
  event: {short: When the event occurs, 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
    isSummary: true
    index: 1
    elements:
      frequencyMax: {short: Event occurs up to frequencyMax times per period, isSummary: true, index: 10}
      when:
        short: Code for time period of occurrence
        array: true
        binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/event-timing|5.0.0'}
        isSummary: true
        index: 16
      offset: {short: Minutes from event (before or after), isSummary: true, index: 17}
      periodUnit:
        short: s | min | h | d | wk | mo | a - unit of time (UCUM)
        binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/units-of-time|5.0.0'}
        isSummary: true
        index: 13
      frequency: {short: Indicates the number of repetitions that should occur within a period. I.e. Event occurs frequency times per period, 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: 9}
      durationMax: {short: How long when it happens (Max), isSummary: true, index: 7}
      duration: {short: How long when it happens, isSummary: true, index: 6}
      bounds:
        short: Length/Range of lengths, or (Start and/or end) limits
        choices: []
        isSummary: true
        index: 3
      durationUnit:
        short: s | min | h | d | wk | mo | a - unit of time (UCUM)
        binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/units-of-time|5.0.0'}
        isSummary: true
        index: 8
      dayOfWeek:
        short: mon | tue | wed | thu | fri | sat | sun
        array: true
        binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/days-of-week|5.0.0'}
        isSummary: true
        index: 14
      count: {short: Number of times to repeat, isSummary: true, index: 4}
      periodMax: {short: Upper limit of period (3-4 hours), isSummary: true, index: 12}
      period: {short: The duration to which the frequency applies. I.e. Event occurs frequency times per period, isSummary: true, index: 11}
      countMax: {short: Maximum number of times to repeat, isSummary: true, index: 5}
      timeOfDay: {short: Time of day for action, array: true, isSummary: true, index: 15}
  code:
    short: C | BID | TID | QID | AM | PM | QD | QOD | +
    binding: {strength: preferred, valueSet: 'http://hl7.org/fhir/ValueSet/timing-abbreviation'}
    isSummary: true
    index: 18
class: complex-type
kind: complex-type
url: http://hl7.org/fhir/StructureDefinition/Timing
base: http://hl7.org/fhir/StructureDefinition/BackboneType
version: 5.0.0