Kaiser Permanente
Technical documentation for integrating with Kaiser Permanente through Noyo
Status | Live |
API | Snapshot |
COBRA | Supported |
Geographies | All regions except Washington |
Group Size | <10,000 lives |
Lines | Dental, medical, vision |
Name | Kaiser Permanente |
Network | Sync |
New Group Connection Time | 1–5 days |
Explicit_Effective_Dates%201.pdf | |
Unsupported | - |
Regions
Kaiser Permanente’s coverage area is divided into separate regions. Groups based in each region are eligible for different products and services. In general, the group’s location determines the region to which it belongs. Less commonly, some groups may contract with Kaiser in multiple regions.
Region Code | Description |
---|---|
NCR | Northern California |
SCR | Southern California |
KNW | Oregon |
MAS | Mid-Atlantic states (DC, MD, VA) |
GEO | Georgia |
COL | Colorado |
HAW | Hawai’i |
Kaiser Permanente assigns each group a region-specific customer identifier, which is a number up to 6 digits long. This identifier may also be called the policy ID.
Group connections
Create a group connection request to manage Kaiser Permanente groups through Noyo.
The unique identifier involves one or more region IDs. In the group_data
object for the create endpoint, provide the group_name
and a carrier_group_id
. The carrier group ID will be multiple region IDs delimited by a double underscore (__
). Each single region ID string is formatted as the region name, a single underscore, and the regional customer ID:
Carrier configurations
Dynamic config is recommended for all new Noyo integrations and makes carrier-specific config values no longer required.
Dynamic config is recommended for all new Noyo integrations and makes carrier-specific config values no longer required.
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 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.
Groups that have Kaiser Permanente coverage belong to one or more regions. Most groups will only have coverage in one region, but in more complex cases, you must be sure to request changes for the correct region.
Each group is configured with a regions
object that gives information about the region(s) to which the group belongs. The keys of regions are the region names. Each value is an object with the following fields:
name
: The region nameregional_customer_id
: The group’s customer ID in this regionsub_groups
: A list of subgroups available for the group. Each subgroup corresponds to a Noyo plan and has the following properties:sub_group_identifier
: A string identifying the subgroupsub_group_name
: The subgroup’s namebill_groups
: A list of bill groups available for the group. Each bill group has the following properties:bill_group_identifier
: A string identifying the bill groupbill_group_name
: The bill group’s name
Each group’s configuration also has a list of the regional_customer_ids
. Each of these corresponds to the regional_customer_id
field of one of the regions.
Each group also has a carrier_group_id
, which includes all of the group’s regions and regional customer IDs combined into one string. Each region is represented as the region name, an underscore, and the regional customer ID. Multiple regions are joined together with two underscores (see example below).
Get the plan configuration from Noyo
The details in the plan configuration should be used to map each Noyo plan to the corresponding plan in your own system. 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.
Each Kaiser Permanente plan includes a plan_configuration
block. The sub_group_identifier
field gives the identifier of the subgroup with which the plan corresponds. The region
field gives the region to which the plan belongs. Its value will match the name of the region in the group carrier configuration.
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.
Member snapshots to enroll in Kaiser Permanente coverage may include an optional bill_group_identifier
matching one of the bill group identifiers from the group carrier configuration.
Coverage start and end dates
You must provide explicit coverage start dates for any requests that add or modify coverage, and explicit coverage end dates for any coverage termination requests.
The coverage_end_date
is set at the individual employee level; for more, please see the Explicit Effective Dates document attached.
Reinstatements
Reinstatements must be processed directly with Kaiser Permanente and cannot be handled through the Noyo platform.
Connection Basics
Sandbox testing
Use the following special Kaiser Permanente 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 |
Getting groups connected
To get a new or existing group connected to Noyo, simply request a group connection by sending the group name and list of regions as defined in the Technical Spec.
As with all other Sync carriers, we process a group connection by pulling all plan, member, and group structure data from Kaiser Permanente to populate our system.
If at any point we encounter an issue connecting the group, Noyo will work with Kaiser Permanente to resolve the issue. We may contact you if your input is needed.
Groups are considered connected when:
- Noyo returns the connection status as “completed.”
- You’ve linked Noyo’s IDs for account structure information, plans, members, and coverages to your own, and established an account structure mapping process.
- You’ve deactivated previous forms of data exchange and are ready to send all enrollment changes through Noyo.
Processing member changes
Each member request is broken into individual “transactions” by Noyo’s system. Our integrations with other API-enabled Sync carriers generally result in 90% of member transactions arriving at the carrier within 10 minutes of being sent to Noyo, and 95% of transactions being confirmed by Noyo within 4 business days of original receipt.
We expect similar results for Kaiser Permanente, but it’s important to note this is a new connection for Noyo as an early partner with this carrier. We will be monitoring closely and working with the Kaiser Permanente team to ensure a high level of performance.
Round-trip confirmation
As with other Sync carriers, Noyo is able to read data directly from Kaiser Permanente’s system. Noyo monitors each transaction with round-trip confirmation, which triggers a check in the carrier’s system after the change is sent and again on the change’s effective date to ensure that enrollments go through as expected.
Use the Tracking API to see the results of round-trip confirmation and get a granular view of how each change is being processed.
Managed changes
Our goal is to confirm all member changes within 4 business days. However, some transactions cannot be confirmed automatically after being submitted through our API; we call these “managed” transactions and they may have longer confirmation timelines.
In addition to the change types listed in the table below, there are some region-specific managed transactions. Our integration team will discuss relevant rules with you according to the geographies covered in your book of business with Kaiser Permanente.
Types of managed transactions:
- SSN changes SSN is a key identifier for Kaiser Permanente, so any changes to SSN are processed manually via a weekly spreadsheet sent by Noyo.
- Date of birth changes DOB is a key identifier for Kaiser Permanente, so any changes to DOB are processed manually via a weekly spreadsheet sent by Noyo.
Retroactive changes
Retroactive changes are accepted according to each group’s contract rules. Generally, retroactive changes are accepted within 60 90 days of the desired effective date. Noyo will attempt to fulfill retroactive changes and if they are rejected by Kaiser Permanente, the failure will be communicated to you by our team. Note that Colorado law does not allow any retroactive terminations for small groups.
Open enrollment
Kaiser Permanente makes updated plans and structures available to Noyo 45 days prior to each group’s OE window. You can send the group’s plan-level renewal decisions to Noyo at any point after submitting the new plans to Kaiser Permanente. Noyo will check Kaiser Permanente’s system daily until the new plans are available to ensure that they are installed correctly.
When the plans in Kaiser Permanente’s system match the expectations you submitted, the renewal decision status will move to “ready” and you will be able to send member snapshots with each member’s open enrollment elections for the new plan year.
There are no blackout periods with Noyo, so you can also send current year changes at any point during open enrollment.
Was this page helpful?