---
title: "NHCX Participant (Provider) ID Generation"
description: "How a hospital obtains its production NHCX participant code (V2 onboarding with passcode confirmation)."
date: 2026-08-21
lastModified: 2026-09-28
category: "nhcx"
author: "Dr. Umesh Bilagi"
beta: true
---

## Overview

To exchange claims and pre-authorization data over NHCX (National Health Claims Exchange), a hospital must first register as a **participant** on the NHCX registry. After registration, the hospital receives a unique **participant code** that identifies it on the exchange.

In production, participant codes end in `@hcx` (for example `1234567890@hcx`). The registration is confirmed with a one-time **passcode** sent to the hospital's registered mobile number.

> This article covers **provider (hospital) onboarding** in production. Payer-side operations are handled through separate tooling and are not covered here.

## Prerequisites

Before you can generate an NHCX participant code, the organization must have:

- A **paid plan that supports NHCX** — **Hospital**, **Lab**, **Enterprise** or **LargeEnterprise** — with a **valid (unexpired) subscription**. Free and Clinic plans cannot register a participant code.
- A valid **ABDM HFR ID** (Health Facility Registry ID) configured for the organization — see [ABDM Setup](/docs/abdm-setup) for where to enter it.
- A **mobile number** that matches the one recorded in the HFR registry. NHCX validates the mobile number against HFR records and sends the confirmation passcode to it.

If the organization does not have an HFR ID, participant registration cannot proceed — the create step stops with **"Organization does not have an ABDM HFR ID."** Enter the HFR ID first, then retry.

> **Registration vs. processing.** Registering a participant code needs only a valid subscription — it does **not** need the NHCX option. That covers the whole onboarding flow, including the **update** step that uploads the certificate and endpoint (Steps 3–4). On **Hospital** and **Lab** plans, however, actually *processing* NHCX transactions (pre-auth, claims) requires the NHCX option to have been bought with the subscription. **Enterprise** and **LargeEnterprise** include NHCX processing automatically. See [Pricing & Plans](/docs/pricing).

## Production onboarding (4 steps)

Registering a provider in production is a four-step process, completed from the Admin panel.

### Step 1 — Create the participant

1. Sign in as an **Admin** and open **Create NHCX Participant** — the **NHCX** tile on the admin dashboard, or `/admin/admin/org/nhcx-participant/{orgId}`.
2. Enter the organization's **Mobile** number and **Email**.
3. Submit the form.

The system calls the NHCX V2 "create participant" API using the organization's HFR ID as the registry ID (registry type **HFR `10001`**, role **Provider `10001`**). NHCX validates the mobile number against HFR records and sends a **passcode** to that mobile number. The API returns a transaction ID and a preliminary participant ID.

### Step 2 — Confirm creation with the passcode

1. The app redirects you to the **Passcode NHCX Participant** page.
2. Enter the **passcode** received on the registered mobile number.
3. Submit.

The app confirms the creation with NHCX on your behalf, so there is no link to open — the confirmation needs credentials only the app holds. The page reports NHCX's result when it returns.

> **If the facility is already registered on NHCX, no passcode is sent and this step is skipped.** NHCX replies that the participant id was already created and does not start a new creation, so there is nothing to confirm. The app saves the existing participant code and takes you straight to the update step (Step 3).

### Step 3 — Update the participant (upload certificate and endpoint)

1. Open the update page — the **NHCX Update** tile on the admin dashboard, or `/admin/admin/org/nhcx-update-participant/{orgId}`.
2. The system uploads the organization's public **encryption certificate** and the **endpoint/bridge URL** to finalize registration.
3. NHCX sends a **second passcode** to the registered mobile number.

> **The page sends a passcode as soon as it opens.** The update is submitted on page load, so each visit — including reopening it from the dashboard — sends a fresh passcode and invalidates the previous transaction. If several passcodes arrive, only the newest is accepted.

### Step 4 — Confirm the update with the passcode

1. On the passcode page, enter the second passcode received on the mobile number.
2. Submit to confirm the update.

As in Step 2, the app performs the confirmation with NHCX itself rather than opening a link.

The participant is now fully registered and active on NHCX.

