一种提供声明式语法实现逻辑核查的方法和系统技术方案

技术编号:37081683 阅读:11 留言:0更新日期:2023-03-29 19:57
本发明专利技术公开了一种提供声明式语法实现逻辑核查的方法和系统,以简便高效的方式实现了临床数据收集中的数据核查功能,进一步保障了临床医疗软件的数据质量,提升了工作效率。其技术方案为:步骤1:预设声明式语法的逻辑规则的多种规则类型;步骤2:获取逻辑规则中的表达式;步骤3:将获取到的表达式解析为树形结构;步骤4:对解析出的树形结构进行遍历,生成用于执行的中间代码;步骤5:按照顺序解释执行所生成的中间代码。成的中间代码。成的中间代码。

【技术实现步骤摘要】
一种提供声明式语法实现逻辑核查的方法和系统


[0001]本专利技术涉及临床医疗软件的数据质量保障的领域,具体涉及一种提供声明式语法实现逻辑核查的方法和系统。

技术介绍

[0002]临床试验(Clinical Trial),指任何在人体(病人或健康志愿者)进行药物的系统性研究,以证实或揭示试验药物的作用、不良反应及/或试验药物的吸收、分布、代谢和排泄,目的是确定试验药物的疗效与安全性。早年,对于临床试验数据的采集和核查多是以线下采集为主,不仅增加了工作人员的工作量,而且,在人工核查的过程中如果出现纰漏,不方便数据的查找和溯源。
[0003]随后,随着信息化的发展,业内诞生了各种临床数据收集软件,临床数据收集软件通常会提供用户自定义数据核查的功能,即用户编写一些自己的数据校验规则,用以保障临床试验中收集数据的质量。目前主流的技术方案是让用户以一种编程语言来编写自定义的规则,软件方提供一些接口供用户所写的代码获取数据,进行计算等。
[0004]但是,现有软件让用户编写数据核查的方式是用户自己写程序代码。这种方式有显著的缺陷:程序代码的学习成本高,编写复杂,造成用户在实现逻辑核查的这部分工作费时费力。

技术实现思路

