@frontlinesystems/rason-mcp-server 2026.5.1 → 2026.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +35 -35
- package/examples/EXAMPLES_REFERENCE.md +128 -128
- package/examples/{optimization → Optimization}/Conic/AirlineHubConic.json +111 -111
- package/examples/{optimization → Optimization}/Conic/AirlineHubConic2.json +108 -108
- package/examples/{optimization → Optimization}/Conic/AirlineHubConic3.json +111 -111
- package/examples/{optimization → Optimization}/Conic/AirlineHubConic4.json +99 -99
- package/examples/{optimization → Optimization}/Conic/AirlineHubConic5.json +101 -101
- package/examples/{optimization → Optimization}/DataBinding/ProductMixCsv.json +81 -81
- package/examples/{optimization → Optimization}/DataBinding/ProductMixCsv4.json +96 -96
- package/examples/{optimization → Optimization}/DataBinding/ProductMixExcel.json +73 -73
- package/examples/{optimization → Optimization}/DataBinding/ProductMixExcel1.json +86 -86
- package/examples/{optimization → Optimization}/DataBinding/ProductMixExcel11.json +108 -108
- package/examples/{optimization → Optimization}/DataBinding/ProductMixExcel2.json +77 -77
- package/examples/{optimization → Optimization}/DataBinding/ProductMixTab.json +89 -89
- package/examples/{optimization → Optimization}/DataBinding/ProductMixTab1.json +73 -73
- package/examples/{optimization → Optimization}/DataBinding/ProductMixTab2.json +77 -77
- package/examples/{optimization → Optimization}/Linear/Inventory.json +199 -199
- package/examples/{optimization → Optimization}/Linear/Matop.json +119 -119
- package/examples/{optimization → Optimization}/Linear/ProductMix.json +97 -97
- package/examples/{optimization → Optimization}/Linear/ProductMix2.json +72 -72
- package/examples/{optimization → Optimization}/Linear/ProductMix3.json +49 -49
- package/examples/{optimization → Optimization}/Linear/ProductMix4.json +56 -56
- package/examples/{optimization → Optimization}/Linear/ProductMixCsv1.json +106 -106
- package/examples/{optimization → Optimization}/Linear/ProductMixCsv2.json +106 -106
- package/examples/{optimization → Optimization}/Linear/ProductMixSQL11.json +82 -82
- package/examples/{optimization → Optimization}/Linear/Rowop.json +126 -126
- package/examples/{optimization → Optimization}/NonLinear/AirlineHub.json +63 -63
- package/examples/{optimization → Optimization}/NonLinear/AirlineHub2.json +47 -47
- package/examples/{optimization → Optimization}/NonLinear/AirlineHub3.json +47 -47
- package/examples/{optimization → Optimization}/NonSmooth/Inventory2.json +159 -159
- package/examples/{optimization → Optimization}/Quadratic/PortfolioOpt.json +55 -55
- package/examples/{optimization → Optimization}/Quadratic/PortfolioOpt2.json +65 -65
- package/examples/{optimization → Optimization}/WithUncertainty/GasCompanyChance.json +78 -78
- package/examples/{optimization → Optimization}/WithUncertainty/GasCompanyRecourse.json +78 -78
- package/examples/{optimization → Optimization}/WithUncertainty/ProjectSelect.json +77 -77
- package/examples/{optimization → Optimization}/WithUncertainty/ProjectSelect2.json +81 -81
- package/examples/{optimization → Optimization}/WithUncertainty/ProjectSelect3.json +84 -84
- package/examples/{optimization → Optimization}/WithUncertainty/ProjectSelect4.json +74 -74
- package/examples/{simulation → Simulation}/CandyStoreSalesUsingSIP.json +147 -147
- package/examples/{simulation → Simulation}/CollegeFundGrowth1.json +423 -423
- package/examples/{simulation → Simulation}/CollegeFundGrowth1SIPModel.json +27 -27
- package/examples/{simulation → Simulation}/CollegeFundGrowth2.json +415 -415
- package/examples/{simulation → Simulation}/CollegeFundGrowthSIP.json +401 -401
- package/examples/{simulation → Simulation}/GBMSimulationModel.json +236 -236
- package/examples/{simulation → Simulation}/YieldManagement(Sim).json +69 -69
- package/examples/{simulation → Simulation}/YieldManagement2(Sim).json +72 -72
- package/examples/calculation/DMNExamples/DMN Box Fun with typeDef result.json +53 -53
- package/examples/calculation/DMNExamples/DMN Context example.json +69 -69
- package/examples/calculation/DMNExamples/DMN DT with typeDef result.json +43 -43
- package/examples/calculation/DMNExamples/FEEL Date Time example.json +28 -28
- package/examples/calculation/DMNExamples/FEEL For iteration example.json +66 -66
- package/examples/calculation/DMNExamples/FEEL For with two indices.json +15 -15
- package/examples/calculation/DMNExamples/FEEL For with typeDef result.json +88 -88
- package/examples/calculation/DMNExamples/FEEL If Then Else example.json +25 -25
- package/examples/calculation/DMNExamples/FEEL List example.json +37 -37
- package/examples/calculation/DMNExamples/FEEL List operator.json +17 -17
- package/examples/calculation/DMNExamples/FEEL List with typeDef collection.json +36 -36
- package/examples/calculation/DMNExamples/FEEL Some or Every example.json +65 -65
- package/examples/calculation/DecisionTables/DT Datasource example.json +52 -52
- package/examples/calculation/DecisionTables/DT Date and Time examples.json +91 -91
- package/examples/calculation/DecisionTables/DT Expression example.json +32 -32
- package/examples/calculation/DecisionTables/DT Hit Policy examples.json +136 -136
- package/examples/calculation/DecisionTables/DT Loan Recommend model.json +81 -81
- package/examples/calculation/DecisionTables/DT Loan Strategy Model and Predictive CSV-XML.json +218 -218
- package/examples/calculation/DecisionTables/DT Loan Strategy model and Datasource.json +286 -286
- package/examples/calculation/DecisionTables/DT Loan Strategy model and Predictive.json +203 -203
- package/examples/calculation/DecisionTables/DT Loan Strategy model by scratch.json +214 -214
- package/examples/calculation/DecisionTables/DT Output Order example.json +39 -39
- package/examples/calculation/DecisionTables/DT Unique example.json +38 -38
- package/examples/calculation/TypeDefinitions/TypeDefCF.json +64 -64
- package/examples/calculation/TypeDefinitions/TypeDefDT.json +57 -57
- package/examples/datamining/AffinityAnalysis/AssociationRules.json +51 -51
- package/examples/datamining/Classification/DecisionTree.json +90 -90
- package/examples/datamining/Classification/DiscriminantAnalysis.json +81 -81
- package/examples/datamining/Classification/Ensembles/Bagging.json +66 -66
- package/examples/datamining/Classification/Ensembles/Boosting.json +67 -67
- package/examples/datamining/Classification/Ensembles/RandomTrees.json +91 -91
- package/examples/datamining/Classification/FindBestModel.json +86 -86
- package/examples/datamining/Classification/LogisticRegression.json +82 -82
- package/examples/datamining/Classification/NaiveBayes.json +78 -78
- package/examples/datamining/Classification/NearestNeighbors.json +84 -84
- package/examples/datamining/Classification/NeuralNetwork.json +92 -92
- package/examples/datamining/Clustering/Hierarchical.json +54 -54
- package/examples/datamining/Clustering/KMeans.json +71 -71
- package/examples/datamining/DataSources/DelimitedFile.json +49 -49
- package/examples/datamining/DataSources/JSONFile.json +49 -49
- package/examples/datamining/DataSources/MSAccessDatabase.json +49 -49
- package/examples/datamining/DataSources/MSExcelTable.json +50 -50
- package/examples/datamining/DataSources/MSSQLDatabase.json +49 -49
- package/examples/datamining/DataSources/ODATATable.json +49 -49
- package/examples/datamining/DataSources/ODBCDatabase.json +49 -49
- package/examples/datamining/FeatureSelection/LinearWrapping.json +53 -53
- package/examples/datamining/FeatureSelection/LogisticWrapping.json +56 -56
- package/examples/datamining/FeatureSelection/Univariate.json +78 -78
- package/examples/datamining/Regression/DecisionTree.json +82 -82
- package/examples/datamining/Regression/Ensembles/Bagging.json +62 -62
- package/examples/datamining/Regression/Ensembles/Boosting.json +62 -62
- package/examples/datamining/Regression/Ensembles/RandomTrees.json +78 -78
- package/examples/datamining/Regression/FindBestModel.json +86 -86
- package/examples/datamining/Regression/LinearRegression.json +124 -124
- package/examples/datamining/Regression/NearestNeighbors.json +77 -77
- package/examples/datamining/Regression/NeuralNetwork.json +82 -82
- package/examples/datamining/Scoring/JSONClassifier.json +62 -62
- package/examples/datamining/Scoring/JSONClassifierNN.json +62 -62
- package/examples/datamining/Scoring/JSONClusterizer.json +37 -37
- package/examples/datamining/Scoring/JSONForecaster.json +49 -49
- package/examples/datamining/Scoring/JSONLinearRegression.json +56 -56
- package/examples/datamining/Scoring/JSONPCA.json +41 -41
- package/examples/datamining/Scoring/JSONRegressor.json +56 -56
- package/examples/datamining/Scoring/JSONTransformer.json +38 -38
- package/examples/datamining/Scoring/PMMLClassifier.json +42 -42
- package/examples/datamining/Scoring/PMMLForecaster.json +43 -43
- package/examples/datamining/Scoring/PMMLRegressor.json +38 -38
- package/examples/datamining/Scoring/PMMLTransformer.json +38 -38
- package/examples/datamining/Simulation/LinearRegressionSimulation.json +117 -117
- package/examples/datamining/Simulation/SyntheticDataGeneration.json +108 -108
- package/examples/datamining/Simulation/pmml-risk-scoring.json +62 -62
- package/examples/datamining/Summarizer/Summarization.json +54 -54
- package/examples/datamining/TextMining/LatentSemanticAnalysis.json +51 -51
- package/examples/datamining/TextMining/TfIdf-FileData.json +65 -65
- package/examples/datamining/TextMining/TfIdf-InlineData.json +55 -55
- package/examples/datamining/TimeSeries/AddHoltWinters.json +79 -79
- package/examples/datamining/TimeSeries/Arima.json +74 -74
- package/examples/datamining/TimeSeries/DoubleExponential.json +65 -65
- package/examples/datamining/TimeSeries/Exponential.json +64 -64
- package/examples/datamining/TimeSeries/LagAnalysis.json +48 -48
- package/examples/datamining/TimeSeries/MovingAverage.json +65 -65
- package/examples/datamining/TimeSeries/MulHoltWinters.json +65 -65
- package/examples/datamining/TimeSeries/NoTrendHoltWinters.json +65 -65
- package/examples/datamining/Transformation/Binning.json +69 -69
- package/examples/datamining/Transformation/CanonicalVariateAnalysis.json +47 -47
- package/examples/datamining/Transformation/CategoryReduction.json +51 -51
- package/examples/datamining/Transformation/Factorization.json +50 -50
- package/examples/datamining/Transformation/MissingDataHandling.json +83 -83
- package/examples/datamining/Transformation/OneHotEncoding-DataInline.json +54 -54
- package/examples/datamining/Transformation/OneHotEncoding-DatainFile.json +48 -48
- package/examples/datamining/Transformation/PartitionTimeSeries.json +48 -48
- package/examples/datamining/Transformation/Partitioning-DF.json +72 -72
- package/examples/datamining/Transformation/Partitioning.json +46 -46
- package/examples/datamining/Transformation/PartitioningWithOversampling-DF.json +65 -65
- package/examples/datamining/Transformation/PartitioningWithOversampling.json +44 -44
- package/examples/datamining/Transformation/PrincipalComponentsAnalysis.json +52 -52
- package/examples/datamining/Transformation/Rescaling.json +67 -67
- package/examples/datamining/Transformation/Sampling.json +43 -43
- package/examples/datamining/Transformation/StratifiedSampling.json +46 -46
- package/examples/flow/SQLServerTransform.json +260 -260
- package/examples/flow/dm-calc-pipeline.json +277 -277
- package/examples/flow/dm-pipeline-simulation.json +113 -113
- package/examples/flow/opt-sim-pipeline.json +159 -159
- package/examples/flow/sim-dm-pipeline.json +106 -106
- package/examples/flow/sim-sim-pipeline.json +136 -136
- package/examples/index.json +4678 -4678
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/DataFiltering/ListwithFilter.json +52 -52
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/ProductMix5.json +57 -57
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/compoundWhileStatement.json +35 -35
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/ifThenElseStatement.json +33 -33
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/nestedLoop.json +25 -25
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/ParallelArray.json +47 -47
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/indexedArray.json +69 -69
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/nonParallelArray.json +49 -49
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/sumAggregateExample.json +337 -337
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/tsp.json +61 -61
- package/examples/rason-features/BoxIterators/Box_Fun_Loop_Iter_Sim_RASON.json +190 -190
- package/examples/rason-features/BoxIterators/Box_Fun_Loop_Sim_RASON.json +75 -75
- package/examples/rason-features/BoxIterators/Box_Fun_Sim_RASON.json +108 -108
- package/examples/rason-features/BoxIterators/Box_Iter_SIM_RASON.json +68 -68
- package/examples/rason-features/BoxIterators/Box_Iterator_Calc_Loop.json +183 -183
- package/examples/rason-features/BoxIterators/Box_Iterator_with_typeDef_partial.json +79 -79
- package/examples/rason-features/BoxLambdaExamples/BoxFunOptimize.json +154 -154
- package/examples/rason-features/BoxLambdaExamples/BoxFunSimulate.json +118 -118
- package/examples/rason-features/BoxLambdaExamples/LambdaFunOptimize.json +142 -142
- package/examples/rason-features/BoxLambdaExamples/LambdaFunSimulate.json +81 -81
- package/examples/rason-features/ReferenceGuide/RGFirehouseLocation.json +69 -69
- package/examples/rason-features/ReferenceGuide/RGFirehouseLocationConic.json +113 -113
- package/examples/rason-features/ReferenceGuide/RGProductMixCsv1.json +107 -107
- package/examples/rason-features/ReferenceGuide/RGProductMixExcel11.json +117 -117
- package/examples/rason-features/ReferenceGuide/RGProductMixSQL11.json +108 -108
- package/examples/rason-features/UserGuide/UGAirlineHubCSV.json +67 -67
- package/examples/rason-features/UserGuide/UGForecast.json +50 -50
- package/examples/rason-features/UserGuide/UGProductMix1.json +48 -48
- package/examples/rason-features/UserGuide/UGProductMix2.json +48 -48
- package/examples/rason-features/UserGuide/UGProductMixTab1.json +67 -67
- package/examples/rason-features/UserGuide/UGProductMixTab2.json +76 -76
- package/examples/rason-features/UserGuide/UGProductMixTab3.json +66 -66
- package/examples/rason-features/UserGuide/UGProductMixTab4.json +70 -70
- package/examples/rason-features/UserGuide/UGProductMixTab5.json +67 -67
- package/examples/rason-features/UserGuide/UGProjectSelect0.json +91 -91
- package/examples/rason-features/UserGuide/UGProjectSelect1.json +74 -74
- package/examples/rason-features/UserGuide/UGProjectSelect2.json +74 -74
- package/examples/rason-features/UserGuide/UGYieldManagement1.json +61 -61
- package/examples/rason-features/UserGuide/UGYieldManagement2.json +61 -61
- package/examples/rason-features/UserGuide/UGYieldManagement3.json +63 -63
- package/out/index.cjs +1 -1
- package/package.json +3 -2
|
@@ -1,214 +1,214 @@
|
|
|
1
|
-
{
|
|
2
|
-
"modelName": "DTLoanStrategyFromScratch",
|
|
3
|
-
"modelDescription": "Loan Strategy model",
|
|
4
|
-
"modelType": "calculation",
|
|
5
|
-
|
|
6
|
-
"data": {
|
|
7
|
-
|
|
8
|
-
"comment": "use binding to feed dif. values",
|
|
9
|
-
|
|
10
|
-
"custExist": { "value": false },
|
|
11
|
-
"custAge": { "value": 40 },
|
|
12
|
-
"maritalStatus": { "value": "s" },
|
|
13
|
-
"employmentStatus": { "value": "selfEmployed" },
|
|
14
|
-
"creditScore": { "value": 610 },
|
|
15
|
-
"bankrupt": { "value": false },
|
|
16
|
-
"monthIncome": { "value": 2500 },
|
|
17
|
-
"monthExpenses": { "value": 1000 },
|
|
18
|
-
|
|
19
|
-
"loanType": { "value": "standard" },
|
|
20
|
-
"loanRate": { "value": 5.0 },
|
|
21
|
-
"loanTerm": { "value": 30 },
|
|
22
|
-
"loanAmnt": { "value": 100000.0 }
|
|
23
|
-
},
|
|
24
|
-
|
|
25
|
-
"decisionTables": {
|
|
26
|
-
|
|
27
|
-
"tblAppRiskScore": {
|
|
28
|
-
|
|
29
|
-
"inputs": [ "custAge", "maritalStatus", "employmentStatus" ],
|
|
30
|
-
"outputs": [ "partialScore" ],
|
|
31
|
-
|
|
32
|
-
"inputValues": [
|
|
33
|
-
[ "[18..120]", "s", "unemployed" ],
|
|
34
|
-
[ null, "m", "employed" ],
|
|
35
|
-
[ null, null, "selfEmployed" ],
|
|
36
|
-
[ null, null, "student" ]
|
|
37
|
-
],
|
|
38
|
-
|
|
39
|
-
"rules": [
|
|
40
|
-
[ "[18..21]", "-", "-", 32 ],
|
|
41
|
-
[ "(21..25]", "-", "-", 35 ],
|
|
42
|
-
[ "(25..35]", "-", "-", 40 ],
|
|
43
|
-
[ "(35..49]", "-", "-", 43 ],
|
|
44
|
-
[ ">49", "-", "-", 48 ],
|
|
45
|
-
[ "-", "s", "-", 25 ],
|
|
46
|
-
[ "-", "m", "-", 45 ],
|
|
47
|
-
[ "-", "-", "unemployed", 15 ],
|
|
48
|
-
[ "-", "-", "student", 18 ],
|
|
49
|
-
[ "-", "-", "employed", 45 ],
|
|
50
|
-
[ "-", "-", "selfEmployed", 36 ]
|
|
51
|
-
],
|
|
52
|
-
|
|
53
|
-
"hitPolicy": "collect+"
|
|
54
|
-
},
|
|
55
|
-
|
|
56
|
-
"tblBureauRiskCat": {
|
|
57
|
-
|
|
58
|
-
"inputs": [ "custExist", "appRiskScore" ],
|
|
59
|
-
"outputs": [ "bureauRiskCat" ],
|
|
60
|
-
|
|
61
|
-
"rules": [
|
|
62
|
-
[ false, "<100", "high" ],
|
|
63
|
-
[ false, "[100..120)", "medium" ],
|
|
64
|
-
[ false, "[120..130]", "low" ],
|
|
65
|
-
[ false, ">130", "veryLow" ],
|
|
66
|
-
[ true, "<80", "decline" ],
|
|
67
|
-
[ true, "[80..90)", "high" ],
|
|
68
|
-
[ true, "[90..110]", "medium" ],
|
|
69
|
-
[ true, ">110", "low" ]
|
|
70
|
-
],
|
|
71
|
-
|
|
72
|
-
"hitPolicy": "unique"
|
|
73
|
-
},
|
|
74
|
-
|
|
75
|
-
"tblBureauCallType": {
|
|
76
|
-
|
|
77
|
-
"inputs": [ "bureauRiskCat" ],
|
|
78
|
-
"outputs": [ "bureauCallType" ],
|
|
79
|
-
|
|
80
|
-
"rules": [
|
|
81
|
-
[ "high,medium", "full" ],
|
|
82
|
-
[ "low", "mini" ],
|
|
83
|
-
[ "veryLow,decline", "none" ]
|
|
84
|
-
],
|
|
85
|
-
|
|
86
|
-
"hitPolicy": "unique"
|
|
87
|
-
},
|
|
88
|
-
|
|
89
|
-
"tblEligibility": {
|
|
90
|
-
|
|
91
|
-
"inputs": [ "bureauRiskCat", "bureauAfford", "custAge" ],
|
|
92
|
-
"outputs": [ "eligibility" ],
|
|
93
|
-
|
|
94
|
-
"outputValues": [ "ineligible", "eligible" ],
|
|
95
|
-
|
|
96
|
-
"rules": [
|
|
97
|
-
[ "decline", "-", "-", "ineligible" ],
|
|
98
|
-
[ "-", false, "-", "ineligible" ],
|
|
99
|
-
[ "-", "-", "<18", "ineligible" ],
|
|
100
|
-
[ "-", "-", "-", "eligible" ]
|
|
101
|
-
],
|
|
102
|
-
|
|
103
|
-
"hitPolicy": "priority"
|
|
104
|
-
},
|
|
105
|
-
|
|
106
|
-
"tblCreditContFactor": {
|
|
107
|
-
|
|
108
|
-
"inputs": [ "bureauRiskCat" ],
|
|
109
|
-
"outputs": [ "creditContFactor" ],
|
|
110
|
-
|
|
111
|
-
"rules": [
|
|
112
|
-
[ "high,decline", 0.6 ],
|
|
113
|
-
[ "medium", 0.7 ],
|
|
114
|
-
[ "low,veryLow", 0.8 ]
|
|
115
|
-
],
|
|
116
|
-
|
|
117
|
-
"hitPolicy": "unique"
|
|
118
|
-
},
|
|
119
|
-
|
|
120
|
-
"tblStrategy": {
|
|
121
|
-
|
|
122
|
-
"inputs": [ "eligibility", "bureauCallType" ],
|
|
123
|
-
"outputs": [ "strategy" ],
|
|
124
|
-
|
|
125
|
-
"rules": [
|
|
126
|
-
[ "ineligible", "-", "decline" ],
|
|
127
|
-
[ "eligible", "full,mini", "bureau" ],
|
|
128
|
-
[ "eligible", "none", "through" ]
|
|
129
|
-
],
|
|
130
|
-
|
|
131
|
-
"hitPolicy": "unique"
|
|
132
|
-
},
|
|
133
|
-
|
|
134
|
-
"tblPostBureauRiskCat": {
|
|
135
|
-
|
|
136
|
-
"inputs": [ "custExist", "appRiskScore", "creditScore" ],
|
|
137
|
-
"outputs": [ "postBureauRiskCat" ],
|
|
138
|
-
|
|
139
|
-
"rules": [
|
|
140
|
-
[ false, "<120", "<590", "high" ],
|
|
141
|
-
[ false, "<120", "[590..610]", "medium" ],
|
|
142
|
-
[ false, "<120", ">610", "low" ],
|
|
143
|
-
[ false, "[120..130]", "<600", "high" ],
|
|
144
|
-
[ false, "[120..130]", "[600..625]", "medium" ],
|
|
145
|
-
[ false, "[120..130]", ">625", "low" ],
|
|
146
|
-
[ false, ">130", "-", "veryLow" ],
|
|
147
|
-
[ true, "<=100", "<580", "high" ],
|
|
148
|
-
[ true, "<=100", "[580..600]", "medium" ],
|
|
149
|
-
[ true, "<=100", ">600", "low" ],
|
|
150
|
-
[ true, ">100", "<590", "high" ],
|
|
151
|
-
[ true, ">100", "[590..615]", "medium" ],
|
|
152
|
-
[ true, ">100", ">615", "low" ]
|
|
153
|
-
],
|
|
154
|
-
|
|
155
|
-
"hitPolicy": "unique"
|
|
156
|
-
},
|
|
157
|
-
|
|
158
|
-
"tblRouting": {
|
|
159
|
-
|
|
160
|
-
"inputs": [ "postBureauRiskCat", "postBureauAfford", "bankrupt", "creditScore" ],
|
|
161
|
-
"outputs": [ "routing" ],
|
|
162
|
-
|
|
163
|
-
"inputValues": [
|
|
164
|
-
[ null, null, true, "[0..999]" ],
|
|
165
|
-
[ null, null, false, null ]
|
|
166
|
-
],
|
|
167
|
-
|
|
168
|
-
"outputValues": [ "decline", "refer", "accept" ],
|
|
169
|
-
|
|
170
|
-
"rules": [
|
|
171
|
-
[ "-", false, "-", "-", "decline" ],
|
|
172
|
-
[ "-", "-", true, "-", "decline" ],
|
|
173
|
-
[ "high", "-", "-", "-", "refer" ],
|
|
174
|
-
[ "-", "-", "-", "<580", "refer" ],
|
|
175
|
-
[ "-", "-", "-", "-", "accept" ]
|
|
176
|
-
],
|
|
177
|
-
|
|
178
|
-
"hitPolicy": "priority"
|
|
179
|
-
}
|
|
180
|
-
},
|
|
181
|
-
|
|
182
|
-
"formulas": {
|
|
183
|
-
|
|
184
|
-
"monthFee": { "formula": "IF(loanType = 'standard', 20, IF(loanType = 'special', 25, 0))" },
|
|
185
|
-
|
|
186
|
-
"monthRepay": { "formula": "-PMT(loanRate%/12, loanTerm*12, loanAmnt)" },
|
|
187
|
-
|
|
188
|
-
"monthInstall": { "formula": "monthRepay + monthFee" },
|
|
189
|
-
|
|
190
|
-
"disposIncome": { "formula": "monthIncome - (monthRepay + monthExpenses)" },
|
|
191
|
-
|
|
192
|
-
"appRiskScore": { "formula": "tblAppRiskScore(,,custAge, maritalStatus, employmentStatus)" },
|
|
193
|
-
|
|
194
|
-
"bureauRiskCat": { "formula": "tblBureauRiskCat(,,custExist, appRiskScore)" },
|
|
195
|
-
|
|
196
|
-
"bureauAfford": { "formula": "IF(disposIncome * tblCreditContFactor(,,bureauRiskCat) > monthInstall, true, false)" },
|
|
197
|
-
|
|
198
|
-
"strategy": {
|
|
199
|
-
"formula": "tblStrategy(,,tblEligibility(,,bureauRiskCat, bureauAfford, custAge), tblBureauCallType(,,bureauRiskCat))",
|
|
200
|
-
"finalValue": []
|
|
201
|
-
},
|
|
202
|
-
|
|
203
|
-
"comment": "additional stage follows",
|
|
204
|
-
|
|
205
|
-
"postBureauRiskCat": { "formula": "tblPostBureauRiskCat(,,custExist, appRiskScore, creditScore)" },
|
|
206
|
-
|
|
207
|
-
"postBureauAfford": { "formula": "IF(disposIncome * tblCreditContFactor(,,postBureauRiskCat) > monthInstall, true, false)" },
|
|
208
|
-
|
|
209
|
-
"routing": {
|
|
210
|
-
"formula": "tblRouting(,,postBureauRiskCat, postBureauAfford, bankrupt, creditScore)",
|
|
211
|
-
"finalValue": []
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"modelName": "DTLoanStrategyFromScratch",
|
|
3
|
+
"modelDescription": "Loan Strategy model",
|
|
4
|
+
"modelType": "calculation",
|
|
5
|
+
|
|
6
|
+
"data": {
|
|
7
|
+
|
|
8
|
+
"comment": "use binding to feed dif. values",
|
|
9
|
+
|
|
10
|
+
"custExist": { "value": false },
|
|
11
|
+
"custAge": { "value": 40 },
|
|
12
|
+
"maritalStatus": { "value": "s" },
|
|
13
|
+
"employmentStatus": { "value": "selfEmployed" },
|
|
14
|
+
"creditScore": { "value": 610 },
|
|
15
|
+
"bankrupt": { "value": false },
|
|
16
|
+
"monthIncome": { "value": 2500 },
|
|
17
|
+
"monthExpenses": { "value": 1000 },
|
|
18
|
+
|
|
19
|
+
"loanType": { "value": "standard" },
|
|
20
|
+
"loanRate": { "value": 5.0 },
|
|
21
|
+
"loanTerm": { "value": 30 },
|
|
22
|
+
"loanAmnt": { "value": 100000.0 }
|
|
23
|
+
},
|
|
24
|
+
|
|
25
|
+
"decisionTables": {
|
|
26
|
+
|
|
27
|
+
"tblAppRiskScore": {
|
|
28
|
+
|
|
29
|
+
"inputs": [ "custAge", "maritalStatus", "employmentStatus" ],
|
|
30
|
+
"outputs": [ "partialScore" ],
|
|
31
|
+
|
|
32
|
+
"inputValues": [
|
|
33
|
+
[ "[18..120]", "s", "unemployed" ],
|
|
34
|
+
[ null, "m", "employed" ],
|
|
35
|
+
[ null, null, "selfEmployed" ],
|
|
36
|
+
[ null, null, "student" ]
|
|
37
|
+
],
|
|
38
|
+
|
|
39
|
+
"rules": [
|
|
40
|
+
[ "[18..21]", "-", "-", 32 ],
|
|
41
|
+
[ "(21..25]", "-", "-", 35 ],
|
|
42
|
+
[ "(25..35]", "-", "-", 40 ],
|
|
43
|
+
[ "(35..49]", "-", "-", 43 ],
|
|
44
|
+
[ ">49", "-", "-", 48 ],
|
|
45
|
+
[ "-", "s", "-", 25 ],
|
|
46
|
+
[ "-", "m", "-", 45 ],
|
|
47
|
+
[ "-", "-", "unemployed", 15 ],
|
|
48
|
+
[ "-", "-", "student", 18 ],
|
|
49
|
+
[ "-", "-", "employed", 45 ],
|
|
50
|
+
[ "-", "-", "selfEmployed", 36 ]
|
|
51
|
+
],
|
|
52
|
+
|
|
53
|
+
"hitPolicy": "collect+"
|
|
54
|
+
},
|
|
55
|
+
|
|
56
|
+
"tblBureauRiskCat": {
|
|
57
|
+
|
|
58
|
+
"inputs": [ "custExist", "appRiskScore" ],
|
|
59
|
+
"outputs": [ "bureauRiskCat" ],
|
|
60
|
+
|
|
61
|
+
"rules": [
|
|
62
|
+
[ false, "<100", "high" ],
|
|
63
|
+
[ false, "[100..120)", "medium" ],
|
|
64
|
+
[ false, "[120..130]", "low" ],
|
|
65
|
+
[ false, ">130", "veryLow" ],
|
|
66
|
+
[ true, "<80", "decline" ],
|
|
67
|
+
[ true, "[80..90)", "high" ],
|
|
68
|
+
[ true, "[90..110]", "medium" ],
|
|
69
|
+
[ true, ">110", "low" ]
|
|
70
|
+
],
|
|
71
|
+
|
|
72
|
+
"hitPolicy": "unique"
|
|
73
|
+
},
|
|
74
|
+
|
|
75
|
+
"tblBureauCallType": {
|
|
76
|
+
|
|
77
|
+
"inputs": [ "bureauRiskCat" ],
|
|
78
|
+
"outputs": [ "bureauCallType" ],
|
|
79
|
+
|
|
80
|
+
"rules": [
|
|
81
|
+
[ "high,medium", "full" ],
|
|
82
|
+
[ "low", "mini" ],
|
|
83
|
+
[ "veryLow,decline", "none" ]
|
|
84
|
+
],
|
|
85
|
+
|
|
86
|
+
"hitPolicy": "unique"
|
|
87
|
+
},
|
|
88
|
+
|
|
89
|
+
"tblEligibility": {
|
|
90
|
+
|
|
91
|
+
"inputs": [ "bureauRiskCat", "bureauAfford", "custAge" ],
|
|
92
|
+
"outputs": [ "eligibility" ],
|
|
93
|
+
|
|
94
|
+
"outputValues": [ "ineligible", "eligible" ],
|
|
95
|
+
|
|
96
|
+
"rules": [
|
|
97
|
+
[ "decline", "-", "-", "ineligible" ],
|
|
98
|
+
[ "-", false, "-", "ineligible" ],
|
|
99
|
+
[ "-", "-", "<18", "ineligible" ],
|
|
100
|
+
[ "-", "-", "-", "eligible" ]
|
|
101
|
+
],
|
|
102
|
+
|
|
103
|
+
"hitPolicy": "priority"
|
|
104
|
+
},
|
|
105
|
+
|
|
106
|
+
"tblCreditContFactor": {
|
|
107
|
+
|
|
108
|
+
"inputs": [ "bureauRiskCat" ],
|
|
109
|
+
"outputs": [ "creditContFactor" ],
|
|
110
|
+
|
|
111
|
+
"rules": [
|
|
112
|
+
[ "high,decline", 0.6 ],
|
|
113
|
+
[ "medium", 0.7 ],
|
|
114
|
+
[ "low,veryLow", 0.8 ]
|
|
115
|
+
],
|
|
116
|
+
|
|
117
|
+
"hitPolicy": "unique"
|
|
118
|
+
},
|
|
119
|
+
|
|
120
|
+
"tblStrategy": {
|
|
121
|
+
|
|
122
|
+
"inputs": [ "eligibility", "bureauCallType" ],
|
|
123
|
+
"outputs": [ "strategy" ],
|
|
124
|
+
|
|
125
|
+
"rules": [
|
|
126
|
+
[ "ineligible", "-", "decline" ],
|
|
127
|
+
[ "eligible", "full,mini", "bureau" ],
|
|
128
|
+
[ "eligible", "none", "through" ]
|
|
129
|
+
],
|
|
130
|
+
|
|
131
|
+
"hitPolicy": "unique"
|
|
132
|
+
},
|
|
133
|
+
|
|
134
|
+
"tblPostBureauRiskCat": {
|
|
135
|
+
|
|
136
|
+
"inputs": [ "custExist", "appRiskScore", "creditScore" ],
|
|
137
|
+
"outputs": [ "postBureauRiskCat" ],
|
|
138
|
+
|
|
139
|
+
"rules": [
|
|
140
|
+
[ false, "<120", "<590", "high" ],
|
|
141
|
+
[ false, "<120", "[590..610]", "medium" ],
|
|
142
|
+
[ false, "<120", ">610", "low" ],
|
|
143
|
+
[ false, "[120..130]", "<600", "high" ],
|
|
144
|
+
[ false, "[120..130]", "[600..625]", "medium" ],
|
|
145
|
+
[ false, "[120..130]", ">625", "low" ],
|
|
146
|
+
[ false, ">130", "-", "veryLow" ],
|
|
147
|
+
[ true, "<=100", "<580", "high" ],
|
|
148
|
+
[ true, "<=100", "[580..600]", "medium" ],
|
|
149
|
+
[ true, "<=100", ">600", "low" ],
|
|
150
|
+
[ true, ">100", "<590", "high" ],
|
|
151
|
+
[ true, ">100", "[590..615]", "medium" ],
|
|
152
|
+
[ true, ">100", ">615", "low" ]
|
|
153
|
+
],
|
|
154
|
+
|
|
155
|
+
"hitPolicy": "unique"
|
|
156
|
+
},
|
|
157
|
+
|
|
158
|
+
"tblRouting": {
|
|
159
|
+
|
|
160
|
+
"inputs": [ "postBureauRiskCat", "postBureauAfford", "bankrupt", "creditScore" ],
|
|
161
|
+
"outputs": [ "routing" ],
|
|
162
|
+
|
|
163
|
+
"inputValues": [
|
|
164
|
+
[ null, null, true, "[0..999]" ],
|
|
165
|
+
[ null, null, false, null ]
|
|
166
|
+
],
|
|
167
|
+
|
|
168
|
+
"outputValues": [ "decline", "refer", "accept" ],
|
|
169
|
+
|
|
170
|
+
"rules": [
|
|
171
|
+
[ "-", false, "-", "-", "decline" ],
|
|
172
|
+
[ "-", "-", true, "-", "decline" ],
|
|
173
|
+
[ "high", "-", "-", "-", "refer" ],
|
|
174
|
+
[ "-", "-", "-", "<580", "refer" ],
|
|
175
|
+
[ "-", "-", "-", "-", "accept" ]
|
|
176
|
+
],
|
|
177
|
+
|
|
178
|
+
"hitPolicy": "priority"
|
|
179
|
+
}
|
|
180
|
+
},
|
|
181
|
+
|
|
182
|
+
"formulas": {
|
|
183
|
+
|
|
184
|
+
"monthFee": { "formula": "IF(loanType = 'standard', 20, IF(loanType = 'special', 25, 0))" },
|
|
185
|
+
|
|
186
|
+
"monthRepay": { "formula": "-PMT(loanRate%/12, loanTerm*12, loanAmnt)" },
|
|
187
|
+
|
|
188
|
+
"monthInstall": { "formula": "monthRepay + monthFee" },
|
|
189
|
+
|
|
190
|
+
"disposIncome": { "formula": "monthIncome - (monthRepay + monthExpenses)" },
|
|
191
|
+
|
|
192
|
+
"appRiskScore": { "formula": "tblAppRiskScore(,,custAge, maritalStatus, employmentStatus)" },
|
|
193
|
+
|
|
194
|
+
"bureauRiskCat": { "formula": "tblBureauRiskCat(,,custExist, appRiskScore)" },
|
|
195
|
+
|
|
196
|
+
"bureauAfford": { "formula": "IF(disposIncome * tblCreditContFactor(,,bureauRiskCat) > monthInstall, true, false)" },
|
|
197
|
+
|
|
198
|
+
"strategy": {
|
|
199
|
+
"formula": "tblStrategy(,,tblEligibility(,,bureauRiskCat, bureauAfford, custAge), tblBureauCallType(,,bureauRiskCat))",
|
|
200
|
+
"finalValue": []
|
|
201
|
+
},
|
|
202
|
+
|
|
203
|
+
"comment": "additional stage follows",
|
|
204
|
+
|
|
205
|
+
"postBureauRiskCat": { "formula": "tblPostBureauRiskCat(,,custExist, appRiskScore, creditScore)" },
|
|
206
|
+
|
|
207
|
+
"postBureauAfford": { "formula": "IF(disposIncome * tblCreditContFactor(,,postBureauRiskCat) > monthInstall, true, false)" },
|
|
208
|
+
|
|
209
|
+
"routing": {
|
|
210
|
+
"formula": "tblRouting(,,postBureauRiskCat, postBureauAfford, bankrupt, creditScore)",
|
|
211
|
+
"finalValue": []
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
{
|
|
2
|
-
"modelName": "DTOutputOrderExample",
|
|
3
|
-
"modelDescription": "RASON Decision Table Example using the ''O' policy: The example illustrates the sue of the Output Order hit policy which means that if multiple rules are hit, the collection of results is returned in the priority order as listed for outputValues. This decision table accepts two input parameters, age and service, and returns the number of vacation days that an employee is entitled to. ",
|
|
4
|
-
"modelType": "calculation",
|
|
5
|
-
"data": {
|
|
6
|
-
"comment": "use the data section to hold the constant input parameters: age and service.",
|
|
7
|
-
"age": {
|
|
8
|
-
"value": 58
|
|
9
|
-
},
|
|
10
|
-
"service": {
|
|
11
|
-
"value": 31
|
|
12
|
-
}
|
|
13
|
-
},
|
|
14
|
-
"decisionTables": {
|
|
15
|
-
"comment": "This decision table accepts two input parameters, age and service, and returns the number of vacation days that an employee is entitled to. A 58 year old employee with 31 years of service is entitled to 35 vacation days. 27 (rule 1) + 5 (rule 6) + 3 (rule 3). ",
|
|
16
|
-
"tblHolidays": {
|
|
17
|
-
"inputs": [ "age", "service" ],
|
|
18
|
-
"outputs": [ "holidays" ],
|
|
19
|
-
"rules": [
|
|
20
|
-
[ "-", "-", "age-service" ],
|
|
21
|
-
[ ">=60", "-", 3 ],
|
|
22
|
-
[ "-", ">=30", 3 ],
|
|
23
|
-
[ "<18", "-", 5 ],
|
|
24
|
-
[ ">=60", "-", 5 ],
|
|
25
|
-
[ "-", ">=30", 5 ],
|
|
26
|
-
[ "[18..60]", "[15..30]", 2 ],
|
|
27
|
-
[ "[45..60]", "<30", 2 ]
|
|
28
|
-
],
|
|
29
|
-
"hitPolicy": "outputOrder",
|
|
30
|
-
"outputValues": [ 27, 5, 3, 2 ]
|
|
31
|
-
}
|
|
32
|
-
},
|
|
33
|
-
"formulas": {
|
|
34
|
-
"res": {
|
|
35
|
-
"comment": "The decision table is calculated from within the formulas section. Note the order in which the results are returned. A hit policy of Output Order specifies that results are returned in priority order. Since priority order is 27, 5, 3, 2 (as given in the outputValues property within the tblHolidays decision table, the results are returned as 27, 5, 3, rather than 27, 3, 5 which is the order in which they are triggered, i.e. rule 1, rule 3 and rule 6.",
|
|
36
|
-
"formula": "tblHolidays(,,age, service)",
|
|
37
|
-
"finalValue": []
|
|
38
|
-
}
|
|
39
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"modelName": "DTOutputOrderExample",
|
|
3
|
+
"modelDescription": "RASON Decision Table Example using the ''O' policy: The example illustrates the sue of the Output Order hit policy which means that if multiple rules are hit, the collection of results is returned in the priority order as listed for outputValues. This decision table accepts two input parameters, age and service, and returns the number of vacation days that an employee is entitled to. ",
|
|
4
|
+
"modelType": "calculation",
|
|
5
|
+
"data": {
|
|
6
|
+
"comment": "use the data section to hold the constant input parameters: age and service.",
|
|
7
|
+
"age": {
|
|
8
|
+
"value": 58
|
|
9
|
+
},
|
|
10
|
+
"service": {
|
|
11
|
+
"value": 31
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"decisionTables": {
|
|
15
|
+
"comment": "This decision table accepts two input parameters, age and service, and returns the number of vacation days that an employee is entitled to. A 58 year old employee with 31 years of service is entitled to 35 vacation days. 27 (rule 1) + 5 (rule 6) + 3 (rule 3). ",
|
|
16
|
+
"tblHolidays": {
|
|
17
|
+
"inputs": [ "age", "service" ],
|
|
18
|
+
"outputs": [ "holidays" ],
|
|
19
|
+
"rules": [
|
|
20
|
+
[ "-", "-", "age-service" ],
|
|
21
|
+
[ ">=60", "-", 3 ],
|
|
22
|
+
[ "-", ">=30", 3 ],
|
|
23
|
+
[ "<18", "-", 5 ],
|
|
24
|
+
[ ">=60", "-", 5 ],
|
|
25
|
+
[ "-", ">=30", 5 ],
|
|
26
|
+
[ "[18..60]", "[15..30]", 2 ],
|
|
27
|
+
[ "[45..60]", "<30", 2 ]
|
|
28
|
+
],
|
|
29
|
+
"hitPolicy": "outputOrder",
|
|
30
|
+
"outputValues": [ 27, 5, 3, 2 ]
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"formulas": {
|
|
34
|
+
"res": {
|
|
35
|
+
"comment": "The decision table is calculated from within the formulas section. Note the order in which the results are returned. A hit policy of Output Order specifies that results are returned in priority order. Since priority order is 27, 5, 3, 2 (as given in the outputValues property within the tblHolidays decision table, the results are returned as 27, 5, 3, rather than 27, 3, 5 which is the order in which they are triggered, i.e. rule 1, rule 3 and rule 6.",
|
|
36
|
+
"formula": "tblHolidays(,,age, service)",
|
|
37
|
+
"finalValue": []
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
40
|
}
|
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
{
|
|
2
|
-
"modelName": "DTUniqueExample",
|
|
3
|
-
"modelDescription": "RASON Decision Table Example using the 'U' policy: This decision table in this model returns a patient's health risk rating based on their age and medical history. ",
|
|
4
|
-
"modelType": "calculation",
|
|
5
|
-
"data": {
|
|
6
|
-
"comment": "Use the data section to organize the constant data parameters in the model. In this case, the constant data INPUT parameters. These are the parameters that are fed into the decision table to produce a result.",
|
|
7
|
-
"age": {
|
|
8
|
-
"value": 54
|
|
9
|
-
},
|
|
10
|
-
"medHistory": {
|
|
11
|
-
"value": "good"
|
|
12
|
-
}
|
|
13
|
-
},
|
|
14
|
-
"decisionTables": {
|
|
15
|
-
"comment": "This decision table accepts two input parameters, age and medHisotry and returns a patient's medicatl risk rating and the rule that was triggered. The 'Unique' hit policy. With this hit policy in effect, a unique rule must be triggered evaluating to a unique result. If multiple rules are triggered, an error will be returned. In this example a 54 year old person with a good medical history will be assigned a risk rating of Medium.",
|
|
16
|
-
"tblRisk": {
|
|
17
|
-
"inputs": [ "age", "medHistory" ],
|
|
18
|
-
"outputs": [ "riskRating", "rule" ],
|
|
19
|
-
"rules": [
|
|
20
|
-
[ ">60,<25", "good", "Medium", "r1" ],
|
|
21
|
-
[ ">60", "bad", "High", "r2" ],
|
|
22
|
-
[ "[25..60]", "-", "Medium", "r3" ],
|
|
23
|
-
[ "<25", "bad", "Medium", "r4" ]
|
|
24
|
-
],
|
|
25
|
-
"hitPolicy": "Unique",
|
|
26
|
-
"default": [
|
|
27
|
-
[ "High", "r0" ]
|
|
28
|
-
]
|
|
29
|
-
}
|
|
30
|
-
},
|
|
31
|
-
"formulas": {
|
|
32
|
-
"comment": "Use the formulas section to calculate a decision table.",
|
|
33
|
-
"res": {
|
|
34
|
-
"comment": "The tblRisk decision table is called by passing the two input parameters, age and medHistory. The first argument [string ret_output] is an optional argument that, when passed, returns only the desired columns in the output. In this example, this argument is blank. The second argument [bool ret_header] is an optional argument that, when True, returns the column headings in the output. This is key if a function will be refereing this output using the PsiJoin function. (The PsiJoin function relies on the column headings in order to perform the combination of two tables.) The third and remaining arguments pass the input parameters to the decision table: reqObj, age and medHistory.",
|
|
35
|
-
"formula": "tblRisk(,,age, medHistory)",
|
|
36
|
-
"finalValue": []
|
|
37
|
-
}
|
|
38
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"modelName": "DTUniqueExample",
|
|
3
|
+
"modelDescription": "RASON Decision Table Example using the 'U' policy: This decision table in this model returns a patient's health risk rating based on their age and medical history. ",
|
|
4
|
+
"modelType": "calculation",
|
|
5
|
+
"data": {
|
|
6
|
+
"comment": "Use the data section to organize the constant data parameters in the model. In this case, the constant data INPUT parameters. These are the parameters that are fed into the decision table to produce a result.",
|
|
7
|
+
"age": {
|
|
8
|
+
"value": 54
|
|
9
|
+
},
|
|
10
|
+
"medHistory": {
|
|
11
|
+
"value": "good"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"decisionTables": {
|
|
15
|
+
"comment": "This decision table accepts two input parameters, age and medHisotry and returns a patient's medicatl risk rating and the rule that was triggered. The 'Unique' hit policy. With this hit policy in effect, a unique rule must be triggered evaluating to a unique result. If multiple rules are triggered, an error will be returned. In this example a 54 year old person with a good medical history will be assigned a risk rating of Medium.",
|
|
16
|
+
"tblRisk": {
|
|
17
|
+
"inputs": [ "age", "medHistory" ],
|
|
18
|
+
"outputs": [ "riskRating", "rule" ],
|
|
19
|
+
"rules": [
|
|
20
|
+
[ ">60,<25", "good", "Medium", "r1" ],
|
|
21
|
+
[ ">60", "bad", "High", "r2" ],
|
|
22
|
+
[ "[25..60]", "-", "Medium", "r3" ],
|
|
23
|
+
[ "<25", "bad", "Medium", "r4" ]
|
|
24
|
+
],
|
|
25
|
+
"hitPolicy": "Unique",
|
|
26
|
+
"default": [
|
|
27
|
+
[ "High", "r0" ]
|
|
28
|
+
]
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"formulas": {
|
|
32
|
+
"comment": "Use the formulas section to calculate a decision table.",
|
|
33
|
+
"res": {
|
|
34
|
+
"comment": "The tblRisk decision table is called by passing the two input parameters, age and medHistory. The first argument [string ret_output] is an optional argument that, when passed, returns only the desired columns in the output. In this example, this argument is blank. The second argument [bool ret_header] is an optional argument that, when True, returns the column headings in the output. This is key if a function will be refereing this output using the PsiJoin function. (The PsiJoin function relies on the column headings in order to perform the combination of two tables.) The third and remaining arguments pass the input parameters to the decision table: reqObj, age and medHistory.",
|
|
35
|
+
"formula": "tblRisk(,,age, medHistory)",
|
|
36
|
+
"finalValue": []
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
39
|
}
|