Temporal Data

How to interact with data that changes over time

Several of the Noyo models track data elements that change over time. For example, a plan may only last for one year before being discontinued, or a member might have the same life plan for multiple years but change their coverage volume for that plan over time.

Noyo allows callers to query for these models with an optional target effective_date. This will allow you to easily answer questions like "What was the status of this user's enrollment one month ago?" or "What volume of coverage did the member elect last year?". The group carrier configuration, group enrollment, group plan, and individual enrollment models all support this behavior.

The API will return our best data for the status of a record as of the requested effective_date. These values are generally accurate, except for cases where our carrier partners are unable to share the required historical data. The default behavior when no effective_date is provided in a request is to return the state of the record as of today.

Example: Individual Enrollments

Suppose you sent Noyo a snapshot that enrolls an employee in coverage and their individual enrollment was created with an effective_start_date of 7/1/2020.

Querying with an effective_date prior to the effective_start_date

Code Sample

curl -X GET
 --header "Content-Type: application/json"
 --header "Authorization: Bearer <ACCESS_TOKEN>"
 https://fulfillment.noyo.com/api/v1/individual_enrollments/ac96373c-fcb2-4cb5-af1f-52d2afeace01?effective_date=2020-06-15

Example Response

{
    "id": "ac96373c-fcb2-4cb5-af1f-52d2afeace01",
    "version": "fe8c33aa-2721-4097-9695-63512f8ac90a",
    "group_enrollment_id": "7499ea07-76c9-40f2-992b-952259e98384",
    "line_of_coverage": "medical",
    "status": "pending",
    "individual_type": "employee",
    "individual_id": "30b74a44-d5b1-4123-a7a4-6d3aec251ba4",
    "plan_id": "b988cd26-121a-4dd6-b0be-09399f6ecc0a",
    "enroll_data": {},
    "effective_start_date": "2020-07-01",
    "effective_end_date": "2021-07-01",
    "individual_enrollment_configuration": {},
    "created": 1592141191,
    "modified": 1592141191
}

With an effective_date prior to the resource's effective_start_date, the individual enrollment in the response should have a pending status. It's also possible that no record will be returned if Noyo did not have any record of this enrollment prior to the effective_start_date.

Querying with an effective_date after the effective_start_date

Code Sample

curl -X GET
 --header "Content-Type: application/json"
 --header "Authorization: Bearer <ACCESS_TOKEN>"
 https://fulfillment.noyo.com/api/v1/individual_enrollments/ac96373c-fcb2-4cb5-af1f-52d2afeace01?effective_date=2020-07-15

Example Response

{
    "id": "ac96373c-fcb2-4cb5-af1f-52d2afeace01",
    "version": "fe8c33aa-2721-4097-9695-63512f8ac90a",
    "group_enrollment_id": "7499ea07-76c9-40f2-992b-952259e98384",
    "line_of_coverage": "medical",
    "status": "active",
    "individual_type": "employee",
    "individual_id": "30b74a44-d5b1-4123-a7a4-6d3aec251ba4",
    "plan_id": "b988cd26-121a-4dd6-b0be-09399f6ecc0a",
    "enroll_data": {},
    "effective_start_date": "2020-07-01",
    "effective_end_date": "2021-07-01",
    "individual_enrollment_configuration": {},
    "created": 1592141191,
    "modified": 1592141191
}

After the snapshot is completed and the member is confirmed active on coverage, querying for the individual enrollment with an effective_date after the resource's effective_start_date should return a status of active. As long as this employee has not been removed from coverage, you will find that the response returns an active status even for dates far in the future.

Querying with an effective_date after the effective_end_date

Code Sample

curl -X GET
 --header "Content-Type: application/json"
 --header "Authorization: Bearer <ACCESS_TOKEN>"
 https://fulfillment.noyo.com/api/v1/individual_enrollments/ac96373c-fcb2-4cb5-af1f-52d2afeace01?effective_date=2020-11-01

Example Response

{
    "id": "ac96373c-fcb2-4cb5-af1f-52d2afeace01",
    "version": "fe8c33aa-2721-4097-9695-63512f8ac90a",
    "group_enrollment_id": "7499ea07-76c9-40f2-992b-952259e98384",
    "line_of_coverage": "medical",
    "status": "terminated",
    "individual_type": "employee",
    "individual_id": "30b74a44-d5b1-4123-a7a4-6d3aec251ba4",
    "plan_id": "b988cd26-121a-4dd6-b0be-09399f6ecc0a",
    "enroll_data": {},
    "effective_start_date": "2020-07-01",
    "effective_end_date": "2020-09-30",
    "individual_enrollment_configuration": {},
    "created": 1592141191,
    "modified": 1592181928
}

Suppose you later send Noyo a snapshot that terminates this employee and their individual enrollment is updated with a coverage effective_end_date of 9/30/2020.

After the snapshot is completed and the member coverage is confirmed to be terminated on 9/30/2020, querying for the individual enrollment with an effective_date after the resource's effective_end_date should return a status of terminated.


What’s Next

Learn about group connections