1 of 17

Mentee : Mohd Zaid

Mentor :Atul Kumar,Anchita Goel,Madhuram Jajoo

CODE4GovTECH 2023

Midpoint Showcase

ABDM Consent Management

2 of 17

Table of Contents

  1. Introduction
  2. Project Description
  3. Scope of Project
  4. Milestones Planned
  5. Milestones Achieved
  6. Live Demo
  7. Learnings from project

3 of 17

What is ABDM ?

Introduction

  • The Ayushman Bharat Digital Mission (ABDM) aims to develop the backbone necessary to support the integrated digital health infrastructure of the country

  • To create a national digital health ecosystem that supports universal health coverage in an efficient.

  • Bridge the existing gap amongst different stakeholders of the Healthcare ecosystem through digital highways.

  • To create a system of personal health records, based on international standards like there is UPI we will have UHI

4 of 17

The reasons behind choosing this project:

  1. Familiarity with Technology stack.

  • Good Understanding of the project

  • Vision of introducing new features to increase good user experience.
  • Learning and coding Api endpoints in springboot and connecting to database .

Reason Behind Choosing Project

5 of 17

Project Description

why Consent Management

  • Data transfer between an HIU (Health Information User) and HIP (Health Information Provider) involves multiple API interactions.

  • involve asynchronous API calls, implementation of which is turning out to be a challenge for developers.

  • API contract published on their Swagger is not up to date.

-> Any oft he heathservice provide who is trying to get a aperson health record should first generate a Consent Request for the same .

6 of 17

Project Impact

A patient needs to provide consent to a facility (HIP) for it to share their health records. NHA's Consent Manager does provide apis which help in managing consents but if we provide mechanisms to store consent on HIP front then the whole process of data transfer along with consents can be simplified.

7 of 17

Project Goals

APIs to fetch and store consents

Storage layer for consents and mappings

APIs to provide consents

Service to audit and govern consents

8 of 17

Project Goals

  1. Provides capabilities of both async and sync apis. Developers will have the option to opt according to their convenience.
  2. getting the user consent and storing it (cm) and then allowing hiu hip to intiate consent request to access peple data using apis
  3. Handling gateway facing apis as wells as hiu-hip facade facing apis.
  4. Developing APIs for receiving health data requests and provide health records

9 of 17

Milstones Planned

  1. Understanding the domain,problem statement,goals and scopes of this project
  2. Setup Sandbox environment &local dev environment
  3. Define API contracts and develop APIs
  4. Comprehensive Testing of the APIs with Documentation

10 of 17

11 of 17

Using Swagger.io editor for code generation

  • i Tried to generate java springboot client for CM,HIU,HIP
  • but the code is not supported with current verison of gradle of my system so i need to manually create project classses using this existing complex codebase

11

12 of 17

abdm consent mgmt module work in progress

12

13 of 17

MileStone Achieved

  1. Understood Design docs
  2. Reading the Api documentations for the abdm consent apis;
  3. Started writing code for calling abdm apis and also for exposing endpoints to abdm callbacks via ngrok/Webhook

  • Connected the Abdm Consent Management Module to Mongodb.

14 of 17

Demo

open for feedback

15 of 17

Issue from Abdm side

15

When we hit the abdm endpoints from postman we were getting access denied and too Many reqquest by other Abdm Folks seems there is an issue with the roles assigned otherwise the it api call was working fine

16 of 17

Project Learnings:

  1. Understood the domain and scope of the project.

  • Gained Knowledge about client and server side communication.

2.Spring Boot project connected to Mongodb,as well Mysql(will MongoDb for this project) as the data is semistrutured.

  1. Synchronous and Asynchrnous API,Webhook And Ngrok
  2. How we can use springintialiser to make our springboot project work easy
  3. Maven and Gradle dependency management support
  4. Gained hands-on experience with Springboot ,REST API and Postman

  • Understood the and learning about Unit testing.

17 of 17