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
User Home Screen
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