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
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. Contact us.



