Back To Index  <<  Back To Templates

ref Template  Medication Item

Id Effective Date valid from 2013‑12‑20
Status draft Draft Version Label
Name MedicationItem Display Name Medication Item

This entry content module makes use of the medicine and instruction entry content modules. Medi- cations and their prescriptions are perhaps the most difficult data elements to model due to varia- tions in the ways that medications are prescribed.

This profile identifies the following relevant fields of a medication as being important to be able to generate in a medical summary. The table below identifies and describes these fields, and indicates the constraints on whether or not they are required to be sent. The fields are listed in the order that they appear in the CDA XML content.

Field CDA Tag Description
Start and Stop Date <effectiveTime> The date (and time if available) when the medication regimen began and is expected to finish. The first component of the <effectiveTime> encodes the lower and upper bounds over which the <substanceAdministration> occurs, and the start time is determined from the lower bound. If the medication has been known to be stopped, the high value must be present, but expressed as a flavor of null (e.g., Unknown).
Frequency <effectiveTime> The frequency indicates how often the medication is to be administered. It is often expressed as the number of times per day, but which may also include information such as 1 hour before/after meals, or in the morning, or evening.The second <effectiveTime> element encodes the frequency. In cases where split or tapered doses are used, these may be found in subordinate <substanceAdministration> elements.
Route <routeCode> The route is a coded value, and indicates how the medication is received by the patient (by mouth, intravenously, topically, et cetera).
Dose <doseQuantity> The amount of the medication given. This should be in some known and measurable unit, such as grams, milligrams, et cetera. It may be measured in "administration" units (such as tablets or each), for medications where the strength is relevant. In this case, only the unit count is specified , no units are specified. It may be a range.
Product <consumable>
The name of the substance or product. This should be sufficient for a provider to identify the kind of medication. It may be a trade name or a generic name. This information is required in all medication entries. If the name of the medication is unknown, the type, purpose or other description may be supplied. The name should not include packaging, strength or dosing information. Note: Due to restrictions of the CDA schema, there is no way to explicitly link the name to the narrative text.
Strength <manufacturedMaterial>
    <quantity> </quantity>
The strength of the medication is expressed as a the ratio of each active ingredient to a unit of medication. For example, the medication Percocet comes in a variety of strengths, which indicate specific amounts of two different medications being received in single tablet. Another example is eye-drops, where the medication is in a solution of a particular strength, and the dose quantity is some number of drops. Note: Due to restrictions of the CDA schema, there is no way to separately record the strength. The epSOS extension is used to provide this information.
In order to be compliant with the IHE PCC template strength information should be also conveyed through the consumable/code/originalText element as reference to the narrative block.
Ingredient Code <manufacturedMaterial>
A code describing the active ingredient(s) of the product from a controlled vocabulary, such as ATC, for example.
Instructions <entryRelationship> A place to put free text comments to support additional relevant information, or to deal with specialized dosing instructions. For example, "take with food", or tapered dosing.
Indication <entryRelationship> A link to supporting clinical information about the reason for providing the medication (e.g., a link to the relevant diagnosis).
Context Parent nodes of template element with id
Classification CDA Entry Level Template
Open/Closed Open (other than defined elements are allowed)
Associated with
Associated with 6 concepts
Id Name Data Set
epsos-dataelement-107 Number of units per intake epSOS Data Set
epsos-dataelement-108 Frequency of intakes epSOS Data Set
epsos-dataelement-109 Duration of treatment epSOS Data Set
epsos-dataelement-110 Date of onset of treatment epSOS Data Set
epsos-dataelement-140 Route of administration epSOS Data Set
epsos-dataelement-141 Instructions to patient epSOS Data Set
Used by / Uses
Used by 0 transactions and 4 templates, Uses 3 templates
Used by as Name Version Containment draft Section Medication Summary 2013‑12‑20 link draft epSOS-Patient Summary 2013‑12‑20 link draft epSOS-Health Care Encounter Report 2013‑12‑20 link draft epSOS-Medication Related Overview 2013‑12‑20
Uses as Name Version Containment draft epSOS CDA ManufacturedProduct DYNAMIC
2.16.840.1.113883.3.1937.777.11.10.103 Include draft epSOS CDA author prescriber DYNAMIC Containment draft Entry Medication FulFillment Instructions DYNAMIC
<substanceAdministration classCode="SBADM" moodCode="INT|EVN">
  <templateId root="2.16.840.1.113883."/>  <templateId root=""/>  <id root="" extension=""/>  <!-- Optional NOT TO BE USED for medication being administered or prescribed -->
  <code code="" codeSystem="" displayName="" codeSystemName=""/>  <text>
    <reference value="#med-1"/>  </text>
  <statusCode code="completed"/>  <effectiveTime xsi:type="IVL_TS">
    <low value=""/>    <high value=""/>  </effectiveTime>
  <effectiveTime operator="A" xsi:type="TS|PIVL_TS|EIVL_TS|SXPR_TS">
    <!-- ... -->
  <routeCode code="" codeSystem="" displayName="" codeSystemName=""/>  <doseQuantity value="" unit=""/>  <approachSiteCode code="" codeSystem="" displayName="" codeSystemName=""/>  <rateQuantity value="" unit=""/>  <consumable>
    <!-- ... -->
    <time/>    <assignedAuthor>
      <id/>      <assignedPerson>
        <name/>      </assignedPerson>
  <!-- 0..* entries describing the components -->
  <entryRelationship typeCode="COMP">
    <sequenceNumber value=""/>  </entryRelationship>
  <!-- An optional entry relationship that indicates the reason for use -->
  <entryRelationship typeCode="RSON">
    <act classCode="ACT" moodCode="EVN">
      <templateId root=""/>      <id root="" extension=""/>    </act>
  <!-- Optional instrctions for Phramacist -->
  <entryRelationship typeCode="SUBJ">
    <!-- ... -->
