Wiki Spaces

Documentation
Projects
Resources

Get Help from Others

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

Resources

Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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 were are and what we do, please see here.


Panel
titleColor#FFFFFF
titleBGColor#999999
titleOn this page ....
Table of Contents
maxLevel2
minLevel2
exclude(Personal|Company|Write Code. Save Lives.)


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


BrandonVineet

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


JJ/AmpathJJ/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


JJ/AmpathJJ/Ampath

Redo Legacy UI Cohort Builder 

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


JJ/AmpathBrandon

Improving 3.x E2E Tests

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

Single-page applications and Micro-frontend architecture


JayasankaBrandon

Microfrontend the OCL Module and reduce backend dependencies

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


IanHadijah

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

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



PiotrMozzy
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
OpenMRS Android Client Project 3.0.x

Advanced

350 hours

OpenMRS Android Client Project 3.0.x

-Android 
- Java
-Kotlin
-MVVM Architecture
-JUnit Testing
-Architecture Components
-Android Jetpack Libraries


SuarabhRohit Sharma


Program Timeline

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

  • Status
    colourBlue
    titlefinished
     GSoC 2022 preparations
  • Status
    colourBlue
    titlefinished
    February 7:  Organization applications open

  • Status
    colourBlue
    titlefinished
     February 21: Organization Application Deadline

  • Status
    colourBlue
    titlefinished
    March 7: Organizations Announced

  • Status
    colourBlue
    titleFINISHED
     March 7 - April 3: Student's involvements
  • Status
    colourBlue
    titlefinished
    April 4 - April 19: Student Application Period

  • Status
    colourBlue
    titleFINISHED
    May 12: GSoC contributor slot requests due from Org Admins

  • Status
    colourBlue
    titleFINISHED
     May 20: Accepted GSoC contributor projects announced

  • Status
    colourGreen
    titlenot yetON GOING
     May 20 - June 12: Community Bonding Period. Students get to know mentors, read documentation, prepare for work on their projects

  • Status
    colourYellow
    titlenot yet
     June 13:  Coding officially begins
  • Status
    colourYellow
    titlenot yet
     June 13 - September 12: Coding Period for Medium project

  • Status
    colourYellow
    titlenot yet
     June 13 - November 13: Coding Period for Advanced project
  • Status
    colourYellow
    titlenot yet
    July  25: Mentors and GSoC contributors can begin submitting Phase 1 evaluations

  • Status
    colourYellow
    titlenot yet
     July 29: Phase 1 Evaluation deadline (standard coding period)

  • Status
    colourYellow
    titlenot yet
    July 25 - September 4: Work Period , GSoC contributors work on their project with guidance from Mentors

  • Status
    colourYellow
    titlenot yet
    September 5 - September 12: Final week: GSoC contributors submit their final work product and their final mentor evaluation (standard coding period)
  • Status
    colourYellow
    titlenot yet
    September 20:
    Initial results of Google Summer of Code 2022 announced
  • Status
    colourYellow
    titlenot yet
    September 12 - November 13:
    GSoC contributors with extended timelines continue coding
  • Status
    colourYellow
    titlenot yet
      November 21:
    Final date for all GSoC contributors to submit their final work product
  • Status
    colourYellow
    titlenot yet
      November 28:
    Final date for mentors to submit evaluations for GSoC contributor projects with extended deadlines

Guidelines

OpenMRS Resources to Know