基于Drools的冠心病康复方案自动生成*
2021-09-15程文林武小平
赵 芳 范 倩 焦 琳 程文林 武小平
(1.武汉大学中南医院心血管内科 武汉 430071)(2.武汉大学计算机学院 武汉 430070)
1 引言
冠心病是由环境因素和遗传因素共同作用导致的复杂性疾病。据最新WHO统计,冠心病导致的死亡人数占全球总死亡人数的12.9%,是世界上最常见的死亡原因之一。尽管药物、冠脉介入及冠脉搭桥在冠心病治疗中起到重要作用,但是心脏康复治疗亦不容忽视。目前我国关于冠心病的康复方案需要医生根据自身经验为患者定制处方,制定方案效率较低,医疗资源利用率低[1]。设计并实现冠心病康复方案的自动生成可以优化康复方案的制定,提高接诊效率,同时可以降低医疗成本,避免过度医疗[2]。
近年来,专家系统在医学领域的应用越来越广泛。例如使用规则推理方法设计并实现的不确定性流感诊断系统[3]和一种基于规则的诊疗记忆丧失疾病的专家系统[4],通过实际案例数据验证表明系统生成的结果比手动生成的结果可靠。本文在对现有冠心病康复方案进行知识提取和总结的基础上,构建了康复方案模型;同时设计实现了康复方案推理引擎,并对规则匹配算法进行了优化,使其更适合冠心病康复方案模型的规则推理。与国内凭经验手写生成的康复方案相比,冠心病康复方案的自动生成极大地节约了时间,提高了诊疗效率,节省了医疗成本。
2 资料和方法
2.1 康复方案模型构建
冠心病康复方案模型主要包括营养处方、有氧运动处方、阻抗训练处方和柔韧性运动处方[5~7]。
2.1.1 营养处方
多种研究均已表明,科学合理的膳食习惯可以显著降低心血管疾病的发病风险。在冠心病患者康复方案中,可以根据患者身高、体重等信息制定患者日常营养方案评估,具体包括:判断冠心病患者体重指数设定、日需总能量计算、日需蛋白质总量计算和食品交换份数计算。
2.1.2 有氧运动处方
有氧运动可以改善内皮细胞功能,促进抗炎,减少心肌细胞重塑,改善冠状动脉的血液循环功能,其处方主要参考冠心病患者的心肺运动试验和心电图运动负荷试验相关指标制定,目的是为患者制定安全有效精准的运动方案。目前有氧运动处方内容主要按照FITT四要素即运动种类、运动强度、运动时间、运动频率制定。
2.1.3 阻抗训练处方
阻抗训练可以帮助冠心病患者增加心脏压力负荷,从而使心内膜下血流灌注增加,心肌氧供达到良好的平衡;同时可以增强骨骼肌耐力和力量,增加骨骼肌重量,提高冠心病患者基础代谢率,改善运动耐力。阻抗训练的主要方法包括哑铃、杠铃、阻抗训练仪、弹力带等。
2.1.4 柔韧性运动处方
柔韧性训练以肩、腰、腿为主,通过缓慢且可控制的方式进行,根据患者自身适应情况逐渐加大训练的身体部位。柔韧性训练主要包括柔韧性体操和肌肉拉伸,柔韧性训练一般在患者有氧运动之前进行。
2.2 Drools中Rete模型基本结构
2.2.1 drools规则引擎[8~9]
Drools是一套开源业务规则引擎解决方案,提供了专业的商业规则引擎BRE(Business Rules Engine),Web创作和规则管理应用程序(Drools Workbench)。Drools是基于Rete算法量身定制的规则引擎实现,并引入面向对象的思想对Rete算法进行了优化。后来在Rete的基础上出现了LEASP算法、Drools Reteoo算法等衍生算法[10~14]。Drools引擎结构主要包括规则库(Production Memory)、工作内存(Working Memory)、推理机(Inference Engine)、模式匹配管理器(Patten Matcher)和议程(Agenda)。
2.2.2 Rete模型基本结构
Drools规则引擎核心算法为Rete[15~16]。Rete网络中具有四种节点:根节点、单输入节点、双输入节点和终止节点[17]。Drools在Rete算法的基础上进行了改进。Drools-rete中的节点则包括了ReteNode(根结点)、AlphaNode(节点)、BetaNode(节点)和TerminalNode(终止节点)。当有事实传递到Terminal节点时,Terminal节点对应的规则会被激活执行。
2.3 康复方案推理引擎和自动生成
2.3.1 康复方案推理引擎
基于Drools推理引擎的基本结构,设计实现适于冠心病运动康复方案生成的推理引擎,其推理引擎逻辑结构图如图1所示。
图1 冠心病康复方案推理引擎逻辑结构图
1)推理模型事实划分
(1)源事实
源事实指系统运行前输入的事实。包括患者静态数据(性别、年龄、身高、体重等),患者检查数据(无创心功能检查、运动心肺功能检查、焦虑测评、抑郁测评等),用药方案等。源事实是规则推理的根基,源事实的数据完整性对于规则推理结果的完整度和可信度有直接影响,主要包括:1)患者分类事实:通常根据年龄、近期是否接收冠脉介入手术,将患者划分为三大类。即高龄冠心病患者、普通冠心病患者和介入术后冠心病患者;2)冠心病患者运动风险分级事实:对于冠心病患者,运动危险分层主要依据心电图、心律失常、血管再通后并发症、心理障碍、左心室射血分数、储备功能(METs)和血肌钙蛋白浓度等指标。
(2)中间事实
中间事实是指在推理过程中,产生的过渡事实,中间事实不一定为患者的真实事实,不要求完全准确和贴近患者真实状况,是基于事实库中的现有事实通过匹配推理规则得出的可能事实。
(3)结果事实
结果事实是指通过推理引擎推理得到的最终结果。
新课改的环境下,小学三、四年级的科学教师要摒弃一味只重视卷面成绩的传统认识,坚持科学实验的本质,扩展科学实践活动,加大学生动手实验的机会,丰富多样地调动学生的学习兴趣,使学生的创新能力、探究能力、及科学素养得以发展与提升。
2)推理模型规则划分
根据心血管医师为冠心病患者诊断和开具康复方案的基本流程,可以将推理规则分为三大类型,即患者基本分类规则、患者运动风险分类规则和运动康复方案生成规则。这三类分类规则具有一定的顺序和优先级:患者基本分类规则>患者运动风险分类规则>康复方案生成规则。
(1)患者基本分类规则
患者基本分类是推理的第一步,不同基本分类的患者会对应不同的运动风险分类规则和不同的运动康复方案生成规则。推理规则执行顺序越靠前对后续推理结果的影响越大,故需要选用可靠性高的推理规则完成推理的第一步。在心血管医师问诊过程中,会对患者进行基本类型的划分,冠心病患者基本分类规则是患者分类规则最明确也是最准确的规则。
患者运动风险分类在患者基本分类基础之后进行。对于不同类型的患者对应不同的风险分类规则。
对于普通冠心病患者,当参考项中任何一项结论为高危则当前冠心病患者存在高危运动风险;当参考项中每一项为低危则当前冠心病患者存在低危运动风险;当呈现其他组合结果则当前冠心病患者存在中危运动风险。
对于近期冠脉介入术后的患者,当有一项为高危则患者存在高危运动风险,当全部指标为低危则患者存在低危运动风险,其它情况下患者存在中危运动风险,与普通冠心病患者的运动危险分层评判标准一样。
(2)康复方案生成规则
根据冠心病患者的危险分级,分别对应不同的康复方案生成规则。该类生成规则还引入患者的静态数据(性别、年龄、身高、体重、用药方案等)。例如营养处方的生成规则主要参考患者身高、体重和日常劳动强度等。
2.3.2 康复方案推理流程
基于Drools的冠心病康复方案推理流程如图2所示。
图2 基于Drools的冠心病方案推理流程
患者分类是整个推理的基础部分,患者分类产生的中间事实与源事实共同决定冠心病患者危险分层,同时危险分层过程中产生的中间事实与源事实组合调整危险分层。如果事实之间无冲突,则按流程继续执行,如果事实之间发生冲突,则处理冲突之后按流程继续执行,直至事实库不再有新的事实加入。当事实库不再更新,则利用康复方案生成规则生成康复方案,并导出最终的冠心病康复方案。具体规则执行流程如图3所示。
图3 Drools规则执行流程
3 实验分析与比较
本文从武汉大学中南医院获取207例冠心病患者样本病历资料(数据已进行脱敏处理),经过患者去重和残缺数据过滤,共有195例可利用病历样本纳入。分析病历样本可发现冠心病患者常伴随其它慢性疾病如高血压、糖尿病等,另外冠心病具有多种并发症如肺水肿、心力衰竭、休克、心源性休克等。本文将病历样本分为两类,分别为单一冠心病患者147例和多病种冠心病患者48例。
测试实验生成195份冠心病康复方案,由武汉大学中南医院心血管内科医师对康复方案进行审核,审核结果如表1所示。其中针对单一冠心病样本的康复方案通过率为91.16%,针对多病种冠心病样本的康复方案通过率为85.42%,整体样本通过率为89.74%。
表1 冠心病康复方案审核结果
本文分别对康复方案中的四部分:营养处方、有氧运动处方、阻抗训练处方、柔韧性训练处方分别进行实验结果通过率的统计,其通过率如图4所示。
图4 康复方案子处方通过率
由图表数据可知:针对单一冠心病样本生成的康复方案中,有氧运动通过率较低,方案修改原因多为运动种类与运动时间不合适;针对多病种的冠心病样本生成的康复方案中,营养处方和有氧处方通过率较低,多病种患者中包含糖尿病患者和肾脏疾病患者,故需要根据患者实际情况对营养处方和有氧运动强度进行调整;康复方案中的柔韧性训练通过率最高,柔韧性训练对患者疾病状态几乎没有要求,所以适用性最强。
对195份样本数据进行患者基本类型分类,其中普通冠心病患者病历65份,PCI冠心病患者病历126份,高龄冠心病患者病历4份。三类患者对应病历样本生成的康复方案审核通过率分别为93.85%、88.1%和75%。普通冠心病患者的康复方案通过率最高,通过率超过93%。高龄冠心病患者康复方案的通过率较低,由于高龄冠心病患者的样本过少,针对高龄冠心病的康复方案有效性需要进一步的实验验证。针对PCI冠心病患者的康复方案通过率比普通冠心病患者的康复方案低,主要原因可能为患者接受冠脉介入手术后,身体状况多变,因此需要根据患者实际情况调整康复方案。
康复方案有效性测试结果表明本文所构建冠心病康复方案模型和冠心病康复方案推理引擎是有效的,可以协助医师为冠心病患者高效制定合理、有效的个体化康复方案,具有一定的推广意义。
4 结语
本文参照国内冠心病专家学者对冠心病康复的诊疗共识和建议,在康复方案原型基础上进行概念抽象,设计并实现冠心病康复方案模型。基于Drools构建冠心病康复方案生成引擎,将康复方案模型中的事实与规则抽离出来构建事实库与规则库,实现模型事实与模型规则的解耦,并基于构建的引擎实现了冠心病康复方案的自动生成。该冠心病康复方案可以协助心血管医师制定冠心病康复方案,具有一定的诊疗意义。