Road map: OpenMRS Dictionary Manager

 

We have so far completed the first 5 features that are listed under MVP 1.0.0

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

    1. 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.

AMPATH MVP 1.0.0 Requirements

https://docs.google.com/document/d/16X8TZTBf8plgbibg_TOd1MBw8fat47ky7GX4JOtBL_4/edit#heading=h.x7ibjz3ev2o0

PHI MVP 1.0.0 Requirements

https://docs.google.com/document/d/1ZoQ26uQIhxaYoIEVmV3cBBB6rfvUMpVG7fxW5Md1dOc/edit#heading=h.uzjhazgywutv

 

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)

    1. 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)

Medium-term Features

  1. Manage historical released versions of a dictionary

  2. Propose a concept to CIEL

  3. “Fork a concept”

  4.  

    1. Make a copy (e.g. of a CIEL concept) into your custom source;

    2. Should automatically add a link like “forked from CIEL/1234/version-uuid”

    3. (?) Ask if they are going to change the meaning or not. If so, need to change the mapping types. (SAME-AS => NARROWER THAN)

    4. (?) every time they edit a forked concept, ask “are you changing the meaning”

    5. (?) if they fork a CIEL concept add a mapping like NARROWER THAN CIEL 123

  5. Add concepts to your dictionary (searching across all your preferred sources)

Long-term Features

  1. Allow the CIEL dictionary to be primarily maintained in OCL using this UI

  2. Compare dictionaries (e.g. “what’s different between ‘Bahmni Starter Set’ and ‘CIEL’?”)

  3. Add keywords or tags to concepts (e.g. to tag the HIV-related ones), and use this in search

  4. 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 Status

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

Resources

Non-Technical Users: Getting Started with Dictionary Manager

User Guide: OpenMRS Dictionary Manager