"OCL for OpenMRS" application

Continuing the discussion from OCL (and connector) annoyances and problems:

For years we’ve been waiting to/discussing being able to use OCL to manage OpenMRS concepts, but without any visible movement. After a recent flurry of discussion and activity, we have a plan for how to take this forward. Here is what I’m proposing:

  • We build a new UI from scratch[1] called “OCL for OpenMRS”
  • This would be hosted on OCL servers, and use the OCL REST API
  • It would specifically (and only) target the use case of managing OpenMRS dictionaries, so it will be less powerful but easier to use than the traditional OCL UI.
  • You would no longer manage concepts via the OpenMRS UI at all. Instead your OpenMRS server would use the OCL module to subscribe to a dictionary that you only manage on the cloud through this new application.

For the MVP we will get even more specific and only cover the (good practice!) use case of “I want to create a dictionary for my implementation that’s based on 90% CIEL concepts with a few of my custom concepts”

We most recently discussed this on the March 12 Design Forum, and based on that I have created some mockups of what I see as the MVP, included below. My expectation is that after some discussion and revision, then we’ll have a team of Andela interns implement this as a new ReactJS application.

Please give feedback on the big picture idea, the mockups, etc!

I should say: I’m calling the main entity that we’re managing here an “implementation dictionary”. The name is open for discussion as well. (Though I prefer feedback on the content versus bikeshedding on the name!)

(/cc @paynejd, @raff, @ball, @mseaton, @pramidat, @akanter, @angshuonline, @dkayiwa, @burke)

[1] I avoided proposing a new app from scratch for fear it was just my innate desire as a dev to want to rewrite everything, but @paynejd and @raff actually pushed for it. The rationale is that the current UI is on old technology and is getting near needing a rewrite in a pure JS framework anyway.

MVP Mockups:


Login Screen

Login


User Home Screen

User Home


Create a new implementation dictionary


Implementation dictionary overview


Implementation dictionary concepts


Create another kind of concept (i.e. generic/advanced concept creation)


Create a diagnosis concept


Create a set of external concepts

Create set of external concepts

We discussed this on today’s Design Forum and made a few tweaks: https://notes.openmrs.org/2018-03-26-Design-Forum

I have put all of these mockups in a Google Doc, which should allow more convenient commenting inline, and it will serve as a longer-term design document: