Publication Digitizing Policy + Rules as Code

Project Snapshot: 18F’s Eligibility APIs Initiative

18F, a consultancy within the U.S. General Services Administration, developed a prototype API and pre-screener to model federal SNAP eligibility rules, aiming to simplify benefits access through open-source technology. Initially funded by GSA’s 10x initiative, the project allows federal and state agencies to adapt and deploy the system, with its core rules validated by the USDA and SNAP policy experts.

Published Date: Oct 18, 2022
Last Updated: Sep 26, 2024

Organization Description + Mission

18F is an internal technology and design consultancy as part of the Technology Transformation Service (TTS) in the General Services Administration (GSA) in the U.S. Federal Government. Their teams work with federal agencies to build and buy technology, and can also work with states and local agencies on initiatives receiving federal funding. They seek to build digital services that are trustworthy, designed with the people who use them, deliver good value, and are shipped efficiently and when possible, in the open.

Approach to Eligibility

Starting in 2017 through 2020, a team at 18F received multiple rounds of funding through 10x, the GSA’s technology innovation fund, to explore and prototype how the federal government could communicate benefit eligibility rules as computer code for integration into state systems. Under their Eligibility APIs Initiative, the team built a prototype API and calculator for the federal rules for SNAP.  Initially, the team wanted to build a backend eligibility rules engine, but determined that a pre-screener was a lower risk way to explore how a rules as code approach could help model complex SNAP eligibility rules. TTS is a potential long term home for a central shared service for eligibility rules across all safety net programs.

Rules Structure + Technology

The prototype model incorporates core federal rules and can include options for each state or territory through Broad-Based Categorical Eligibility. The API backend was originally written in Python, but was further developed as a JavaScript software library to allow the prototype to be deployed entirely client-side, rather than requiring a server. All of the code is open source and available for any federal or state agency or other organization to replicate or redeploy. The 18F demo pre-screener also showed users the logic and steps that shape their eligibility assessment and estimated benefit calculation, which can help users understand rules and build public trust.

Deploying the project also involved essential non-technical work, including listening to stakeholders to understand the need for a SNAP pre-screener, and promoting the work to other open source networks to see if it created value for other groups. The Virginia Poverty Law Center deployed the code to their own website as part of a Virginia-specific SNAP calculator; civic tech volunteers later adapted the code from 18F to create SNAPScreener.com, which extends the data model to all U.S. states and territories.

How They Write Rules

The technologists at 18F led the prototype rules data format and code, which was then validated with the U.S. Department of Agriculture’s Food and Nutrition Service Agency which oversees SNAP, and with SNAP policy experts at Virginia Poverty Law Center.