Integrating CFL’s Messages Module into O3

 

Primary mentor

@Piotr Wargulak

Backup mentor

@Dawid Ruchniewicz@Samuel Male

Assigned to

@Christopher Lumu

Abstract

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 is :

  1. Making an O3 UI patient-based page 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.

Required Skills

  • Familiarity with REST interfaces

  • Familiarity with OpenMRS

  • React

Project Rating and Length

Medium

175 hours

Objectives

  • Abstract Goal

    • Making Messages module easier to use for O3-based OpenMRS distributions by providing an O3-compatible UI.

  • Mandatory Goal;

Making an O3 UI design for Patient's calendar - an overview of an expected messages
Patient's message calendar page design, reviewed and shared here.( the design team  reviewed and deprecated this section)



 Making an O3 UI design for Patient's Messages configuration - current Manage Messages and Create Messages combined
Implementing O3 ESM with the page.
 
Making an O3 UI design , aimed at system administrators, to facilitate configuration of Message Services - (configure configuration options.)
Implementing O3 ESM with the page.
 

 

  • Optional Goal

    Making an O3 UI design for global Messages configuration
    Implementing O3 ESM with the page.


Not an objectives

Ensuring the Messages module is included in OpenMRS 3.x Reference Application is not an objective of this project.

Jira Epic Ticket

Project Repos

Weekly Blog Posts

Week

Blog Post

Week

Blog Post

Week 0
(Community bonding )

https://medium.com/@topherlumu_55016/gsoc-2023-with-openmrs-community-bonding-period-serie-1-f52697122157 
https://medium.com/@topherlumu_55016/gsoc-2023-with-openmrs-community-bonding-period-wrap-up-7db3175deab9

Week 1

https://medium.com/@topherlumu_55016/gsoc-2024-week-01-diving-into-the-messages-module-and-design-refinement-ee47c5bf02e5

Week 2

https://medium.com/@topherlumu_55016/gsoc-2024-week-02-0a9683d2ff25

Week 3

https://medium.com/@topherlumu_55016/gsoc-2024-week-03-01a792f83698

Week 4

https://medium.com/@topherlumu_55016/gsoc-2024-week-04-ui-development-99ba6e0a6c69

Week 5

https://medium.com/@topherlumu_55016/week-5-ui-implementation-and-backend-integration-792d12236729

Week 6

 Week 6: Connecting API Endpoints with the Frontend

Week 7

https://medium.com/@topherlumu_55016/week-7-backend-api-integration-and-mid-term-evaluation-e919b185da4c

Week 8

https://medium.com/@topherlumu_55016/week-8-component-testing-coverage-for-the-message-settings-dashboard-component-43156de3d0b4

Week 9 

https://medium.com/@topherlumu_55016/week-9-over-coming-challenges-and-making-progress-8160f37df153

Week 10

Week 11

Week 12

Final project blog

 

Other  Resources