URule可视化规则引擎保险行业应用(五、决策表、决策树等实现)

        本篇以高胆固醇血症评点规则为例,讲解决策表(非交叉)、决策集、决策树、决策流使用步骤方法。

        高胆固醇血症评点规则实现稍微复杂,该业务规则计算实际需要如下3个步骤:先计算总胆固醇评定级别和低密度脂蛋白评定级别、然后计算得出高胆固醇血症评定级别即取两者的最高级别值、再根据评定级别与年龄关系得出高胆固醇血症评点结果;通过URule实现则需要先编写4个基本规则:计算总胆固醇评定级别、计算低密度脂蛋白评定级别、计算高胆固醇血症评定级别、计算高胆固醇血症评点结果,然后再通过决策流对他们按照步骤进行编排,具体实现步骤如下。

        4.2.1)计算总胆固醇评定级别(决策表)

        不同的总胆固醇数值代表高胆固醇血症不同级别,即某属性不同值对应着不同结果,也即不同条件下对应不同的结果,这一类规则使用URule中决策表实现非常方便,具体实现步骤如下。

        1.和创建交叉决策表相同,先右键点击项目列表树种决策表节点,然后点击选择添加决策表,在弹出“创建一个决策表文件”对话框中输入“cholesterolResultLevel1Total”然后点击“保存”,这时就会创建一个新的决策表文件,系统模板会打开该文件的维护界面,具体如下图。

        2.导入客户变量库和导入常量库,导入方法和血压寿险评点规则导入方法相同,这里不再赘述

        3.配置决策表条件,右键点击决策表表头中第一个“请选择参数或变量”,然后再点击选择“客户”下的“总胆固醇”,然后右键点击“客户的总胆固醇”单元格下方的第一个单元格,再点击“配置条件”,结合高胆固醇血症评定级别规则表5,在配置对话框,配置条件为“小于或等于3.2”,配置方法和血压寿险评点规则中配置方法相同,同样方法分别点击此列下方单元格将高胆固醇血症评定级别规则表5中“总胆固醇”一列其它条件逐个配置,具体操作及配置结果如下。

注:决策表默认仅有2个条件行,在单元格中点击右键,选择“添加条件行”即可实现新增更多的条件行

        4.删除多余条件列,由于URule决策表默认显示了2个条件列,而本业务只需一个条件列,点击第二列表头标题行,然后点击选择“删除当前条件列”即可

        5.定义决策结果,右键点击表头标题“选择要赋值的变量”,然后点击“客户”,再点击“高胆固醇总胆固醇评点级别”字段,然后分别点击该列下方单元格中“无”,再点击“选择常量”,结合高胆固醇血症评定级别规则表5,定义逐个条件对应的结果,最后点击左上角“保存”,这样就完成了此决策表定义,一些主要操作及截图如下

        4.2.2)计算低密度脂蛋白评定级别(决策表)

        低密度脂蛋白评定级别和总胆固醇评定级别规则业务类似,规则类型相同,采用URule中决策表实现即可,开发方法步骤和总胆固醇评定级别规则相同,此决策表文件名称命名为“cholesterolResultLevel2Low”,具体过程这里不再赘述,最终实现规则如下。

        4.2.3)计算高胆固醇血症评定级别(决策集)

        高胆固醇血症评定级别规则实现功能即:取总胆固醇评定级别和低密度脂蛋白评定级别中较高的值作为高胆固醇血症的评定级别,这里面其实存在一个设计技巧,尽管我们看到的评定级别为“中文”,但在定义常量“评定级别”时字段类型采用的为“Integer”,所以我们看到的中文其实为标题字段,实际存储值为数字,所以此规则实现就变得非常简单,采用“向导式决策集”实现即可,实现步骤如下。

        1.创建决策集文件,在项目列表树中,右键点击“决策集”节点,然后点击“添加向导式决策集”,输入文件名称“cholesterolResultLevel”并点击下方“保存”按钮


        2.导入客户变量库

        3.编写规则条件,点击“添加规则”按钮,这时页面下方会添加一个规则模板,然后点击如果下方“并且”,然后点击“添加条件”,再点击旁边“请选择类型”,然后点击“选择变量”,再点击“请选择变量”,然后点击“客户”,点击选择“高胆固醇总胆固醇评点级别”字段,然后点击“请选择比较操作符”,点击选择为“大于或等于”,然后点击“请选择变量”,再点击“选择变量”,同样方法设置此变量为“客户的高胆固醇低密度脂蛋白评点级别”字段

4.编写规则动作,点击那么右侧“添加动作”,然后点击“请选择动作类型”,然后点击“变量赋值”,再点击“请选择值类型”,然后点击“选择变量”,再点击“请选择变量”,设置值为“客户的高胆固醇血症评点级别”,然后点击“=”右侧的“选择值类型”,再点击“选择变量”,同样操作方法设置为“客户的高胆固醇血症总胆固醇评点级别”,然后点击否则右侧“添加动作”,按照同样操作方法添加新的变量赋值动作,左侧同样为变量“客户的高胆固醇血症评点级别”,右侧为“客户的高胆固醇血症低密度脂蛋白评点级别”,最后点击页面上方“保存”按钮,这样就完成了此决策集编写,主要操作步骤截图如下

