CDA Examples
1.0.0 - active United States of America flag

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.


FrequencyDescriptionPreferred (units align with description)Known other representation
BIDTwo 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>
Q12HEvery 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>
TIDThree 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>
Q8HEvery 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>
QIDFour 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>
Q6HEvery 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>
QDDaily
<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>
Q24HEvery 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>
QODEvery 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>
QMOnce 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.