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.

Interactive interviews (v1.16.0)
Single self-contained binary
Production-ready Go engine
New in v1.16.0

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.

Explore the Interview
Flagship Sample

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.

Go
High-Performance Runtime

Optimized Execution

  • 130x faster operator lookup
  • 24x faster arithmetic operations
  • Zero-allocation hot paths
  • REST API for the visual UI
Get Started with Go

Ready to get started?

Try the live interview demo, read the documentation, or dive into the code on GitHub.