> **Note:** The passcode and transaction ID are valid for 24 hours. If you lose or miss a passcode, re-run the create or update step to generate a fresh transaction ID and passcode.

## Common Issues

**Two passcodes arrived and neither is accepted.**
The update step sends a passcode every time its page loads, and each run invalidates the previous transaction. Open the update page **once**, wait for the newest SMS, and confirm that one immediately.

**The passcode page says "No pending transaction".**
That page needs the transaction it was reached with, which the app passes on redirect. Opening it directly, from a stale tab, or after the transaction expired leaves it with nothing to confirm. Start again from **Create NHCX Participant**.

**The create step stops with "Organization does not have an ABDM HFR ID."**
The organization has no HFR ID configured. Enter it under [ABDM Setup](/docs/abdm-setup) first, then retry the create step.

**The passcode was accepted but the participant still is not active.**
Steps 1–2 and steps 3–4 are separate: creating the participant does not upload the certificate or endpoint. Complete the update step before expecting transactions to work.

## FAQ

**Q: What is an NHCX participant code?**
A: A unique identifier assigned to a hospital (provider) when it registers on the NHCX registry. It identifies the hospital on the exchange for claims, pre-authorization, and related workflows. In production it ends in `@hcx`.

**Q: How do I get my hospital's NHCX participant code?**
A: As an Admin, complete the four-step onboarding: create the participant from **Create NHCX Participant**, confirm the passcode, then update the participant (which uploads the encryption certificate and endpoint) and confirm the second passcode.

**Q: Where do I enter the passcode?**
A: After creating (or updating) a participant, the app shows a **Passcode NHCX Participant** page. Enter the passcode that was SMS'd to the registered mobile number there.

**Q: I didn't receive a passcode, or it expired. What should I do?**
A: Passcodes and transaction IDs are valid for 24 hours. Re-run the create or update step — each run generates a new transaction ID and sends a new passcode to the registered mobile number.

**Q: The create step succeeded but no passcode ever arrived. Why?**
A: If the facility is already registered on NHCX, the create step does **not** send a passcode — NHCX replies that the participant id already exists and starts no new creation, so there is nothing to confirm. The app recognises this, saves the existing participant code, and takes you straight to the update step, where the passcode is sent as normal. If you are waiting on a create passcode for a facility you know is already registered, skip to Step 3.

**Q: Why can't I create a participant code?**
A: Participant registration needs a paid plan that supports NHCX — **Hospital**, **Lab**, **Enterprise** or **LargeEnterprise** — with a valid (unexpired) subscription. Free and Clinic plans cannot register. If your subscription has expired, renew it first.

**Q: I registered a participant code on a Hospital or Lab plan. Why are pre-auth and claims still blocked?**
A: Registration and processing are separate rights. On **Hospital** and **Lab**, processing NHCX transactions requires the **NHCX option** to have been bought with the subscription. Enterprise and LargeEnterprise include it automatically. Buying the option is done at subscription purchase (or renewal); after buying, sign out and back in so the new entitlement is picked up by your session.

**Q: Why does the mobile number need to match HFR?**
A: NHCX validates the mobile number against the one recorded in the HFR (Health Facility Registry) and sends the confirmation passcode to it. The numbers must match for registration to succeed.

**Q: Does this cover insurance payers too?**
A: No. This flow is for **providers (hospitals)**. Payer onboarding and payer-side operations are handled through separate tooling.

**Q: I already have a participant code. Do I need to create it again?**
A: No. If the organization is already registered, use the update flow (`/admin/admin/org/nhcx-update-participant/{orgId}`) to update details such as the encryption certificate or endpoint URL.

**Q: The create step reported "Participant Id was Already Created". Is something wrong?**
A: No. If the facility is already registered on NHCX, running create again returns the existing participant code — in production it is the HFR ID followed by `@hcx` (for example `IN2910013021@hcx`) — and the system adopts that code instead of registering a second one. No passcode is sent for this, so the app does not ask for one: it takes you straight to the update step.

**Q: What address does NHCX send its callbacks to?**
A: The organization's registered **endpoint URL** on the NHCX registry. Nice HMS registers it automatically during onboarding, so there is nothing to enter. It must not end with a forward slash — NHCX rejects such a value (error `NHCX-1051`) — and the system strips any trailing slash before registering it.
