OpenMRS is a flexible, modular, multi-layered system, and one of its strengths is that its platform can be used in many different configurations. As a result, "OpenMRS" can mean many things.
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.
- 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|
Maintained by ThoughtWorks and the Bahmni community, Bahmni is an out-of-the-box EMR and Hospital Information System that can be configured without programming.
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.
|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.|
- UP Health Service (UPHS) in the Phillippines
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
- works leveraging the platform APIs, not just sharing the data model
- include instructions to install and upgrade it as a unit
- be actively supported
- have an open-source license and publicly-hosted code
If these criteria are 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's 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: