Google Summer of Code: Write code and save lives with OpenMRS

Earlier this year OpenMRS participated in Google Summer of Code, a worldwide program organized by Google’s Open Source Programs Office to expose university students to the world of free and open source software, and encourage those students to become long-term contributors to projects that interest them. OpenMRS is a web-based medical record system originally designed for use in the developing world, and is now used on every continent on the globe. OpenMRS is used in all kinds of health care environments, from research laboratories to hospitals to small clinics in remote villages, and even via mobile devices that collect data door-to-door.
OpenMRS has been participating in Google Summer of Code every year since 2007, and our 5th year was arguably our most successful yet. This year, 15 motivated students successfully completed projects to focus or extend the OpenMRS health care IT platform in ways that will have significant impact for our global community of users. Throughout the summer our students became full contributors in good standing in the OpenMRS community. They presented their projects’ work in progress to other developers and users and often contributed their code to our software releases to support health care professionals saving lives around the world. Unlike many other summer internships that students may have during the summer, our students were responsible for planning and delivery of “real-life projects” that came from needs and requests from people installing and using OpenMRS.
Some projects were dedicated to improving the core OpenMRS platform, and some built add-on modules to support specific types of clinical activities. There were projects focused on making the installation of OpenMRS easier, and others focused on helping improve collaboration for our volunteer community. And if the presentations our students made this semester were any indication, all of the projects were exciting ways to write code and save lives. There’s not space here to describe each project in detail, but we encourage you to check out our students and their projects on the OpenMRS Wiki and learn more about them:
  • Balachandiran Ajanthan created an add-on module to deploy reusable “SMART” health care apps inside OpenMRS.
  • Christopher Zakian reimagined a “universal” search within OpenMRS that allows users to search for any system data from anywhere within the system
  • Gaurav Paliwal created an add-on module to allow OpenMRS users to provide application feedback to their system administrators and the larger open source community.
  • Gauthami Pingili improved both the UI of the OpenMRS Patient Matching module and improved its accuracy of finding duplicate patients.
  • Goutham Vasireddi helped make it faster and easier for developers to write add-on modules for OpenMRS by creating a “wizard” for Maven.
  • Jelena Skorucak reworked the attributes a person has within OpenMRS, giving clinics the flexibility to record more information about the persons.
  • João Portela made significant improvements to our HTML Form Entry editor, allowing non-programmers to create more detailed, useful data collection forms for health care.
  • Piotr Bryk enhanced our Metadata Sharing module to make it easier to manage the export and import of OpenMRS system configurations.
  • Rahul Akula’s work helped make it possible for OpenMRS to interoperate with external laboratory information systems.
  • Sai Manohar Nethi worked to create a framework for a comprehensive Human Resource add-on module for OpenMRS, allowing the system to help manage clinic personnel.
  • Sreya Janaswamy created a way for OpenMRS users to translate phrases used by the application into other languages, inside the application itself.
  • Sriskandarajah Suhothayan created a way for the OpenMRS Notifiable Condition Detector module to watch for certain large-scale patterns and send notifications to clinicians via SMS or e-mail.
  • Suranga Kasthurirathne created a new way for OpenMRS to store clinical observations that reference other people or locations.
  • Taras Chorny built a system to allow OpenMRS to be installed and upgraded using a variety of languages.
  • Victor Chircu built an “Atlas” add-on module that allows OpenMRS users to opt-in to report their location, type of clinic, and number of patients on a shared map to represent the active OpenMRS community.
Since we started participating in Google Summer of Code, we’re very proud that so many of our students have stayed active in the OpenMRS community and continued to contribute their talents after the program ended. In fact, three of our students have gone on to become full-time OpenMRS developers paid by various organizations involved in our community.
We continue to be more and more impressed with the students who are interested in our work, and are proud to welcome them into the OpenMRS family! In fact, this year, 2011 Google Summer of Code student Suranga Kasthurirathne was able to join us in October for our annual OpenMRS implementers meeting in Kigali, Rwanda. Suranga provided some excellent feedback about his involvement in Google Summer of Code this year, and about his experience meeting the OpenMRS community face to face. Read his blog post for more of his thoughts.
Once again, this year we were blown away by our amazing students during Google Summer of Code.

Google Maps Mashups 23

Seattle Food Inspection Map


The Seattle Food Inspection Map lets you examine the food inspection ratings for Seattle restaurants.

The map includes a nice slider function that allows you to search for restaurants in Seattle based on the inspection score. For example, you can set the slider to show only restaurants that have a score between 0-45 (a score of over 45 indicating a poor inspection).

Alternatively you could search for restaurants that you might want to avoid by setting the slider to only show restaurants with a score over 45.

NYC BigMaps


NYC BigMaps have used the Your Mapper map creation tool to map restaurant inspections and 311 service calls in New York City.