notice There are open issues with this item:
Item DT Card Conf Description Label
R The general model is to record each prescribed medication in a <substanceAdministration> intent (moodCode='INT'). To record medications which were taken in the past, the moodCode shall be set to 'EVN'. The <substanceAdministration> element may contain subordinate <substanceAdministration> elements in a related component entry to deal with special cases (see the following sections below on Special Cases).
These cases include split, tapered, or conditional dosing, or combination medications. The use of subordinate <substanceAdministration> elements to deal with these cases is optional. The comment field should always be used in these cases to provide the same information as free text in the top level <substanceAdministration> element. There are a variety of special cases for dosing that need to be accounted for. These are described below. Most of these special cases involve changing the dosage or frequency over time, or based on some measurement. When the dosage changes, then additional entries are required for each differing dosage. The last case deals with combination medications.

For the purposes of WP3.5 only the normal, the split dosing and the combination medications are addressed.
  • Normal Dosing
    This template identifier is used to identify medication administration events that do not require any special processing. The parent template is Medications that use this template identifier shall not use subordinate <substanceAdministation> acts.
  • Combination Medications

    This template identifier is used to identify medication administration events that require special processing to handle combination medications. The parent template is A combination medication is made up of two or more other medications. These may be prepackaged, such as Percocet, which is a combination of Acetaminophen and oxycodone in predefined ratios, or prepared by a pharmacist, such as a GI cocktail.

    In the case of the prepackaged combination, it is sufficient to supply the name of the combination drug product, and its strength designation in a single <substanceAdministation> entry. The dosing information should then be recorded as simply a count of administration units.

    In the latter case of a prepared mixture, the description of the mixture should be provided as the product name (e.g., "GI Cocktail"), in the <substanceAdministration> entry. That entry may, but is not required, to have subordinate <substanceAdministration> entries included beneath it to record the components of the mixture.

  • Split Dosing
    This template identifier is used to identify medication administration events that require special processing to handle split dosing. The parent template is A split dose is often used when different dosages are given at different times (e.g., at different times of day, or on different days). This may be to account for different metabolism rates at different times of day, or to simply address drug packaging deficiencies (e.g., and order for Coumadin 2mg on even days, 2.5mg on odd days is used because Coumadin does not come in a 2.25mg dose form).
    In this case a subordinate <substanceAdministration> entry is required for each separate dosage.

Other template IDs exist for the tapered doses, split dosing, conditional dosing, and combination medications. The reader is pointed to the PCC-TF:2 section For the epSOS purposes, only the normal, the combination and the split dosing are described.

