HL7 FHIR Profile: Occupational Data for Health (ODH), Release 1.1 (Standard for Trial Use)

HL7 FHIR Profile: Occupational Data for Health (ODH), Release 1.1 (Standard for Trial Use) - Local Development build (v1.1.0). See the Directory of published versions

Timing

 

The official URL for this profile is:

http://hl7.org/fhir/us/odh/StructureDefinition/obf-datatype-Timing

A timing schedule that specifies an event that may occur multiple times. Timing offers a choice of multiple OccurrenceTime (used is used to specify specific times), or recurrence patterns.

This profile builds on Timing.

This profile was published on Wed Sep 04 00:00:00 EDT 2019 as a active by HL7 International Public Health Work Group.

Summary

Structures

This structure refers to these other structures:

Mapping Source

This structure represents the following mapping definition:

obf.datatype.Timing maps to Timing:
  OccurrenceTime maps to event
  TimingCode maps to code
  Repeat.RepeatBounds maps to repeat.bounds[x]
  Repeat.RepeatCount maps to repeat.count
  Repeat.RepeatCountMax maps to repeat.countMax
  Repeat.RepeatDuration maps to repeat.duration
  Repeat.RepeatDurationMax maps to repeat.durationMax
  Repeat.RepeatDurationUnit maps to repeat.durationUnit
  Repeat.RepeatFrequency maps to repeat.frequency
  Repeat.RepeatFrequencyMax maps to repeat.frequencyMax
  Repeat.RepeatPeriod maps to repeat.period
  Repeat.RepeatPeriodMax maps to repeat.periodMax
  Repeat.RepeatPeriodUnit maps to repeat.periodUnit
  Repeat.DayOfWeek maps to repeat.dayOfWeek
  Repeat.TimeOfDay maps to repeat.timeOfDay
  Repeat.DailyLifeEvent maps to repeat.when
  Repeat.DailyLifeEventOffset maps to repeat.offset

NameFlagsCard.TypeDescription & Constraintsdoco
.. Timing obf-datatype-Timing
... repeat
.... bounds[x]
..... boundsDurationDuration
..... boundsRangeRange
..... boundsPeriodPeriod
... code Binding: TimingAbbreviation (extensible)

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Timing 0..*obf-datatype-Timing
... id 0..1stringUnique id for inter-element referencing
... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
... event Σ0..*dateTimeWhen the event occurs
... repeat ΣI0..1ElementWhen the event is to occur
tim-9: If there's an offset, there must be a when (and not C, CM, CD, CV)
tim-5: period SHALL be a non-negative value
tim-6: If there's a periodMax, there must be a period
tim-7: If there's a durationMax, there must be a duration
tim-8: If there's a countMax, there must be a count
tim-1: if there's a duration, there needs to be duration units
tim-10: If there's a timeOfDay, there cannot be a when, or vice versa
tim-2: if there's a period, there needs to be period units
tim-4: duration SHALL be a non-negative value
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... bounds[x] Σ0..1Length/Range of lengths, or (Start and/or end) limits
..... boundsDurationDuration
..... boundsRangeRange
..... boundsPeriodPeriod
.... count Σ0..1positiveIntNumber of times to repeat
.... countMax Σ0..1positiveIntMaximum number of times to repeat
.... duration Σ0..1decimalHow long when it happens
.... durationMax Σ0..1decimalHow long when it happens (Max)
.... durationUnit Σ0..1codes | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required)
.... frequency Σ0..1positiveIntEvent occurs frequency times per period
.... frequencyMax Σ0..1positiveIntEvent occurs up to frequencyMax times per period
.... period Σ0..1decimalEvent occurs frequency times per period
.... periodMax Σ0..1decimalUpper limit of period (3-4 hours)
.... periodUnit Σ0..1codes | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required)
.... dayOfWeek Σ0..*codemon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required)
.... timeOfDay Σ0..*timeTime of day for action
.... when Σ0..*codeCode for time period of occurrence
Binding: EventTiming (required)
.... offset Σ0..1unsignedIntMinutes from event (before or after)
... code Σ0..1CodeableConceptBID | TID | QID | AM | PM | QD | QOD | +
Binding: TimingAbbreviation (extensible)

doco Documentation for this format

Summary

Structures

This structure refers to these other structures:

Mapping Source

This structure represents the following mapping definition:

