Patient Dashboard Tabs Loaded via AJAX

Patient Dashboard Tabs Loaded via AJAX

Primary mentor

Jeremy Keiper

Backup mentor


Assigned to

Nimantha Baranasuriya


The existing OpenMRS patient dashboard is comprised of demographics information followed by data separated into tabs. The number of tabs increases as modules take advantage of the location, and some tabs hold quite a bit of information. Rendering the entire dashboard before sending it to the browser makes it arguably the slowest loading page in the entire webapp. In fact, quite often only one tab is useful to a given user. We already maintain a last-tab-used variable for rendering purposes, but there is no benefit if the rest still have to be rendered.

This project should address the patient dashboard load problems by allowing an administrator to direct tabs to be rendered on-demand via AJAX.

Project Champions


  • Faster patient dashboard loading when AJAX Patient Dashboard Tabs are turned on
  • Retained last-used-tab functionality
  • Ability for an administrator to toggle AJAX for each registered patient dashboard tab (e.g. Demographics, Form Entry)
  • Ability for modules to register tabs so they can be optionally by loaded via AJAX
  • Backwards compatibility with modules providing patient dashboard tabs (e.g. XForms)
  • Documentation in the OpenMRS wiki on how to manage patient tab settings

Extra Credit

Bonus points for creating a framework or pattern that can be reused in other pages and writing a HowTo in the OpenMRS wiki.


Project documentation and user guide can be found here.