The article Combining time intervals in CDA, overviews the use of the xsi:type attribute and the operator attribute, within an effectiveTime element, in order to combine multiple time intervals to express, for example, the schedule for taking a medication (what is often termed the medication “SIG”).

That article includes some examples of SIGs such as “once a day” or “every 8 hours”. These are achieved by “intersecting” (by setting the operator attribute to “A”)  a continuous date range (the overall period in which the SIG is relevant) with a periodic time interval (the frequency to take that medication within that date range). The result is a “combined time period expression” that captures via the intersection of its sub-parts, the desired SIG.

Combining “Combined Time Periods” With Paranthetical Expressions
Not every SIG, however, can be expressed using a simple combination of a single time range and a single periodic interval. Consider the example: Warfarin Sodium 5 mg tablet by mouth once daily Monday, Wednesday, Friday.

To express “daily Monday, Wednesday, Friday”, we need to take the sub-expressions for, “every Monday in a given date range”, “every Wednesday in a given date range”, and “every Friday in a given date range” and “union” them together (by setting the operator attribute to “I”). Or, alternatively, we could take the expression “every day in a given date range” and “intersect” it with the compound time expressions for “every Sunday”, “every Tuesday”, “every Thursday”, and “every Saturday” in that same date range.

Either way, we need to “combine” a series of “combined time expressions”. If we express things as a mathematical set expression, what we need is the ability to put “parentheses” around sub-expressions and then combine those “parenthetical expressions”.

Similarly, in the case of “tapered frequency” of a medication, if we want to express “three times a week for two weeks, then twice a week for two weeks, then once a week thereafter” – we need to combine three different periods, each of which is required itself to be a “combination” of a date range and a periodic interval.

The comp Element and the xsi:type=”SXPR_TS” Attribute Setting
The XML syntax mechanism in CDA for “combining combined time intervals” uses the comp element to define “components” of the expression (the equivalent of injecting parentheses into the set operations being done via the operator attribute).

Here is an example of the CDA XML representation of effectiveTime that expresses “three times a week for two weeks, then twice a week for two weeks, then once a week thereafter – starting on Feb 2, 2014″:

<effectiveTime xsi:type="SXPR_TS" >
   <comp xsi:type="SXPR_TS">
      <comp xsi:type="IVL_TS">
         <low value="20140202000000"/>
         <width value="14" unit="d"/>
      </comp>
      <comp xsi:type="PIVL_TS" operator="A">
         <period value="2.3333" unit="d"/>
      </comp>
   </comp>
   <comp xsi:type="SXPR_TS" operator="I">
      <comp xsi:type="IVL_TS">
         <low value="20120216000000"/>
         <width value="14" unit="d"/>
      </comp>
      <comp xsi:type="PIVL_TS" operator="A">
         <period value="3.5" unit="d"/>
      </comp>
   </comp>
   <comp xsi:type="SXPR_TS" operator="I">
      <comp xsi:type="IVL_TS">
         <low value="20120302000000"/>
      </comp>
      <comp xsi:type="PIVL_TS" operator="A">
         <period value="7" unit="d"/>
      </comp>
   </comp>
</effectiveTime>

In the example above, there are three comp sub-elements of effectiveTime. Each one represents a “parenthetical” time expression of the kind that could otherwise be placed directly in an effectiveTime element. These three paranthetical expressions are combined via a “union/include” operation (by setting operator to “I”) inside the comp element.

Each of the comp elements is assigned an xsi:type value of “SXPR_TS” – which is the data type in CDA for “Paranthetic Set Expression” – intended exactly for this purpose. The overall effectiveTime is also assigned this data type (as this is the data type that allows for the comp sub-element to be included within it, so that paranthetical expressions can be expressed).

Theory vs. Reality
While CDA has very robust support for these paranthetical expressions, as a practical matter – they are not generally used in C-CDA documents such as those required by MU2. The C-CDA specification makes no mention of them and neither do any of the S&I Framework C-CDA Companion Guide samples for MU2.

While nothing in the C-CDA specification prevents this construct from being used (and it validates OK in the TTT Validator), the practical reality is that few receivers of C-CDA documents containing this construct would correctly interpret it.

In the CDA Book, it’s noted that IHE guidance indicates that the complexity of time expressions for SIGs would be limited to two forms:

Those two forms leave out many fairly common SIGs. However, that is the practical reality of what can be expressed today in MU2 C-CDA documents.

The Bottom Line
The bottom line recommendation from CDA PRO is that any SIG that needs to be expressed in a form that is more complex than what is noted above (either “single time-stamp”, or “dosage start/stop intersected with a single periodic interval”) – should express only the overall stop/start time period of the dosing regimen in the effectiveTime element (this use of effectiveTime is always required in the Medication Activity template).

An Instructions template should then be used (via an entryRelationship sub-element – refer to The entryRelationship Element for more information about this element and its typeCode and inversionInd attributes), to point to the SIG in the section narrative text.

For the example shown earlier, this guidance translates to the following XML syntax:

<substanceAdministration classCode="SBADM" moodCode="EVN">
   <templateId root="2.16.840.1.113883.10.20.22.4.16"/>
   <!-- ** Medication Activity Template -->
   ...
   <effectiveTime xsi:type="IVL_TS">
      <!-- starting Feb 2, 2014 - no end time -->
      <low value="20140202000000"/>
      <high nullFlavor="NI"/>
   </effectiveTime>
   ...
   <entryRelationship typeCode="SUBJ" inversionInd="true">
      <act classCode="ACT" moodCode="INT">
         <templateId root="2.16.840.1.113883.10.20.22.4.20"/>
         <!-- ** Instructions Template ** -->
         <code code="223420003" codeSystem="2.16.840.1.113883.6.96"
            displayName="Drug dosage education" codeSystemName="SNOMED CT" />
         <text>
            <!-- Pointer to section text with dosage instructions marked off with <content> tags -->
            <!-- e.g. "three times a week first two weeks, twice a week next two weeks, once a week thereafter" -->
            <reference value="#MedSectMed1SIG" />
         </text>
         <statusCode code="active"/>
      </act>
   </entryRelationship>
   ...

Other CDA PRO Know Articles Referenced In This Article