Administration Tools for OpenMRS 2.0

2014 Internship Project

This project is being considered as a potential project for 2014 Internships. If you are a potential intern and are interested in working on this project, please discuss it in detail with the mentor(s) listed here before submitting your internship proposal.

Primary mentor

Wyclif Luyima

Backup mentor

Darius Jazayeri

Assigned to

Ujjwal Arora


Reference Application is a state of the art implementation of OpenMRS, which may serve as a solid base for new implementations. It is designed using the latest UI 2.x and App Framework and is related to

Error rendering macro 'jira' : Unable to locate Jira server for this macro. It may be due to Application Link configuration.
, which make it easy to add new functionality as small apps in a similar fashion to mobile applications. However, lots of the administrative tasks e.g concept, form, Setting (formerly Global Property from platform 1.8 downwards), roles, locations and privilege management are still being done from the legacy user interface which is accessed via the Advanced Administration App, these tasks need to be ported to the reference application too.


This project aims to add several high priority administrative tasks to the Reference Application.

Project Champions

Skills Needed

  • Decent Java coding skills
  • Basic Javascript and SQL skills
  • A keen interest in developing good UIs


  • Add User Account Manager tool  see
  • Manage Locations (including tagging those location, adding and editing location attributes)
  • Add advanced settings management tool(s), add custom pages for managing specific Settings (formerly Global Properties from platform 1.8 downwards) (e.g. all the security.* GPs together nicely in a Security Settings page)

Therefore, this project would involve:

  •           User management app
  •            Location management app
  •            Advanced Settings
  •            Records management app (extra credit)

Extra Credit

  • Add a new page that lets you see all data associated with a patient/visit/encounter record (including voided data) in some ugly table format, mainly for an administrator to be able to unvoid data.


Hierarchy of various tools and apps in Administration module

Administration Tools will be built on UI Framework, which form the base of reference application. The module will have standard module dependency on “uiframework” module. The UI Framework is built on Spring MVC and implements Groovy templates for views. So, the views will be provided by .gsp files. Existing fragments of UI 2.0 will be used and new fragments will be created wherever required. 




Communication Plan

Weekly meetings - ~10 am EST every Wednesday

Emails, IRC


Project Timeline

  • 21 April – 15 May : Understand App Framework and UI 2.x deeply, learn required technologies, get to know the mentors, prepare working on the project
  • 19 May – 26 May : Will not be available due to the final exams at university
  • 26 May – 22 June : Create module, implement User Manager
  • 23 June – 27 June : Midterm evaluation
  • 28 June – 15 July : Implement Location manager
  • 16 July – 1 Aug : Implement Advanced Settings + Record Manager (possibly)
  • 2 Aug – 7 Aug : Finalize UI
  • 8 Aug – 18 Aug Write tests, prepare documentation
  • 19 Aug – 22 Aug : Final evaluation

UI Mockups

1.       1. Administration App Homepage


2. User manager Dashboard


3. findUser App


4. addUser App


5. Location manager Dashboard


6. locationTags App


7. Advanced Settings Tool


8. Security Settings tool


9. Record Manager tool