Week 11 -: GSOC'23 With LibreHealth

Week 11 -: GSOC'23 With LibreHealth

ยท

3 min read

In this blog series, I will be sharing my experiences, challenges, and achievements as I embark on this GSOC adventure. Join me as I dive into Week 11, where I kickstart my work and make significant strides toward my project goals.

How the week started ๐Ÿ“ˆ

  • The week began with me working on the functionality to create a chat feature in the NeoRoo application.

  • The main difficulty in implementing this feature was determining how to retrieve chats from users with whom the current user had previously interacted, and how to initiate those conversations.

  • To address this challenge, I utilized the DHIS2 message conversation API, specifically designed to facilitate communication between users. This API played a crucial role in successfully implementing this feature.

  • One of the key strategies I employed was leveraging the message header. Within the message header, I included the user ID of the individuals engaged in the conversation. Subsequently, when the API call was made to fetch the message conversation, it effectively identified the corresponding user for each conversation.

  • Upon retrieving the chat room, the system provided a unique chat room ID, which was then utilized for subsequent message post requests. This ensured that all messages remained confined to a specific chat room, maintaining the organization of conversations.


Wednesday 10 am est I had the weekly meeting with my mentors and we discussed how we should proceed with the project.

  • This week we were joined by another mentor who was also the previous contributor to the LibreHealth NeoRoo program in Googe Summer of Code 2023.

  • With our mentors, I discussed how to fetch the chats of a particular chat room as it would not be a good idea to make HTTP requests to the server periodically. My mentor guided me to look to implement the functionality of long polling to fetch the chats to make it a real-time application.

  • Later my mentor also told me to look into implementing the functionality to generate the QR code to register a user onto the dhis2 server.

  • With the GSOC coming to an end I would also work towards writing some test cases for the functionality that I have implemented.


Things I Coded and the Problems It Solves ๐Ÿง‘โ€๐Ÿ’ป

  • Successfully integrated the chat functionality into the NeoRoo application. This innovative feature serves a dual purpose: not only does it streamline communication, but it also revolutionizes the way infant data is tracked. By consolidating these critical functions within a single application, valuable time that would have otherwise been expended on disparate communication methods can now be directed toward more productive endeavors.

  • This enhancement marks a significant step forward in optimizing efficiency and convenience for users, all while maintaining the highest standards of data management and communication.


Contributions of the Week:

Issue -: Functionality to establish communication feature between the family member of the infant and the medical staff.

Related Merge Request -: Fixes #81 Functionality to establish communication feature between the family member of infant and the medical staff.


Upcoming week: A Focus on QR Code and Polling.

Looking ahead to the next week, I have a clear plan of action to continue advancing the project. Here are the key tasks I aim to accomplish:

  • Next, I will be focusing on developing a feature to generate a QR code. Upon scanning the QR code, users will be able to create their accounts on the DHIS2 server.

  • Furthermore, my efforts will be directed toward implementing the functionality to enable real-time polling in the chat room. This enhancement aims to retrieve chats dynamically within the chat room, ensuring an up-to-the-moment conversational experience.

By working on these tasks, I aim to further enhance the NeoRoo program, providing users with a comprehensive and user-friendly application that effectively meets their needs.

Did you find this article valuable?

Support Mehul Kumar's blog by becoming a sponsor. Any amount is appreciated!

ย