The restaurant inspections map displays New York City Department of Health inspections across 5 boroughs since Jan 2008 (22,440 restaurants). You can search the map by category, date range, keyword, and location. The map then displays restaurants on the map at the location you searched.

Track Maps using Google Analytics


Ubilabs has written up a very cool explanation of how you can track users’ interactions with Google Maps using Google Analytics.

The trick involves using Google Analytics event tracking on your map. For example you can add a tracking event to map markers to see how many times users click on different markers.

Ubilabs say that they regularly use Google Analytics on their created maps to track map types used (‘map’, ‘satellite’, ‘hybrid’ etc), location search (geocoding requests) and map marker and drag events.

Web 2 Map


The Web 2 Map is a metaphor of the internet, as seen by the organisers of the Web 2.0 Summit. The map assigns territories or ‘countries’ to different sectors of the internet, for example ‘social networks’, ‘search’ ‘e-commerce’ etc.

This year the map also includes a data layer. The data layer adds what might be seen as capital cities to the map. The buildings or skyscrapers in the city act as a metaphor for the different data segments within the dominant player in that sector.

For example, the Union of Social Networks includes a Facebook capital city. The Facebook city is dominated by a ‘social’ skyscraper but also includes a smaller ‘location’ building to reflect that Facebook also now includes check-ins etc.

findmark.org


Mark Bosworth, a GIS Analyst at Metro in Portland, has been missing since Friday September 16, 2011.

Mark is a cycle Oregon volunteer and was last seen walking to his tent in Riddle, Oregon. Mark’s family think that he may have had a recurrence of cancer that has caused him to become confused and possibly lose his memory.

There have been several sightings of someone fitting Mark’s description hitch-hiking near I-5. Therefore Mark’s family and friends have been distributing flyers up and down the I-5 corridor. This Google Map is being used to help plan where the flyers have been and need to be distributed.

If you are able to help with distributing flyers you can print them out from the website launched by Mark’s family – findmark.org. You can then use the map to see the areas where flyers still need to be distributed.

The Bambuser


One of my favourite smartphone apps is live broadcasting application Bambuser. The application lets you broadcast live video straight from you mobile phone or a webcam.

The only bugbear that I used to have with Bambuser is that it didn’t have a map of broadcasts happening right now, so that users could select from the currently live broadcasts geographically. Well, now it does!

The live Bambuser Google Map shows the location of live broadcasts, those recorded in the last 24 hours and even older recorded broadcasts. You can even watch the live streams directly from the map.

The Corruption Tracker Google Map


Having come across the concept of baksheesh more than a few times in my travels around the world I know how frustrating it can be to have to pay bribes to officials just to get them to do their jobs properly. It often seems that the practice is officially encouraged and that there is no point in reporting the incident.

In these situations it would be at least satisfying to be able to warn the rest of the world about the corruption.

The Corruption Tracker uses Ushahidi’s map reporting system to allow users to report and map any corruption that they witness or are subject to.

Users can report corruption by sending an email, by sending a tweet with the hashtags ‘#corruption’, ‘#bribe’, ‘#anti-corruption’ or ‘#theft’, or by filling out a short form. Submitted reports of corruption then appear on the Corruption Tracker Google Map.

London Bus Waiting


Transport for London recently started beta testing a new Countdown API to provide real-time departure information for all buses at every bus stop throughout London.

Next Bus London has quickly released a Google Map that shows the location of London bus stops and informs you how long you will have to wait to catch a bus.

To find out exactly how long you will have to wait you simply need to click on a map marker and an information window opens displaying the bus number, destinations and waiting times for the next few scheduled buses at that stop.

The University of Montana


I came across this beta campus map of The University of Montana today. The map includes a couple of nice features to help students and visitors find their way around the campus.

The Google Map includes a transparent overlay that adds interactivity to the buildings on the map. Users can click on individual buildings and get links to the building’s page on the university website and to printouts of floor plans of the building.

The map also includes a nice directions feature that allows users to quickly select and find walking, driving and bus directions between different locations at the university.

Other layers allow users to view photos, art exhibitions, bus-stops, parking spots, places to eat and wi-fi locations.

timespentalone.com


Where Do You Want To Go? is a great idea to get people to share the places they want to go and why they want to go there.

To submit a desired location users simply need to enter a destination and some brief thoughts about why they want to visit. Whenever a user submits a destination, the destination is Tweeted by timespentalone with a link to the user’s Google Map.

The best submissions are added to the Where Do You Want To Go? main map. The main map rotates through the submissions to the site, showing a Google Map satellite view of the location and the submitter’s thoughts.

My only complaint with the application is that the map is a little slow. I’d like the application to move onto the next submission after about ten seconds or maybe add a button so users can manually move to the next map.


The application reminds me a little of ZeFrank’s A Childhood Walk

