System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 医疗规则计算方法、装置、电子设备及存储介质制造方法及图纸_技高网

医疗规则计算方法、装置、电子设备及存储介质制造方法及图纸

技术编号:41287912 阅读:4 留言:0更新日期:2024-05-11 09:36
本发明专利技术涉及医疗规则计算方法、装置、电子设备及存储介质,包括:获取医疗计算规则,并调用类SQL语义组织算法对医疗计算规则进行处理,得到一个或多个计算节点组成的DAG计算图。将每个计算节点转化为不同类型的类SQL语义组织算法的语义操作,以构建规则计算引擎。将当前医疗文本数据发送至规则计算引擎,以调用规则计算引擎将当前医疗文本数据复制给起始计算节点,形成相应的可计算节点列表。通过规则计算引擎对可计算节点列表中的每个计算节点进行计算,并将计算结果下发至下游节点列表,以将下游节点列表写入候选列表。在候选列表中的下游节点列表与上游节点列表数量一致时,将候选列表写入可计算节点列表,并对候选列表中每个计算节点进行计算。

【技术实现步骤摘要】

本专利技术涉及医疗辅助,特别是涉及一种医疗规则计算方法、装置、电子设备及存储介质


技术介绍

1、规则引擎是计算规则的工具,它广泛的被用于金融、保险、医疗保健以及电信等各种领域,用于自动化决策、风险评估、欺诈检测以及业务流程管理等。同时,由于不同领域在规则的数量、复杂程度、触发机制以及编程语言和工具的不同,故不同的规则引擎在侧重点上是不一样的。

2、在医疗领域,医疗规则的一个主要特点是:复杂,比如在病历质控中,

3、给出某个病历文书是否有不规范内容的结论前,可能需要考虑患者同一次住院的其他文书和格式化数据,如检验报告、检查报告、费用等,这些数据各自或合在一起判断是否满足某些特性,最终给出一个需要的结论。这就导致医疗的规则较为复杂,因此,在规则引擎设计中至少需要考虑以下两点:

4、1)计算能力:只有充分的使用好机器资源,才能满足大量复杂规则的计算。

5、2)吐出中间节点计算结果:由于医疗规则的复杂,因此一条医学规则往往是分成多个节点配置的,每个节点是否配置正确,应该可以立刻看出,并使得业务人员可以自反馈配置。

6、目前,被广泛应用的计算规则引擎是drools,它的核心算法是rete,并基于java语法分析工具antlr3给用户提供了一整套规则编辑、管理、计算的工具。该计算规则引擎是用java语言配置规则的,然后使用antlr3解析规则成引擎结构,最后再基于rete选择和执行计算规则。其中,drool的核心算法rete算法的侧重点在规则选择,当有一个非常大的规则集合时,如果每一条规则都要计算,那么会非常耗时,而如果根据输入对象,仅选择一批相关的规则,就会大大地减少耗时。例如,对于“case:if age>60 or income<5000 thenassign concession = 15%,即如果年龄在60岁以上或收入<5k, 打85折”这一规则, “if”后面“then”之前的称为条件(conditions),“then”后面的称为动作(actions),只有满足条件(conditions)之后才执行动作(actions)。rete算法中认为,很多规则的子条件部分,比如这里的“age>60”和“income<5000”是相同的,因此可以把全部规则的子条件提取出来做成一个dag计算图,起始的节点是子条件的计算,后面的节点是子条件计算结果的联结,比如case中的“or”,最后面的是满足的规则。这个图称为匹配图(matching graph或ret-network)。对于每个输入对象,只需要从这个图的根节点开始,往下搜索,不满足的分支跳出,满足的分支继续深入,得到最后要执行的规则列表(agenda),从规则列表(agenda)中选一条规则执行动作(actions)。由于动作(actions)可能修改了输入对象的状态,因此,每条规则执行后,再重复获取需要执行的规则列表(agenda),选出要执行下一条规则,最终直到没有规则匹配位置。因此,在drools方法中,如果重复的自条件较少,那么规则的选择量就会降低,drools方法就显得复杂了起来。此外,drools方法中一条规则的动作(actions)可能对输入对象有更新,这时就需要重新选择规则。就医疗领域的使用场景而言,一条病历质控规则涉及的子条件可能达到几百个,动作(actions)有几十上百个,如正则抽取、正则替换、统计个数、计算结果等操作后给原字段、新字段赋值以及把数组结果打平等,如果这些都放在一条drools方法中,那么条件(conditions)和动作(actions)都会更加复杂。

7、综上所述,现有的基于drools的规则计算方法较为复杂,且适用场景的局限性较大。


技术实现思路

1、基于此,有必要针对上述技术问题,提供一种较为简单且适用场景局限性较小的医疗规则计算方法、装置、电子设备及存储介质。

2、本专利技术提供了一种医疗规则计算方法,所述方法包括:

3、获取医疗计算规则,并调用类sql语义组织算法对所述医疗计算规则进行处理,得到一个或多个计算节点组成的dag计算图;

4、基于所述dag计算图,将每个所述计算节点转化为不同类型的所述类sql语义组织算法的语义操作,以构建规则计算引擎;

