Summer Of Code 2022
Write Code. Save Lives.
OpenMRS is excited to be a mentoring organization for Google Summer of Code™ 2022! Since 2007, we've enjoyed participating in this great program and we're extremely excited about the projects and mentorship opportunities available this year. Coding for OpenMRS is a great way to practice your coding skills and, at the same time, help benefit people in developing countries who are on the front lines of the battle against HIV/AIDS, TB, Malaria, and other public health challenges.
If you are new to OpenMRS, we recommend starting with our Guide to the New & Curious. It will introduce you to our community, the tools and spaces we use, and help you get to know the different squads and teams working on various community projects.
For a more detailed history of who we are and what we do, please see here.
Google Summer of Code at OpenMRS
om.rs/gsoc
Learn more about Google Summer of Code 2022:
Google Summer of Code website
GSoC 2022 Program Administrators
@Jennifer Antilla
@Herbert Yiga
@Kakumirizi Daud
@Grace Potma
Please see GSoC Admin Guidelines for more information.
Available Projects for GSoC 2022
This is a dynamic list of available projects for GSoC, with community members adding projects as they come up on Talk. If you have a new project idea that you'd like to explore, please share via this Talk thread and add it here.
Project Name & Outcome | Project Rating and Length | What this project is about | REQUIRED skills | Selected Student | Primary Mentor | Backup Mentor |
---|---|---|---|---|---|---|
Next Generation Implementer Tools for OpenMRS 3 Redesigned config tools for O3 | Advanced 350 hours | Non-tech users can set up a 3.x EMR in a friendly, no-code UI, similar to designing a website. Empowers local team members to set up and config their EMR themselves. More detailed user stories and requirements documented here. Project plan documented here. Scope: technical work on the redesigned config tools for O3. *Design is done because Ampath/@jdick graciously contributed designs and user testing, sample designs, and @bistenes gave a lot of architectural and technical input but then had to set the project aside. | React Javascript Typescript | Brandon | Vineet | |
Responsiveness & Tablet-based Needs for OpenMRS 3 Priority frontend UX changes to improve responsiveness *Cancelled due to mentor availability* | Medium 175 hours | We have a ton of designs for 3.x that show how the frontend UX should change based on screen size or device (e.g. large desktop, small laptop, or tablet). Much of this responsiveness still needs to be implemented consistently throughout the application. Watch this video for more information. | React Javascript Typescript | JJ/Ampath | JJ/Ampath | |
Next Generation Form Builder UI for the OpenMRS Community Ampath Form Builder replaced with a React based module | Medium 175 hours | We could continue to use existing Ampath Forms Engine but replace the Ampath Form Builder with a react based module (instead of the angular one). The Ampath Form Builder UI is pretty easy to use and build forms quickly, but it’s buggy and could be so much better. (Demo of the current WYSIWYG user experience of this builder here: OpenMRS WYSIWYG Form Builder Demo - YouTube 1) | React Javascript Typescript | @Kumuditha Karunarathna | @Samuel Male | @Donald Kibet |
Re-do legacy ui cohort builder in 3.x | Medium 175 hours | In addition to supporting all current functionality, would also like to be able to save a search history (UI there in legacy but never implemented). Add ability to update an existing cohort based on a scheduled run of a search history. | React Javascript Typescript | @Anjula Samarasinghe | @Brandon Istenes | @Jayasanka Weerasinghe |
3.x E2E automated tests written and ready for use | Medium 175 hours | Current tests are less reliable because they are not very stable. Sometimes they pass, but there is still a chance that they will fail. Also, tests suddenly start to fail when there are new changes in the implementation. We need to look into ways to improve the reliability of tests. Run tests against Pull requests Currently, we don’t have a mechanism for running tests against Pull requests. As a result, no failures can be detected until the changes are merged and someone run the tests manually. It makes it difficult to detect root courses as well as to engage developers. We need a proper way to run these tests against the changes in pull requests. Improve developer engagement The contributor should collaborate closely with the O3 squad to identify new workflows, design tests, and write them. We need to find solutions to the above while identifying other ways to make things easier for developers. | Automated software testing CI/CD Pipelines Containerized applications | @Pasindu Rupasinghe | @Jayasanka Weerasinghe | @Brandon Istenes |
OCL Subscription Module for OpenMRS 3 OCL module functionality available as a microfrontend | Medium 175 hours | The OCL Module is the last remaining OMOD that depends on the (effectively deprecated) OWA Module. We want to be able to remove the OWA Module from our 3.x RefApp distro, and currently it’s just the OCL Module preventing this. @ibacher has already set the groundwork by setting up an ESM monorepo and skeleton of the work on GitHub | React Javascript Typescript | @Piumal Rathnayake | @Ian Bacher | @Hadijah Kyampeire |
Migrating from OpenMRS ID to KeyCloak
| Medium 175 hours | Our current ID system is beyond its end of life and unstable. This leads to significant interruptions for OpenMRS projects prioritized by users. A new OpenMRS ID system will reduce service interruptions, reduce infrastructure volunteer workload, and eliminate security vulnerabilities. We would like the user 'handle' to be shared across Jira, Confluence and Discourse. The new ID system should either be free for open source projects, or extremely cost-effective for the amount of users we have. We are open to hosting open source tools, using cloud projects, or using Atlassian ID directly as OpenID or similar. | DevOps Authentication and SSO IT Strategy | Cintia | Burke | |
Building a Testable FHIR Implementation Guide
| Medium 175 hours | In an effort to validate the capabilities of the OpenMRS FHIR2 Module using standard FHIR structures, we're proposing a project to develop the OpenMRS FHIR Implementation Guide(IG) into a testable IG that connects the contained technical specifications with the testing packages for the FHIR2 module. FHIR Implementation Guides (IGs) provide a standard way of documenting FHIR services, and our primary goal is to align the FHIR2 module documentation with this standard, using the available best practices for IG development. This github repository currently houses the skeleton IG for the FHIR2 module, of which a compiled version is viewable at https://fhir.openmrs.org. You can see more about the FHIR2 project on the wiki page: OpenMRS HL7 FHIR Solutions. | FHIR | Piotr | Mozzy | |
GSoC 2023: Improving the OpenMRS Developer Experience: Updating the SDK | Advanced 350 hours | It's time to clean up our SDK and improve the developer experience. | Java | Daniel | Ian | |
Advanced 350 hours | OpenMRS Android Client Project 3.0.x | -Android | @Amr Salah | Suarabh | Rohit Sharma |
Program Timeline
Look at here for more info on the full GSoC 2022 program timeline.
finished GSoC 2022 preparations
finished February 7: Organization applications open
finished February 21: Organization Application Deadline
finished March 7: Organizations Announced
FINISHED March 7 - April 3: Student's involvements
finished April 4 - April 19: Student Application Period
FINISHED May 12: GSoC contributor slot requests due from Org Admins
FINISHED May 20: Accepted GSoC contributor projects announced
finished May 20 - June 12: Community Bonding Period. Students get to know mentors, read documentation, prepare for work on their projects
finished June 13: Coding officially begins
finished June 13 - September 12: Coding Period for Medium project
FINISHED June 13 - November 13: Coding Period for Advanced project
FINISHED July 25: Mentors and GSoC contributors can begin submitting Phase 1 evaluations
FINISHED July 29: Phase 1 Evaluation deadline (standard coding period)
finished July 25 - September 4: Work Period , GSoC contributors work on their project with guidance from Mentors
finished September 5 - September 12: Final week: GSoC contributors submit their final work product and their final mentor evaluation (standard coding period)
FINISHED September 12 - September 19: Mentors submit final GSoC contributor evaluations (standard coding period) for medium size project.
FINISHED September 20: Initial results of Google Summer of Code 2022 announced
FINISHED September 12 - November 13: GSoC contributors with extended timelines continue coding
FINISHED November 21: Final date for all GSoC contributors to submit their final work product
FINISHED November 27: Final date for mentors to submit evaluations for GSoC contributor projects with extended deadlines
Guidelines
Student's guidelines
Mentor's guidelines
OpenMRS Resources to Know
GitHub: https://github.com/openmrs
Talk Forum: https://talk.openmrs.org
Help Desk: https://help.openmrs.org
Issue Tracker (JIRA): https://issues.openmrs.org