-
Notifications
You must be signed in to change notification settings - Fork 0
/
algoritme.json
108 lines (108 loc) · 2.68 KB
/
algoritme.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
{
"id": "RVA-001",
"algorithmName": "High Income Tax Calculation",
"registerLink": "regels.overheid.nl/RVA-001",
"dataModel": {
"objectTypes": [
{
"name": "Taxpayer",
"attributes": [
{
"name": "annualIncome",
"dataType": "Numeric"
},
{
"name": "taxAmount",
"dataType": "Numeric"
}
],
"characteristics": [
"isHighIncome"
]
}
],
"parameters": [
{
"name": "standardDeduction",
"dataType": "Numeric"
},
{
"name": "taxRate",
"dataType": "Percentage"
}
]
},
"ruleModel": {
"ruleGroups": [
{
"name": "IncomeTaxCalculation",
"rules": [
{
"name": "HighIncomeCharacteristic",
"type": "CharacteristicAssignment",
"validity": {
"startDate": "2024-01-01",
"endDate": "2024-12-31"
},
"content": {
"subject": {
"objectType": "Taxpayer"
},
"characteristic": "isHighIncome",
"condition": {
"operator": "greaterThan",
"leftOperand": {
"objectType": "Taxpayer",
"attribute": "annualIncome"
},
"rightOperand": {
"value": 100000
}
}
}
},
{
"name": "TaxAmountCalculation",
"type": "Equality",
"validity": {
"startDate": "2024-01-01",
"endDate": "2024-12-31"
},
"content": {
"leftOperand": {
"objectType": "Taxpayer",
"attribute": "taxAmount"
},
"rightOperand": {
"operation": "multiplication",
"operands": [
{
"operation": "subtraction",
"operands": [
{
"objectType": "Taxpayer",
"attribute": "annualIncome"
},
{
"parameter": "standardDeduction"
}
]
},
{
"parameter": "taxRate"
}
]
},
"condition": {
"subject": {
"objectType": "Taxpayer"
},
"characteristic": "isHighIncome"
}
}
}
]
}
]
}
}