DMN — Eligibility Screening (FIRST, order is the logic)
A FIRST-hit table, where rule order carries meaning and later rules are deliberately shadowed by earlier ones. Written this way on purpose: under FIRST an overlap is not a defect, and a checker that flagged it would be reporting the notation working as designed.
Make it your own.
title "Benefit eligibility screening"
input Claim "Claim"
source Reg "Regulation 2019/4"
decision Elig "Eligibility"
Claim -> Elig
Reg -> Elig
decision Elig "Eligibility" {
hit F
input Age number [0..120]
input Residency enum { Citizen, Resident, Visitor }
input Income number [0..200000]
output Result enum { Eligible, Refer, Ineligible }
rule - | Visitor | - -> Ineligible // fails at the first gate
rule [0..18) | - | - -> Refer
rule - | - | (60000..200000] -> Ineligible
rule [18..120] | Citizen, Resident | [0..60000] -> Eligible
rule - | - | - -> Refer // catch-all, last
}