OpenMRS from Scratch

The goal of this page is to help you understand what it takes to implement OpenMRS. If you are already beginning an implementation and would like more detailed advice, see the Field Guide.

Staff Requirements

Primary implementer

Skills needed

  • One dedicated IT person for at least two or three months, usually full time. They need to know the whole stack (server maintenance, MySQL, Tomcat, Java, etc.) The level of expertise you need on site depends in part on whether or not you have the Internet to get help from online resources or remote developers.
  • Tomcat expertise
    • Install and manage Apache Tomcat
    • Upload and install new WAR files
    • Troubleshoot, read log files
  • Database expertise
    • Install and manage MySQL environment
    • Understand the OpenMRS data model
    • Metadata configuration e.g. locations, addresses, patient IDs, programs, relationships. 
    • Understand the capabilities of the module functionality
    • Perform SQL queries and run SQL scripts
  • Clinical form design
    • Understand how to create meaningful, useful, and non-ambiguous questions/answers
      • Medical expertise – to understand what questions/answers make sense, what's clinically relevant
      • Technical expertise – to understand how questions/answers can be interpreted by a computer
      • Data management expertise – to understand how questions/answers will be used for reporting, research, etc.
  • Concept dictionary design
    • Concept dictionary management – understand the process of creating/modifying new concepts.

    • Ability to infer dictionary concepts from a form (both coded questions and answers), modeling expertise – e.g., do you create

      CHEST PAIN has a class of diagnosis and datatype of N/A.  The clinical form expects yes/no for chest pain.  Do you create a new concept or use SIGNS AND SYMPTOMS construct with SIGN/SYMPTOM PRESENT (yes/no/unknown) and CHEST PAIN as a possible answer to SIGN/SYMPTOM NAME?
  • Ability to install and configure Apache + SSL (if extending network beyond a single LAN)
  • Report design expertise

Long-term IT support

OpenMRS relies on some basic infrastructure. After this infrastructure is in place, long-term IT support will be needed to ensure it continues working properly.

  • Electricity
  • Connectivity to the Internet and/or a local area network (for implementations with multiple locations)
  • Computers, Anti-virus, and basic computer maintenance (e.g. a mouse stops working)

Many organizations lack internal skills to deal with these issues but a combination of staff training and external support can be of help.

Data entry clerks

Most health facilities have trained health records information staff who maintain data in the facility. Some facilities lack such personnel and opt to train a casual person  equipped with basic computer skills to perform these duties.

Data managers

If you have more than 4 data entry clerks, it is often useful to train data managers to oversee the data entry clerks and ensure that they are maintaining high data quality.

System Users

System users such as clinicians and nurses need to have basic IT skills to assist in data entry process. For computer novices, it is recommended they attend IT training in preparation of adoption of the system.

Infrastructure Requirements


OpenMRS is only as reliable as the power system that supports it. Unless electricity is almost 100% stable in your area, you will probably want a primary power source and a backup. Backup power systems usually involve some kind of battery. Using grid power with a diesel generator as a backup is probably not sufficient because there is a short lag in-between losing grid power and turning on the generator and the sudden loss of power can damage your server or data quality. Hybrid systems are ideal, where you have a primary power source (such as grid power or solar), and a secondary source (such as a generator or solar), both of which feed into short-term backup batteries.

Devices for entering, storing, and accessing data

  • OpenMRS server (hardware and operating system) along with wired or wireless network, internet access (optional) and printers (optional).
  • A server, recommended one or two processors 1.5+ GHz, 2 GB of memory, and 150+ GB of disk space with RAID and appropriate backup. See Field Guide for more information on selecting a server.
  • Work stations for retrospective data entry: If you intend for clinicians to enter data on paper forms that are later entered into OpenMRS by data entry clerks, you estimate the number of work stations you will need based on the amount of data you will enter. As a general rule, it will take a data clerk about one day to enter 80-100 forms with 20 observations per form (this general rule may vary greatly from site to site). For retrospective data entry you may use regular computers that range in cost from $300-$1,000
  • Work stations for point of care: If you intend to build a point of care system, you should estimate the number of work stations needed based on the number of clinicians or clinic rooms. You might want to consider using thin clients or touch-screen appliances, and may want to use mobile devices for remote clinics. Such devices range from $100 (for a J2ME smartphone capable of running OpenMRS) to $1,000 for some touch-screen appliances.
  • Mobile devices: If you would like to submit forms from the field and do not need rich access to patient data, you can do so with mobile devices that cost as little as $20. Forms can be sent via SMS, GPRS or wifi.
  • Data Back up Devices: Low cost external backup devices such as hard disks and flash disks are advised for backing up data incase of server / system failure. Scheduled backups is recommended(daily basis) to make it easier to perform system recovery.


