Administration and Dispensing
I worked on Med Administration during the Ebola project that ThoughtWorks and some OpenMRS volunteers did with Save The Children. It’s not part of the reference application, and it’s built for a particular workflow, but you might find it instructive. Read about the project here (you can see the screens to record Med Administrations from the tablet UI, and then you can review all the administrations from the laptop UI), and the code would be here.
In that code, see “ScheduledDose” and related; we originally intended to pre-create scheduled doses that were intended to be given during a round through the red zone, and have providers check off the specific dose when administered (so we’d also know about missed doses) but we didn’t end up getting this far. However that’s why the domain object is named and design the way it is.
You said “administration” first, but then later also dispensing. I’m not sure if you’re thinking inpatient, outpatient, or both. PIH has a dispensing module they use in Mirebalais. Its lives in OpenMRS’s github here, but I think it ended up being built more site-specific (and this was really implemented as an HTML Form on top of OpenMRS 1.9.x IIRC). The dispensing records are stored as obs groups in this module. If you’re thinking of doing both Administration and Dispensing, you’d probably prefer to introduce new domain objects for these, via a module.
If you share some mockups of the dispensing and administration screens you plan to build, I’m sure people will be happy to comment on these, and collaborate on the modeling under the hood, so we end up with a module that can be reused and further extended across the community. Would you be open to joining one of our Monday/Wednesday Design Forums once you’re ready to get into the weeds of the design?
Order Entry UI Roadmap
As far as a roadmap for Order Entry UI, no, I don’t think I ever wrote anything down (I was in the middle of some heavy refactoring to support letting you embed pieces of the UI into a more complete Visit Note UI, but I assume you’re looking at using the “plain” version that plugs into the vanilla reference application.)
My recollection is that it’s “95% complete,” though it hasn’t had any real-world testing. Except for one really annoying bug that I could never figure out. The autocomplete widgets for choosing a drug, an order frequency, etc, do not work correctly when you go into edit mode (e.g. it shows the right display text, but the model is null) which is a showstopper. (I think the relevant widgets are around here.)
This is a showstopper, because it either leads to people losing data, or just having to re-enter everything each time you edit (and I think this happens for REVISE too). I had reached the point of giving up on trying to do this autocomplete on top of angular-ui’s ui-bootstrap typeahead widget, and my next step was going to be to pick some other library to build on top of. But please try debugging yourselves, and hopefully you quickly succeed at fixing this where I couldn’t!