CDA Examples, published by Health Level Seven. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/CDA-Examples/ and changes regularly. See the Directory of published versions
Medication Frequency
This page provides best practices for representing medication frequency in CDA (C‑CDA), focusing on correct use of effectiveTime
with both PIVL_TS (periodic intervals) and EIVL_TS (event‑based intervals). These examples also highlight the institutionSpecified
attribute and are approved by the HL7 Pharmacy Structured Documents Work Group.
institutionSpecified
true
= schedule based on episodes (e.g., TID = three times per day)
false
/ not present = fixed intervals (e.g., Q8H = every 8 hours)
PIVL_TS Examples (Periodic Intervals)
Use PIVL_TS
when specifying regular periodic medication schedules.
Frequency Description Preferred (units align with description) Known other representation
BID Two times daily
<effectiveTime xsi:type= "PIVL_TS" operator= "A"
institutionSpecified= "true" >
<period value= "0.5" unit= "d" />
</effectiveTime>
<effectiveTime xsi:type= "PIVL_TS" operator= "A"
institutionSpecified= "true" >
<period value= "12" unit= "h" />
</effectiveTime>
Q12H Every 12 hours
<effectiveTime xsi:type= "PIVL_TS" operator= "A" >
<period value= "12" unit= "h" />
</effectiveTime>
<effectiveTime xsi:type= "PIVL_TS" operator= "A" >
<period value= "0.5" unit= "d" />
</effectiveTime>
TID Three times daily
<effectiveTime xsi:type= "PIVL_TS" operator= "A"
institutionSpecified= "true" >
<period value= "0.3333" unit= "d" />
</effectiveTime>
<effectiveTime xsi:type= "PIVL_TS" operator= "A"
institutionSpecified= "true" >
<period value= "8" unit= "h" />
</effectiveTime>
Q8H Every 8 hours
<effectiveTime xsi:type= "PIVL_TS" operator= "A" >
<period value= "8" unit= "h" />
</effectiveTime>
<effectiveTime xsi:type= "PIVL_TS" operator= "A" >
<period value= "0.3333" unit= "d" />
</effectiveTime>
QID Four times daily
<effectiveTime xsi:type= "PIVL_TS" operator= "A"
institutionSpecified= "true" >
<period value= "0.25" unit= "d" />
</effectiveTime>
<effectiveTime xsi:type= "PIVL_TS" operator= "A"
institutionSpecified= "true" >
<period value= "6" unit= "h" />
</effectiveTime>
Q6H Every 6 hours
<effectiveTime xsi:type= "PIVL_TS" operator= "A" >
<period value= "6" unit= "h" />
</effectiveTime>
<effectiveTime xsi:type= "PIVL_TS" operator= "A" >
<period value= "0.25" unit= "d" />
</effectiveTime>
QD Daily
<effectiveTime xsi:type= "PIVL_TS" operator= "A"
institutionSpecified= "true" >
<period value= "1" unit= "d" />
</effectiveTime>
<effectiveTime xsi:type= "PIVL_TS" operator= "A"
institutionSpecified= "true" >
<period value= "24" unit= "h" />
</effectiveTime>
Q24H Every 24 hours
<effectiveTime xsi:type= "PIVL_TS" operator= "A" >
<period value= "24" unit= "h" />
</effectiveTime>
<effectiveTime xsi:type= "PIVL_TS" operator= "A" >
<period value= "1" unit= "d" />
</effectiveTime>
QOD Every other day
<effectiveTime xsi:type= "PIVL_TS" operator= "A"
institutionSpecified= "true" >
<period value= "2" unit= "d" />
</effectiveTime>
<effectiveTime xsi:type= "PIVL_TS" operator= "A"
institutionSpecified= "true" >
<period value= "48" unit= "h" />
</effectiveTime>
QM Once a month
<effectiveTime xsi:type= "PIVL_TS" operator= "A"
institutionSpecified= "true" >
<period value= "1" unit= "mo" />
</effectiveTime>
Every other week
<effectiveTime xsi:type= "PIVL_TS" operator= "A"
institutionSpecified= "true" >
<period value= "2" unit= "wk" />
</effectiveTime>
Every 4-6 hours (range)
<effectiveTime xsi:type= "PIVL_TS" operator= "A" >
<period xsi:type= "IVL_PQ" >
<low value= "4" unit= "h" />
<high value= "6" unit= "h" />
</period>
</effectiveTime>
EIVL_TS Examples (Event-Based Intervals)
Use EIVL_TS
when dosing is based on an event (e.g., mealtime):
1 hour after meal
<effectiveTime xsi:type= "EIVL_TS" operator= "A" >
<event code= "PC" />
<offset>
<low value= "1" unit= "h" />
</offset>
</effectiveTime>
Before dinner
<effectiveTime xsi:type= "EIVL_TS" operator= "A" >
<event code= "ACV" />
</effectiveTime>
Before lunch (ante cibus diurnus)
<effectiveTime xsi:type= "EIVL_TS" operator= "A" >
<event code= "ACD" />
</effectiveTime>
At the hour of sleep
<effectiveTime xsi:type= "EIVL_TS" operator= "A" >
<event code= "HS" />
</effectiveTime>
Every evening (between dinner and sleep)
<effectiveTime xsi:type= "EIVL_TS" operator= "A" >
<event code= "ICV" />
</effectiveTime>
TimingEvent Value Set
The <event code="..."/>
attribute used in EIVL_TS
relies on the HL7 TimingEvent code system:
Use one of the valid event codes from this value set (e.g., ACD
, HS
, PC
) when expressing timing relative to meals, sleep, or other daily activities.
Implementation Note
All examples on this page are approved for use in C‑CDA , and reflect best practices from the HL7 Pharmacy and Structured Documents Work Groups.