Skip to content

Business Rules Execution

RONL Business API delegates all business rule execution to Operaton, an open-source BPMN/DMN engine (Apache 2.0 licence) hosted on the VM at operaton.open-regels.nl. The Business API acts as a secure, authenticated proxy: it validates the user's identity and then invokes Operaton on their behalf.

What Operaton handles

  • Executing BPMN 2.0 workflows that orchestrate multi-step government processes
  • Evaluating DMN 1.3 decision tables (e.g. eligibility rules, benefit calculations)
  • Managing process instances: start, status, variables, completion
  • Business rule versioning — multiple versions of a process definition can coexist

The Business API hides the complexity of Operaton's REST API behind simple, purpose-built endpoints such as POST /v1/decision/:key/evaluate and POST /v1/process/:key/start.

Supported processes

Currently configured processes include:

Zorgtoeslag (healthcare allowance calculation)
Evaluates four eligibility criteria against a DMN decision table and returns whether the applicant qualifies and the calculated monthly amount.

Input variables mapped from the JWT and request body:

Variable Type Source
ingezeteneVanNederland boolean Request body
18JaarOfOuder boolean Request body
zorgverzekeringInNederland boolean Request body
inkomenEnVermogen number Request body
initiator string JWT sub claim
municipality string JWT municipality claim

Output: { "eligible": true, "amount": 1150 }

Process execution flow

sequenceDiagram
    participant F as Frontend
    participant B as Business API
    participant O as Operaton
    participant D as PostgreSQL

    F->>B: POST /v1/process/zorgtoeslag/start
    B->>B: Validate JWT, extract claims
    B->>B: Map claims → process variables
    B->>O: POST /process-definition/key/zorgtoeslag/start
    O->>O: Execute BPMN workflow
    O->>O: Evaluate DMN decision table
    O->>B: Return process result
    B->>D: Write audit log entry
    B->>F: Return { eligible, amount }

API endpoints for business rules

Method Endpoint Description
POST /v1/decision/:key/evaluate Evaluate a DMN decision table by key
POST /v1/process/:key/start Start a BPMN process instance
GET /v1/process/:id/status Get process instance status
GET /v1/process/:id/variables Get process instance output variables
DELETE /v1/process/:id Cancel a process instance

All endpoints require a valid JWT in the Authorization: Bearer header.

Operaton environment

Operaton runs as a Docker container on the VM, exposed via Caddy reverse proxy at https://operaton.open-regels.nl. It is shared between ACC and PROD environments, using separate process definition version tags to isolate deployments.

The Operaton Cockpit (management UI) is available at the same URL for inspecting running processes, viewing audit history, and managing deployments.