We have so far completed the first 5 features that are listed under MVP 1.0.0
The “true” MVP is enough for a new implementation of OpenMRS to get started with a custom dictionary, using our new best-practice workflows.
Create a new Implementation Dictionary, belonging to an organisation
- Copy an existing Dictionary's Concepts and References
- Add concepts from CIEL to an implementation dictionary
- Remove CIEL concepts from your Dictionary
Create custom concepts in an implementation dictionary
- Retire and Un-retire custom Concepts
Release a version of an implementation dictionary
- Download a Dictionary
Subscribe to a released implementation dictionary from a fresh OpenMRS installation of Platform + Legacy UI.
However this is not a sufficient MVP for Bahmni and PIH, who are the most interested and engaged consumers of this application. So our initial target is actually a bit larger than this, i.e. an MVP+.
MVP+ (Soon After MVP Features)
These are the additional use cases needed by our likely early adopters.
Start from an existing OpenMRS installation that already has a concept dictionary (e.g. “start managing my dictionary in OCL” with some kind of one-time upload)
Download a released implementation dictionary so it can be uploaded to OpenMRS in code (leveraging the OCL Subscription module)
Create an implementation dictionary with multiple Preferred Sources (e.g. CIEL and Bahmni Demo Concepts; or CIEL and PIH Custom Concepts)
Start a new implementation dictionary by making a copy of an existing starter template
Organizations could indicate which of their collections are “starter templates”
E.g. Bahmni would have a “Bahmni Starter Dictionary” and some implementer might have its own “ACME TB Starter Set” and “ACME Generic Hospital Starter Set”.
Add multiple CIEL concepts to your implementation dictionary in bulk, by specifying many concept ids.
Subscribe to a specific (non-latest) version
Create custom concepts in an implementation dictionary, using standard templates for Diagnosis, Symptom/Finding, Procedure, Q-and-A, Drug, Test, Set
Prevent duplicate concepts by suggesting existing concepts to use, while the user creates a new concept
Browse other people’s Dictionaries (may implement this early as part of the “make a copy” feature)
Probably also support browsing OCL sources like CIEL
Copy a dictionary, that supports both “clone custom concepts” and “refer to custom concepts in original dictionary”
- Add multiple CIEL concepts to your implementation dictionary in bulk, by specifying many concept ids
- Search through CIEL (or other sources) for concepts
- Show Concept sources (and other important details) for each search result
- View all Concept details (without having to visit the "Edit" page first)
Manage historical released versions of a dictionary
Propose a concept to CIEL
“Fork a concept”
Make a copy (e.g. of a CIEL concept) into your custom source;
Should automatically add a link like “forked from CIEL/1234/version-uuid”
(?) Ask if they are going to change the meaning or not. If so, need to change the mapping types. (SAME-AS => NARROWER THAN)
(?) every time they edit a forked concept, ask “are you changing the meaning”
(?) if they fork a CIEL concept add a mapping like NARROWER THAN CIEL 123
Add concepts to your dictionary (searching across all your preferred sources)
Allow the CIEL dictionary to be primarily maintained in OCL using this UI
Compare dictionaries (e.g. “what’s different between ‘Bahmni Starter Set’ and ‘CIEL’?”)
Add keywords or tags to concepts (e.g. to tag the HIV-related ones), and use this in search
- Create multiple Concepts in Bulk. e.g. Create more than one Diagnosis Concept by copying a list of Diagnosis concepts (with all their corresponding attributes) from a spreadsheet.
OCL is currently in the MVP 1.0.0 user testing phase. You can follow the instructions here to be one of our beta testers
The OCL testing application is located here