PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.core@1.4.0
    http://hl7.org/fhir/StructureDefinition/Timing
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