This post is about basically the same problem outlined in this earlier discussion. Basically, when we have an OpenMRS Drug entry, it tells us the form that drug is in but not the valid ways that that drug can be administered. While we might need—in some cases—specific per-drug mappings, it’s also convenient for us to be able to express things like “you cannot order a capsule to be given intravenously”.
We had a start of a discussion around this on the O3 Squad call yesterday, which lead to a now very long Slack thread where we seem to be narrowing in on a way to represent this, so it’s time to bring this up for the broader community to discuss how we’re envisioning being able to support mapping from drug forms to a list of allowable routes, ideally without needing to add new metadata tables.
Our goal here is to leverage metadata that’s available in RxNorm that maps between drug forms, drug form groups, and valid routes of administration. This ends up looking something like this (I’ve stolen this from @akanter in the Slack thread):
| Dose Form (examples) | Dose Form Group (DFG) | Derived Route(s) | Notes |
|---|---|---|---|
| Tablet, Capsule, Solution | Oral Product | Oral | Most reliable mapping |
| Chewable Tablet, Oral Suspension | Oral Product | Oral | Pediatric variants |
| Sublingual Tablet | Oral Product | Sublingual | Sometimes separated |
| Buccal Tablet/Film | Oral Product | Buccal | Distinct mucosal route |
| Injection, Injectable Solution | Injectable Product | IV / IM / SC | Ambiguous |
| Prefilled Syringe | Injectable Product | IV / IM / SC | Context needed |
| Infusion Solution | Injectable Product | Intravenous | More specific |
| Cream, Ointment, Gel | Topical Product | Topical | Skin |
| Lotion, Foam | Topical Product | Topical | Skin |
| Transdermal Patch | Transdermal Product | Transdermal | Systemic absorption |
| Ophthalmic Solution | Ophthalmic Product | Ophthalmic | Eye |
| Otic Solution | Otic Product | Otic | Ear |
| Nasal Spray | Nasal Product | Intranasal | |
| Inhaler, Nebulizer Solution | Inhalant Product | Inhalation | Pulmonary |
| Rectal Suppository | Rectal Product | Rectal | |
| Enema | Rectal Product | Rectal | |
| Vaginal Cream, Tablet | Vaginal Product | Vaginal | |
| Irrigation Solution | Irrigation Product | Irrigation | Procedural use |
| Dialysis Solution | Dialysis Product | Intraperitoneal | Specialized |
| Implant | Implant Product | Implantation | Long-acting |
| Powder for Reconstitution (Injection) | Injectable Product | IV / IM / SC | Still ambiguous |
| Oral Powder | Oral Product | Oral | Depends on labeling |
Basically this will allow us to take an existing CIEL concept like Tablet (CIEL:1513) and say this is an “Oral Product”, which means it can be given, e.g., “Orally”, “Sublingually” or “Buccally”.
Concretely, what we’ll be adding is:
- A new concept class for drug routes and presumably dosage forms
- Mappings in CIEL for the various Dosage Forms to appropriate Dosage Form Groups
- The Dosage Form Groups and their mappings to the valid routes
- An extension to the
DrugREST API to facilitate retrieving the valid routes for a specific drug from those mappings
We will endeavor to ensure that future updates to the O3 UI (and the O2 UI) that may leverage this information fallback correctly (basically allowing all routes for cases where dosage form groups are missing or their mappings to valid routes are missing).
Thanks to @chibongho, @mogoodrich, @burke, and @akanter for the discussion around this. Please feel free to correct me if I’ve summarized any of this incorrectly or if my understanding here is wrong.