See how you could use a Corticon.js dynamic form to filter healthcare options.
Just in time for open enrollment, let’s take a look at how Progress Corticon.js can provide all of the logic involved in building a frontend dynamic form for selecting the optimal healthcare plan using healthcare.gov. As with all Corticon.js dynamic forms, the renderer is entirely independent of the business case at hand—Corticon.js JavaScript decision services tell the renderer what to do and when, the renderer captures the users’ inputs and passes along the inputs back to Corticon.js.
Healthcare.gov is one of the main pathways through which Americans can sign up for a healthcare plan. Like shopping on an ecommerce site and filtering down a search query result, selecting a plan entails narrowing down a list of options from a massive initial set of plan data. The variables considered by this dynamic form are as follows:
Geography – Based upon a household’s address, an applicant may be routed to a different healthcare marketplace—not all U.S. states make use of healthcare.gov, opting instead to manage their own portal or share a portal with other non-healthcare.gov states. Additionally, each state has any number of Rating Areas which impact the rates for each plan.
Household – Who lives in the household? It’s common for plan options to differentiate between characteristics like married/unmarried couples, number of dependents, income sources, whether or not they are tobacco users, if anyone is pregnant and their residency statuses.
Cost Savings Programs – Depending on the household’s income and other variables described above, plans may provide cost waivers or tax credits to members. In this form, we’ll determine eligibility for the advance premium tax credit.
Coverage options – Filtering down through the options, plans have different coverages and benefits like specialty drug coverages, homecare services or chiropractic care. Copays, coinsurance rates, premiums and limit for these services likewise vary, sometimes depending on criteria specific to a given household member.
Quality – Enrollees of plans are annually surveyed about their experiences with their respective plan, providing a 1-5 rating for many different measures like customer service experience and availability of health services in a reasonable amount of time. This measure is indexed, along with patient outcomes data (e.g., readmissions, appropriate frequency and kind of screenings, accurate diagnostic determinations from reported clinical notes).
These factors are evaluated based upon data provided by the end user filling out the form, APIs exposed by the healthcare.gov marketplace API, with rules specifying what data should be obtained from each. Rules concurrently are ruling out plans based upon eligibility criteria and end user preferences for the healthcare plan’s coverages and costs. Finally, all of the matching plans are presented back to the user with links to the plan overview.
Data gathered from the end user filling out the form:
- Household ZIP code
- Household members’ ages, marital statuses, tax filing status, income, citizenship status, employment status, and whether they use tobacco or are pregnant
- Desired “metal” level of plan’s coverage (Bronze, Silver, Gold)
- Desired minimum quality level of plan
Data gathered from REST APIs over the course of the form:
- Retrieve household FIPS code and State Code based upon provided zip code sent to the healthcare.gov /counties/by/zip/{zipcode} endpoint
- Retrieve the rating area for the household based upon where in the state the household is located from the healthcare.gov /rate-areas endpoint
- Retrieve the poverty level for the state where the household is with a household of the size provided by the end user from the healthcare.gov /states/{abbrev}/poverty-guidelines endpoint
- Query the healthcare.gov /api/1/datastore/sql endpoint for the Plan ID of all plans for the household state, rating area and the age of enrollee(s)
- Retrieve rating, metal-level and a link to the plan brochure by querying the healthcare.gov /plans/{plan_id} endpoint with the respective Plan ID numbers
Finally, after removing any plans beneath the quality or coverage thresholds specified, the form presents the user with the matching plans:
See the Pen Test Driver by Seth Meldon (@SethMeldon) on CodePen.
Try Corticon.js for yourself!
Seth Meldon
Seth Meldon is a Pre-Sales Engineer with a primary product focus area of Progress Corticon Business Rules Engine. His work is focused on educating and demoing Corticon’s expansive functionalities, use cases, and architectural strategies to internal and external audiences. You can follow Seth on LinkedIn.