OpenMRS Dictionary Manager app (aka OCL for OpenMRS)


The OpenMRS Dictionary Manager supports the ability to manage and customize concepts within a dictionary.

Current Status VERY ACTIVE

How does this project fit in with the strategy?  

With this project, a typical new OpenMRS implementation would no longer manage concepts via the OpenMRS UI at all. Instead, your OpenMRS server would use the Open Concept Lab module to subscribe to a dictionary that you only manage on the cloud through this new application.


Read through the project overview document to get the background of the project. You will also find other links to resources that show the project roadmap.

Also watch the Dictionary Manager Explainer video that explains what the dictionary manager does and how it is a strategic fit for the community.

Development stacks:

The OpenMRS Dictionary Manager client uses ReactJavascript, Redux, Typescript, and Cypress on the frontend. 

The client is served by the OCL backend is written in Python/Django and exposes a REST API to it.

How to Join

Weekly Meeting Information

When: Every Monday at 7:30pm IST | 5pm Nairobi | 4pm Cape Town | 2pm UTC | 9am Boston | 6am Seattle,

  •  In day light savings Every Monday 6:30pm IST | 4 pm EAT | 2pm CET | 1pm UTC | 9am EST | 6am PST


Notes:OpenMRS OCL Squad Weekly Meetings

Other Meeting Resources


Slack channels: #ocl #ocl-client-dev


Website Board/Additional Forum:  Project Boards

How to Contribute

  • Introduce Yourself: Come say hello on our Slack channel (listed above).
  • Get Started with Training Resources: It's important for contributors to become familiar with the Dictionary Manager Squad and our user tutorials/resources before actively contributing. All new users should start with the User Guide: OpenMRS Dictionary Manager page. This will get you more familiar with the Dictionary Manager. After you've read through this page, feel free to also explore the rest of the Dictionary Manager Resources folder, which will include a road map, use cases, and other important squad content.
  • Define Your Role: There is additional training content for the Dictionary Manager Squad that is designed for specialized roles. Like other teams and squads, we divide users by technical and non-technical roles. Follow the corresponding Getting Started materials before continuing.

Technical Users

Technical users should begin by visiting the Getting Started with Dictionary Manager folder. There, it is crucial to go to the Contributing to the Dictionary Manager: Developer Guide. This guide will have lots of relevant content and can answer most questions you will have as a Dictionary Manager contributor. If you are still stuck after double-checking the Dev Guide for answers, ask our squad in the #ocl or #ocl-client-dev Slack channels.

After that, visit the Testing and Continuous Integration Setup for the OCL Client page. It is not recommended to view every single one of our client sprints listed underneath (but feel free to if you like!)

Non-Technical Users

Go to the Non-Technical Users: Getting Started with Dictionary Manager page. There will be several video tutorials and additional context to the Dictionary Manager project.

After completing Getting Started guides from either role:

  • Find the active sprint Tickets: Tickets you can use to start contributing are available here:
    .This dashboard shows the latest tickets that need to be taken on to support the Dictionary manager or OCL subscription module work. This also shows the different features (via Epics) that are currently underway. 
    1. Please assign tickets to yourself before starting work. This helps avoid confusion and accidental duplication of work. Double-check the ticket's Epic for other related work before working on things outside the described scope of the ticket - you may accidentally be replicating a feature someone else is already working on.
    2. Please only take 1-2 tickets at a time. This helps you to focus on getting 1-2 things done at a time. If you assign yourself to multiple tickets, this prevents others from working on them, so please be considerate of others and only pick up 1-2 tasks at a time. When those are done, you can assign yourself another 1-2 other tasks. If you have submitted your PR for 2 tickets and are still waiting for feedback, it is okay to pick up another ticket, so long as you promptly respond to the feedback on your original tickets so that work can be merged promptly.
  • Meet Us! Come to a weekly squad call to learn more about what we do and get hands-on experience.
  • Sprints: Become part of our regular sprints. This will happen naturally as you join our calls, though you don't need to join all calls in order to participate. Here is our active board. We use epics to break down features and widgets, and we typically work in 2-week sprints.

Useful Resources

Dictionary Manager Explainer video.

Concept Management Demo video. 

Organisation Management Demo video. 

Use Cases

Meet the Members

Project Owners
Product Management Support
Other interested developers
Subject Matter Experts/Advisors
Community Support