To be clear, we’re talking about restricting routes of administration based on the dosage form, not the dosage units. Dosage form is the form in which the medication is manufactured (tablet, capsule, syringe, etc.) and is expected to be part of the definition of the drug. Dosage unit the the units the provider uses to express the dose, which can be expressed in the dosage form (1 tablet) or often a mass-based (mg, microgram) unit. For example, many breathing treatments have a dosage form of “inhaler” but nobody is doing to say “Take 1 inhaler daily”; rather, the dose units is typically in “puff(s)” or “inhalation(s)”.
Concept classes are effectively concept sets that are universally useful that we want to program against. For example, we could define Tests, Drugs, and Diagnoses as concept sets too, but, since every implementation needs these categories of concepts and we want to be able to program directly against these notions. And, as @ibacher mentioned, it’s cleaner to simply classify these as what they are – dosage forms – instead of classifying them as “Misc” concepts that are added to a concept set.
I was picturing CIEL would have concepts with classes of “Drug Form” and “Drug Route” we’d use those concepts to populate a single many-to-many table like:
Dosage Form
Route
tablet
by mouth
tablet
g-tube
tablet
vaginal
tablet
rectal
capsule
by mouth
sublingual tablet
sublingual
…
…
When a drug is ordered, only the routes matched to the drug’s dosage form would be shown as route options.
@burke , but for CIEL to produce the cross-walk we’d have maps from the Drug Form to a Drug Form Group and from a Drug Form Group to allowable Routes…. that means having CIEL concepts as maps to other CIEL concepts and right now we only do that for the SAME-AS CIEL ID.
We discussed this within a CIEL content squad call today and came up with this approach:
@akanter wants to use RxNorm-like “Dose Form Group” to simplify management by significantly reducing the number of relationships that need to be maintained. A new class and concepts within this class have already been released in CIEL 2026-04-28. We’ve also confirmed that the OpenConceptLab module will automatically create this new concept class if needed when these concepts. are imported into OpenMRS.
Within CIEL, @akanter will convert each of above-mentioned “Drug Form Group” concepts into a set and add the “Drug Form” concepts (currently ~90 of these) as members of these sets.
Each of these “Drug Form Groups” will be mapped to validate drug route(s) via a Route of administration mapping.
This means the new API method to determine valid routes for a drug would take this approach:
Given a drug’s dosage_form, find all of its dose form groups (all concepts of class Dose Form Group with the dosage form as a member) and then create a list of all routes mapped from those dose form groups via Route of administration mappings.
For example:
The drug “Ampicillin 500 mg Capsule” has dosage_form = “Capsule”
The dose form concept “Capsule” is a member of the “Oral Dose Forms” dose form group.
The “Oral Dose Forms” concept is mapped with “Route of administration” to the concept “Oral”
@ibacher & @mogoodrich, hopefully the description above makes sense. Let us know if you have any questions.