cs 1 … 1 F SBADM
cs 1 … 1 R
@moodCode shall be "INT"
@moodCode shall be "EVN"
II.EPSOS 0 … 1 R (CCD) (Meddotstem)
uid 1 … 1 F 2.16.840.1.113883.
II.EPSOS 0 … 1 R IHE PCC templateId Note: The usage of statusCode values different from “completed” makes this specification not formally compliant with the current IHE PCC specification of the Medication Item Entry Content Module. All the requirements of conformance assertion with these IHE PCC templates cannot therefore be applied until the revision – if any - of the referenced IHE PCC templates. (Meddotstem)
uid 1 … 1 F
II.EPSOS 1 … 1 R (epSOS) (Meddotstem)
uid 1 … 1 F
II.EPSOS 0 … 1 R A "normal" <substanceAdministration> act that may not contain any subordinate <substanceAdministration> acts (Meddotstem)
uid 1 … 1 F
II.EPSOS 0 … 1 R A <substanceAdministration> act that records combination medication component information in subordinate <substanceAdministration> acts. (Meddotstem)
uid 1 … 1 F
II.EPSOS 0 … 1 R A <substanceAdministration> act that records split dose information in subordinate <substanceAdministration> acts. (Meddotstem)
uid 1 … 1 F
II.EPSOS 1 … 1 M A top level <substanceAdministration> element must be uniquely identified. This can be the prescription item ID if appropriate. Although HL7 allows for multiple identifiers, one and only one shall be used. (Meddotstem)
CD.EPSOS 0 … 1 R The <code> element is used to supply a code that describes the <substanceAdminstration> act, not the medication being administered or prescribed. This may be a procedure code, such as those found in ICD-10, or may describe the method of medication administration, such as by intravenous injection. The type of medication is coded in the consumable; do not supply the code for the medication in this element. This element is optional.

Note: One of the values from the Value Set epSOSCodeNoMedication shall be used in the <code> element to record that a patient is either not on medications, or that medications are not known.
The value of @code shall be drawn from value set epSOSCodeNoMedication (DYNAMIC)
ED 0 … 1 R (Meddotstem)
target epsos-dataelement-141 Instructions to patient epSOS Data Set
  Example <text>...</text>
0 … 1 R The URI given in the value attribute of the <reference> element points to an element in the narrative content that contains the complete text describing the medication. In a CDA document, the URI given in the value attribute of the <reference> element points to an element in the narrative content that contains the complete text describing the medication. (Meddotstem)
  Example <reference value="#eP_as_text"/>
CS 1 … 1 M The status of all <substanceAdministration> elements must be either "active" or "completed". Status of "active" indicates a currently valid prescription, status of completed indicates a previously taken medication. (Meddotstem)
@code shall be "active"
@code shall be "completed"
  Example <statusCode code="active"/>
IVL_TS 1 … 1 R The first <effectiveTime> element encodes the start and stop time of the medication regimen. This an interval of time (xsi:type='IVL_TS'), and must be specified as shown. This is an additional constraint placed upon CDA Release 2.0 by this profile, and simplifies the exchange of start/stop and frequency information between EMR systems.
The <low> and <high> values of the first <effectiveTime> element represent the start and stop times for the medication. The <low> value represents the start time, and the <high> value represents the stop time. If either the <low> or the <high> value is unknown, this shall be recorded by setting the nullFlavor attribute to UNK.

The <high> value records the end of the medication regime according to the information provided in the prescription or order. For example, if the prescription is for enough medication to last 30 days, then the high value should contain a date that is 30 days later then the <low> value. The rationale is that a provider, seeing an un-refilled prescription would normally assume that the medication is no longer being taken, even if the intent of the treatment plan is to continue the medication indefinitely.
treeblank where [1]
target epsos-dataelement-109 Duration of treatment epSOS Data Set
  epsos-dataelement-110 Date of onset of treatment epSOS Data Set
  Example <effectiveTime xsi:type="IVL_TS">
  <low value="20130321"/>  <high value="20140321"/></effectiveTime>
1 … * R

The second <effectiveTime> element records the frequency of administration.
This <effectiveTime> element must be intersected with the previous time specification (operator='A'), producing the bounded set containing only those time specifications that fall within the start and stop time of the medication regimen. Several common frequency expressions appear in the table below, along with their XML representations.
This effectiveTime has a xsi:type of either TS, PIVL_TS, EIVL_TS, or SXPR_TS.

