The Ayushman Bharat Digital Mission (ABDM) is a government initiative that aims to develop a digital health infrastructure for India. An overview of ABDM can be found here. The ABDM aims to improve the efficiency and transparency of healthcare data transfer between patients, medical institutions, and healthcare service providers. It also allows patients to securely store their medical information and share with others as needed. The National Health Authority (NHA) is implementing Ayushman Bharat Digital Mission (ABDM) to create a digital health ecosystem for the country. ABDM intends to support different healthcare facilities like clinics, diagnostic centers, hospitals, laboratories and pharmacies in adopting the ABDM ecosystem to make available the benefits of digital health for all the citizens of India. In order to make any digital solution ABDM compliant, it has to go through 3 milestones and obtain AND certification.
- Milestone 1: ABHA Id creation, verification and obtaining link token
- Milestone 2: Linking and exporting health data
- Milestone 3: Sending a consent request and importing data from other applications in the ecosystem
ABDM Wrapper is created to solve the challenges and issues faced by integrators to bring their systems into ABDM ecosystem. Wrapper aims to abstract complex workflows and algorithms exposing clean and simple interfaces for integrators. Wrapper abstracts implementation of HIP and HIU workflows involved in Milestone 2 and Milestone 3.
Wrapper is a springboot application packaged with mongodb database. Wrapper can be deployed on existing HMIS's / health facility's infrastructure.
There are sets of interfaces which wrapper exposes and the existing services need to invoke them to implement ABDM workflows.
At the same time if HMIS is an HIP, then existing services should expose a set of interfaces which wrapper needs to invoke to get information from health providers.
1. Refer the documentation here
* Skip if ABHA Address already exists.
ABHA Address can be created using:
- Mobile Number
- Aadhaar Number
- E-mail
After creating the ABHA Address, your id should look like "yourAbha@sbx"
There are two ways to get wrapper and related applications running on your system:
Install docker and docker-compose: You can install docker desktop from here to get both.
System Requirements:
Using default docker-compose.yaml, you can bring up wrapper and mongodb services. Using compose-wrapper-mockgateway.yaml, you can bring up wrapper, mongodb and mock gateway services.
This repository provides two other services:
- Sample HIP
- Sample HIU
If you need to bring these services up, then you need to install gradle from here
2. If you are facing issues with installing or running docker, then you can install individual components:
System Requirements:
- For Mongodb, you can check here to understand resource requirements.
- For Java17, you can check here for compatible system configurations.
- Gradle version >= 8.5 should be fine.
- Recommended RAM: Systems with more than 8 GB RAM
- Get Access Token.
curl --location 'https://dev.abdm.gov.in/api/hiecm/gateway/v3/sessions' \
--header 'Content-Type: application/json' \
--header 'REQUEST-ID: c5a5c09c-ea0e-4fec-a9bc-27c7cf626168' \
--header 'TIMESTAMP: 2024-10-11T20:18:30.731Z' \
--header 'X-CM-ID: sbx' \
--data '{
"clientId": "<<Enter Client Id>>",
"clientSecret": "<<Enter Client Secret>>",
"grantType": "client_credentials"
}'
- Register bridge url
- X-CM-ID in sandbox: sbx, in production: abdm
curl --location --request PATCH 'https://dev.abdm.gov.in/api/hiecm/gateway/v3/bridge/url' \
--header 'REQUEST-ID: d401051c-ca52-4ea0-96b2-ba1b5da4d492' \
--header 'TIMESTAMP: 2024-10-11T20:19:27.293Z' \
--header 'X-CM-ID: sbx' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{accessToken}}' \
--data '{
"url": "{{URL to be updated}}"
}'
- Check the BRIDGE URL and Facilities
curl --location 'https: //dev.abdm.gov.in/api/hiecm/gateway/v3/bridge-services' \
--header 'REQUEST-ID: a774b4e9-eeae-4a19-9d91-22098c73822c' \
--header 'TIMESTAMP: 2025-01-03T09: 14: 25.557Z' \
--header 'X-CM-ID: sbx' \
--header 'Authorization: Bearer {{AUTH_TOKEN}}'
- All the API related to Wrapper and FHIR are available here
-
Communication with ABDM gateway
- Provide clientId and clientSecret in application.properties
- If you have installed docker and docker compose then you can bring the application using:
docker-compose up --build
- If you have chosen to install separate components, then here is how you can bring the services up:
- Start mongodb (let the port be defaulted to 27017): Instructions on how to start can be found here
The links like
Install on Linux
do have instructions on how to start the service as well. - Go to root of this repository and start wrapper by running
gradle bootrun
- Start mongodb (let the port be defaulted to 27017): Instructions on how to start can be found here
The links like
-
Proxy Server Settings:
- If wrapper needs to send requests using proxy server then please define the following properties in application.properties:
- useProxySettings=true
- proxyHost=your proxy server ip
- proxyPort=your proxy server port
- If wrapper needs to send requests using proxy server then please define the following properties in application.properties:
-
For testing the whole application in Docker
- can bring the application using:
docker compose -f 'docker-compose-all.yaml up --build
- This command runs Wrapper, Sample-HIP, MongoDB
- Sample-HIP acts as an test facility to complete the functionalities.
- can bring the application using:
Wrapper has in 3 modules:
- Patient
- Storing the patients in wrapper
- Fetching the patient and patients consent details
- HIP
- DeepLinking SMS
- Discovery and user-initiated linking
- HIP initiated linking
- Scan and share
- Data Transfer with support of facility and FHIR module
- HIU
- Creation of consents
- Health information exchange
- The Microservice is used to generate simple JSON to FHIR structures
- kindly refer for code and documentation here
- Below-mentioned docs are present here
- Wrapper Doc
- Wrapper API Doc
- V1 to V3 Migration Doc
- Technical Doc
This repository offers few helper sample applications:
-
Sample HIP
Check this page for more details on this. -
Sample HIU
Check this page for more details on this.
Check this page to see FAQs.
Check this page to see frequently faced issues.
Check this page to get more details on this.