PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.r5.examples@5.0.0-draft-final
    http://hl7.org/fhir/StructureDefinition/Timing
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