Frequency Description XML Representation
b.i.d. Twice a day <effectiveTime xsi:type='PIVL_TS' institutionSpecified='true' operator='A'> <period value='12' unit='h' /></effectiveTime>
q12h Every 12 hours <effectiveTime xsi:type='PIVL_TS' institutionSpecified='false' operator='A'> <period value='12' unit='h' /></effectiveTime>
Once Once, on 2005-09-01 at 1:18am. <effectiveTime xsi:type='TS' value='200509010118'/>
t.i.d. Three times a day, at times determined by the person administering the medication . <effectiveTime xsi:type='PIVL_TS' institutionSpecified='true' operator='A'> <period value='8' unit='h' /></effectiveTime>
q8h Every 8 hours <effectiveTime xsi:type='PIVL_TS' institutionSpecified='false' operator='A'> <period value='8' unit='h' /></effectiveTime>
qam In the morning <effectiveTime xsi:type='EIVL' operator='A'> <event code='ACM'/></effectiveTime>
  Every day at 8 in the morning for 10 minutes <effectiveTime xsi:type='PIVL_TS' operator='A'> <phase> <low value="198701010800" inclusive="true"/> <width value="10" unit="min"/> </phase> <period value='1' unit='d'/></effectiveTime>
q4-6h Every 4 to 6 hours. <effectiveTime xsi:type="PIVL_TS" institutionSpecified="false" operator="A"> <period xsi:type="PPD_PQ" value="5" unit="h"> <standardDeviation value="1" unit="h"/> </period></effectiveTime>

