Skip to main content
A PHR (Personal Health Record) app is the patient-facing side of ABDM. The patient creates an ABHA, logs in, discovers and links records from every facility they have ever visited, decides who gets to see them, and shares their identity at a facility counter. PHR is a separate ABDM integration track — not one of the HMIS milestones. But it reuses APIs from Milestone 1, Milestone 2 and Milestone 3. This page is the single index of which API belongs to which stage of the PHR journey, so you don’t have to reassemble it from the milestone trees.
A PHR app is usually both a HIP and an HIU: a HIU when it fetches records from other providers on the patient’s behalf, and a HIP when it stores records the patient uploaded themselves (the health locker).

The two components

Every PHR integration has two halves, and it matters which half calls what.

PHR App UI

The patient’s app or web client. Handles ABHA creation, login, consent screens, QR scanning, and record display. Never holds your client_secret.

PHR App Cloud

Your backend. Holds credentials, calls EKA’s ABDM Connect APIs, and receives webhooks — the asynchronous half of ABDM (linking status, consent updates, subscription notifications) only ever reaches your cloud.

The patient journey

Stage-by-stage API map

1 · ABHA Onboarding

Create an ABHA address via mobile OTP, Aadhaar OTP or face auth. Log the patient in and hold an ABHA Gateway session.

2 · Profile Management

Read and update the ABHA profile, run KYC, render the ABHA card and QR, delete the account.

3 · Scan & Share

Patient scans a facility QR to register instantly and get a token number.

4 · Discover & Link Records

Search providers, discover unlinked care contexts, and link them to the patient’s ABHA address.

5 · Consents & Subscriptions

List, approve, deny and revoke consent requests. Set up auto-approval and the health locker.

6 · Fetch & Display Records

List linked providers and care contexts, receive FHIR data, and let the patient upload their own documents.

7 · Webhooks

Every asynchronous event a PHR app must handle, in one list.

Errors

ABDM, gateway and EKA error codes and what to show the patient.

Where each stage comes from

If you are also tracking ABDM certification, this is how the PHR journey maps onto the milestone trees:

Before you start

1

Get credentials

Sign up on the EKA developer console and provision your client_id / client_secret, then exchange them for an access token.Authorization →
2

Register your webhook URL

A PHR app cannot work on request/response alone — linking results, consent updates and subscription notifications all arrive as webhooks. Share your endpoint with EKA before you begin testing.PHR webhooks →
3

Understand the ABHA Gateway session

Most patient-scoped APIs need a live ABHA Gateway session on top of your partner token. When it expires, those APIs return HTTP 491 and you must re-authenticate the patient.User Session →