OpenMRS is an open-source electronic medical record platform being used in over 60 countries in 1,845 sites, positively impacting healthcare delivery to more than 6.3 million patients. The software was designed specifically for low-resource environments. It is a free, highly customizable, electronic health record platform which can be used on most current laptop and mobile devices. The software platform and 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.
The founders of OpenMRS met at an international medical informatics meeting in 2004 and have been working on this project together ever since. Paul Biondich is the project leader, Burke Mamlin is the chief architect, Hamish Fraser oversaw development of the reference application, and Chris Seebregts helped to further the implementer’s network. The team expanded as new organizations and projects engaged with others, believing that they could achieve their goals more quickly working collectively, and, as a result, help rise the tide for all boats. This team recognized early that they individually lacked the wherewithal to develop and implement medical record systems on their own. Collaboration was essential to succeed in their individual goals. They quickly learned that they could ultimately leverage that collaborative foundation to build something truly transformative for the world.
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.
- The API (application programming interface) provides a programmatic “wrapper” around the data model, allowing any developer to program against more simplified method calls rather than having to understand the intricacies of the data model.
- The web application includes web front-ends and modules that extend the core functions — these are the user interfaces and applications themselves built upon the lower levels.
This is an incomplete list of OpenMRS features “out of the box”. Our many add-on modules make it easy to infinitely expand and extend the system.
- Central concept dictionary: Definitions of all data (both questions and answers) are defined in a centralized dictionary, allowing for robust, coded data
- Security: User authentication
- Privilege-based access: User roles and permission system
- Patient repository: Creation and maintenance of patient data, including demographics, clinical observations, encounter data, orders, etc.
- Multiple identifiers per patient: A single patient may have multiple medical record numbers
- Data entry: With the FormEntry module, clients with InfoPath (included in Microsoft Office 2003 and later) can design and enter data using flexible, electronic forms. With the HTML FormEntry module, forms can be created with customized HTML and run directly within the web application.
- Data export: Data can be exported into a spreadsheet format for use in other tools (Excel, Access, etc.)
- Standards support: HL7 engine for data import
- Modular architecture: An OpenMRS Module can extend and add any type of functionality to the existing API and webapp.
- Patient workflows: An embedded patient workflow service allows patient to be put into programs (studies, treatment programs, etc.) and tracked through various states.
- Cohort management: The cohort builder allows you to create groups of patients for data exports, reporting, etc.
- Relationships: Relationships between any two people (patients, relatives, caretakers, etc.)
- Patient merging: Merging duplicate patients
- Localization / internationalization: Multiple language support and the possibility to extend to other languages with full UTF-8 support.
- Support for complex data: Radiology images, sound files, etc. can be stored as “complex” observations
- Reporting tools: Flexible reporting tools
- Person attributes: The attributes of a person can be extended to meet local needs