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/community-engagement-medicaid.git cd community-engagement-medicaid -
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
- 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
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
- Discussions: Join community discussions in GitHub Discussions
- 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.
