Enabling real-time offline data sharing for healthcare workers

  • Ankit Prakash
  • 04 Mins read
  • Mobile

A few months ago, I found myself on a surprising and transformative journey, working on a CI/CD pipeline for AMRIT, a project under the Digital Bharat Collaborative (DBC). This initiative, spearheaded by Piramal Swasthya, strives to provide accessible medical care to millions of underprivileged people across India. Through this experience, I not only contributed to a project with real-world impact but also grew significantly as a developer and as an individual.

The AMRIT Project

The AMRIT platform, short for Accessible Medical Records via Integrated Technologies, is an innovative digital public health delivery system serving over 2 crore beneficiaries across India. Deployed on multiple on-premise servers and state data centres, AMRIT ensures timely medical support through critical services like helplines 104 and 1097. The scale and reach of the project were daunting, but its mission—to provide free healthcare to millions—instantly resonated with me.

At the heart of my task was the development of a CI/CD pipeline to streamline the deployment of microservices for AMRIT. The platform, being deployed across several servers, made manual deployment a slow and cumbersome process, often leading to service downtime during updates. This is where CI/CD was crucial: automating the building, testing, and deployment process to minimize downtime and improve overall development efficiency.

The Application Process: Battling Self-Doubt

Before joining the project, I was a final-year B.Tech student unsure about my abilities. Like many others, I grappled with imposter syndrome. I doubted whether my skillset was enough to contribute to something of this magnitude. The competition was fierce, and as I browsed through the profiles of other applicants, I found myself questioning my chances of even being considered.

I could apply to multiple projects, but AMRIT was my first choice. Still, I had nearly withdrawn my application, assuming I would be more likely to succeed with other projects. I’m so grateful I didn’t. I learned a critical lesson: never underestimate yourself, and apply to the places that truly excite you, even if you fear rejection. Our mind often builds false narratives that stop us from stepping out of our comfort zone.

To my surprise, I received a call from Dr. Mithun James, the project mentor, asking me to schedule an interview. I was on a train at the time, both shocked and excited, as I hadn’t expected to be shortlisted. The interview went well. Dr. Mithun complimented my resume, something I had never experienced before. My internship at IBM, where I worked with Jenkins, gave me a solid foundation that I could lean on during our conversation. A few days later, I was ecstatic to learn that I had been selected for the project.

A Roller Coaster of Challenges and Growth

As I dove into the project, I was assigned weekly tasks focused on building and refining the CI/CD pipelines. While I won’t go into technical details, as this isn’t a tech blog, I can confidently say that the journey was full of learning opportunities. It was my first experience seeing how things work on such a large scale, and I quickly realized that real-world development is far more complex than any personal project.

The technical challenges were plenty. There were days when I felt completely lost, where one issue was followed by two more. I quickly learned that in software development, most of the effort goes toward testing and ensuring that changes work as intended. Writing code is the easy part; testing and ensuring that everything functions seamlessly is where the real work lies.

Throughout the project, there were moments of self-doubt, when I questioned whether I was good enough. But with every problem solved, my confidence grew. I learned that it’s all about persistence and patience. Tackling one issue at a time made me realize that no problem is too big to overcome. By the end of the project, I had successfully built CI/CD pipelines for AMRIT’s sandbox environment, overcoming every challenge along the way

Reflection: The Reward of Real Impact

Looking back, I feel immensely fulfilled knowing that my work on AMRIT’s CI/CD pipeline will ultimately contribute to providing critical medical services to millions. It’s a humbling experience to realize that my skills were applied to something with such a broad social impact. I came into this project with a lot of doubt, but I came out of it stronger, both technically and mentally.

The biggest takeaway? Don’t overthink. Just do it. Often, the fears we harbor are rooted in assumptions that are far removed from reality. The key is to trust yourself, take the leap, and push past those doubts. After all, there’s no greater reward than using your skills to make a real difference in the world.

Key Technical implementation:

  • Offline Data Exchange: Using Wi-Fi, our solution establishes peer-to-peer communication between mobile devices, allowing health workers to share patient data in real-time.

  • Serialized Sync Process: The syncing of data to the central Accessible Medical Records via Integrated Technologies (AMRIT) server is carried out in an ordered sequence, ensuring that demographic records, visit details, prescriptions, lab results, and pharmacy dispensed records are updated accurately.

  • Secure Data Transfer: All data exchanges are encrypted, maintaining patient confidentiality and ensuring compliance with data protection regulations.

  • Dual Sync Mechanism: The system supports both up sync (from mobile devices to the AMRIT server) and down sync (updates from the server back to mobile devices), with status flags indicating whether records are synced or pending.

About Contributor

Ankit is currently pursuing a B.Tech in Information Technology from Maharaja Agrasen Institute of Technology. He is passionate about contributing to work that benefits society and improves people’s lives. In his free time, Ankit enjoys singing, playing the guitar, and spending time with friends and family. His interest in open-source contributions, community engagement, and networking brought him to C4GT, where he found the ideal platform to collaborate with like-minded individuals.

Conclusion

Piramal Swasthya’s initiative to integrate real-time offline data sharing into the HWC Mobile Application exemplifies the power of collaboration with the open-source community. By working with Code for Gov Tech, we have made significant strides in ensuring that healthcare workers can provide uninterrupted service to communities in need, furthering our commitment to delivering quality healthcare to every corner of India.