The mean (average) of the low and high values is specified for the period. The mean of 4 and 6 is 5. The standard deviation is recorded as one half the differences between the high and low values, with an unspecified distribution. The type attribute of the <effectiveTime> element describes the kind of frequency specification it contains. More detail is given for each type in the table below.
xsi:type Description
TS An xsi:type of TS represents a single point in time, and is the simplest of all to represent. The value attribute of the <effectiveTime> element specifies the point in time in HL7 date-time format (CCYYMMDDHHMMSS)
PIVL_TS An xsi:type of PIVL_TS is the most commonly used, representing a periodic interval of time. The <low> element of <phase> may be present. If so it specifies the starting point, and only the lower order components of this value are relevant with respect to the <period>. The <width> element represents the duration of the dose administration (e.g., for IV administration). The <period> indicates how often the dose is given. Legal values for the unit attribute of <period> are s, min, h, d, wk and mo representing seconds, minutes, hours, days, weeks, and months respectively.
EIVL_TS An xsi:type of EIVL_TS represents an event based time interval, where the event is not a precise time, but is often used for timing purposes (e.g. with meals, between meals, before breakfast, before sleep). Refer to the HL7 TimingEvent vocabulary for the codes to use for the <event> element. This interval may specify an <offset> which provides information about the time offset from the specified event (e.g., <offset><low value='-1' unit='h'/><width value='10' unit='min'/></offset> means 1 hour before the event. In that same example, the <width> element indicates the duration for the dose to be given.
SXPR_TS An xsi:type of SXPR_TS represents a parenthetical set of time expressions. This type is used when the frequency varies over time (e.g., for some cases of tapered dosing, or to handle split dosing). The <comp> elements of this <effectiveTime> element are themselves time expressions (using any of the types listed above). Each <comp> element may specify an operator (e.g. to intersect or form the union of two sets).
treeblank where [position()>1]
target epsos-dataelement-108 Frequency of intakes epSOS Data Set
cs 1 … 1 F A
CE.EPSOS 0 … 1 R The <routeCode> element specifies the route of administration using the EDQM route of administration vocabulary. A code must be specified if the route is known, and the displayName attribute should be specified. If the route is unknown, this element shall not be sent. (Meddotstem)
target epsos-dataelement-140 Route of administration epSOS Data Set
The value of @code shall be drawn from value set epSOSRouteofAdministration (DYNAMIC)
IVL_PQ 0 … 1 R

The dose is specified in the <doseQuantity> element.

If a dose range is given (e.g., 1-2 tablets, or 325-750mg), then the <low> and <high> bounds are specified in their respective elements...

If the dose is in countable items (tablets, caplets, "eaches"), then the unit should be valorized  = ‘1’. In this case it is allowed to used the UCUM annotations for describing the type of countable items (e.g. .{tablet}, {puff},..).

The unit attribute – when expresses unit of measures- shall be derived from the Value Sets epSOSUnits, based on the UCUM code system.  The countable units attribute is derived from the value set epSOSDoseForm, OID

target epsos-dataelement-107 Number of units per intake epSOS Data Set
  Example <doseQuantity nullFlavor="UNK">...</doseQuantity>
  Example <doseQuantity value="2" unit="{tablet}"/>
IVL_PQ 0 … 1 R The rate is specified in the <rateQuantity> element. The rate is given in units that have measure over time. In this case, the units should be specified as a string made up of a unit of measure (see doseQuantity above), followed by a slash (/), followed by a time unit (s, min, h or d).
Again, if a range is given, then the <low> and <high> elements contain the lower and upper bound of the range, otherwise, they contain the same value.
Any <low> and <high> elements used for <doseQuantity> or <rateQuantity> should contain a <translation> element that provides a <reference> to the <originalText> found in the narrative body of the document.

In a CDA document, any <low> and <high> elements used for <doseQuantity> or <rateQuantity> SHOULD contain a <translation> element that provides a <reference> to the <originalText> found in the narrative body of the document.
1 … 1 R The <consumable> element shall be present, and shall contain a <manufacturedProduct> element, conforming to the Medicine Entry Content module template.
Contains epSOS CDA ManufacturedProduct (DYNAMIC)
treeblank where [hl7:manufacturedProduct [hl7:templateId [@root='']]]
cs 0 … 1 F CSM
Included 0 … * R from 2.16.840.1.113883.3.1937.777.11.10.103 epSOS CDA author prescriber (DYNAMIC)
In the case where there is a prescriber of a medication, the prescriber is represented by the <author> element of the entry. See the Prescriber description for the structure of the <author> element.
0 … * R (Meddotstem)
cs 0 … 1 F AUT
cs 0 … 1 F OP
CE.EPSOS 1 … 1 M R1.10.6
The value of @code shall be drawn from value set epSOSHealthcareProfessionalRoles (DYNAMIC)
TS.EPSOS.TZ 1 … 1 R The author/time element represents the start time of the author’s participation in the creation of the clinical document. The author/time element SHALL be present. (Meddotstem)
1 … 1 R (Meddotstem)
cs 0 … 1 F ASSIGNED
  Schematron assert role red error  
  test @nullFlavor or hl7:assignedPerson or hl7:assignedAuthoringDevice  
  Message If assignedAuthor has an associated representedOrganization with no assignedPerson or assignedAuthoringDevice, then the value for "ClinicalDocument/author/assignedAuthor/id/@NullFlavor" SHALL be "NA" "Not applicable" 2.16.840.1.113883.5.1008 NullFlavor STATIC.  
II.EPSOS 1 … * R HP ID number R1.10.5
cs 0 … 1 F NA
CE.EPSOS 0 … 1 R HP Specialty R1.10.7
TEL.EPSOS 1 … * R Attribute @value SHALL contain a URI if element telecom is used. The URI scheme SHALL be one of URLScheme IHE PCC / R1.10.8 / R1.10.8.1 / R1.10.8.2
set_cs 0 … 1  
The value of @use shall be drawn from value set epSOSTelecomAddress (DYNAMIC)
1 … 1 M (Meddotstem)
cs 0 … 1 F PSN
cs 0 … 1 F INSTANCE
PN 1 … 1 R HP Name IHE PCC
  Example <name>
  <given>John</given>  <family>Español Smith</family></name>
1 … * R HP Family Name/Surname R1.10.1
1 … * R HP Given Name R1.10.2
0 … * R HP Prefix R1.10.3
0 … * R HP Suffix R1.10.4
1 … 1 R Contains 2.16.840.1.113883.3.1937.777.11.10.111 epSOS CDA Organization (DYNAMIC) R1.10.9
0 … * R An entry relationship may be present to provide the fulfillment instructions. When present, this entry relationship shall contain a Medication Fulfillment Instructions entry content module.

Again, a related statement is made about the medication or immunization. In CDA, this observation is recorded inside an <entryRelationship> element occurring at the end of the substance administra- tion or supply entry. The containing <act> is the subject (typeCode='SUBJ') of this new observation, which is the inverse of the normal containment structure, thus inversionInd='true'.

Contains Entry Medication FulFillment Instructions (DYNAMIC)
treeblank where [@typeCode='SUBJ'] [hl7:act [hl7:templateId [@root='2.16.840.1.113883.'] and hl7:templateId [@root='']]]
cs 1 … 1 F SUBJ
bl 1 … 1 R
0 … * R A top level <substanceAdministration> element may contain one or more related components, either to handle split dosing, or to support combination medications.
In the first case, the subordinate components shall specify only the changed <effectiveTime> and/or <doseQuantity> elements. The value of the <sequenceNumber> shall be an ordinal number, starting at 1 for the first component, and increasing by 1 for each subsequent component. Components shall be sent in <sequenceNumber> order.

This information is given for informative purposes as only normal or combination medications are administered in epSOS.

cs 1 … 1 F COMP
INT 1 … 1 M (Meddotstem)