obf.datatype.Timing maps to Timing:
  OccurrenceTime maps to event
  TimingCode maps to code
  Repeat.RepeatBounds maps to repeat.bounds[x]
  Repeat.RepeatCount maps to repeat.count
  Repeat.RepeatCountMax maps to repeat.countMax
  Repeat.RepeatDuration maps to repeat.duration
  Repeat.RepeatDurationMax maps to repeat.durationMax
  Repeat.RepeatDurationUnit maps to repeat.durationUnit
  Repeat.RepeatFrequency maps to repeat.frequency
  Repeat.RepeatFrequencyMax maps to repeat.frequencyMax
  Repeat.RepeatPeriod maps to repeat.period
  Repeat.RepeatPeriodMax maps to repeat.periodMax
  Repeat.RepeatPeriodUnit maps to repeat.periodUnit
  Repeat.DayOfWeek maps to repeat.dayOfWeek
  Repeat.TimeOfDay maps to repeat.timeOfDay
  Repeat.DailyLifeEvent maps to repeat.when
  Repeat.DailyLifeEventOffset maps to repeat.offset

Differential View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Timing obf-datatype-Timing
... repeat
.... bounds[x]
..... boundsDurationDuration
..... boundsRangeRange
..... boundsPeriodPeriod
... code Binding: TimingAbbreviation (extensible)

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Timing 0..*obf-datatype-Timing
... id 0..1stringUnique id for inter-element referencing
... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
... event Σ0..*dateTimeWhen the event occurs
... repeat ΣI0..1ElementWhen the event is to occur
tim-9: If there's an offset, there must be a when (and not C, CM, CD, CV)
tim-5: period SHALL be a non-negative value
tim-6: If there's a periodMax, there must be a period
tim-7: If there's a durationMax, there must be a duration
tim-8: If there's a countMax, there must be a count
tim-1: if there's a duration, there needs to be duration units
tim-10: If there's a timeOfDay, there cannot be a when, or vice versa
tim-2: if there's a period, there needs to be period units
tim-4: duration SHALL be a non-negative value
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... bounds[x] Σ0..1Length/Range of lengths, or (Start and/or end) limits
..... boundsDurationDuration
..... boundsRangeRange
..... boundsPeriodPeriod
.... count Σ0..1positiveIntNumber of times to repeat
.... countMax Σ0..1positiveIntMaximum number of times to repeat
.... duration Σ0..1decimalHow long when it happens
.... durationMax Σ0..1decimalHow long when it happens (Max)
.... durationUnit Σ0..1codes | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required)
.... frequency Σ0..1positiveIntEvent occurs frequency times per period
.... frequencyMax Σ0..1positiveIntEvent occurs up to frequencyMax times per period
.... period Σ0..1decimalEvent occurs frequency times per period
.... periodMax Σ0..1decimalUpper limit of period (3-4 hours)
.... periodUnit Σ0..1codes | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required)
.... dayOfWeek Σ0..*codemon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required)
.... timeOfDay Σ0..*timeTime of day for action
.... when Σ0..*codeCode for time period of occurrence
Binding: EventTiming (required)
.... offset Σ0..1unsignedIntMinutes from event (before or after)
... code Σ0..1CodeableConceptBID | TID | QID | AM | PM | QD | QOD | +
Binding: TimingAbbreviation (extensible)

doco Documentation for this format

Downloads: StructureDefinition: (XML, JSON, TTL), Schema: XML Schematron

 

Terminology Bindings

PathConformanceValueSet
Timing.repeat.durationUnitrequiredUnitsOfTime
Timing.repeat.periodUnitrequiredUnitsOfTime
Timing.repeat.dayOfWeekrequiredDaysOfWeek
Timing.repeat.whenrequiredEventTiming
Timing.codeextensibleTimingAbbreviation

 

Constraints

IdPathDetailsRequirements
ele-1Timing.repeatAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
tim-9Timing.repeatIf there's an offset, there must be a when (and not C, CM, CD, CV)
: offset.empty() or (when.exists() and ((when in ('C' | 'CM' | 'CD' | 'CV')).not()))
tim-5Timing.repeatperiod SHALL be a non-negative value
: period.exists() implies period >= 0
tim-6Timing.repeatIf there's a periodMax, there must be a period
: periodMax.empty() or period.exists()
tim-7Timing.repeatIf there's a durationMax, there must be a duration
: durationMax.empty() or duration.exists()
tim-8Timing.repeatIf there's a countMax, there must be a count
: countMax.empty() or count.exists()
tim-1Timing.repeatif there's a duration, there needs to be duration units
: duration.empty() or durationUnit.exists()
tim-10Timing.repeatIf there's a timeOfDay, there cannot be a when, or vice versa
: timeOfDay.empty() or when.empty()
tim-2Timing.repeatif there's a period, there needs to be period units
: period.empty() or periodUnit.exists()
tim-4Timing.repeatduration SHALL be a non-negative value
: duration.exists() implies duration >= 0