DTRules
A powerful Decision Table Rules Engine that lets business analysts and policy experts define complex logic in readable spreadsheets — then run it as a batch job or an interactive interview.
Run rules as an interview
The same decision tables that power a batch job can run as a conversation. The engine asks
for each collect field it reaches — on the CLI or in the
browser — and batch execution pays zero overhead.
SinusitisTherapy
A clinical decision service: antibiotic selection, dosing with renal adjustment, and drug-interaction warnings — runnable as a live web interview.
Why DTRules?
Define complex business logic in spreadsheets that both policy experts and developers can understand.
Decision Tables
Create condition-action matrices in Excel. Each column represents a rule that's easy to read and validate.
Entity Data Dictionary
Define your data model in Excel with entities, attributes, and relationships.
Domain Specific Language
Write conditions and actions in EL (Expression Language) - readable syntax that policy experts can validate.
High Performance
Go implementation with 130x faster operator lookup and zero-allocation hot paths for production workloads.
Visual Tree View
Visualize decision table dependencies and execution flow as interactive tree diagrams.
Production Proven
Used in state welfare systems (Texas TIERS, Ohio OFAST) and insurance eligibility determination.
Built for Complex Logic
When business rules are too complex for if-else statements and too dynamic for hardcoded logic.
Eligibility Determination
- Health insurance eligibility (CHIP)
- Welfare/assistance programs
- Benefits calculation
- Policy compliance checking
Business Logic
- Pricing and discount rules
- Approval workflows
- Risk assessment
- Regulatory compliance
Go Implementation
A high-performance Go runtime with REST API and visual UI.
Optimized Execution
- 130x faster operator lookup
- 24x faster arithmetic operations
- Zero-allocation hot paths
- REST API for the visual UI
Ready to get started?
Try the live interview demo, read the documentation, or dive into the code on GitHub.