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:
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.
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
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.
- Experience working with RESTful Web Services
Adding front-end functionality to a large mature AngularJS application.
Adding a back-end REST web service to an OpenMRS module that exposes an existing Java API in a more convenient way.
- Documentation of this new feature in our wiki pages
- Extend the 'favorite' functionality to apply it to Medications.
- Trello Tickettopic: https://trello.com/c/D2p8SgoL/65-tagging-a-patient-with-a-specific-indicator-icon-to-indicate-insurance-or-high-risk-etcTalk DiscussionUK1slj8u/68-ability-to-favourite-forms-so-that-a-user-sees-only-the-forms-they-favourite-by-default-for-quicker-navigation-and-selection-of
- Mockups: https://talkdocs.openmrsgoogle.orgcom/document/td/tagging1P6RGHcReGG8Lrh0R-patients-in-bahmni-to-show-indicators/10483o3JpzDLhdK-enjRt4txrs2mSHU/edit