HIP & HIU
The two roles your application can play — provider and consumer of health information.
Every data exchange in ABDM happens between a Health Information Provider (HIP) and a Health Information User (HIU), mediated by the patient's consent manager.
HIP — Health Information Provider
An HIP is any system that holds patient health records: hospital HMIS, lab systems, clinic EMRs, pharmacies.
An HIP must implement:
| Capability | What it means |
|---|---|
| Care context linking | Attach visits/episodes to a patient's ABHA (HIP-initiated or patient-initiated) |
| Discovery | Answer "do you have records for this patient?" queries from the CM |
| User authentication | Verify the patient (e.g. OTP demographic match) during patient-initiated linking |
| Consent notification handling | Receive artefacts relevant to its records |
| Data provision | Build, encrypt, and push FHIR bundles when a valid consent + data request arrives |
HIU — Health Information User
An HIU is any system that needs to view patient records: a doctor's console in an HMIS, a telemedicine app, an insurance claims system.
An HIU must implement:
| Capability | What it means |
|---|---|
| Consent requests | Ask the patient for access with explicit purpose, HI types, and date range |
| Consent lifecycle handling | React to grant, deny, expiry, revocation |
| Health information requests | Request data against granted artefacts |
| Data reception | Host a data-push endpoint, decrypt bundles, verify integrity |
| Display & purge | Render FHIR records and erase them at the artefact's expiry |
One system, both roles
Most full HMIS products are both: they share the records they create
(HIP) and let their clinicians view records from elsewhere (HIU). The roles
are registered on the same bridge but keyed by different IDs
(X-HIP-ID / X-HIU-ID).
flowchart LR
subgraph Hospital A — your HMIS
HIPA["HIP role<br/>shares OPD records"]
HIUA["HIU role<br/>doctor views history"]
end
CM["HIE-CM"]
HIPB["Hospital B (HIP)"]
HIUA -- "consent request" --> CM
CM -- "consent artefact" --> HIPB
HIPB -. "encrypted records" .-> HIUA
HIPA -- "links & shares" --> CM
Design suggestion
Model HIP and HIU as separate modules sharing a common gateway client: separate callback handlers, separate state machines, common session/crypto/FHIR infrastructure.