GSoC 2018 Project/Mentor Brainstorming

Hi All,

Following on the success of more than a decade of involvement in Google’s Summer of Code initiative, OpenMRS once again plans to apply as a mentoring organization for Google Summer of Code™ 2018, and we are looking forward to identifying project ideas and mentors for GSoC 2018 as part of the organization application process. The organization application is due next week on the 23rd January, so we’d like to get as many projects fleshed out by then. If you have ideas for projects, and/or would like to volunteer as a mentor, this is the time and place to get those discussions going.

Timeline

  • 23 Jan: Organization Application Deadline
  • 12-27 March: Student Application Period
  • 14 May - 6 August: Coding
  • 11-15 June: Mentors and students submit Phase I evaluations
  • 9-13 July: Mentors and students submit Phase II evaluations
  • 6 August: “Pencils down” date
  • 14-21 August: Mentors final evaluations

For more information on project timelines and expectations for primary and backup mentors, please refer to the OpenMRS GSoC 2018 wiki page. The wiki page will be updated with the list of projects and mentors as they are identified.

GSoC Projects

See the list of last year’s GSoC projects and the current list of unassigned projects for motivation and ideas. Or have a look at past discussions about OpenMRS participation in GSoC.

GSoC projects can be new modules/projects or involve enhancements/new features for an existing module/project, but should have the following attributes:

  • Must involve coding and be OpenMRS-related
  • Clear objectives
  • A minimal viable product can be completed in 6-8 weeks (allowing time for bug fixing, documentation, and getting to production).
  • Meaningful contributions to the community
  • Involvement of at least one motivated product owner (e.g., implementation) eager to use the project’s output

NOTE: A call for student applications will follow - the student application period is 12-27 March.


2 Likes

Expectations for Mentors

In general, Mentors are community volunteers who are willing to give a student a great experience in open source development.

Before student selection

  • Commit to spending a minimum of 4 hours each week to be available to guide and mentor students (not just your assigned student).
  • Commit to being present in IRC and/or Telegram to help answer questions as much as your schedule allows, at a minimum of 4 hours each week.
  • Prepare a good overview of your project idea(s) and have them linked to this wiki page.
  • Watch OpenMRS Talk for questions about your project idea(s).
  • Review student proposals and work with other mentors and organization admins to select the best candidates for OpenMRS.
  • Treat returning students who have applied with as much (or more!) scrutiny than first-time students.

After student selection

  • Ensure your student is ready & active. They should have a dev environment, be regularly communicating in the community, and have prepared a project plan together with you. (See above for student expectations.)
  • Read the GSoC Mentoring Manual and ask questions if you have them.
  • Be sure to CC your backup mentor on communications with the student so your backup mentor can keep abreast of the project’s progress in case she needs to step in for you if you have an emergency that will take you away from GSoC for more than a week during the program.
  • Reach out to the Summer of Code organization administrators if you have questions or concerns.
  • If the student is not active during the community bonding period, please contact the organization administrators.

During the program

  • Help your student be successful. Commit to spending a minimum of 4 hours each week answering questions, giving advice, working with your student on blockers, and evaluating your student’s progress.
  • Complete a short “progress report” each week to help stay on schedule and catch potential problems early.
  • Have fun and work hard! The highest-performing mentors will get an expenses-paid trip to Google’s headquarters in October to geek out with fellow mentors from other open source projects.
  • Schedule some time to chat 1-on-1 with your student to talk about their post-GSoC plans. Will they continue in their university program? Are they looking for a job? Help them understand the world beyond GSoC, and how they can continue contributing to OpenMRS.

After completing GSoC

  • Stay in touch with your student and help them find interesting ways to stay involved with OpenMRS.
  • Apply to attend the GSoC mentor summit in October! It’s an awesome way to connect with other people in the open source world and have fun!
3 Likes

All those who volunteered as mentors for GSoC 2017 - any new project ideas or interest in mentoring again for GSoC 2018? @burke @harsha89 @dkayiwa @surangak @k.joseph @emekaaliu @burke @pascal @raff @wyclif @maurya @sunveer50732 @paynejd @avijitghosh82 @larslemos @maany @eudson @sara @carina @akshika47 @sgrannis @mseaton @darius @ball @bholagabbar @ssmusoke

And to others, if you didn’t participate last year but would like to get involved this year (by proposing a project and/or volunteering as a mentor), please let us know in this thread.

1 Like

Am setting up a few ideas by end of today. As i do so, could there be a few potential projects that did not make it from this thread? GSoC 2017 Project Brainstorming

3 Likes

Thanks @dkayiwa, it seems the only project that wasn’t picked up for GSoC 2017 was:

Otherwise, some of the Ideas that need work listed in that thread may still be relevant to develop into projects:

HTML Form Entry REST

It will be nice to be able to POST to html forms created with the html form entry module via REST. This has been raised a few times though I’m not very sure about their use cases but my use case is to be able to build an offline app for OpenMRS. I have been working on an offline app for a client. It’s an OWA. They needed to be able to register patients when they are having connection issues and did not feel like the android client was the right path for them. Making patient registration work offline was not much of challenge. The challenge for me was and still is doing form entry offline. What I’ve done is design these forms and created a REST endpoint for them and every POST adds a new row to some table depending on which form is submitted. This works fine within my app but the issue is that the forms submitted with offline app are not compatible with those created with html module. Which means when internet comes back, they can’t proceed with their normal workflow as the forms submitted offline are not treated as html forms and won’t show up on patient dashboard.

