We are exploring what it would take to build an Order Set feature in OpenMRS O3. Before we go further, we want to hear from the community. If you are a clinician, implementer, developer, or anyone working with OpenMRS in the field, we would truly love your input.
An order set lets a clinician place a pre-defined bundle of orders (medications, labs, referrals, follow-ups) in a single click, rather than ordering each item individually.
Here are some key questions
Is this a feature that you need for your implementations?
What clinical use cases are of interest to you?
What order types would you need to be bundled together?
Medications only
Labs only
A mix of medications + labs
Other (Specify)
Any UI ideas? Even a rough sketch on paper would be helpful.
Are there existing order sets from your programme or ministry we could use as reference content? Even a paper version would be incredibly helpful.
This is a very helpful feature to have! Particularly in emergencies.
Speaking as a doctor, I could think of a few use cases like:
Surgical Profile: Whenever a patient is admitted for surgery, we run a few basic labs regardless of the specifics;
Complete Blood Picture
Liver Function Test
Renal Function Test
Viral/Infectious screen: HbsAg, HIV, HCV, VDRL
Blood Grouping
PT-INR
RBS
Urinalysis
X-Ray chest PA view
ECG etc
MI(Myocardial Infarction) : Standard protocol like,
Aspirin
Clopidogrel (Or any similar anti platelet drug)
A beta blocker
A statin
An ACE inhibitor or ARB
Percutaneous angioplasty or Thrombolysis (Alteplase) etc
Diabetic Keto Acidosis (DKA):
IV Fluids (NS)
Arterial Blood gas test
IV Potassium
IV Insulin
IV Dextrose
Hourly monitoring etc
You have many use cases like this. Order sets with instructions to nurses. Pre-op sets. etc etc
These order sets are derived from the standard management protocols for different conditions. So you could look into some frequent cases like I mentioned.
We could add a feature for hospitals or doctors to customize these based on the specialty, the specific cases they usually see and the local guidelines/protocols.
Thanks @veronica for raising this as a developer working on OpenMRS implementations, I think this feature has strong real-world value and I’m happy to share thoughts. From a developer perspective, I’d suggest the order set be surfaced directly within the existing O3 order basket perhaps as a searchable “Order Sets” as in a tab alongside the current drug/test tabs. Where a clinician should be able to search by programme or condition (e.g. ART initiation, blood samples, etc.), then preview the bundled items, optionally deselect individual items before confirming, and place the whole set in one action. Coz keeping it inside the existing basket avoids context switching and reuses familiar patterns.
Excellent and timely topic. Would be good to drive requirements down to the actual details… which concepts are needed, what meta data (dose, Rx, duration, etc.)? Are there are other data elements required for the sets besides what you are ordering? For example, is LMP required? Ages/genders for specific sets, etc.
This is incredibly helpful! Thank you for such a detailed breakdown. These examples perfectly illustrate why we need order sets in O3. For an MVP, which one would be the simplest use case for a start?
@katoelvis Could you share a rough sketch (even on paper) of what you are envisioning? I have seen this part of UI, but no more than this. Zeplin - Login
I might remind folks that there are two main phases of problem management: Diagnostic and Therapeutic. When you have a general problem without a known cause all sorts of workup needs to happen. This is the diagnostic phase when the provider is trying to narrow down the differential to get to a specific cause/diagnosis. The Second phase is therapeutic, when the provider is trying to either cure or stablize the patient. This second phase includes best treatment profiles and care plans. This can be SMART guidelines or they hopefully are at least evidence-based recommendations/options. (See LEGEND study for thiazides over ACE-I or Ca-channel blockers: https://www.thelancet.com/journals/lancet/article/PIIS0140-6736(19)32317-7/abstract)). Finally, the Second phase often also includes management of complications (of original disease or treatments), these additional orders can either be modular (and pulled into a larger order set when the complication occurs) or be optional in the original order set for known and frequent complications, etc.
A new “Order sets” tab added alongside the existing Medications, Labs, and Referrals tabs but no new page or modal created
Each order set card shows the programme name, a badge breakdown (e.g. “3 medications · 2 labs · 1 referral”) before you even expand it
Inside the expanded card, each item has its own checkbox so the clinician can deselect what isn’t needed for that patient, the set is a starting point, not a locked bundle
Once added, items flow into their existing respective tabs (Labs, Medications, Referrals) with a note showing they came from an order set, so nothing about the current basket UX changes
“Sign & save orders” at the bottom stays exactly as it is today
The main principle here is: That the order set lives inside the basket, not beside it or above it. Clinicians already know the basket, and this just gives them a faster way to fill it for protocol-driven visits like ART initiation or ANC first visit etc.
For the Hypertension use case, the 2 drug orders have been suggested ~ Amlodipine besylate, Hydrochlorothiazide, and we already have them in OCL. @ddesimone Maybe you could also check what the data says regarding the dosing details and other data elements to help us narrow down on what to consider for the MVP.
100% agree and i think the Hypertension example sits squarely in the therapeutic phase where a diagnosis is known and the data also shows evidence-based drug bundle. The diagnostic phase, by contrast, implies a different kind of order set including lab panels, imaging, and investigations triggered by a presenting complaint rather than a confirmed diagnosis.
That said, i think starting with the most basic form of the feature is the right call. Shipping the therapeutic case first gives us a working foundation to learn from - how clinicians interact with order sets, what they expect to customise, and where the rough edges are before we take on the added complexity of diagnostic bundles and modular complication management. We can iterate from there.
also btw @veronica … @fanderson and I will be in Sierra Leone in 2 weeks. When we meet with the NCD team, we can confirm a set like this makes sense for them!
Seems like these should be eventually be broken down by stage (severity) and presence of comoribidities. However, the LEGEND study showed that Thiazides are superior (although HCTZ is not recommended as strongly as thiazide-like drugs). Combination drugs are preferred (ACE-I + Thiazide or Ca-channel blocker + thiazide). See: UpToDate
@akanter Thank you for this feedback - it has been very helpful in shaping the direction. Based on the discussion, I have put together a sketch of the proposed order set UI for the Hypertension Standard. The mockup reflects the key insight from the conversation: that rather than a flat list of drugs, the order set should present two distinct selection groups - a thiazide diuretic and a partner drug - reflecting the combination therapy approach supported by the evidence. Would welcome any further thoughts from the community.