Reference application which enables design of a customized medical records system with no programming knowledge

Free Software


The mission of OpenMRS is to improve health care delivery in resource-constrained environments by coordinating a global community that creates a robust, scalable, user-driven, open source medical record system platform.

OpenMRS is a software platform and a reference application which enables design of a customized medical records system with no programming knowledge (although medical and systems analysis knowledge is required). It is a common platform upon which medical informatics efforts in developing countries can be built. The system is based on a conceptual database structure which is not dependent on the actual types of medical information required to be collected or on particular data collection forms and so can be customized for different uses.

OpenMRS is based on the principle that information should be stored in a way which makes it easy to summarize and analyze, i.e., minimal use of free text and maximum use of coded information. At its core is a concept dictionary which stores all diagnosis, tests, procedures, drugs and other general questions and potential answers. OpenMRS is a client-server application, which means it is designed to work in an environment where many client computers access the same information on a server.

OpenMRS demos are designed to give you a taste of OpenMRS from an implementer’s point of view. It is a fully working copy of OpenMRS with observations on large numbers of anonymized patients. These are not real patients. Log in to examine all of OpenMRS’s features.

Our demo is a standard OpenMRS reference application installation – what you would find if you download OpenMRS yourself from our download page.

Getting started with the OpenMRS demo

The database underneath the demo webapp is automatically reset periodically, so feel free to make any changes that you want – just don’t assume any of your modifications will last.

Find Patient Record

The first search box on the screen will let you find and select a patient in the system.  After searching for a patient, you can click on his or her row to look at the patient’s dashboard; it contains detailed patient information, including looking at records of clinical visits, demographic information, graphs and medical forms. Some example patient names that you can search for are:

  • John
  • Smith
  • Mary

To fill out a vitals encounter form on a patient, click on the “Start Visit” action on the right to start a new visit, then click the “Capture Vitals” action on the right.”

Register a patient

This application will allow you to create a new patient in the system.  The form is designed to support keyboard navigation as easily as using the mouse.  If you start defining a new patient similar to an existing patient, you will see an alert notifying you that a similar patient already exists in the system.

Capture Vitals

This application serves as an example of how a simple app can be created to repeatedly serve the same form to a user.  In this example, a clerk at the front of the clinic is capturing vitals for patients.  He selects a patient with an active visit, captures vitals, and returns to the prompt to find the next patient.

Style Guide

OpenMRS 2.0 includes a Style Guide for developers to follow in order to produce new modules & applications with a consistent user interface and user experience.  Rather than being a static document that could become outdated, the style guide runs within the application itself.  This ensures the style guide is kept up-to-date and allows a developer to not only see the style & behavior, but also look under the hood as necessary to understand exactly how it works.  Feedback on the OpenMRS 2.0 Style Guide are welcome.

Advanced Administration – Where did all the other stuff go?

OpenMRS 2.0 runs atop the familiar OpenMRS Platform (version 1.9.x).  Over time, much of the user interface will be moved out of the platform into the new user interface.  In the meantime, most of the familiar functionality of OpenMRS 1.9 is still accessible under the Advanced Administration app.

Advanced Administration > Dictionary

OpenMRS is built around an extensible concept framework. Simply put, this means that all patient readings, facts and observations are stored in a database, editable by the implementer, and not hard-coded into the database schema. You can use the dictionary interface to either look at the pre-installed concept definitions, or you can use it to write your own. If you’d like to search for concepts, some  examples are:


The Advanced Administration app  provides direct links to all of the features accessible through the other tabs, as well as database and system management interfaces. The best way to learn about these features is to try them out. Remember, this is a demo, reset hourly – feel free to try everything!

My Profile

The My Profile tab allows you to change your user information. It is pretty intuitive, but you can look around if you’d like.