Skip to main content

Preauthorisation response

The payer's answer, on the provider's /v1/preauth/on_submit callback. A collection bundle whose spine is a ClaimResponse carrying the request's case number. The same shape carries an acknowledgement, an approval, a query and a rejection.

Sent on /v1/preauth/on_submit.

The bundle​

#ResourceProfile
1ClaimResponsenone declared; NRCeS ClaimResponse
2Patientnone declared; NRCeS Patient
3Organization (pay)none declared; NRCeS Organization
4Organization (prov)none declared; NRCeS Organization
5Coveragenone declared; NRCeS Coverage

Elements​

ClaimResponse​

NRCeS profile: ClaimResponse.

ElementExample
identifier[]system <participant-defined>, value NM-26-0SE00002M
identifier[].type.coding[]CLN Claim number in https://nrces.in/ndhm/fhir/r4/CodeSystem/ndhm-identifier-type-code
statusactive
usepreauthorization
patientreference <participant-defined>
created2026-09-10T23:54:09+05:30
insurerreference <participant-defined>
requestorreference <participant-defined>
outcomecomplete
dispositionApproved after the status enquiry.
preAuthRefCL/26/0SE000108
payeeType.coding[]provider Provider in http://terminology.hl7.org/CodeSystem/payeetype
item[]id Item/LI-899f9802, itemSequence 1
item[].adjudication[].category.coding[]submitted Submitted Amount in https://hl7.org/fhir/R4/valueset-adjudication.html
eligible Eligible Amount in https://hl7.org/fhir/R4/valueset-adjudication.html
reason Reason for Adjudication in https://hl7.org/fhir/R4/valueset-adjudication.html
and 1 more
item[].adjudication[].amountvalue 150000
item[].adjudication[].reason.coding[]display Approved after the status enquiry.
Approved Approved
adjudication[].category.coding[]status Status
adjudication[].reason.coding[]approved Approved
total[].category.coding[]benefit Benefit Amount in https://hl7.org/fhir/R4/valueset-adjudication.html
submitted Submitted Amount in https://hl7.org/fhir/R4/valueset-adjudication.html
eligible Eligible Amount
total[].amountvalue 150000
total[]id MRAV1985001/SANDBOX-DEFAULT-01

Patient​

NRCeS profile: Patient.

ElementExample
identifier[]system <participant-defined>, value MRAV1985001
identifier[].type.coding[]MB Member Number in http://terminology.hl7.org/CodeSystem/v2-0203
name[]family Kumar, given Ravi, text Ravi Kumar
gendermale
birthDate1985-06-15

Organization (pay)​

NRCeS profile: Organization.

ElementExample
activetrue
identifier[]system https://facility.abdm.gov.in, value 1000004805
identifier[].type.coding[]NIIP National Insurance Payor Identifier (Payor) in http://terminology.hl7.org/CodeSystem/v2-0203
type[].coding[]pay Payer in http://terminology.hl7.org/CodeSystem/organization-type
nameSandbox Payer

Organization (prov)​

NRCeS profile: Organization.

ElementExample
activetrue
identifier[]system https://facility.abdm.gov.in, value IN1910000151
identifier[].type.coding[]NPI National provider identifier in http://terminology.hl7.org/CodeSystem/v2-0203
type[].coding[]prov Healthcare Provider in http://terminology.hl7.org/CodeSystem/organization-type
nameXYZ Multispeciality Hospital

Coverage​

NRCeS profile: Coverage.

ElementExample
identifier[]system <participant-defined>, value SANDBOX-DEFAULT-01
identifier[].type.coding[]NH National Health Plan Identifier in http://terminology.hl7.org/CodeSystem/v2-0203
statusactive
type.coding[]HIP health insurance plan policy in http://terminology.hl7.org/CodeSystem/v3-ActCode
beneficiaryreference <participant-defined>
periodstart 2026-01-01T00:00:00+05:30, end 2026-12-31T00:00:00+05:30
payor[]reference <participant-defined>
class[]id POL7UMU002, value SANDBOX-DEFAULT-01
class[].type.coding[]XV Health Plan Identifier in http://terminology.hl7.org/CodeSystem/v2-0203

The answers​

The same bundle, told apart by the workflow code, outcome and the claim-level adjudication reason.

