Skip to content

wegovnyc/BPMN_experiments

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NYC Benefits Screener (Modernized)

A modernized event-driven implementation of the NYC Benefits Screening API, replacing the legacy rule-based system with a decoupled architecture using Camunda 8 (Zeebe), DMN 1.3, and Python.

Architecture

  • Orchestration: Camunda 8 (Zeebe) handles the process flow (master_eligibility.bpmn).
  • Decision Logic: 50+ DMN 1.3 tables converted from legacy Drools (DRL) files.
  • Frontend: A lightweight Flask application acting as a "Backend for Frontend" (BFF).
  • Workers: Python workers (aggregation_worker.py) handling data enrichment, aggregation, and external API calls (PolicyEngine).

Features

  • Real-time Eligibility: Determines eligibility for 40+ NYC/NYS benefits.
  • Tax Analysis: Estimates Federal and NY State tax liabilities and credits (EITC, CTC) via PolicyEngine integration.
  • Save Results: Persists user sessions for printing or later review.
  • Rich Metadata: Provides "How to Apply" instructions and local office lookups.

Setup

Prerequisites

  • Docker & Docker Compose
  • Python 3.9+

1. Start the Orchestration Engine

This project uses a self-hosted Zeebe broker via Docker Compose.

docker compose up -d

2. Install Dependencies

pip install -r requirements.txt

3. Deploy Process Models

Deploy the BPMN and DMN models to the Zeebe engine.

python3 deploy_master_system.py

4. Run the Application

Use the provided startup script to launch both the background worker and the web application.

chmod +x start.sh
./start.sh

Visit http://localhost:5001 to use the screener.

Key Files

  • public_app.py: The Flask web server.
  • aggregation_worker.py: The Zeebe job worker.
  • master_eligibility.bpmn: The main process definition.
  • ACCESS-NYC-Rules/: Legacy rule analysis.
  • dmn_output/: Converted DMN files.

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published