For his project Ze asked people to recreate a childhood walk in Google Maps Street View. He then put together a collection of the responses superimposed on top of the appropriate Street View image.

Google Maps based photo album


Codrops has created a very nice template and tutorial for a Google Maps based photo album.

This multi-level map and image gallery displays images related to their location. The first level of the map shows the location of places that have a set of images. If you click on a marker on the first level the map will zoom in and also display thumbnails of the photos at this location.

Clicking on a marker in the second level will result in the photo being displayed next to the map. The images can also be viewed in a lightbox and the map can be viewed in full-screen.

The Robot’s chaosinyourtown.com


Robots from the year 2029 have been sent back in time to destroy you and your home!

Yes – the robots are here to get YOU!

Chaos in Your Town lets you create a blockbuster robot film featuring your very own street and house. Using Google Maps Street View as the background to the scenes Chaos in Your Town creates an incredible Flash based movie that shows robots walking down your street, targeting your house and blowing it to kingdom come.

This is the best thing you will see this week. Don’t believe me? Then just have a look at the screenshots below – and then go and create your own movie.

A heat map of Somalia


Voice of America has used a series of Google Maps and over 10,000 separate data points on rainfall, food prices and refugee movement to explain How Somalia Descended into Famine.

The visualisation explains over a series of Google Maps how the non-occurence of last year’s rain season in Somalia has led to crop failure, this year’s spike in food prices and then widespread famine.

The rainfall map lets the user view rainfall levels throughout Somalia. If you click on one of the rainfall markers you can view a graph of rainfall at that location comparing 2010’s rainfall with rainfall in 2009.

The food prices map allows the user to select different towns in Somalia and view graphs showing the sharp rise in price of a number of different crops and other essential commodities.

Finally the famine map provides a heat map of Somalia showing the scale of the famine at different locations in the country.

Driving Directions


Google Maps has added the option to preview driving directions in 3D using the Google Earth plugin.

Now when you use Google Maps for driving directions you will see a 3D button next to your directions.


When you click on the 3D button the map will switch to the Google Earth view. An animated fly-through of your route will then be shown.

You can pause the flight at any time by clicking anywhere in the 3D view or on the pause button. It is also possible to jump to different stages in your directions by clicking on a step in the left hand panel.

Try a Flight

The GitHub – Masked Polygons


Swiss Trains have open-sourced the code for a very cool masking effect on Google Maps.

The effect transforms a KML polygon into a mask that effectively highlights the polygon on the map by shading the rest of the world. You can see a demo of the effect on this Swiss Administrative Boundaries Map.

When you select a region on the Administrative Boundaries Map the chosen area is highlighted and the rest of the map shaded out.

The mask is a very effective tool. If you want to use the effect in your own Google Maps then grab the code from GitHub – Masked Polygons.

Via Googlemapsmania

The Philippines hosts a Maps for preparation of natural disasters

This summer, a group of Filipino mapping enthusiasts organized an impressive series of Google MapUps throughout the Philippines. The events brought together Google Map Maker mappers across the country to map their communities in preparation of natural disasters. Located in the western Pacific typhoon belt, the Philippines is struck by an average of 20 tropical cyclones every year. As demonstrated by the 2009 Typhoon Ondoy (Ketsana) and Pepeng (Parma), which left much of Metro Manila underwater, the storms are both persistent and devastating.

The extensive series of Summer MapUps was organized by mappers from Luzon, Visayas and Mindanao after meeting at the Google Geo User Summit in Singapore. Following in the footsteps of super mapper Rally de Leon, who mapped extensively after the 2009 typhoons, this summer of MapUps was designed as a volunteer project for the Philippine Red Cross. The objective was to map places used during crisis, including health centers, government offices, gymnasiums and public schools used for evacuation.

All of the schools (left) and hospitals (right) in the Philippines, as mapped on Google Map Maker.
The events kicked off in the Mindanao region, with MapUps in Malaybalay, Bukidnon and General Santos City. Northern Luzon followed with a MapUp in the City of Pines, Baguio City. Baguio City was hit by a devastating earthquake a decade ago, which took the lives of over a thousand people. Volunteers wanted to make sure that they tagged important places, such as evacuation relocation sites, that would help in rescue and relief.

MapUps in Iloilo City, Metro Manila, Zamboanga and Cebu City followed. Zamboanga mappers focused on Zamboanga Peninsula, one of the least mapped areas in the Philippines. The Cebu City volunteer mappers were geology students from University of the Philippines Visayas Cebu College. They enjoyed tagging, moderating and editing data, and vowed to continue mapping to complete the Cebu map.

 

Even though summer is over in the Philippines, we will still continue to add map data using Google Map Maker as an effort to help the Philippine Red Cross. If you are interested in hosting a MapUp in your neighborhood, or have other great mapping ideas, be sure to visit Map Makerpedia, which brings together lessons, tutorials and use cases from around the world.