A comprehensive platform for managing Medicaid community engagement requirements: built to help states implement and administer work requirements and exemption processes in compliance with federal regulations.
Built with Nava Strata
Nava’s Open Source Community Engagement Reporting tool (OSCER) is intended to be an open-source, self-contained application that plugs into existing Medicaid systems to handle end-to-end reporting to meet H.R.1 community engagement requirements (eligibility checks, reporting, verification) without locking into proprietary platforms or brittle customizations.
- Open by default - transparent code and approach
- Sidecar architecture - integrates with existing cloud systems with minimal and well-defined touchpoints
- State-owned - runs in state-hosted cloud environments and states retain full ownership of the deployment, configuration, and data
State Medicaid programs face real constraints:
- Proprietary COTS platforms: Slow to change, rigid licensing and customization
- Closed custom builds: Every update becomes a costly change order, code often isn’t yours
- Vendor lock-in: limited code access, slower security review, no reusable improvements
OSCER is approaching this differently than other vendors with transparent code, modular integration, and an architecture designed for frequent policy change.
The platform consists of:
- Reporting Application: Ruby on Rails web application with modern UI using U.S. Web Design System (USWDS)
- Cloud Infrastructure: Cloud-agnostic design with Infrastructure as Code (current demo deployed on AWS)
- Security & Compliance: Built with security best practices and compliance requirements in mind
- Backend: Ruby on Rails 7.2, PostgreSQL
- Frontend: USWDS, ERB templates, JavaScript
- Infrastructure: Terraform (AWS implementation provided as reference)
- Testing: RSpec, Playwright (E2E)
- CI/CD: GitHub Actions
- Docker or Finch (container runtime)
- Ruby 3.x (for native development)
- Node.js LTS (for native development)
-
Clone the repository
git clone https://github.com/navapbc/oscer.git cd oscer -
Set up environment variables
cd reporting-app make .env # Edit .env file with your configuration
-
Run with Docker (Recommended)
make init-container make start-container
Or run natively:
make init-native make start-native
-
Access the application
- Open http://localhost:3000 in your browser
- Default authentication is set to mock mode for development
OSCER is designed to be cloud-agnostic. We provide infrastructure templates for different cloud providers:
Prerequisites for cloud deployment (choose one):
- AWS: AWS account with appropriate permissions (uses our AWS template)
- Azure: Azure account with appropriate permissions (uses our Azure template)
- Other CSPs: Account with your chosen cloud provider (BYO infrastructure)
AWS Deployment:
- Reference implementation using our AWS infrastructure template
- See our AWS implementation as a reference.
Azure Deployment:
- Azure infrastructure template available at navapbc/template-infra-azure
- Provides equivalent functionality using Azure services
Other Cloud Providers (GCP, etc.):
- Bring Your Own (BYO) infrastructure approach
- The application architecture remains the same
- You'll need to create infrastructure code for your chosen provider's services
After starting the application, you can explore OSCER's different interfaces and workflows:
URL: http://localhost:3000/demo
Start here to see entrypoints to the different experiences in OSCER and understand the application's structure.
URL: http://localhost:3000/demo/certifications/new
A certification request is the case that a member responds to. In production, these are created in bulk through batch processes or API, but for testing you can create them manually.
To experience the full workflow:
- Create a certification request using an email address you can access
- Configure different scenarios (lookback months, exemption triggers, etc.)
- Test automated exemptions by indicating pregnancy or other qualifying conditions
- Submit the request
Note: You can reuse the same email address for multiple certification requests—the system will automatically reset for that email.
URL: http://localhost:3000/dashboard
This is the member-facing interface where clients respond to their certification requests. Follow the instructions on the dashboard to create an activity report or exemption request. Once submitted, you can navigate to the staff portal to view the submitted request. You must complete a certification request (see above) before you'll see any data in this view.
URL: http://localhost:3000/staff
This is the administrative interface where staff can review and process member certification responses.
- System Architecture - High-level system overview
- Reporting App Documentation - Detailed application documentation
- Infrastructure Guide - Deployment and infrastructure management
- Contributing Guidelines - How to contribute to the project
- Security Policy - Security practices and reporting
See our previous demos and walkthroughs on our YouTube playlist.
We welcome contributions from the community! Please see our Contributing Guidelines for details on:
- Code of conduct
- Development workflow
- Pull request process
- Coding standards
This repo available under the Apache 2.0 License
If you are interested in an integration for your state managed by Nava, take a look at our website.
- Documentation: Check our comprehensive documentation
- Issues: Report bugs and request features via GitHub Issues
- Security: Report security vulnerabilities via our Security Policy
For more information about Medicaid community engagement requirements and this platform, please visit our documentation or contact the development team.
