OpenMRS is a flexible, modular, multi-layered system, and one of its strengths is that it can its platform can be used in many different configurations. As a result, "OpenMRS" can mean many things. The minimal version of the system, "OpenMRS Core" (a Java API and relational data model for storing patient-level clinical and programmatic data, and for managing add-on Modules) is not sufficient for real-world applications: key pieces of functionality must be provided by add-on modules.To implement an OpenMRS system, you typically
What Is A Distribution?
A particular configuration of the OpenMRS Platform, OpenMRS modules, content (concepts, forms, reports, etc) and (optionally) other integrated applications, that can be installed and upgraded as a unit.
Why Use a Distribution?
There are two ways to start using OpenMRS, depending on your needs and available resources:
- By far the quickest is to start from an existing OpenMRS Distribution, and configure that distribution for your implementation use case. Depending on which distribution you choose, and what your use case is, this may range from configuring metadata through a user interface
- to writing custom add-on modules
Here is a list of known OpenMRS Distributions that are intended for use by the general public:
Minimal distro, maintained by the OpenMRS community. You could use this as a RESTful back-end data store, or use it as a web application with the OpenMRS legacy user interface.
- The alternative to using an existing distribution is for those projects with a strong development shop, they may choose to build their own custom application(s) on top of the Platform. However, in order to leverage the great work done in the community so far, we recommend exploring the distributions below to see if one is a good fit, and contacting the distribution owners for possible collaborations if customization is needed.
Some of the advantages to using a distribution that already exists are:
- Leverage work that has already been done to address workflows (Hospital Management, etc), regional needs (Kenya, Mozambique, etc), and specialty service areas (TB, etc)
- Collaboration opportunities with other developers and implementers working on similar use cases
- A broader user base of the same distribution can lead to improved code quality, additional features, and shared QA work
Types of Distributions
1. General Purpose Distributions
An OpenMRS distribution that intends to serve the worldwide audience of clinics, hospitals, governments, NGOs, etc, who want a patient medical record for purposes of clinical care.
2. Targeted Distributions
An OpenMRS distribution that is intended for a specific clinical or geographical use case, or a non-patient-care use case. For example, a standardized country specific distribution or one targeted at a specific disease epidemic.
3. Implementation Specific Distributions
A configuration of OpenMRS that is technically built like a Distribution, but is only intended for use by one specific consumer. If you are not the specific target of this distribution, you wouldn't probably use it directly, but as a developer or implementer you may learn a lot from studying or forking it. However, there may be opportunities to collaborate with the teams working on these distributions if you wanted to create a replica of their clinical and technical environments.
List of OpenMRS Distributions
General Purpose and Targeted Distributions
|OpenMRS Reference Application||General Purpose|
Maintained by the OpenMRS community, this
distribution demonstrates how the platform's capabilities can be used to build an EMR. You could use this out-of-the-box as a facility EMR, but it (currently) doesn't have the complete EMR feature set.
|Bahmni||General Purpose - Hospitals and Large Clinics|
Coalition, Bahmni is an out-of-the-box EMR and Hospital Information System that can be configured without programming. It integrates OpenMRS with Odoo and OpenELIS to provide out of the box and ready to deploy, inetgrated solution that covers hospital workflows
|eSaude||Targeted - Mozambique||Developed by the Mozambique regional OpenMRS community, eSaude. A tailored distribution of OpenMRS to provide point of care clinical patient registration and healthcare workflows on tablets for the MOH public health facilities.|
Targeted - Kenya
Developed by I-TECH, KenyaEMR is a tailored distribution of OpenMRS which meets the requirements laid out in the Kenya Ministry of Health document: 2011 Kenya EMR Standards and Guidelines.
|UgandaEMR||Targeted - Uganda|
UgandaEMR is the custom implementation of OpenMRS in Uganda which is mandated by the Ministry of Health.
- CHITS is a targeted distribution for Philippine primary care centers, based on the older OpenMRS 1.8 platform
- PIH-EMR is an implementation-specific distro deployed by Partner In Health
- UP Health Service (UPHS) is an implementation-specific fork of CHITS
- OpenMRS Nigeria is a series of OpenMRS versions mirroring the Federal Ministry of Health tools for HIV/AIDS and MDR-TB programs as well as certified data collection tools. They are in the process of packaging this as a distribution with developers in Nigeria. Distribution Publication Date TBD. Learn more....
- OpenSRP is a product that provides "register-like" views for a cohort of individuals through both mobile and web-based views. It is enjoying broad uptake due to its focus on user experience. This product is developed on top of the OpenMRS platform.
Can I add my distribution to this page?
To be added to this page, at a minimum your distribution must:
- be based on a currently-supported version of the OpenMRS Platform
- work leveraging the platform APIs, not just sharing the data model
- include instructions to install and upgrade it as a unit
- be actively supported.
- At a minimum, one person available via some electronic format (email, skype, IRC, etc) and with the contact listed on the Distributions wiki page.
- have an open-source license and publicly-hosted code
If this criteria is met, and you want to share your work with others, please post to this Talk category and tag your post with "distributions", edit this wiki page directly, or reach out to Darius Jazayeri and Jan Flowers.
What type is my Distribution?
Not sure how to categorize your Distribution? Here are some examples:
- Do you intend for health facilities anywhere in the world to use your system without drastic customization? This is probably a General Purpose Distribution.
- Targeted at a specific geographic region, e.g. KenyaEMR or Mozambique's eSaude? This is a Targeted Distribution.
- Targeted at a specific disease, e.g. Ebola or MDR-TB? This is a Targeted Distribution.
- Is your distro built for one specific customer, and would need extensive modification or forking to be used by someone else, e.g. PIH-EMR? This is an Implementation Specific Distribution.
- Do you have a collection of OpenMRS modules and configuration, but no automated installer? This is not actually a distribution.
- Want advice on how to package things as a distribution? Post to the developers Talk category and ask!
Why become an official Distribution?
If you have built a Distribution of OpenMRS that meets the criteria above, we'd love to include it on our official list of distributions, on this page. We want the OpenMRS community to have access to many options, and be able to find the best one for their use case. We hope that you'd like to list your distribution here.
- Implementers will be more likely to install it
- Developers will be more likely to look at your code and harvest portions into the core platform, lessening the amount of code you have to maintain yourself
- Participating in the OpenMRS community will make your Distribution more recognizable and you'll end up with better access to knowledge and contacts
Established distributions can take advantage of OpenMRS infrastructure:
Having trouble contacting a distribution?
Are you an implementer or user who is having trouble accessing a Distribution's support or code that is listed on this wiki page? Post your questions on OpenMRS Talk on in the #software category.