Webhook for PA (Pre Authorization) Requests
This document details the webhook payload that providers/EMRs receive whenever an insurer either approves or rejects a PA (Pre Authorization) request created by them.
Note
This feature is not generally available. Providers must reach out to the customer support team or the insurer to have it enabled. The insurer will add the provider's webhook URL to their dashboard to activate this feature.
Payload Structure
The payload sent to the provider's webhook URL is a JSON object with the following structure:
{
"status": "approved/declined",
"id_from_insurer": "string",
"ref": "string",
"pa_total_amount": "number",
"pa_approved_amount": "number",
"code": "string",
"created_at": "datetime",
"opened_at": "datetime",
"closed_at": "datetime",
"diagnoses": {
"icd_code_1": "diagnosis_name_1",
"icd_code_2": "diagnosis_name_2"
},
"services": ["service_name_1", "service_name_2"],
"hmo": {
"name": "string",
"code": "string"
},
"floating_enrollee": "(optional, an object containing the floating enrollee details submitted)",
"enrollee_insurance_no": "string (optional)",
"enrollee_full_name": "string (optional, only if the enrollee is not a floating enrollee)",
"reject_reason": "string (optional, only if status is declined)"
}
Payload Description
Field | Type | Description |
---|---|---|
status | string | The status of the PA request. It can be either Approved or Declined . |
id_from_insurer | string | The unique identifier for the PA request assigned by the insurer. |
ref | string | The reference/identifier passed when creating the PA request. |
pa_total_amount | number | The total amount requested for the PA. |
pa_approved_amount | number | The amount approved by the insurer. |
code | string | The unique PA request code. |
created_at | datetime | The datetime when the PA request was created. |
opened_at | datetime | The datetime when the PA request was opened. |
closed_at | datetime | The datetime when the PA request was closed. |
diagnoses | object | An object containing the ICD codes and corresponding diagnosis names. |
services | array | An array of strings, containing the names of each service requested in the PA request. |
hmo.name | string | The name of the HMO/Insurer the PA request was created to |
hmo.code | string | The code of the HMO/Insurer the PA request was created to |
floating_enrollee | object | (Optional) If the PA request is for a floating enrollee, this field contains the details. |
enrollee_insurance_no | string | (Optional) The insurance number of the enrollee if it's not a floating enrollee |
enrollee_full_name | string | (Optional) The full name of the enrollee if it's not a floating enrollee |
reject_reason | string | (Optional) The reason for rejection, provided only if the status is declined . |
Example Payload
Here is an example of a webhook payload for an approved PA request:
{
"status": "Approved",
"id_from_insurer": "12345",
"ref": "yourRef",
"pa_total_amount": 5000,
"pa_approved_amount": 4500,
"code": "PA123456",
"created_at": "2024-07-29T12:34:56Z",
"opened_at": "2024-07-29T13:00:00Z",
"closed_at": "2024-07-29T14:00:00Z",
"diagnoses": {
"A01": "Typhoid fever",
"B02": "Zoster [herpes zoster]"
},
"services": ["Consultation", "Lab Test"],
"hmo": {
"name": "Wayne HMO",
"code": "BruceW"
},
"enrollee_insurance_no": "INS123456",
"enrollee_full_name": "John Doe"
}
And here is an example of a webhook payload for a rejected PA request:
{
"status": "Declined",
"id_from_insurer": "12345",
"ref": "yourRef",
"pa_total_amount": 5000,
"pa_approved_amount": 0,
"code": null,
"created_at": "2024-07-29T12:34:56Z",
"opened_at": "2024-07-29T13:00:00Z",
"closed_at": "2024-07-29T14:00:00Z",
"diagnoses": {
"A01": "Typhoid fever",
"B02": "Zoster [herpes zoster]"
},
"services": ["Consultation", "Lab Test"],
"hmo": {
"name": "Wayne HMO",
"code": "BruceW"
},
"enrollee_insurance_no": "INS123456",
"enrollee_full_name": "John Doe",
"reject_reason": "Insufficient documentation provided"
}