[0005]以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之序。r/>[0006]本专利技术的目的在于解决上述问题,提供了一种提供声明式语法实现逻辑核查的方法和系统,以简便高效的方式实现了临床数据收集中的数据核查功能,进一步保障了临床医疗软件的数据质量,提升了工作效率。
[0007]本专利技术的技术方案为:本专利技术揭示了一种提供声明式语法实现逻辑核查的方法,方法包括:
[0008]步骤1:预设声明式语法的逻辑规则的多种规则类型;
[0009]步骤2:获取逻辑规则中的表达式;
[0010]步骤3:将获取到的表达式解析为树形结构;
[0011]步骤4:对解析出的树形结构进行遍历,生成用于执行的中间代码;
[0012]步骤5:按照顺序解释执行所生成的中间代码。
[0013]根据本专利技术的提供声明式语法实现逻辑核查的方法的一实施例,步骤1中的逻辑规则的多种规则类型包括:数据校验、数据生成、受试者状态改变、动态激活、动态发药。
[0014]根据本专利技术的提供声明式语法实现逻辑核查的方法的一实施例,步骤2中的表达
式支持用户构建,即支持用户自定义计算的内容。
[0015]根据本专利技术的提供声明式语法实现逻辑核查的方法的一实施例,树形结构包括数据选择器、操作符、常量,树形结构的构造进一步包括:每个树的节点是一个操作符,每个树的子节点是常量、数据选择器以及一个操作符为根的子树,按照操作符的优先顺序来构造树形结构,运算顺序最高的操作符在树的最底部。
[0016]根据本专利技术的提供声明式语法实现逻辑核查的方法的一实施例,在步骤4中,采用深度优先遍历树形结构,得到表达式内所有操作的运算顺序,生成易于解释执行的中间代码,其中中间代码的格式遵循以下规则:中间结果=运算符,运算符需要的所有数据。
[0017]本专利技术还揭示了一种提供声明式语法实现逻辑核查的系统,系统包括:
[0018]规则预设模块,预设声明式语法的逻辑规则的多种规则类型;
[0019]表达式获取模块,获取逻辑规则中的表达式;
[0020]解析模块,将获取到的表达式解析为树形结构;
[0021]代码生成模块,对解析出的树形结构进行遍历,生成用于执行的中间代码;
[0022]代码执行模块,按照顺序解释执行所生成的中间代码。
[0023]根据本专利技术的提供声明式语法实现逻辑核查的系统的一实施例,规则预设模块中的逻辑规则的多种规则类型包括:数据校验、数据生成、受试者状态改变、动态激活、动态发药。
[0024]根据本专利技术的提供声明式语法实现逻辑核查的系统的一实施例,表达式获取模块中的表达式支持用户构建,即支持用户自定义计算的内容。
[0025]根据本专利技术的提供声明式语法实现逻辑核查的系统的一实施例,树形结构包括数据选择器、操作符、常量,树形结构的构造进一步包括:每个树的节点是一个操作符,每个树的子节点是常量、数据选择器以及一个操作符为根的子树,按照操作符的优先顺序来构造树形结构,运算顺序最高的操作符在树的最底部。
[0026]根据本专利技术的提供声明式语法实现逻辑核查的系统的一实施例,在代码生成模块中,采用深度优先遍历树形结构,得到表达式内所有操作的运算顺序,生成易于解释执行的中间代码,其中中间代码的格式遵循以下规则:中间结果=运算符,运算符需要的所有数据。
[0027]本专利技术还揭示了一种计算机可读存储介质,其存储有可供处理器执行的程序指令,以实现如上所述的提供声明式语法实现逻辑核查的方法的步骤。
[0028]本专利技术还揭示了一种计算机设备,其包括存储器、处理器和存储在存储器中可供处理器运行的程序指令,其中所述处理器执行所述程序指令以实现如上所述的提供声明式语法实现逻辑核查的方法的步骤。
[0029]本专利技术对比现有技术有如下的有益效果:在本专利技术的方法中,第一,使用特定的语法规则构建用户的数据核查功能,使用户避免以写代码的方式创建逻辑规则,并且能够更直观的理解所写逻辑。第二,本专利技术支持多种不同的语法规则,可以支持用户在系统中以近似的声明式方式,完成不同的数据核查,界面动态等功能。第三,本专利技术使用用户自定义表达式构建逻辑,可以支持用户自定义计算的内容。第四,本专利技术的表达式中支持数据选择器,可以支持用户自由选择系统数据的同时,无需指定逻辑规则的触发条件。第五,本专利技术的表
[0030]达式中支持内置的,可扩展的运算操作符,可以使用户避免写出大量重复的表5达式内容完成复杂操作。第六,本专利技术解析用户自定以表达式至中间代码并执
[0031]行,可以使系统在执行用户所写表达式时,能够给到详尽的运算过程信息,使整个运算更容易理解。
附图说明
[0032]0在结合以下附图阅读本公开的实施例的详细描述之后,能够更好地理解本
[0033]专利技术的上述特征和优点。在附图中,各组件不一定是按比例绘制,并且具有类似的相关特性或特征的组件可能具有相同或相近的附图标记。
[0034]图1示出了本专利技术的提供声明式语法实现逻辑核查的方法的一实施例的流程图。
[0035]5图2示出了本专利技术的提供声明式语法实现逻辑核查的系统的一实施例的原
[0036]理图。
具体实施方式
[0037]以下结合附图和具体实施例对本专利技术作详细描述。注意,以下结合附图和0具体实施例描述的诸方面仅是示例性的,而不应被理解为对本专利技术的保护范围
[0038]进行任何限制。
[0039]图1本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种提供声明式语法实现逻辑核查的方法,其特征在于,方法包括:步骤1:预设声明式语法的逻辑规则的多种规则类型;步骤2:获取逻辑规则中的表达式;步骤3:将获取到的表达式解析为树形结构;步骤4:对解析出的树形结构进行遍历,生成用于执行的中间代码;步骤5:按照顺序解释执行所生成的中间代码。2.根据权利要求1所述的提供声明式语法实现逻辑核查的方法,其特征在于,步骤1中的逻辑规则的多种规则类型包括:数据校验、数据生成、受试者状态改变、动态激活、动态发药。3.根据权利要求1所述的提供声明式语法实现逻辑核查的方法,其特征在于,步骤2中的表达式支持用户构建,即支持用户自定义计算的内容。4.根据权利要求1所述的提供声明式语法实现逻辑核查的方法,其特征在于,树形结构包括数据选择器、操作符、常量,树形结构的构造进一步包括:每个树的节点是一个操作符,每个树的子节点是常量、数据选择器以及一个操作符为根的子树,按照操作符的优先顺序来构造树形结构,运算顺序最高的操作符在树的最底部。5.根据权利要求1所述的提供声明式语法实现逻辑核查的方法,其特征在于,在步骤4中,采用深度优先遍历树形结构,得到表达式内所有操作的运算顺序,生成易于解释执行的中间代码,其中中间代码的格式遵循以下规则:中间结果=运算符,运算符需要的所有数据。6.一种提供声明式语法实现逻辑核查的系统,其特征在于,系统包括:规则预设模块,预设声明式语法的逻辑规则的多种规则类型;表达式获取模块,获取逻辑规则中的表达式;解析模块,将获取到的表达式解析为树形结构;代码...

【专利技术属性】
技术研发人员:武翔宇沈秋阳杨思源黄祖柳
申请(专利权)人:上海耀乘健康科技有限公司
类型:发明
国别省市:

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

1