> ## Documentation Index
> Fetch the complete documentation index at: https://docs.silnahealth.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Payor Detection Overview

Payor Detection lets you discover which payors a patient has active coverage with. Given a patient, Silna will
query the payors configured for the patient's provider and return which ones have an active plan for that patient along with the plan details.

## How It Works

1. **Create a run** using the [POST endpoint](/api-reference/v1payordetectionrunresource/create-payor-detection-run), passing the patient ID.
2. **Poll for results** using the [GET endpoint](/api-reference/v1payordetectionrunresource/get-payor-detection-run) with the returned run ID. Results are typically fast.
3. **Inspect detections** once the run status is `COMPLETE`. Each detection tells you whether coverage was found, and if so, with which payor.

## Activating Payor Detection

Payor Detection must be enabled for your provider before you can create runs. Once enabled, Silna queries the specific payors configured for your provider. To enable Payor Detection or to adjust which payors are included, reach out to your Silna Account Manager.

## Understanding Results

Each detection in the response has two key fields that work together: `status` and `confidence_level`.

### Confidence Levels

`confidence_level` is a high-level summary that tells you how to act on the result:

| Confidence Level     | Meaning                                                                               | Action                                                                                                                    |
| -------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| `COVERAGE_FOUND`     | Confirmed active coverage with a known payor and member number                        | Actionable. Create a patient plan using the [Patient Plan API](/api-reference/v1patientplanresource/create-patient-plan). |
| `POTENTIAL_COVERAGE` | Coverage was found but something is missing (e.g., no member number or unknown payor) | Review recommended. You may need to obtain additional information before creating a plan.                                 |
| `NO_COVERAGE`        | No actionable coverage was found                                                      | No action needed.                                                                                                         |

### Detailed Statuses

`status` provides a more specific explanation for each detection. Each status maps to one of the confidence levels above:

**COVERAGE\_FOUND:**

* `ACTIVE_PLAN` — An active plan was found for this patient with a known payor and member number.

**POTENTIAL\_COVERAGE:**

* `ACTIVE_PLAN_NO_MEMBER_NUMBER` — A plan was found but no member number was returned. The plan may still be valid, but you will need to obtain the member number before creating a patient plan.
* `ACTIVE_PLAN_OTHER_PAYOR` — A plan was found, but the detected payor could not be identified. The `detected_payor_entity_id` and `detected_payor_entity_name` fields will be empty.

**NO\_COVERAGE:**

* `NO_ACTIVE_PLAN` — No active plan was found for this patient with this payor.
* `ACTIVE_PLAN_EXPIRED` — A plan was found but it has already expired.
* `ACTIVE_PLAN_DENTAL_OR_VISION` — A plan was found but it is a dental or vision plan, not medical.
* `ACTIVE_PLAN_RELATED_PAYOR` — A plan was found, but the patient already has an existing plan with a related payor (e.g., a subsidiary or parent organization of the same payor family).
* `ACTIVE_PLAN_MEDICAID_DUPLICATE` — A Medicaid plan was found, but the patient already has an active Medicaid plan on file.

## Queried Payor vs Detected Payor

Each detection includes both a **queried payor** and a **detected payor**. Understanding the difference is important:

* **Queried payor** (`queried_payor_entity_id`, `queried_payor_entity_name`) — The payor that Silna asked about the patient's coverage. This is informational.
* **Detected payor** (`detected_payor_entity_id`, `detected_payor_entity_name`) — The payor that actually covers the patient. **This is the payor you care about.** The detected payor may differ from the queried payor. For example, querying a large national payor may reveal that the patient's plan is actually administered by a regional subsidiary.

When creating a patient plan from a detection, use the `detected_payor_entity_id`.

## Other Payors (Coordination of Benefits)

The `other_payors` field lists additional payors identified in the response. If present, this indicates the patient may have
coordination of benefits with other insurance. The names in this field are raw strings from the eligibility response and may not
match Silna payor entity names exactly, but they can be a useful signal that the patient has additional coverage worth investigating.

## Patient Identity Confirmation

Each detection returns `patient_first_name`, `patient_last_name`, and `patient_date_of_birth` as reported by the payor.
These fields are useful for confirming that the correct patient was matched during the eligibility check.

## Creating a Patient Plan from a Detection

When you find a detection with `confidence_level` of `COVERAGE_FOUND`, you have everything you need to create a patient plan:

1. Use the `detected_payor_entity_id` as the payor for the plan
2. Use the `member_number` as the member/subscriber number
3. Call the [Create Patient Plan API](/api-reference/v1patientplanresource/create-patient-plan) with these details
