Skip to main content
NHCX (National Health Claims Exchange) carries cashless insurance claims between your hospital and the payer, including PMJAY. ABDM Connect builds the FHIR bundles, signs and encrypts them, talks to the exchange and parses the payer’s answers. You send plain JSON and read the results back. Every NHCX API is under /abdm/nhcx/v1 and takes the common authentication and headers. X-Hip-Id selects the facility the claim is raised from.

The Claim Journey

A claim is the case every call after setup hangs off. Create one per hospitalisation and keep its claim_id against your admission.
1

Find the payer and the policy

Search Payers gives the participant_code used as payer_id. Then Search Policies by member ID, ABHA number or mobile number. Try the member ID first when the patient has a PMJAY card.If no policy comes back, call Discover Policy and poll Policy Discovery Status until status is found.
2

Check eligibility

Check Eligibility says whether the policy is in force and returns the wallet balance. The payer rejects pre-auths above the wallet balance, so show it.
3

Pick procedures from the catalogue

Browse the policy’s catalogue with List Specialities, List Procedures and Get Procedure. If the catalogue is empty, call Refresh Plan.
4

Create the claim

Create Claim with the policy_id and the chosen procedures. It returns the claim_id and asks the payer which documents and questionnaires each procedure needs. That answer arrives on the coverage_eligibility row of Get Claim Requests and drives the pre-auth form.
5

Authenticate the beneficiary

Send a consent questionnaire on the submit, or capture biometrics with Init Biometric Auth and Verify Biometric Auth, then pass the user_token with auth_type: biometric. Cyclic procedures such as dialysis and chemotherapy need a biometric capture on every treatment visit.
6

Submit the pre-auth

Submit Pre-auth with the treating doctor, diagnosis, documents and answers. Use the same API with a different request_type to answer a payer query, resubmit after a rejection or ask for an enhancement. Cancel Pre-auth withdraws it.
7

Submit the claim

After discharge, Submit Claim with the discharge details, itemized billing and mandatory documents. Each billed line gets its own verdict.
8

Track payment and disputes

Get Claim Payments lists the payer’s payment notices. A rejected claim, or one settled with more than 20% deducted, can be appealed once with Reprocess Claim. Get Claim tells you which in review_path.
Users fill long forms over several sittings. Save Draft stores a partial pre-auth or claim form without submitting it.

Every Submit Is Asynchronous

A 2xx on a submit means the request reached the payer, not that it was approved. Each submit returns a request_id with status: "request.initiated":
Poll Get Claim Request with that request_id: Poll every 5 to 10 seconds for the first minute, then back off. Some procedures take the payer hours to decide. Get Claim Requests lists every exchange on a claim. Build your screens from it rather than from the claim’s status alone: it shows which request is pending, queried or failed.

Errors

An errored request uses up nothing. A corrected submission is not penalised, and earlier approvals stand.

Conventions

  • Enums are open. Compare values case-insensitively and show unknown values as they are.
  • Flags before caps. In Get Procedure, read a cap such as a quantity or cycle limit only when its flag is set.
  • Dates are YYYY-MM-DD. Date-times are RFC 3339 with the +05:30 offset.
  • Documents are sent inline as base64 content. Read them back with Get Claim Request Document.

Records Adapter

The payer often wants the clinical records behind a claim. Register your HIS records API once with Register Records Adapter, and ABDM Connect fetches an admission’s visits and their FHIR bundles from it through Get Admission Visits and Get Visit FHIR.