Payer: send the task outcome
Payer returns a Task bundle with Task.status completed whose Task.output references a ClaimResponse carrying the reprocess or cancellation outcome.
Business purpose
This callback closes the appeal or cancellation the provider opened on /v1/task/submit. It carries the payer's final decision on a reprocess (approved, partially approved, queried or rejected) or confirms a pre-authorisation cancellation, in the same ClaimResponse shape used for ordinary adjudication so hospitals can reuse their parsers. Because the reprocess response is final within the workflow, it delivers closure, a clean audit trail and reduced ambiguity for both sides, which is the point of moving disputes inside NHCX.
When to use
The payer calls it to answer a reprocess or cancellation Task. The answer is a completed Task that points at a ClaimResponse with the new decision. A cancellation is confirmed on workflow PC02.
Preconditions
- The payer answered the incoming Task with
202within 30 seconds. - A valid access token and the provider's certificate.
- The header reuses the Task's
x-hcx-correlation_ID. - The
ClaimResponseinside is built like any other decision.
Postconditions
- NHCX answers
202and forwards the answer to the provider. - The provider reads the
ClaimResponsethe Task points at, like any other decision. - The reprocess decision is final. A cancelled pre-authorisation needs a new one if treatment resumes.
Common mistakes
- Looking for the
ClaimResponsedirectly in the bundle instead of following the Task's output. - Reading outcome
completeas approval. A rejection is alsocomplete. - Sending a new correlation ID on the answer.
- Sending a bare
ClaimResponsewithout the Task around it.
Best practices
- Payer: acknowledge first, re-adjudicate asynchronously, then post the Task bundle with the outcome workflow ID and ClaimResponse nested in Task.output.
- Provider: share the ClaimResponse parser between /v1/claim/on_submit and this callback; only the extraction path differs.
- Branch on adjudication reason as well as outcome; check processNote for reductions or query text.
- "Terminate the appeal branch of the case state machine on 252 or 253. On 254, note that NHCX publishes no workflow code for the answer: the handbook's 19 is the preauthorisation query response code, so confirm with the payer how it wants the answer sent."
- Be idempotent on correlation ID; expect redeliveries.
- Fresh API_call_ID, IST timestamp, responder status on the callback header.
Related scenario
A scheme payer's TPA receives a reprocess Task on a rejected claim with the missing implant invoice attached. Its endpoint returns 202 and the case reopens for re-adjudication with the original claim, the new document and the justification. The reviewer approves at the package rate, and the TPA posts /v1/task/on_submit: a Task bundle, status completed, Task.output referencing a ClaimResponse with outcome complete, workflow 252, under the claim's correlation ID. The hospital acknowledges within 30 seconds, extracts the ClaimResponse from Task.output, marks the appeal closed and awaits the payment notice on /v1/paymentnotice/request.
Specification
Chapter Cancel, reprocess and shortfall of the NHCX integration specification. Every NHCX call carries the access token from the session call in a header named Example These fields go in the JWE protected header of Key management algorithm. Always Example Content encryption algorithm. Always Example Your participant code. Mandatory on the envelope. Example The recipient's. For a provider, the processor code from the policy lookup. Mandatory on the envelope. Example Fresh on every message, including responses. Mandatory on the envelope. Example One per originating request. The Open Protocol page marks it Mandatory; the Technical Specifications page marks it Optional. Optional on the envelope. Send it anyway, as a fresh UUID per originating request: it is cheap and satisfies both readings until NHA rules. Example The thread that ties a request to its answers. The correlation ID rule says when to reuse it. Mandatory on the envelope. Example Which step, or which case. The workflow code explains both readings. Optional on the envelope. Example The time the message was made. Timestamp gives the format. Mandatory on the envelope. Example Where this message stands. Status words lists the values. Mandatory on the envelope. Example The beneficiary's ABHA number. Optional: send it when the beneficiary has an ABHA number. Optional on the envelope. Example Always One of The gateway returns HTTP 202 with the StatusSuccessResponse envelope (400, 404, 500 in the same shape) and forwards the bundle to the provider, which must acknowledge within 30 seconds.Authorizations
bearer_authapiKeyRequiredbearer_auth, as the word Bearer, a space and the token. NHCX reads bearer_auth, not Authorization.Bearer <access token>Protected header
payload, not as HTTP headers. Building and sending a JWE shows how to prepare and encrypt the payload, and Receiving a callback how to decrypt one.algstringRequiredRSA-OAEP-256: the content key is wrapped with the recipient's RSA public key.RSA-OAEP-256encstringRequiredA256GCM.A256GCMx-hcx-sender_codestringRequired<payer participant code>x-hcx-recipient_codestringRequired<provider participant code>x-hcx-api_call_idstringRequired<uuid>x-hcx-request_idstring<uuid>x-hcx-correlation_idstringRequired<uuid>x-hcx-workflow_idstring252x-hcx-timestampstringRequired<iso timestamp>x-hcx-statusstringRequiredresponse.completex-hcx-ben-abha-idstring<14-digit ABHA number>Body
typestringRequiredJWEPayload. Every response (on_) call sends it beside payload.JWEPayloadpayloadstringRequiredResponses
202timestampstringapi_call_idstringcorrelation_idstringresultobjectresult.sender_codestringresult.recipient_codestringresult.entity_typestringresult.protocol_statusstringerrorobjecterror.codestringerror.messagestring
Callbacks
- NHCX delivers this call to the provider, on the provider's own
/v1/task/on_submit, not back to you. Provider receives the task outcome.