Wiki Spaces

Documentation
Projects
Resources

Get Help from Others

Q&A: Ask OpenMRS
Discussion: OpenMRS Talk
Real-Time: IRC Chat | Slack

Projects

Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Primary mentor

N/A

Backup mentor

N/A

Assigned to

N/A

Abstract

Excerpt

The aim of this project is to provide a way to tag patients in Bahmni and display relevant indicators for those patients that have been tagged.

Similar to the IPD (Admitted) bed icon indicator, we would like the ability to mark some indicators on patients in Bahmni -- like an indicator for "Insured" or an indicator for "High Risk", etc. Instead of this being system driven, it would just be done manually by someone, and then this icon / indicator should show up in various places in Bahmni -- patient queue, dashboard, etc.

The possible tags should be limited to at most 3 or 4, and should be configurable (as colors/icons).

Thinking of a generic solution:
- Bahmni shows a particular UI behaviour (icon, colour) based on the tag of the patient.
- There could be predefined tags that Bahmni comes with and users can define new tags as well. 
- For new tags, users can choose from a set of icon/colours 
- Patient can get tagged by an action in the system like admit patient, abnormal lab tests,etc. or they could be manually marked by the providers.
- For tag definitions, and marking patients with tags a separate app in Bahmni can be providedthe ability for users to mark commonly-used data entry forms as favorites.

Context

Most hospitals that use Bahmni see a very wide range of patients, and thus they have many different data collection forms specific to different medical problems (ranging from HIV to Diabetes to Prenatal Care, and more). As this list of available forms grows, picking them in the user interface gets cumbersome.

Most individual doctors use a smaller set of forms most of the time. If we allow each user to mark some forms as favorite, and show these first, we will save time. Even ten seconds that the doctor doesn't have to spend searching a list in the UI when they're seeing a patient is very valuable.

Details

You access the Form Entry screen in Bahmni by going to the Clinical EMR application and then going to Clinical => (Select patient) => Consultation => Add New Obs Form.

In this project you would make the following changes to that screen:

1. The button for each form should have a star icon; clicking on this toggles whether the form is a favorite for this user
2. The forms popup should have two tabs, one for Favorites, and one for All Forms.

See this doc for sample mockups of what this would look like in the app.

On the back end we should add a REST web service to make it easy for the AngularJS application to set/unset and list favorite forms.

Under the hood we might be able to store these using OpenMRS's User.userProperties field, however those are limited in value to only 255 characters, so we will either need to modify OpenMRS to make that field longer, or introduce a new Java domain object that lets us store these.

Project Champions

Skills Needed

  • Java & Javascript (especially AngularJS
  • Experience working with RESTful Web Services

Objectives

...

  1. Adding front-end functionality to a large mature AngularJS application.

  2. Adding a back-end REST web service to an OpenMRS module that exposes an existing Java API in a more convenient way.

  3. Documentation of this new feature in our wiki pages

Extra Credit

  • Extend the 'favorite' functionality to apply it to Medications.

Resources