Authorised entity: search for claim information
Authorised entity such as NHA or IRDAI sends a Task to retrieve claim information for a case; the payer returns the documents on the search callback.
Business purpose
Regulators and scheme authorities need to see what was actually claimed and decided for a given case without being a party to the original exchange. The Search API is that privileged pull path: an authorised entity submits a Task naming the case, and the payer supplies the claim documents. It supports oversight, audit and dispute review, and it lets payers answer such requests through the same encrypted, correlated channel as everything else on NHCX. The documented callers are NHA and IRDAI; a provider integration usually implements only the responding side.
When to use
Use it when an authorised body such as NHA or IRDAI needs the claim documents for a known case, for example during an audit. The result arrives later on /v1/search/on_submit.
Preconditions
- You are an entity allowed to search, registered on NHCX, with a valid access token.
- The payload is an encrypted FHIR
Taskthat points to the case being queried. x-hcx-correlation_IDcarries the correlation ID of the request being queried.
Postconditions
NHCX answers 202 at once. The payer sends the documents later on /v1/search/on_submit. Search only reads, so nothing about the case changes.
Common mistakes
- Using search to ask where a request is. Use
/v1/statusfor that. - Sending a
CommunicationRequestinstead of aTask. - Making a new correlation ID instead of carrying the one being queried.
- Expecting the documents in the
202.
Best practices
- Reference the case in Task.about using the sender's own reference ID and keep it consistent with the correlation ID you carry.
- Persist the correlation ID so the on_submit result can be matched.
- Use fresh API_call_ID values, IST timestamps and request.initiated on the outbound header.
- Handle 404 as a signal that the correlation ID is unknown to the gateway, not as a retry trigger.
- Implement v1/error and the on_submit receiver before submitting searches.
Related scenario
A scheme authority reviewing a grievance about a rejected claim needs the payer's adjudication record. Its integration posts /v1/search/submit with a Task whose about element names the case and whose header carries the claim's correlation ID. The gateway acknowledges with 202 and forwards the Task to the payer. The payer's system locates the ClaimResponse for the reference number and returns it on /v1/search/on_submit with basedOn holding the authority's reference and about holding the payer's reference and current status. The authority then compares it with the provider's original /v1/claim/submit bundle.
Specification
Chapter NHCX adapter (Optional) 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 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 The gateway returns HTTP 202 with a StatusSuccessResponse (timestamp, api_call_id, correlation_id, result with sender_code, recipient_code, entity_type and protocol_status, and error), or 400, 404 or 500 in the same envelope.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<provider participant code>x-hcx-recipient_codestringRequired<payer participant code>x-hcx-api_call_idstringRequired<uuid>x-hcx-request_idstring<uuid>x-hcx-correlation_idstringRequired<uuid>x-hcx-timestampstringRequired<iso timestamp>x-hcx-statusstringRequiredrequest.initiatedx-hcx-ben-abha-idstring<14-digit ABHA number>Body
payloadstringResponses
202timestampstringapi_call_idstringcorrelation_idstringresultobjectresult.sender_codestringresult.recipient_codestringresult.entity_typestringresult.protocol_statusstringerrorobjecterror.codestringerror.messagestring
Callbacks
- NHCX delivers this call to the payer, on the payer's own
/v1/search/submit, not back to you. Payer receives a claim search. - The payer's answer comes back to you on
/v1/search/on_submit, the callback you host.