4.2.4)计算高胆固醇血症评点结果(决策树)

        根据高胆固醇血症评点规则表6可知,高胆固醇血症不同级别,在不同年龄范围,结果不同,此类规则条件部分具有相同的部分,并且相同部分只涉及一个属性,这类规则适合采用决策树实现,具体实现步骤如下。

        1.首先右键点击项目列表中“决策树”节点,然后点击“添加决策树”,输入文件名“cholesterolResult”,然后点击“保存”按钮,这样就实现了添加一个决策树文件,添加结果如图

        2.为决策树导入变量库和常量库,操作方法步骤和决策表、决策集相同,这里不再赘述

        3.配置决策树根节点属性,先点击“请选择类型”,然后点击“选择变量”,再点击“请选择变量”,点击选择“客户”下“高胆固醇血症评点级别”字段,配置结果如图

        4.配置决策树相同条件部分,如图点击“对号“图标,然后点击“添加条件”,再点击“请选择比较操作符”,点击选择“等于”,然后点击“选择值类型”,再点击选择“选择常量”,然后点击选择常量“评定级别”中“低血脂”,关键操作步骤截图如下

        5.重复上面步骤,根据高胆固醇血症评点规则表6,将相同条件部分配置完整,配置结果如图

        6.配置低血脂级别时其它条件和规则结果,根据高胆固醇血症评点规则表6可知,评点级别为低血脂时,可以确定结果为0,点击低血脂右侧“对号图标”,然后点击“添加动作”,再点击“请选择动作类型”,然后点击“变量赋值”,再点击“请选择值类型”,然后点击“选择变量”,再点击“请选择变量”,然后点击“客户”,再点击“高胆固醇血症评点结果”,然后点击“选择值类型”,再点击“输入值”,然后点击“请输入值”,输入值数值0,操作结果如下图。

        7.根据高胆固醇血症评点规则表6可知,级别为低血脂、正常、接近正常时,评点结果相同,重复上面配置低血脂步骤,配置正常和接近正常时结果,配置结果如下图

        8.配置边缘高值时评点情况,根据高胆固醇血症评点规则表6可知,级别为边缘高值时存在多种情况,当年龄为18-39时评点结果为15,当年龄大于40时评点结果为0;配置步骤为,先点击“等于边缘高值”右侧“对号图标”,再点击2次“添加条件”,添加2个条件,点击第一个条件上“请选择比较操作符”,再点击选择“大于或等于”,然后点击“请选择值类型”,点击选择“输入值”,输入18,然后继续点击18后面“对号图标”,点击添加“添加条件”,继续点击后面“请选择比较操作符”,点击选择“小于或等于”,然后点击后面“选择值类型”,再点击“输入值”,输入39,然后点击39后面“对号图标”,点击“添加动作”,然后点击“请选择动作类型”,再点击“变量赋值”,然后点击“请选择值类型”,点击“选择变量”,然后点击“请选择变量”,再点击“客户”,再点击字段“高胆固醇血症评点结果”,然后点击“选择值类型”,再点击“输入值”,然后输入数值15,至此完成第一种情况配置;然后点击下方第二个条件上“请选择比较操作符”,点击选择“大于”,然后点击“选择值类型”,点击选择“输入值”,然后输入数值40,再点击40后对号图标,点击“添加动作”,然后选择“变量赋值”,然后点击“请选择值类型”,再点击“选择变量”,然后点击“请选择变量”,再点击“客户”,再点击字段“高胆固醇血症评点结果”,然后点击“选择值类型”,再点击“输入值”,然后输入数值0,至此完成第二种情况配置。配置结果如下图

        9.其它级别配置和边缘高值配置步骤类似,重复上面操作即可完成其它级别配置,最后点击页面上方“保存”按钮进行保存,最终配置结果如下图

4.2.5) 计算高胆固醇血症评点结果(决策流)

        添加一个规则流,对以上4个基本规则进行编排,编排为按照计算总胆固醇评定级别(决策表)计算低密度脂蛋白评定级别(决策表)计算高胆固醇血症评定级别(决策集)计算高胆固醇血症评点结果(决策树)顺序执行,定义方法如下。

        1.点击项目列表树上“决策树”节点,再点击“添加决策流”,然后在对话框中输入文件名“cholesterolResultFlow”,再点击“保存”按钮,这样就创建了一个决策流文件,如下图

        2.决策流需要定义一个ID,在决策流页面右侧属性面板中输入一个决策流ID,并按回车键,然后点击属性面板中“添加”按钮,将规则使用到的所有库文件添加进来,这些文件只会在仿真测试中会用到,不会影响发布后规则调用,如果规则较简单不需要仿真测试则可以不用添加

        3.点击页面上方开始图标,进行选中(点击一下图标便会自动选中该图标),然后点击下方空白处,这时就会在流程中自动添加一个开始节点,点击添加的开始节点,页面右侧属性面板则会显示该节点允许配置的一些属性,可以根据需求进行修改,如下图

        4.点击选中规则图标,然后在空白处点击鼠标添加一个规则节点,然后点击新添加的规则节点,再在其属性面板中修改名称为“计算总胆固醇评定级别”,然后点击目标规则文件输入框旁边“查找”图标,选中已经定义好的对应规则文件“cholesterolResultLevel1Total”,然后点击上方“连线图标”,再点击下方“开始1”节点,然后点击“计算总胆固醇评定级别”节点,这样就实现了决策流中第一个规则添加,如图

    5.重复上面操作,将其它3个规则也添加配置进来,最后点击页面左上角“保存”图标按钮,这时就完成高胆固醇血症评点规则配置,最后配置结果如下图

        决策流支持较完整的与流程相关的操作,包含开始、规则、知识包、动作、脚本、决策、分支、聚合等节点,这里主要用到开始和规则节点,开始是定义一个决策流文件时必须要添加的,支持添加事件Bean监听规则流开始,规则节点用于绑定一个具体的规则,如决策集、决策表、决策树等,当规则流流程到该节点时就会触发所绑定的具体规则。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,839评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,543评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,116评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,371评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,384评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,111评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,416评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,053评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,558评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,007评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,117评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,756评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,324评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,315评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,539评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,578评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,877评论 2 345

推荐阅读更多精彩内容