Primary mentor

Backup mentor


Assigned to



The aim of this project is to provide the ability for healthcare providers to tag/mark patients of special interest, and provide views of tagged patients for quick access.


Most hospitals and clinics that use Bahmni see a very wide range of patients, and healthcare providers often want to view or analyse certain cohorts/groups of patients based on various conditions (e.g. patients receiving similar kinds of treatment, patients with outstanding lab results). Adding functionality for users to tag patients using custom user-defined tags would allow for quick lookup of these patient groups, and provide a starting point for further development on patient analysis and notifications.


Patient tagging is not meant as a replacement for functionality like care-plans, programs, order sets, etc. which have much richer needs/scenarios e.g. patient state, visit schedule. 

This project involves development in the existing Bahmni EMR to let users manage custom tags, and associate patients with these tags.

This would cover the following workflows:

I create a new tag(s) → I choose a patient → I mark the patient with one or more tags

I select an existing tag → I view a list of patients that have been marked with that tag → I select a patient from the list to view their patient record




A tag is a string associated with a patient.

Local Scoped Tag

A local scoped tag is a one that is visible only to the user to whom it belongs.

Global Scoped Tag

A global scoped tag is a one that is visible to everyone having access to the app.

This project would require data modelling work to extend the existing data model to support tags, as well as implementing functionality to manage tags, mark patients and view lists of tagged patients.

This would include work across the technology stack - adding back-end functionality, a REST web service, and user interfaces in the front-end AngularJS application.

Project Champions

Skills Needed


  1. To be able to manage (add/edit/remove) custom tags (local scope)

  2. To be able to mark patients using one of the tags available to the healthcare provider

  3. To be able to see a list of patients by tag - e.g. clinical, in-patient

Extra Credit