Nirmitee.io
Why Your ABDM FHIR Bundles Show NA in PHR: 13 Fixes for NRCES Compliance

Why Your ABDM FHIR Bundles Show NA in PHR: 13 Fixes for NRCES Compliance

March 20, 2026
12 min read
Healthcare

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

  1. Composition — MUST be first entry (FHIR invariant bdl-11)
  2. Practitioner — Composition.author
  3. Organization — Composition.custodian with HFR facility ID
  4. Patient — Composition.subject with ABHA identifier
  5. Encounter — Composition.encounter
  6. 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 TypeSNOMEDProfile
OPConsultation371530004OPConsultRecord
Prescription440545006PrescriptionRecord
DiagnosticReport721981007DiagnosticReportRecord
DischargeSummary373942005DischargeSummaryRecord
ImmunizationRecord41000179103ImmunizationRecord
HealthDocumentRecord419891008HealthDocumentRecord
WellnessRecord118228005WellnessRecord

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.

Frequently Asked Questions

Why does PHR show NA for patient name?

Missing Patient resource or Composition.subject not using urn:uuid: format with display text.

What FHIR profile for ABDM bundles?

NRCES DocumentBundle: https://nrces.in/ndhm/fhir/r4/StructureDefinition/DocumentBundle

Must Composition be first entry?

Yes. FHIR invariant bdl-11 requires it. ABDM rejects bundles that violate this.

What Organization identifier does ABDM expect?

HFR ID with system https://facility.ndhm.gov.in and type PRN.