You can connect your server (which stores all OpenMRS data) to the work stations where people enter data within your facility using:

  • Ethernet cable
  • A local area wireless network
  • Wireless Internet

If your implementation involves multiple facilities, you may want some means of communicating among sites. Options include:

  • Bringing all paper forms to a central location and entering them into the electronic system (requires transportation, but no connectivity equipment)
  • Setting up a local area network using long range WiFi
  • Installing VSAT or otherwise accessing Internet if you wish to communicate with very remote sites (such as a distant office in the country's capital or in another country)


Some projects require significant investment to protect equipment potentially including installing doors, locks, bars on windows, or metal equipment storage cabinets. At other sites security is less of an issue, so consider the local context. Only local knowledge can guide this decision.

Implementation Process

  1. Build power infrastructure or strengthen as needed
  2. Improve security to support safely storing electronic equipment
  3. Build connectivity infrastructure
    1. Ethernet cables, hubs, etc. as needed for local area network
    2. VSAT or other means of accessing Internet for remote support
  4. Design paper encounter forms (getting input from clinical and IT teams)
  5. Install server
    1. Install server with power backup – UPS for server and power backup (solar)
    2. Install the most preferred OS, Windows or Linux operating systems are both recommended
    3. Install OpenMRS system (MySQL, Apache, Tomcat, etc. — see /wiki/spaces/AR/pages/18514026)
    4. Configure server to serve OpenMRS web application through Apache over HTTPS
  6. Setup OpenMRS core data set
    1. Install core data set (using SQL)
    2. Make user account and define privileges
    3. Define locations
    4. Define tribes 
    5. Define encounter types
    6. Build dictionary concepts around forms
  7. Design electronic form(s) within OpenMRS
    1. Select a form entry tool from among HTMLFormEntry Module, XForms Module, FormEntry (uses InfoPath), or Remote FormEntry (also uses InfoPath).
    2. Define forms within OpenMRS
    3. Test form(s)
  8. Setup client workstations for data entry
    1. Firefox
    2. Chrome
    3. If using FormEntry or RemoteFormEntry modules, install InfoPath 2003 with Service Pack 2 or later
  9. Training
    1. Create a training plan that may include both classroom and departmental training depending on the nature of your implementation.
    2. It is advisable to create an OpenMRS test instances for user training purposes before actual go-live use of system.
    3. Issuing simple tests for your users after completion of each training session.
    4. Training of Trainers(TOT’s) approach is recommended especially for larger implementations and largely contributes to sustainability of system especially if the TOT's are actual system users
  10. Stake holder Engagement
    1. Successful OpenMRS system implementation largely depends on top down involvement of all stakeholders in the implementation process. Involve the users, managers, sponsors and relevant stakeholders in all processes right from requirements gathering to project implementation. Top-down collaboration tends to provide avenues for providing solutions to challenges that may be experienced during the implementation process

Ongoing Support

  1. Review new concept proposals
  2. Make changes to forms over time (both paper and electronic versions)
  3. Building reports from data exports
  4. Managing user accounts
  5. Server maintenance
  6. Client maintenance
  7. VSAT maintenance
  8. Provide disaster recovery plan such as providing standby servers / recovery disks to provide backup incase of system failure
  9. Access to modules updates
  10. Access to software updates such as tomcat, MySQL