Improved Built-In Reports module

Primary mentor

Backup mentor

Kaweesi Joseph

Assigned to



There is an existing OWA(Open Web App) module called built-in reports for reference application distribution. This module was implemented to provide more statistical information with more meaningful ways. It has used charts and other graphs to demonstrate some information to the users. We can see there is a big potential in this module as it can be used to give more analytical information about the entire system level data. Module has been implemented with the help of OpenMRS reporting module and OpenMRS REST API module. Currently there are 10 reports already implemented. We expect more reports to be available which are crucial for administrative decisions within a clinical environment.

E.g. listing all patients seen today, broken down by demographics, place of origin (based on address), encounter types, encounter locations, diagnoses, etc.  

When working on this project, you will get a chance to develop the whole web stack and get a good grasp of back-end and front-end technologies. Your work will be included in Reference Application, which is deployed in hundreds of facilities around the world! 

Project Champions

  • TBD
  • TBD

Skills Needed

  • Java
  • Hibernate, SQL
  • ReactJS, ChartJS


  • Create a new module for OpenMRS common styling in reactJS (check out We need to allow other react developers to reuse OpenMRS common react components like, header, menu-items etc.

  • Implement a new view which shows a very detailed view of a given patient. Similar to patient dashboard, but more analytical information such as past recorded diseases, visits, etc.(use graphs in more meaningful ways)

  • OpenMRS header has to work properly(changing the unit, should reflect the changes in the reports, logout function should work properly, clicking on the OpenMRS logo should navigate to the OpenMRS home page)

  • In List of Providers, once the user clicks on a row in the table, user should be able to see more detailed page about the provider. (Who created this provider? Which unit this provider is being assigned to work? Top 10 patients who was recently worked with this provider.)

  • In List of Diagnosis report, once a table row is being clicked, it should redirect to a new view which shows the patients who was recorded as this disease was affected. It should also display the severity of this disease spread within the clinical environment. Compared to the other disease numbers.

  • New patient Registrations view and Number of patient registrations view , bar chart should have flexibility to change the view, Like, see by dates, by weeks, by months etc.

  • Number of Admissions/Discharges/Transfers views should have to changed in way to provide more information to the user(come up with your own ideas to visualize data)

  • Number of visit notes/ number of visits views should have to changed in way to provide more information to the user(come up with your own ideas to visualize data)

Extra Credit

  • Implement warnings for metrics meeting customization conditions, e.g. increased number of a certain diagnosis in a defined period, increased number of dispensed drugs, too many patients being admitted for available personnel, etc.
  • Add more live updating results

  • Add more widgets into the existing reports