Background
OpenMRS is not just software; OpenMRS is a community of developers and implementers around the world trying to improve health in resource-constrained environments. The software is being used in countries all over the world (see the OpenMRS Atlas). In fact, we're not sure how many places OpenMRS is being used. Thus far, we have been keeping a list of activate implementations manually through word of mouth. We would like to automate (or at least semi-automate) the OpenMRS Atlas information, but do not want to force implementations to join the atlas or even allow it to happen accidentally; rather, we would like to create a way for implementations to opt-in to the joining the OpenMRS Atlas in a manner that is fun and useful to them.
Purpose
The purpose of this project is to create a module that makes it fun & easy for implementations to join the OpenMRS Atlas by enabling the module, setting their location, and selecting the information that they want to share with the community. The information shared could simply be the name & location of the implementation, but could be expanded to include contact information for the site administrator and/or basic statistics (counts of patients/encounter/observations).
While it's fun to see where OpenMRS is being used, it can be very useful in making connections between sites that otherwise might not know about each other.
Domain Expert(s) / User(s)
TBD
Required Skills
- Comfort with HTML and CSS
- Experience with creating Java servlets and JSP pages
- Familiarity with JQuery
- Familiarity with making web requests – e.g., using the Google Maps API – from JavaScript
- You are not required to do the server-side code, only get the data to the OpenMRS server
Objectives
- Create an OpenMRS module
- Add page(s) that guide the administration through registering for the OpenMRS Atlas
- Collect the site name
- Collect the site's location through a Google map widget – i.e., let them pan & zoom on a world map and place a marker on their location.
- Display a preview of the "bubble" that will be displayed for their implementation on the OpenMRS Atlas
- Provide an easy way for the administrator to include basic contact information (name, e-mail, phone) and/or basic statistics (number of patients, encounters, and observations)
- Create a scheduled task to send this information to OpenMRS at regular intervals (e.g., weekly) until they turn off the registration.
Design Ideas
Use the Google Map API (see demo) to allow the user to interact with a map to place a marker on their location:
Use the Google Map API to display a custom bubble containing the information as it will be displayed on the OpenMRS Atlas.
Extra Credit
- Allow the administrator to see exactly what will be sent to OpenMRS servers
- Optionally collect an image that can be included in their "bubble" on the atlas
- Let the user control the frequency of updates
Resources
Other Suggestions (Pending Approval)
1. Not all OpenMRS installations may contain 'real' patient data in their databases. Others (etc. testing databases) contain false information. If we allow such an installation to display these data on their bubble, other users who view the page may me mislead that they are real.
2. Allowing independent developers (volunteers) to add bubbles for themselves will help the community keep in touch with each other. It will also help healthcare providers to search for potential voluneteers in the vicinity.