Wiki Spaces

Documentation
Projects
Resources

Get Help from Others

Q&A: Ask OpenMRS
Discussion: OpenMRS Talk
Real-Time: IRC Chat | Slack

Resources

Page tree
Skip to end of metadata
Go to start of metadata

Write Code. Save Lives.

OpenMRS is hoping to be a mentoring organization for Google Summer of Code™ 2023! 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.


On this page ....

Google Summer of Code at OpenMRS 
om.rs/gsoc

Learn more about Google Summer of Code 2023:
Google Summer of Code website

GSoC 2023 Program Administrators

Jennifer Antilla 

Kakumirizi Daud 

Jayasanka Weerasinghe 

Please see GSoC Admin Guidelines for more information.

Project ideas for GSoC 2023

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

O3: User OnboardingMediumImplement User Onboarding in the Test 3 and O3 demo environments, like these designs show. Introduce users to major features in a typical generic outpatient workflow. React
DennisVineet
O3: Print featureMedium"Print this" component in O3 that can be used/configured depending on what the user wants to print. E.g. med list, recent labs, etc. Will need to do review of what people are printing / where in EMR they need/have the print button these days. Some implementers need specific areas of the chart to have a print option; others use general record printouts, e.g. a summary the patient can take with them to other locations in lieu of a digital medical record integration. React
DennisHadijah

Responsiveness & Tablet-based Needs for OpenMRS 3

Priority frontend UX changes to improve responsiveness

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


VineetJayasanka

Migrating from OpenMRS ID  to KeyCloak

  • Potential sustainable ID system solution identified
  • Proof of concept set up
  • Roadmap for migrating users to the recommended OpenMRS ID system. 

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


CintiaBurke

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


BrandonVineet
GSoC 2022: 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
DanielIan
O3: Migrate forms to React Hook FormMedium

We currently have a bunch of forms written in O3 in vanilla React. These forms, though functional, are not the most performant or extensible and for the most part, lack validation. React Hook Forms offers easy-to-use validation out of the box, performance and tiny bundle size. The task is to refactor existing forms to use the React Hook Form library and Zod for schema validations.

React
TypeScript
HTML
CSS

DennisHadijah
O3:  Extending E2E Automated Tests for the OpenMRS 3.0 RefAppMediumAt present, there are already a few E2E tests running for the openmrs-esm-patient-management repository and more coverage is expected. The goal of the project is for someone to extend the E2E tests for openrms-esm-patient-chart and openmrs-esm-core using the playwright framework. The tests will be set up to automatically validate the user interface based on specific workflows.Playwright
TypeScript

Jayasanka Weerasinghe





















Potential Projects
O3: Draw on a Body DiagramMediumDetailed community discussion thread: https://talk.openmrs.org/t/o3-feature-draw-on-a-body-diagram/37513 
Scope TBD. UI for a diagram (ideally where any diagram can be uploaded). Unclear whether scope should be for clicking vs drawing. 
React


O3: Search Patient Chart feature ChallengingE.g. search all of a particular patient chart for an item of interest, e.g. "IUD" or "COVID", to find if that term/situation has ever come up for this patient. We can likely leverage this past work: https://github.com/openmrs/openmrs-module-chartsearch TBC


GSoC 2023: An effective unit & integration test strategy for OpenMRS3MediumOpenMRS consists of several micro frontend modules and repositories, most of which have unit and integration tests written by individual developers. However, these tests exhibit inconsistencies due to the diverse testing strategies used by different developers. To address this issue, there is a need for a consistent and comprehensive test strategy or framework for the unit and integration tests of OpenMRS3, aimed at achieving a high level of test coverage.


















Program Timeline

Look at here for more info on the full GSoC 2023 program timeline.

  • ON GOING GSoC 2023 preparations
  • ON GOING January 23: Mentoring organizations can begin submitting applications to Google

  • UPCOMING February 7: Mentoring organization application deadline

  • PENDING February 21: Organization Application Deadline

  • PENDING February 22: List of accepted mentoring organizations announced

  • PENDING February 22 - March 19: Potential GSoC contributors discuss application ideas with mentoring organizations

  • PENDING March 20:  GSoC contributor application period begins

  • PENDING April 4: GSoC contributor application deadline

  • PENDING April 27: GSoC contributor proposal rankings due from Org Admins

  • PENDING May 4: Accepted GSoC contributor projects announced
  • PENDING May 4 - 28: Community Bonding Period. Students get to know mentors, read documentation, prepare for work on their projects

  • PENDING May 29:  Coding officially begins

  • PENDING May 29 - August 21: Coding Period for Medium project

  • PENDING May 29 - November 6: Coding Period for Advanced project

  • PENDING July  10: Mentors and GSoC contributors can begin submitting midterm evaluations

  • PENDING July 14: Midterm evaluation deadline (standard coding period)

  • PENDING July 14 - August 21: Work Period | GSoC contributors work on their project with guidance from Mentors

  • PENDING August 21 - 28: Final week | GSoC contributors submit their final work product and their final mentor evaluation (standard coding period)

  • PENDING August 28 - September 4: Mentors submit final GSoC contributor evaluations (standard coding period) for medium size project.

  • PENDING September 5: Initial results of Google Summer of Code 2023 announced

  • PENDING September 4 - November 6: GSoC contributors with extended timelines continue coding

  • PENDING  November 6: Final date for all GSoC contributors to submit their final work product and final evaluation

  • PENDING  November 13: Final date for mentors to submit evaluations for GSoC contributor projects with extended deadlines

Guidelines

OpenMRS resources to know

  • No labels