You pushed health records to ABDM. The PHR app shows them. But every clinical field shows NA — no patient name, no practitioner, no clinic. This is the second most common ABDM integration problem after encryption.
Before vs After
FHIR Compliance" width="100%">
Why Fields Show NA
- Patient Name: Missing Patient resource or wrong Composition.subject reference
- Practitioner: Missing Practitioner or Composition.author not set
- Clinic: Missing Organization resource or Composition.custodian not set
- Gender, DOB: Patient resource lacks fields
Correct Bundle Structure

- Composition — MUST be first entry (FHIR invariant bdl-11)
- Practitioner — Composition.author
- Organization — Composition.custodian with HFR facility ID
- Patient — Composition.subject with ABHA identifier
- Encounter — Composition.encounter
- Clinical resources — Condition, Observation, etc.
The 13 Fixes

1. References Must Use urn:uuid:
// WRONG
"subject": { "reference": "Patient/abc-123" }
// CORRECT
"subject": { "reference": "urn:uuid:abc-123", "display": "Patient Name" }2. Bundle.identifier Required
"identifier": { "system": "http://hip.in", "value": "unique-id" }3. Bundle.timestamp Required
"timestamp": "2026-03-20T10:30:00.000Z"4. Organization with HFR Facility ID
{
"resourceType": "Organization",
"identifier": [{
"system": "https://facility.ndhm.gov.in",
"value": "IN2710004770"
}],
"name": "Your Hospital"
}5. Composition.custodian
"custodian": { "reference": "urn:uuid:org-id", "display": "Hospital Name" }6. Composition.type Uses SNOMED
"type": { "coding": [{ "system": "http://snomed.info/sct", "code": "371530004" }] }7. Every Resource Needs meta.profile
"meta": { "profile": ["https://nrces.in/ndhm/fhir/r4/StructureDefinition/Patient"] }8. Patient Identifier with MR Type
"identifier": [{
"type": { "coding": [{ "code": "MR" }] },
"system": "https://healthid.ndhm.gov.in",
"value": "91-7345-1816-0779"
}]9-13: Display Text, versionId, Bundle Profile, Composition ID, Encounter
Every reference needs display. Bundle needs meta.versionId and meta.profile: DocumentBundle. Composition needs identifier and encounter.
SNOMED Codes by Record Type
| HI Type | SNOMED | Profile |
|---|---|---|
| OPConsultation | 371530004 | OPConsultRecord |
| Prescription | 440545006 | PrescriptionRecord |
| DiagnosticReport | 721981007 | DiagnosticReportRecord |
| DischargeSummary | 373942005 | DischargeSummaryRecord |
| ImmunizationRecord | 41000179103 | ImmunizationRecord |
| HealthDocumentRecord | 419891008 | HealthDocumentRecord |
| WellnessRecord | 118228005 | WellnessRecord |
Need Help?
At Nirmitee, we build NRCES-compliant FHIR bundles for all 7 HI types. Our TypeScript SDK generates compliant bundles automatically.
Struggling with healthcare data exchange? Our Healthcare Interoperability Solutions practice helps organizations connect clinical systems at scale. Talk to our team to get started.