5、将当前医疗文本数据发送至所述规则计算引擎,以调用所述规则计算引擎将所述当前医疗文本数据复制给起始计算节点,形成相应的可计算节点列表;

6、通过所述规则计算引擎对所述可计算节点列表中的每个计算节点进行计算,并将计算结果下发至下游节点列表,以将所述下游节点列表写入候选列表;

7、在所述候选列表中的下游节点列表的数量与上游节点列表的数量一致时,将所述候选列表写入所述可计算节点列表,并对所述候选列表中每个计算节点进行计算。

8、在其中一个实施例中,所述基于所述dag计算图,将每个所述计算节点转化为不同类型的所述类sql语义组织算法的语义操作,以构建规则计算引擎,包括:

9、将所述一个或多个计算节点转化为一个或多个数组,并按照每个计算节点对应的语义操作类型对相应的每个数组进行操作,得到计算节点列表和起始计算节点的名称列表;

10、基于所述计算节点列表和起始计算节点的名称列表,构建所述规则计算引擎,所述规则计算引擎由所述计算节点列表和起始计算节点的名称列表共同构成。

11、在其中一个实施例中,所述语义操作的类型至少包括过滤类型、排序类型、生成类型以及join类型;

12、所述过滤类型的语义操作用于遍历所述计算节点列表中的每个计算节点,并根据每个计算节点的字段值计算指令流,以过滤掉所述计算节点列表中字段值不符合设定阈值的计算节点;

13、所述排序类型的语义操作用于遍历所述计算节点列表中的每个计算节点,并根据每个计算节点的字段值计算所述指令流,以对计算节点进行排序;

14、所述生成类型的语义操作用于遍历所述计算节点列表中的每个计算节点,并根据每个计算节点的字段值建立相应的结果映射,以保存所述指令流对应的键值对和键值;

15、所述join类型的语义操作用于将所述计算节点列表划分为第一列表和第二列表,并分别遍历所述第一列表和第二列表中的计算节点,以分别从所述第一列表和第二列表中抽取字段值,并通过两个字段值的组合值计算指令流。

16、在其中一个实施例中,所述将当前医疗文本数据发送至所述规则计算引擎,以调用所述规则计算引擎将所述当前医疗文本数据复制给起始计算节点,形成相应的可计算节点列表,包括:

17、获取所述当前医疗文本数据,并将所述当前医疗文本数据传递至所述规则计算引擎;

18、调用所述规则计算引擎将所述当前医疗文本数据复制给所述计算起始节点,并基于所述可计算节点列表构建准备计算节点列表。

19、在其中一个实施例中,所述通过所述规则计算引擎对所述可计算节点列表中的每个计算节点进行计算,本文档来自技高网...

【技术保护点】

1.一种医疗规则计算方法,其特征在于,所述方法包括:

2.根据权利要求1所述的医疗规则计算方法,其特征在于,所述基于所述DAG计算图,将每个所述计算节点转化为不同类型的所述类SQL语义组织算法的语义操作,以构建规则计算引擎,包括:

3.根据权利要求2所述的医疗规则计算方法,其特征在于,所述语义操作的类型至少包括过滤类型、排序类型、生成类型以及Join类型;

4.根据权利要求2所述的医疗规则计算方法,其特征在于,所述将当前医疗文本数据发送至所述规则计算引擎,以调用所述规则计算引擎将所述当前医疗文本数据复制给起始计算节点,形成相应的可计算节点列表,包括:

5.根据权利要求4所述的医疗规则计算方法,其特征在于,所述通过所述规则计算引擎对所述可计算节点列表中的每个计算节点进行计算,并将计算结果下发至下游节点列表,以将所述下游节点列表写入候选列表,包括:

6.根据权利要求5所述的医疗规则计算方法,其特征在于,所述在所述候选列表中的下游节点列表的数量与上游节点列表的数量一致时,将所述候选列表写入所述可计算节点列表,并对所述候选列表中每个计算节点进行计算,包括:

7.根据权利要求1至6任一项所述的医疗规则计算方法,其特征在于,所述方法还包括:

8.一种医疗规则计算装置,其特征在于,所述装置包括:

9.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。

10.一种计算机存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。

...

【技术特征摘要】

1.一种医疗规则计算方法,其特征在于,所述方法包括:

2.根据权利要求1所述的医疗规则计算方法,其特征在于,所述基于所述dag计算图,将每个所述计算节点转化为不同类型的所述类sql语义组织算法的语义操作,以构建规则计算引擎,包括:

3.根据权利要求2所述的医疗规则计算方法,其特征在于,所述语义操作的类型至少包括过滤类型、排序类型、生成类型以及join类型;

4.根据权利要求2所述的医疗规则计算方法,其特征在于,所述将当前医疗文本数据发送至所述规则计算引擎,以调用所述规则计算引擎将所述当前医疗文本数据复制给起始计算节点,形成相应的可计算节点列表,包括:

5.根据权利要求4所述的医疗规则计算方法,其特征在于,所述通过所述规则计算引擎对所述可计算节点列表中的每个计算节点进行计算,并将计算结果下发...

【专利技术属性】
技术研发人员:毕金良王实张奇
申请(专利权)人:北京惠每云科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1