Question: How to code Substance Administration in CDA?
Aug 29, 2011Question:
I have a question for storing Substance Administration information using CDA R-MIM. I found that there is only one element under Substance Administration to store dosage, called DoseQuantity, which is not enough for storing full information for a prescribed medication. For example, in a clinical statement, “Neomycin 500 mg 1 tablet b.i.d.” where the dosage should be 500mg and 1 tablet. How can I deal with them? Or I only record “1 tablet”? How about if the clinical statement only looks like “Neomycin 500 mg b.i.d.”? Should “500 mg” be recorded?
This answer to this question has a guest author: Lloyd McKenzie, all round v3 expert and past co-chair of the pharmacy committee at HL7 (thanks Lloyd).
Dosage in v3 is a complex combination of several attributes:
- SubstanceAdministration.effectiveTime conveys information such as start and end date, as well as frequency and things like “Institution Specified”. (GTS hides all sorts of wonderful things)
- ManufacturedProduct.id, LabeledDrug.code and Material.code all identify what drug is being used. Which you populate depends on what you have (UPC and similar manufacturer-assigned ids for ManufacturedProduct.id, NDC codes and other drug codes in LabeledDrug.code, Material.code for other things like radiation, food, etc.)
- SubstranceAdministration.administrationUnitCode allows you to convey special dosages like “scoop”, “puff”, etc. which are not the form of the drug, nor discrete measurements
- doseQuantity allows you to convey the quantity, and when the quantity is a measured amount, the unit (mg, ml, etc.)
- rateQuantity allows you to convey the period of time over which a single dose is administered for IVs, etc.
Unfortunately there’s a few key RIM structures that CDA doesn’t expose
- LabeledDrug.formCode. That’s where something like “tablet” would appear.
- Contained ingredients with a “quantity” attributes. That’s where strength would go
Given that you don’t have either, you’ve got two choices:
- Adopt one or both as RIM extensions to CDA
- Encode them as part of the drug code/drug name
So in your examples, you’d have the following:
Neomycin 500mg tablet: LabeledDrug.name
bid: SubstanceAdministration.effectiveTime[PIVL_TS].period = 12 h
1: SubstranceAdministration.doseQuantity
If you really want to have “500mg” and “tablet” as separate attributes, you’ll have to create the necessary RIM structures. (Refer to the pharmacy model for indications of how.)
If you don’t have the tablet part, you also have the option of the following:
Neomycin: LabeledDrug.name
bid: SubstanceAdministration.effectiveTime[PIVL_TS].period = 12 h
500 mg: SubstranceAdministration.doseQuantity
The pharmacy committee has put together a really handy document that explains how to encode a variety of dosage instructions, including more complex tapering doses, alternating doses, etc. There will be a few situations where CDA isn’t fully expressive enough, but it will at least give you a starting point. You can find the current draft of the document here: http://archive.hl7.org/v3ballotarchive/v3ballot2009sep/html/domains/uvrx/Dosage%20Definitions%20V2.0Draft.pdf