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

# VSP Vision Care

> Technical documentation for integrating with VSP Vision Care through Noyo

|                               |                             |
| ----------------------------- | --------------------------- |
| **API**                       | Snapshot                    |
| **COBRA**                     | Supported                   |
| **Geographies**               | All                         |
| **Group Size**                | No minimum group size       |
| **Lines**                     | Vision                      |
| **Name**                      | VSP                         |
| **Network**                   | Send                        |
| **New Group Connection Time** | Ready for groups by OE 2024 |

## Group connections

[Create a group connection request](/docs/groups/connections/request-a-group-connection) to manage groups through Noyo. In the `group_data` object for the create endpoint, use the 7 digit VSP group ID (also called the master agreement number) for the `carrier_group_id`.

### Sandbox testing

Use the following special VSP `carrier_group_id`s to simulate different group connection statuses. Test group connections with these IDs will asynchronously update with the corresponding status within 10 seconds of submission.

Only the first three characters are evaluated to figure out the target status (e.g. 989 means `noyo_review`). Since group connections should be unique by a carrier ID and carrier group ID combination, you may use the final characters to iterate and test this interaction further.

| Test ID Pattern | Resulting Status                |
| --------------- | ------------------------------- |
| 989\*\*\*       | `noyo_review`                   |
| 767\*\*\*       | `waiting_on_carrier`            |
| 545\*\*\*       | `action_required`               |
| 323\*\*\*       | `unable_to_connect`             |
| 212\*\*\*       | `move_to_carrier_authorization` |

## Carrier configurations

<Warning>
  [Dynamic config](/docs/groups/mapping/explicit-vs-dynamic-configuration#dynamic-config-automap) is recommended for all new Noyo integrations and makes carrier-specific config values no longer required.
</Warning>

Group, plan, and member configurations are where Noyo shares and receives details that are **unique** to a carrier. Every other part of Noyo's payloads are standardized, but the configurations hold the unique fields and classifications that change from connection to connection. As part of preparing to connect to a new carrier, you need to understand the contents of each configuration and be sure your system is able to send the required data for each member.

### Get the group configuration from Noyo

*The [group carrier configuration endpoint](/api-reference/groups/configurations/get-carrier-configuration-by-group-list) returns information about how the group is labeled and categorized within the carrier's system. You can also see this data in the Command Center on a group's detail page by clicking one of their carrier connections.*

VSP groups will be configured with a `master_agreement_number` string, which is the primary group identifier, along with a list of one or more `divisions` (4 digit numeric code) to categorize employees enrolling in coverage.

```json theme={"system"}
{
    "group_id": "da8d32cc-ce9d-4cf3-9360-733ee0023f1f",
    "carrier_id": "66a21c95-4764-4acb-91a4-08319e27f507",
    "configuration": {
        "master_agreement_number": "1234567",
        "divisons": [
            {
                "division_identifier": "1001",
                "division_name": "AcmeCo division 1"
            }
        ]
    }
}
```

### Plan configuration

*The details in [the plan configuration](/api-reference/groups/plans/get-group-plan-list) should be used to [map each Noyo plan to the corresponding plan in your own system](/docs/groups/mapping/mapping-plans-and-account-structures). Importantly, each plan configuration has details about which populations are connected to an individual plan. Groups with multiple populations may link a plan with one or more of them.*

Some VSP plans are only available for employees in certain groups. VSP plans will include a `plan_configuration` \*\*\*\*block with `division_identifiers` fields containing lists of string identifiers. The group identifiers will match the groups in the group's carrier configuration respectively, and describe which groups are eligible to enroll in the plan.

### Send the member configuration to Noyo

*Each member snapshot sent to Noyo can contain a configuration section. Depending on each carrier's requirements, you may need to use this section to include carrier-specific identifiers like classes, subdivisions, or bill groups. These go in the coverage block's `carrier_config` section and ensure that members are enrolled in the correct coverages. Member snapshots missing a `carrier_config` section or with incorrect config data will result in a 422 error.*

Snapshots with VSP coverage may include an optional `division_identifier` that matches the corresponding values in the group carrier configuration.

If the caller omits any values included for the plan, Noyo will attempt to resolve the correct identifier cases where only one option is available for the employee.

```json theme={"system"}
{
    "division_identifier": "1001"
}
```

## Carrier-specific requirements

### Validations

Noyo will validate the following based on the member carrier configuration:

* The division specified is valid for the group
* The provided division identifiers are valid for the plans specified in the relevant coverages
* Requests to add or modify coverage contain plans that are available to the division fields specified