VariantWorkflowoutcomereason
Acknowledged20queuedsubmitted Submitted
Approved21completeapproved Approved
Enhancement approved22completeapproved Approved
Rejected23errorrejected Rejected
Queried24partialqueried Queried

Rules​

Read outcome with the reason​

outcome complete covers approval and rejection alike. Read it with adjudication[].reason at claim level.

Answer early, decide later​

Acknowledge at once on 20 as response.partial, then decide on 21 or 23 as response.complete, or the exchange retires the correlation before the adjudicator gets to it.

The case number​

preAuthRef carries the payer's own case number. Store it on arrival; later requests on the case name it.

Items by sequence​

Read item adjudication by itemSequence, never by array position. A reduced amount does not force outcome to partial; reconcile the amounts yourself.

Totals​

total[] carries benefit, submitted and eligible. The eligible total names the member and the plan in its id; key on the category and the id together.

disposition is prose​

For a human. Route on outcome and the adjudication codes.

Match on the case number​

Join the response to the request on identifier and preAuthRef, never on the provider identifier or name, which can change shape between request and response.

Adjudication systems​

Some senders bind adjudication categories to a documentation URL. Match on the code.

PMJAY​

The generic bundle above is what every payer takes, IRDAI-regulated insurers and TPAs included. PMJAY takes it with the changes and requirements below.

What changes in the bundle​

PMJAY sends this exchange in the generic shape.

What PMJAY specifies​

  • A rejection is outcome error with reason rejected and benefit 0. Generic payers send complete with cancelled or rejected. Handle both.
  • A query is outcome partial with reason queried, the question as free text in the item adjudication; see the query chapter.
  • preAuthRef carries the scheme's case id. It is what the payer service uses to address the case.

What PMJAY requires​

  • Store the case reference the moment it arrives. Enhancements, claims and the payer service address the case by it.

Use cases, APIs and data elements​

C5 Respond to pre-authorisation (payer)​

The adjudicated pre-authorisation. The acknowledgement on 20 travels as response.partial and carries the payer's own case number; the decisions travel as response.complete. Read outcome and the adjudication amounts together: complete covers approval and denial alike. Under PMJAY a query is this ClaimResponse on 24 or 241, on the case's own thread.

API/v1/preauth/on_submit apis/03-preauth/v1-preauth-on-submit.bru
Callback/v1/preauth/submit apis/03-preauth/v1-preauth-submit.bru
Workflow20 received, 21 approved, 23 rejected, 24 queried, 22 enhancement approved, 231 denied, 241 queried
Carries JWEyes
Focal resourceClaimResponse

Request headers

HeaderExample value
x-hcx-sender_code1518@hcx
x-hcx-recipient_code1000004446@hcx
x-hcx-api_call_id{{$guid}}
x-hcx-request_id{{$guid}}
x-hcx-correlation_id{{$guid}}
x-hcx-workflow_id21
x-hcx-timestamp{{$isoTimestamp}}
x-hcx-statusresponse.complete
x-hcx-ben-abha-id91711234567890
x-hcx-debug_flagINFO

Workflow codes

CodeNameAuthored byx-hcx-statusMeans
20Preauth Request Receivedpayerresponse.partial, response.errorPayer has received and acknowledged the preauth request
21Preauth Request Approvedpayerresponse.completePreauth fully approved - proceed with treatment
23Preauth Request Rejectedpayerresponse.completePreauth rejected - review error/processNote for reason
24Preauth Request Queriedpayerrequest.initiatedPayer needs more information - respond using workflow 19
22Enhancement Request Approvedpayerresponse.completeEnhancement request approved by payer
231Enhancement Denystatus sheet onlyresponse.complete
241Enhancement Request Queriedpayerrequest.initiatedEnhancement request queried by payer

Data elements

ElementLabelGroupTypeCard.FHIR pathExampleNotes
outcomeVerdict OutcomeVerdictcode1..1ClaimResponse.outcomecomplete
preAuthRefPayer Case Tracking IDVerdictstring0..1ClaimResponse.preAuthRefAPPR-2026-HP-00891
approvedAmountApproved Pre-auth SanctionFinancialsdecimal0..1ClaimResponse.total[category=benefit].amount.value15500.00
dispositionAdjudicator RemarksVerdictstring0..1ClaimResponse.dispositionApproved by PPD-Trust committee

NRCeS profiles: ClaimResponse.