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

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 2024:
Google Summer of Code website

GSoC 2024 Program Administrators

Vineet Sharma Piumal Rathnayake Jayasanka Weerasinghe  Grace Potma 

Please see GSoC Admin Guidelines for more information, or: 

Projects for GSoC 2024

Project Name & Expected Outcome

RATING AND SIZE

(Easy / Med / Hard)

(Sm / Med / Lg)

Small-90-hour

Medium-175-hour

Large-300-hour

PROJECT DESCRIPTION

SKILLS (Required / Preferred)

Selected Contributor

Potential Mentors

Primary Mentor

Backup Mentor

O3: User Onboarding

Medium

175 hours

Implementing user onboarding in the Test 3 and O3 demo environments, as illustrated in these designs, is crucial for introducing users to major features within a typical generic outpatient workflow. By incorporating user onboarding processes, new users can navigate through the system more seamlessly, gaining a better understanding of how to utilize various functionalities effectively. This not only enhances user experience but also ensures that users are equipped with the necessary knowledge to maximize the capabilities of OpenMRS in their outpatient workflows. Additionally, user onboarding can help reduce the learning curve associated with adopting a new system, ultimately leading to increased user satisfaction and productivity.

React


Dennis

Vineet

Jayasanka

TBC
Animated Loading Visualization

Small

90 hours

In response to varying loading times influenced by user devices, internet connections, and server specifications, this project aims to enhance user experience within OpenMRS by implementing an animated loading visualization inspired by the OpenMRS logo. By addressing the challenge of unpredictable loading times with a visually appealing solution, this project aims to elevate user satisfaction and usability within the OpenMRS platform.

SVG Animation

React



Jayasanka Weerasinghe TBC
Validation rule builder for the form builder

Medium

175 hours

The form engine and builder currently supports JavaScript expression-based validation. However, this can be challenging when creating complex validations and may potentially lead to errors. In most cases, form creation is done by BAs who may not have experience with writing JavaScript expressions. The proposed solution is to introduce a UI-based validation rule builder to the form builder, something similar to https://tally.so/help/conditional-form-logicReact

Dennis?

Vineet?

Jayasanka?

TBC

Revamping OpenMRS 3.0 FHIR Module for Enhanced Offline Data Synchronization and Interoperability

Advanced

350 hours

This proposal aims to overhaul the FHIR module in OpenMRS 3.0, focusing on enabling its interoperability with applications like Google's Open Health Stack for efficient offline data collection. The project will involve a comprehensive review of the current module, identification of limitations, and subsequent enhancements to support adding, editing, and deleting patient data, visits, encounters, and observations. The goal is to facilitate robust two-way data synchronization, crucial for healthcare settings in LMICs with intermittent internet connectivity.

Java

OpenMRS

Jose Francisco

Pedro Sousa 

Luis Frederic
Frédéric Deniger 

Building an Offline-Capable Android Application for LMICs Integrated with Enhanced OpenMRS 3.0 FHIR Module

Advanced

350 hours

The aim is to develop an Android application optimized for LMIC healthcare settings, utilizing Google's Open Health Stack for offline functionality. The application will be designed to integrate seamlessly with the enhanced FHIR module of OpenMRS 3.0, as developed in the above proposal. This integration will enable efficient data management with capabilities for offline data collection, and two-way synchronization with OpenMRS 3.0 once connectivity is available, improving healthcare delivery in resource-limited settings

Kotlin
Android


Jose Francisco

Pedro Sousa 

Luis Frederic
@icrc-jofrancisco (Jose Francisco)Frédéric Deniger 
Integrating CFL’s SMS Module into O3

Medium

175 hours

The CFL SMS module in general is an API module. It provides a layer between other OMRS modules and common SMS (or any text message) service providers.

The main advantage is that once you make your module to work with the SMS module, you can later configure any provider to work with the SMS module without any additional coding, that includes world-wide services like Vonage, turn.io and also local service providers like Rwanda-based FDI. The complete solution comes as an OpenMRS module, no other middleware is required. Some general documentation regarding the module can be found here.

We think it might be useful for other implementations and we would like to make it more accessible.

The goal of the project is:

  1. Making an O3 UI for configuring a service provider, inc.: maintenance view with list of all messages sent from the system. There are no O3 designs, but there is customised 2.x style UI to base new design on.

  2. Making an O3 UI, aimed at system administrators, to facilitate configuration of Scheduling SMSes on a predefined interval.

In short, using the SMS module you can configure that: at 12 o’clock the system should get recipients and corresponding text messages from an OMRS report and send SMS to everyone on that list.

React

Piotr Wargulak

Dawid Ruchniewicz

TBC
Integrating CFL’s Messages Module into O3

Medium

175 hours

The CFL Messages module allows configuring a Message Service. Message Service is a combination of: schedule (an SQL script really) according to which the system should send messages to patients; Apache Velocity scripts which generate specific messages.

