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 4, where I kickstart my work and make significant strides toward my project goals.
How the week started ๐
The week started with me heading towards implementing the functionality to add and fetch infant details to the DHIS2 server. This functionality was very vital for the NeoRoo program.
The main thing that I needed to be focused on while implementing this feature was to ensure the privacy of the infants. If the user belongs to the family of the infants then only the data of their infants need to be fetched from the DHIS2 backend but if the user is the caregiver then the infants that are assigned to the caregiver need to be fetched.
Wednesday 10 am est I had the weekly meeting with my mentors and we discussed how we should proceed with the project.
Here are the key points that we discussed in the meeting -:
1) Adding the babies from the ECEB program to the NeoRoo program -:
This is going to be a crucial aspect for our organization to establish the connection between the pre-existing program and the NeoRoo program. This would also help us to implement uniformity between the methods that we use in both programs.
How do I plan to proceed with this feature ๐ค?
" My initial instinct was to make an API call to the DHIS2 server and then show a list of babies that are currently enrolled in the ECEB program and let the caregiver search for the baby that needs to be added to the NeoRoo program. "
2) Implementing the feature to add a user to the dhis2 server from the NeoRoo application from the signup page -:
In the Figma design that is been provided, there is a page for the user to signUp in the application. This would be essential to reduce the burden on the hospital staff to register every family member of the baby as the users can register themselves.
How do I plan to proceed with this feature ๐ค?
"I plan to use the dhis2 APIs used to create a user on the server. However, I think that we should only implement this functionality for the user that would get the user role as a family member and not the caregiver. Because our priority is to ensure that the data of the infants are available to the personalities that have their business with the infant whether that is in the role of a family member or caregiver. And if we make it that simple for someone to just signup in the application and get a role of a caregiver then this poses a serious threat to the data of infants ".
- Implementing the feature to get the doctors and staff members to do their shifts -:
After a brief discussion with my mentors, we thought of using the feature of the on-call doctors that are currently present in the ECEB program to be shown in the NeoRoo application also.
How do I plan to proceed with this feature ๐ค?
"Well, this could be done easily with the tracked entity of on-call doctors in the DHIS2 server. But the main problem is that this data needs to be changed periodically by someone in case of whether a doctor is on holiday etc. So the main question relies on how to make this list of doctors accurate in real-time. Once we find a proper solution to this problem we store this timetable in the form of JSON with Time and doctor as key-value pair and update the list accordingly."
Things I Coded and the Problems It Solves ๐งโ๐ป
I successfully implemented the feature to add the infant and retrieve it from the dhis2 server.
I also ensured that, if the user is a family member then they would get only the data of their infant and not others.
Contributions of the Week:
Issue
-: Enhancements are required in the feature for fetching and adding babies to the DHIS2 server.
Related Merge Request
-: Fixes #47 Enhancements are required in the feature for fetching and adding babies to the DHIS2 server.
Upcoming week: A Focus on Updating, Searching and Creating User.
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:
I plan to implement the feature to update the baby details in the dhis2 server.
I plan to implement a feature for caregivers to search in the infant list assigned to them.
If I have sufficient time remaining then I would proceed to implement the feature to create a user on the dhis2 server.