Summer Of Code 2009


OpenMRS is proud to be participating as a mentoring organization for Google Summer of Code™ for 2009. We've enjoyed participating in this great program in the last few years and look forward to GSoC 2009 being the best year yet!


The following projects were chosen for OpenMRS internships (Google Summer of Code or OpenMRS Internship Program 2009).



Primary Mentor

Backup Mentor(s)


João Portela

Darius Jazayeri

Daniel Futerman

Integrate Quartz Scheduler into OpenMRS

Dilupa Munindradasa

Justin Miranda

Vibha Anand


Lu Zhuang Wei

Ben Wolfe

Daniel Kayiwa

Longitudinal Data Review (Discrete Data Flowsheet) Module

Omar Verduga

Paul Biondich

Maros Cunderlik


Pavel Konnikov

Dave Thomas

Justin Miranda

Data Synchronization___Create New Sync Node

Antoine Nzeyimana

Maros Cunderlik

Ben Wolfe

Role-based home page

Harshini Gudiwada

Saptarshi Purkayastha

Darius Jazayeri

Audit Module (Data Integrity Module)

Nimantha Baranasuriya

Brian McKown

Mike Seaton

Video Upload and Review From Mobile Phones

Katherine Kuan

Gari Clifford

Zack Anderson, RJ Ryan

OpenMRS Patient Authentication via Hybrid Online/Offline Mobile Phones

Jenny Liu

Zack Anderson

Gari Clifford, RJ Ryan


Upul Godage



Facility Data Module (To Delete)

Robert O'Connor

Mike Seaton

Darius Jazayeri


Amogha Gundavaram

Odysseas Pentakalos

Shaun Grannis

Enhancing Patient De-duplication Workflow

Saketh Bhamidipati




Moses Mugisha

Daniel Kayiwa

Paul Biondich

Global Caching Support for OpenMRS Logic Service

Felicia Rosemond

Tammy Dugan

Burke Mamlin


Expectations of students working with OpenMRS this summer:

  • Students should become familiar with OpenMRS and their project prior to the start date
  • Weekly Blog entry
  • Commit early, commit often
  • Join the interns mailing list (we'll help you with this)
  • Technical discussions should occur in IRC or within the developers mailing list

What students should expect of OpenMRS during the summer:

  • You will have fun!
  • You will learn how to work within an open-source project
  • You will have a clearly defined mentor along with a backup mentor
  • Your mentor will be able to spend at least 4-5 hours per week working with you
  • The program administrators will be available for any issues that arise between students and mentors

Next Steps

  1. Get in touch with your mentor
  2. Get openmrs installed and running — see /wiki/spaces/AR/pages/18514002 page and use the community if you have questions
  3. Get coding environment installed and running
  4. Review our conventions page
  5. Request a trac account
  6. Register your blog RSS (or ATOM) URL with OpenMRS — Ben, Brian, Burke, or Paul can help with this
  7. Browse the current OpenMRS code specific to your project
  8. Create your User Page (see how to create a user profile page)
  9. Browse other GSoC projects and the pages they have for their students. We want to A) make sure we "keep up with the Jones'" and then B) be better than the Jones'.
  10. Review the requirements for your project (see Projects Page)
  11. Submit formal proposal to your mentor
  12. Agree on final requirements with your mentor
  13. Develop project schedule with your mentor

Program Timeline

Both GSoC and OIP will follow the Official Google Timeline.

  • Prior to May 26 — Community Bonding Period
    • This is the time to get to know your fellow interns and your mentor(s)
    • Download and install OpenMRS on your machine, install Eclipse (see our /wiki/spaces/AR/pages/18514002 page for getting started tips and don't forget to use the community if you have questions)
  • May 26 — Coding Begins
    • Ideally, we'd like all projects to have a project plan in place by this time. If not done, then the first week should be used to do it.
    • Don't forget: commit early and often!
  • July 13 — midterm evaluations due
  • August 17 — pencils down (end of projects)

Community Resources

  • The OpenMRS Development Site — we use Trac as a tool for issue tracking and project management
  • Email
    • Personal e-mail — for discussing larger design ideas and good for asynchronous communication. We always encourage technical discussions to use the dev list (email|dev|
    • Mailing Lists
      • email|interns| — for administrative issues. This list should NOT be used for technical discussions
      • email|dev| — for technical discussions
  • IRC — discussions in the #openmrs channel of freenode are always fun! Useful for lower bandwidth discussions or for larger group discussions
  • Skype or Phone — sometimes a short discussion can get ideas across much more efficiently
  • Google Docs — an excellent tool for sharing and collaborating in real time on documents or spreadsheets
  • Wiki
    • Everyone is encouraged to make a user profile page
    • Every project should have a OpenMRS wiki page where you document your project, progress, technical details, show mock ups, etc.
  • OpenMRS Forum — when you want to get feedback on an idea or mockup, the forum can be very handy. Sometimes it helps to create a forum topic and then send a note to the dev list and/or putting a link on your project's wiki page directing people to the forum entry
  • Scheduling
    • — to clarify/coordinate times around the world
    • — to coordinate meeting times for larger groups


Contact Burke and/or Paul