In practice, using the Messages module in conjunction with SMS module, system administrators can create visit reminders, missed visit reminders (send message a day after scheduled visit date), pill reminders (send text message everyday for x days) just through configuration (albeit complex configuration).

The integration between other OMRS functionality is made via schedule SQL query, so no coding is required in the other modules to use it as source of data for schedule.

Some general documentation regarding the module can be found here.

The goal of the project could be:

  1. Making an O3 UI patient-based calendar with visualisation of a schedule, showing when a message from a particular Message Service is going to be sent to the Patient. There is 2.x style customised UI for it, not useful for O3.

  2. Making an O3 UI, aimed at system administrators, to facilitate configuration of Message Services - create new one, upload SQL queries, configure configuration options.

React

Piotr Wargulak

Dawid Ruchniewicz

Piotr Wargulak TBC









Pending project ideas:

Project Name & Expected Outcome

RATING AND SIZE

(Easy / Med / Hard)

(Sm / Med / Lg)

Small-90-hour

Medium-175-hour

Large-300-hour

PROJECT DESCRIPTION

SKILLS (Required / Preferred)

Selected Contributor

Potential Mentors

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


Dennis?

Brandon?

TBCTBC
O3: Search Patient Chart feature 

Advanced

350 hours

E.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 Will need an API.

Ian?

Dennis?

Vineet?

TBC

TBC
Validating and re-working (updating) the OpenMRS PatientFlags module 

Medium

175 hours

Patient Flags feature cannot be added to RefApp 3.x just because the supporting OpenMRS PatientFlags module has a number of loop-holes.  
This is blocking the progress of the ANC prototype the initial milestone was displaying Patient Flags to the Frontend.

Reference: https://github.com/openmrs/openmrs-esm-patient-chart/pull/926#issuecomment-1419165955


Java

REST APIs


Daniel?

Ian?

TBC

TBC 


Program Timeline

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

  • Status
    colourGreen
    titleFinished
     GSoC 2024 preparations
  • Status
    colourGreen
    titleFinished
    January 22: Mentoring organizations can begin submitting applications to Google
  • Status
    colourRed
    titleDeadline
    February 6: Mentoring organization application deadline

  • Status
    colourYellow
    titleTODO
    February 21: List of accepted mentoring organizations announced

  • Status
    colourYellow
    titleTODO
    February 21 - March 17: Prospective GSoC Contributors reach out to Accepted Mentoring Orgs

  • Status
    colourYellow
    titleTODO
    March 18 - April 2: Prospective GSoC Contributors Submit their 2024 Applications (includes proposals)
  • Status
    colourYellow
    titleTODO
    March 18:  GSoC contributor application period begins
  • Status
    colourRed
    titleDEADLINE
    April 2: GSoC contributor application deadline

  • Status
    colourYellow
    titleTODO
    April 24:GSoC contributor proposal rankings due from Org Admins
  • Status
    colourYellow
    titleTODO
     May 01: Accepted GSoC contributor projects announced
  • Status
    colourYellow
    titleTODO
    May 01 - May 26: Community Bonding Period. Students get to know mentors, read documentation, prepare for work on their projects

  • Status
    colourYellow
    titleTODO
    May 27Coding officially begins

  • Status
    colourYellow
    titleTODO
    May 27 - __: Coding Period for Small project

  • Status
    colourYellow
    titleTODO
    May 27 - August 26: Coding Period for Medium project

  • Status
    colourYellow
    titleTODO
    May 27 - November 4: Coding Period for Advanced project

  • Status
    colourYellow
    titleTODO
    July  08:Mentors and GSoC contributors can begin submitting midterm evaluations

  • Status
    colourRed
    titleDEADLINE
     July 12: Midterm evaluation deadline (standard coding period)

  • Status
    colourYellow
    titleTODO
    July 12 - August 19: Work Period | GSoC contributors work on their project with guidance from Mentors

  • Status
    colourRed
    titleDEADLINE
     August 19 - August 26: Final week | GSoC contributors submit their final work product and their final mentor evaluation (coding period)

  • Status
    colourRed
    titleDEADLINE
     August 26 - September 03: Mentors submit final GSoC contributor evaluations (standard coding period) for medium size project.

  • Status
    colourYellow
    titleTODO
    September 03: Initial results of Google Summer of Code 2024 announced

  • Status
    colourYellow
    titleTODO
    September 03 - November 04: GSoC contributors with extended timelines continue coding

  • Status
    colourRed
    titleDEADLINE
     November 04: Final date for all GSoC contributors to submit their final work product and final evaluation

  • Status
    colourRed
    titleDEADLINE
     November 11: Final date for mentors to submit evaluations for GSoC contributor projects with extended deadlines

Guidelines

OpenMRS resources to know