Managing Renewals

Peace of mind and a smoother open enrollment period

When a group makes their choice of new plans in preparation for open enrollment, Noyo helps you confirm accurate plan installation at the carrier to avoid coverage disruptions and timing issues for the new year.

You'll use our API to submit each group’s renewal decisions (i.e., the plans they'll offer to employees this year) and Noyo will compare that data to the plans the carrier has on file. Once the carrier's data matches the renewal decisions, Noyo returns a status of ready and you can send new plan year elections with full confidence.

If we do detect that the carrier has the plans installed incorrectly, we’ll return a message that describes the issue so it can be resolved.

Using renewal decisions

We recommend submitting a group's renewal decisions as soon as the carrier has confirmed the group's selections; this generally happens about 60 days before the renewal or new effective date.

A renewal decision record is defined by the target renewal date, and includes the lines of coverage and plans that are expected to be active for that renewal date. Noyo will then continuously check the carrier's system to confirm that your decisions have been processed. If expectations are met, we will update the status of the renewal readiness record to ready and you can start sending member snapshots as soon as OE elections are made. Otherwise, we will update the status to not_ready and inform you of any remaining issues.

Creating Renewal Decisions

First, create a renewal decision for a given renewal date. The renewal decision may be submitted in a few different configurations:

  • With full data: If you know all of the group's choices, each carrier can be configured with lines of coverage objects complete with open enrollment dates and plans
  • With no lines of coverage at all: If you don't know which plans the group has selected for the new year, you can submit a lines_of_coverage block that is empty. In this case, we will move the renewal decision to ready when we find any plans at this carrier on the renewal date in question.
  • Without open enrollment dates for each line of coverage: If you do not know what open enrollment dates to expect, submit each carrier block with lines of coverage with only plans underneath. In this case, only the plans will be compared within each carrier's lines of coverage.

A renewal decision may be created with a renewal date up to 30 days ago, and up to 6 months in the future. Both of these constraints are relative to the date the request is sent.

Dropping coverage

If a line of coverage should be discontinued and no plans should be active for an upcoming renewal, you can pass an empty block for that carrier and line of coverage.

Omitting a carrier from the request will mean that that carrier is not evaluated for renewal readiness, and omitting a line of coverage for a carrier will mean that Noyo will not check for any plans in that line of coverage at that carrier.

For the example request below, we would evaluate renewal readiness for the group with the two provided carriers. We would expect one medical plan to be active at the first carrier and no dental coverage to be active at the second carrier, while the presence of any other lines of coverage at either carrier would be ignored.

Use an empty object like the dental example below on a POST or a PUT to drop coverage

  "renewal_date": "2022-01-01",
  "body": {
    "carriers": [
        "carrier_id": "4d4d815b-ae8f-430c-901f-1c9d5ee3f4f1",
        "lines_of_coverage": {
          "medical": {
            "open_enrollment_start_date": "2021-07-01",
            "open_enrollment_end_date": "2021-08-31",
            "plans": [
                "name": "Select Plus PPO HDHP Bronze BRJJ / C38"
        "carrier_id": "6026ccdd-14e0-44dd-a68f-86b08cc89cf4",
        "lines_of_coverage": {
          "dental": {}

Renewal Decision Statuses

Renewal decisions will start with a submitted status, and then progress to ready or not_ready. The status can switch from ready to not_ready if we detect a carrier update that regresses their system to a state that is different from your decisions. The status can also switch from not_ready to ready if detected differences are resolved.

submittedThis status is the result of the initial submission (POST). We have not yet verified the current state of the carrier’s system.
not_readyThere is a difference between your submitted renewal decision and the carrier's current state. We will supply an array of issues in a response body.
readyYour renewal decision reflects what is shown in the carrier’s system.

Managing renewal decisions

You can get all the renewal decisions for a single group, get them by ID, or edit existing renewal decisions.

Getting renewal decisions includes the status; if the status is not_ready, Noyo will return one or more issues, each with a level and message.

Testing renewal decisions

A renewal decision created on the sandbox API will initially return in the submitted status. Within a random period of time, up to 15 seconds, it will return with an updated status, based on the scenarios below. This will simulate the process of a renewal decision being compared against carrier data.

Different renewal decision scenarios can be captured on the sandbox by using the renewal date's day of the month as a special value.

By supplying a renewal date with a day of the month of the following values, you will trigger the following scenarios:

Renewal Date
(Day of Month)
2not_readyMissing Coverage
3not_readyUnexpected Coverage
4not_readyUnexpected coverage end date. Coverage still active, but carrier end date is before renewal date.
5not_readyUnexpected coverage end date. Coverage dropped, but carrier end date is after renewal date.
6not_readyUnexpected open enrollment dates
7not_readyInconsistent plan quantities

What’s Next

Make open enrollment changes with member snapshots