This isn’t an issue with patient registration since once a patient is created, it doesn’t matter how it was created. Wether via javascript or using the Java API, you still get to access the patient data the same.

Example thread HTML Form Entry Module and REST

1 Like

I was not able to mentor last year due to some other commitments, however, I want to mentor for GSoC this year.

One of the idea is to extend the TMM - Team Management Module and make an owa on top of it. Use angular and new ref app approach instead of legacy style. https://wiki.openmrs.org/display/docs/Using+Team+Management+Module.

1 Like

Some thoughts of potential GSoC 2018 projects:

  • Referral orders: implement referral orders as a new order type.
  • Email-based password reset: Improve OpenMRS security by implementing standard user-managed password reset via email.
  • Printable patient summary (e.g., for transfer): Create an extensible printable form
  • Family history: Add family history as a first class domain object / service.
  • Drug formularies: Extend the OpenMRS drug to support multiple formularies.
  • Improvements to Chart Review: Refactor Chart Review to use React+REST UI. Improve responsiveness. Iterate on UI with Implementers.
  • Improvements to DHIS2 Report: Bring DHIS2 integration to an out-of-the-box capability of OpenMRS Reference Application.
  • Implement Atlas 2.0: Take the great work on converting Atlas to nodejs, dockerize it, address any blocker issues, and get it into production.
  • Auditor: Create a module to track and report on who has accessed a patient’s record.
  • PostgreSQL support : Refactor OpenMRS as needed to bring sustainable postgres support (working postgres deployments in CI).

The viability of any of these would depend on available mentor(s), implementer(s) willing to serve as product owner, and whether we could put together a project design page with enough specificity to describe a ~2-month project with high likelihood of success.

5 Likes

Some additional GSoC 2018 project ideas:

2 Likes

@paynejd @darius Can we define something specific and do-able for an OCL GSoC project?

3 Likes

Hi All,

Can we have a small draft of the projects under [1] please? We need to add few ideas to our project as our deadline is tomorrow. Having a very basic idea on the wiki page would be sufficient for now. Can everyone do that today please?

@burke shall I create wiki pages from your projects? Atleast few of them if you can suggest.

[1] https://wiki.openmrs.org/display/projects/Unassigned+Projects

Another GSoC 2018 project idea is driving the orderentryui module to a point where it can be bundled with the reference application to provide some basic order entry functionality.

1 Like

Have we submitted the application yet? Just realised that the deadline is 20 mins from now

2 Likes

@harsha89 and @dkayiwa was working on it. I think they might have submitted it.

1 Like

@reubenv Thanks, the application has been completed and submitted. There is still scope to identify and draft project ideas for GSoC 2018, but these should be added to the list of proposed projects soon.

3 Likes

Let’s add the project ideas quickly to the ideas page.

@danfuterman can we add atleast four projects to make it around 8?

Sorry I’m just coming to the thread now.

I am 50-50 on mentoring this year, myself. Some ideas:

  1. Further improvements to addons.openmrs.org
    • let users sign up for email updates about specific add-ons
    • highlight most-recently updated module, and most-downloaded modules on the home page
    • tag cloud (or simple list) showing common tags
    • show ratings (from bintray)
    • add support for GitHub Releases
  2. OpenMRS-specific UI improvements for OCL (Jon and I are planning to discuss this on upcoming design forums)
  3. I expect that Bahmni would like to mentor an intern this year to add some feature to the Bahmni product
1 Like

Thanks @dkayiwa @judeniroshan @harsha89 @ayeung for adding project ideas to the wiki page.


@darius (and @paynejd @ball for the OCL project) - based on your suggestions, I’ve added project pages for the following:

Please feel free to add details, objectives, and names of mentors if/when they’re identified.


@ivange94 - I’ve added your project idea here:

Please feel free to add details & objectives to the page. Would you be keen to help mentor that project?


@maimoonak - I haven’t added a page for this yet, as I understand there has been some work done already around the TMM redesign - I’m not sure if this includes adding an OWA, but thought you might be in a better position to add a project page, and define the scope/objectives for a GSoC project based on this?


@burke - thanks for all those suggestions, going through them to try pull a few out into project pages. A few initial thoughts:

  • Implement Atlas 2.0: Take the great work on converting Atlas to nodejs, dockerize it, address any blocker issues, and get it into production.

    • @cintiadr - I think you had a few concerns with the current Atlas. If they’re relevant, perhaps you could share some of those to feed into the objectives for this project idea?
  • FHIR 3: Update FHIR Module to support FHIR Version 3 resources

    • Is this not part of the Sync 2.0 roadmap already? @raff @pgesek @pkornowski (and any others) - any thoughts on whether this could work as a GSoC project, or is this already covered?
1 Like

If it’s not too late I would like to add Attachments 2.0 to the list of projects. There are a bunch of open tickets on the ATT project that more or less represents the work to do to achieve version 2.0.

1 Like