View raw Markdown
type: datatypedatatype: Timing

Timing

Overview

See also Examples, Detailed Descriptions, Mappings, Profiles and Extensions

Describes the occurrence of an event that may occur multiple times. Timing schedules are used for specifying when events are expected or requested to occur and may also be used to represent the summary of a past or ongoing event. For simplicity, the definitions of Timing components are expressed as 'future' events, but such components can also be used to describe historic or ongoing events.

A Timing schedule can be a list of events and/or criteria for when the event happens, which can be expressed in a structured form and/or as a code. When both event and a repeating specification are provided, the list of events should be understood as an interpretation of the information in the repeat structure.

Note: The Timing datatype allows modifier extensions (though Timing.repeat does not).

[%dt Timing 13%]

If the timing schedule has repeating criteria, the repeat can occur a given number of times per the specified duration or in relation to some repeating real-world event.

Unless the Timing.repeat specifies a boundsPeriod, the bounds of the repeating cycle are at a time specified in the context where the Timing is used, or the cycle starts immediately. If the repeat is not limited by providing bounds[x] or count the bounds of the repeating cycle are expressed in some criteria elsewhere, either explicitly or implicitly.

Many systems avoid the complexity of the Timing structure by using a text field for timing instructions. This maps to Timing.code.text. For example, the text instruction "take medication in the morning on weekends and days off work' would be represented as:

"timing": { "code" : { "text" : "Take medication in the morning on weekends and days off work" } }

Other systems use a set of 'common' codes - including, but usually not limited to, widely understood acronyms such as "BID". If a Timing.code is provided, the code is understood to be a complete statement of whatever is specified in the structured timing data (except for Timing.repeat.bounds, which applies to the code), and either the code or the data may be used to interpret the Timing. A structured timing specification SHOULD be provided whenever possible, unless the code is BID, TID, QID, AM or PM, which have a ubiquitous meaning.

This table summarizes some common uses of the Timing Datatype criteria.

descriptiondurationdurationUnitfrequencyfrequencyMaxperiodperiodUnitperiodMaxDay of WeekTime Of DaywhenoffsetstartOffsetbounds[x]count
Every 8 hours18h
Every 7 days17d
3 times a day31d
3-4 times a day341d
Every 4-6 hours14h6
Every 21 days for 1 hour1hr121d
Every second day11d
Every second day starting on Day 211d1 d
Three times a week for ½ hour0.5hr31wk
With breakfastCM
For 5 minutes, 10 minutes before meals5minAC10
1 tablet 3 times daily, 30 minutes before meals31dAC30
BID, 30 mins before meal, for next 10 days21dAC30Duration = 10 days
TID, for 14 days31dDuration = 14 days
BID, start on 7/1/2015 at 1:00 PM21dPeriod.start = 2015-07-01T13:00:00
Mon, Wed, Fri Morning11dmonwedfriMORN
Every day at 10am11d10:00
Take once, at any time1
Take every second day, in the morning, until 20 have been taken12dMORN20

Note that there are two offsets here: offset which specifies the offset from event, where the event property relates to a regular event, such as before meals. The other kind of offset is startOffset and endOffset which relate to the regular events within the repeat window: if they occur with frequency > 1, the start and end offsets impose a gap in the schedule - see Dosage Examples for usage.

This table shows the relationship between the codes provided as part of the base specification, and the structured data portions of the Timing type:

descriptiondurationdurationUnitfrequencyfrequencyMaxperiodperiodUnitperiodMaxwhenbounds[x]
QOD12d
QD11d
BID21d
TID31d
QID41d
Q4H14h
Q6H16h
AM11dMORN
PM11dAFT or EVE

These codes SHALL be understood as having the formal meanings documented in this table. Note that 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 a structured representation should be used (in this case, timeOfDay).

Constraints

[%dt.constraints Timing%]

Note that these constraints still allow for nonsensical timing specifications such as "Once per day at 2:00 and 4:00" or "every 3 days on Friday". Implementers must take care to ensure that their configuration and data collection designs do not lead to these non-interpretable timing specifications. The elements dayOfWeek, timeOfDay, and when are particularly likely to be at issue here.

[%tx Timing%]

Timing is used in the following places: [%dtusage Timing%]

Elements

Bindings

Requirements

Comments

Mappings