CN117892703A - 一种理化表单自动联想录入功能的实现方法及系统 - Google Patents

一种理化表单自动联想录入功能的实现方法及系统 Download PDF

Info

Publication number
CN117892703A
CN117892703A CN202410294760.1A CN202410294760A CN117892703A CN 117892703 A CN117892703 A CN 117892703A CN 202410294760 A CN202410294760 A CN 202410294760A CN 117892703 A CN117892703 A CN 117892703A
Authority
CN
China
Prior art keywords
data
detection
physical
objects
json
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202410294760.1A
Other languages
English (en)
Other versions
CN117892703B (zh
Inventor
刘伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qingdao Noah Information Technology Co ltd
Original Assignee
Qingdao Noah Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qingdao Noah Information Technology Co ltd filed Critical Qingdao Noah Information Technology Co ltd
Priority to CN202410294760.1A priority Critical patent/CN117892703B/zh
Publication of CN117892703A publication Critical patent/CN117892703A/zh
Application granted granted Critical
Publication of CN117892703B publication Critical patent/CN117892703B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明属于数据信息处理技术领域,公开了一种理化表单自动联想录入功能的实现方法及系统。该方法使用抽象数据结构、重写计算公式、建立分析决策规则、线性归回模型预测,完成理化表单的自动联想录入。本发明减少了实验员录入的数据的工作量,提升检测数据录入效率。降低检测数据录入过程出错的风险,提高数据的真实性、安全性。推动理化实验管理系统的推广与发展。解决了现有技术理化数据录入到表单的过程中存在着效率低和数据录入错误的风险的问题。

Description

一种理化表单自动联想录入功能的实现方法及系统
技术领域
本发明属于数据信息处理技术领域,尤其涉及一种理化表单自动联想录入功能的实现方法及系统。
背景技术
现代实验室信息管理系统(LIMS)是基于以实验室或机构为核心的符合国际规范的全方位管理,它将现代管理思想与网络技术、数据存储技术、快速数据处理技术、自动化仪器分析技术有机结合,通过建立以实验室为中心的分布式管理体系,集样品管理、资源管理、事务管理、数据管理、报表管理等诸多功能为一体,组成一套完整的实验室综合管理和质量监控系统,对实验室实行全方位的管理和控制,从而使实验室的最终产品,即所有的检测或管理数据、信息均符合相关的质量标准或规范。 当前关于的实验室信息管理系统(LIMS)的文献和设计资料虽然提到了检测数据录入的难题和对数据准确性的要求,但是都没有提出具体的解决方案,还是沿用实验员手动录入,系统进行简单校验的解决方案。这些方法不能解决大量数据录入困难的问题,并且数据的校验也只能做一些拼写错误、数据格式错误等简单的校验。
自动联想录入功能可以根据已有数据和标准,自动填写信息,提升数据的一致性和标准化水平,有助于实验数据的比对和分析。能够提供更便捷、智能的数据录入体验,减少繁琐的操作,增强用户的满意度和使用体验。可以与实验室信息管理系统等系统结合,实现更智能化的数据管理和分析,支持实验室的管理和决策。
综上所述,实现理化表单自动联想录入功能不仅可以提升工作效率、减少错误,还具有降低成本、提升数据质量等多方面的研究意义,对实验室工作和科研进程具有积极的推动作用。
再者,在工业生产中,为了确保产品的质量和可靠性,需要对原材料和产品进行精确的理化检测。随着经济的发展理化检测的需要也迅速增加,也推动了理化检测全过程的管理手段和业务操作由手工化到数字化的发展。但是由于理化检测业务的多样性和检测点的多元化,导致理化检测的原始记录表单和检测报告表单也呈现多样化、复杂化的特性。
以光谱检测为例,从钢的光谱检测和铝的光谱检测的检测数据的原始记录表单中可以看出钢光谱检测有15项检测点,铝光谱检测有12项检测点。不仅仅是数量不一样,检测点的内容也不一样。钢光谱检测主要对C,Si,Mn,P,S,Ni,Cr,Cu,Mo,Al,Nb,V,Ti,Zr,Cev进行检测,铝光谱检测主要对Si,Fe,Cu,Mn,Mg,Zn,Ti,Cr,Zr,V,Mn+Cr,Pb进行检测。这种检测点不固定,即表单的列是可变的情况,对于理化检测系统是一个长期的难题。列数不定意味着表单的样式不固定,对于现在常用的技术而言,这是一个难以解决的问题。除了检测点是可变化的,样品信息也存在着多行数据的情况,这意味着不同的样品类型存在行数不一致的情况。
除了这种理化表单结构不确定的场景,有的表单还存在固定的计算公式的情况。以氧氮氢分析原始记录表单和碳硫原始记录为例,氧氮氢分析原始记录表单中需要分别对氧氮氢三种检测点的实测值计算平均值,并且需要对样品的报告编号、委托单位、样品名称、样品编号、质量等基本信息和记录氧氮氢平均值的单元格进行按列合并单元格。碳硫原始记录表单中需要分别对碳硫两种检测点的实测值计算平均值,并且需要对样品的报告编号、委托单位、样品名称、样品编号、质量等基本信息和记录碳硫平均值的单元格进行按列合并单元格。对氧氮氢分析原始记录表单和碳硫原始记录表单的对比分析可以得出这两类原始记录表单同样存在着行数据和列数据不固定的情况。除此之外,这两类表单中还存在着对多行数据计算平均值的业务场景。
当前市场上常见的理化管理系统在管理检测表单方面通常有两种方式。一种方法是针对不同的检测业务和表单进行单独编码实现。例如我们举例中的四种表单,需要对这四个检测业务和四种单进行编码实现。但是这种实现表单录入方式的劣势在于,实验室通常会存在着大量的各种类型或者各种组合的表单,每种都需要编码实现会产生非常大的工作量。并且如果新增一种业务和表单或者原有的业务和表单进行了更新、升级,都需要重新编码以适应新的表单。这种方式会产生巨大的且无法预估的成本。
第二种方法是根据检测业务的类别,把检测表单划分为几种类型。在检测某种类别时,需要检测人员把检测记录整理成系统标准的格式,手动录入到系统中。在这个过程中需要花费检测人员几个小时到几天的时间,并且还可能出现录入错误的情况。这种方法的优势是系统的成本可控。劣势是需要花费试验人员大量的时间把检测数据整理成系统的表单格式,并且如果表单中有需要计算的内容,也需要实验员自己先计算好,然后手动录入到系统中。这种方式除了需要花费大量的时间,无形中也增加了出错的风险。
通过对以上举例中的四个原始记录表单的模板的对比,可以看出理化检测业务的专业性,严谨性导致了业务场景的独特性,在理化检测这种独特的场景下,产生的表单也是有着特殊性的。所以当前的理化实验管理系统只是能保存、记录数据,并不能减少实验员在录入表单工作上的工作量,相反还会增加他们的工作量和出错几率。这对理化实验管理系统的普及和推广是一个无法绕行的阻碍项。
通过上述分析,现有技术存在的问题及缺陷为:当前实验室信息管理系统逐步在实验室普及,但由于检测业务专业性、多样性和检测点的多元化,导致原始记录表单和检测报告表单呈现多样化、复杂化的特性。实验员在填写表单,录入数据时往往要投入大量的精力,并且在录入和计算数据的时候因为数据量,样品多经常会出现数据录入错误、数据混淆的情况。
而且现有技术理化数据录入到表单的过程中存在着效率低和数据录入错误的风险的问题。
发明内容
为克服相关技术中存在的问题,本发明公开实施例提供了一种理化表单自动联想录入功能的实现方法及系统,通过自动化的录入手段提高录入的效率和准确程度。
所述技术方案如下:一种理化表单自动联想录入功能的实现方法,使用抽象数据结构、重写计算公式、建立分析决策规则、线性归回模型预测,完成理化表单的自动联想录入,具体步骤包括:
S1:对理化实验过程中所涉及的数据和产生的数据进行结构抽象处理,建立包含整个理化实验数据的数据结构体;
S2:定义固定公式、设定决策分析规则、训练用于检测结果预测的线性回归模型;
S3:根据具体的业务场景,创建所涉及的数据和产生的数据的实体数据结构集;
S4:自动录入检测任务基本信息和检测过程中的检测数据到数据结构体中;
S5:表单自动生成、检测数据自动录入。
在步骤S1中,所述数据结构体包括:理化实验基础数据、理化实验原始数据、理化实验原始数据记录表单、理化实验报告的集合,数据结构体的整体结构固定,数据结构体的内容根据检测业务的不同进行调整。
在步骤S2中,所述线性回归模型用于分析、预测理化实验的检测结论,使用多元线性回归算法把相同的检测业务的数据进行训练,得到检测业务的线性回归模型;具体包括:
S201,加载样本数据:把原始记录表单中的历史数据加载到样本数据集中;
S202,将输入的原始数据处理为线性回归模型,检测点的数量为,检测点数据集的大小为/>,将数据集转换成/>的矩阵;
S203,求解线性回归模型参数,表达式为:
;
式中,为参数向量集,/>为检验结论数据集的矩阵,/>为检测结果数据集的矩阵,为检测结果数据集的矩阵转置运算结果;
S204,实现调用线性回归模型接口,输入的数据集为数组,预测结果为,表达式为:
;
式中,表示第几个参数向量。
在步骤S203中,所述求解线性回归模型参数包括:
(1)是求矩阵的转置,计算/>,表达式为:
;
(2)是求矩阵的相乘,/>是矩阵的求逆,计算,表达式为:
;
(3)计算,表达式为:
;
(4)计算,表达式为:
;
(5)转换为数组的格式,表达式为:
在步骤S3中,所述实体数据结构集包含数据对象和数组对象,创建实体数据结构集时通过json数据编辑器在抽象实体的基础上增加具体的表单对象信息。
在步骤S5中,所述表单自动生成包括:为表单中的对象赋值,提取数据结构体中的原始数据记录表单的表单信息,遍历表单中所有的数据对象,根据每个对象设置的取值规则获取对象的值;具体包括:
S5011,读取和设置数据结构体中对象的公共方法,通过公式解析器解析、执行自定义的计算公式;取值规则是指设置对象的值等于数据结构体中另一个对象的值,直接从数据结构体中获取数值源对象的值,赋予被赋值的对象;
S5012,执行求和取值规则,执行求平均数规则;
S5013,加法、减法、除法、乘法实现方式相同,先获取参与计算的多个对象的值,然后根据加法、减法、除法、乘法计算公式得到最终的值,赋值给被赋值对象;
S5014,线性回归模型预测分析,检测记录数据集带入到相同业务的线性回归模型中得到预测的检验结果。
在步骤S5011中,读取和设置数据结构体中对象的公共方法包括:在读取数据时使用fastjson开源解析json数据的工具;输入要读取的对象的路径,从json结构体中根据路径获取对象的信息;在设置对象的属性时,先用读取的方式找到该对象,修改对象的属性后,在将对象更新到数据结构体中;
自定义的计算公式以=开始,其中用[]括起来的为结构体中的对象;自定义的计算公式如下:
等于公式为:=[json.jcmidx];
加法公式为:=[json.jcmidx]+ [json.jcmidxly];
减法公式为:=[json.jcmidx]- [json.jcmidxly];
乘法公式为:=[json.jcmidx]* [json.jcmidxly];
除法公式为:=[json.jcmidx]/ [json.jcmidxly];
求和公式为:=SUM([json.jcmidx],[json.jcmidxly]);
求平均数公式为:=AVG([json.jcmidx],[json.jcmidxly])。
在步骤S5012中,执行求和取值规则包括:先判断SUM关键字,然后从()中解析出参与求和计算的对象;如果是对多个单独对象求和,分别从数据结构体中取出这几个对象的值,然后进行相加得到的值,赋给被赋值对象;如果是对数组中的一个对象求和,先获取整个数组的数据,然后遍历数组把对应的对象的值进行相加得到的结果赋值给被赋值对象;
执行求平均数规则包括:
第一步,收集数据,先判断AVG关键字,然后从()中解析出参与求和计算的对象;
第二步,计算总数,把解析出来的参数代入到自定义的求和规则公式中计算出多个对象的和;
第三步,确定数量,统计出参与计算的对象的数量,如果是多个单独对象直接计算单独对象的数量得出,如果是数组对象,读取数组的长度作为参与计算的对象的数量;
第四步计算平均数,将数据的总和除以数据的数量,得到平均数。
在步骤S5中,检测数据自动录入包括:
S5021,自动创建表单模板,根据业务数据扩展表单;
S5022,填充数据,根据表单中每个对象实际的占用位置,在对应的位置中自动填入对象的值;
S5023,对表单进行整理以及合并单元格,再次遍历表单中对象,使用自定义等于公式判断周围数据是否相同,读取合并单元格规则判断是否合并单元格;如果需要合并单元格;判断是横向合并、垂直合并还是横向垂直都合并,单元格合并完成后,检测表单就生成完成,数据填写完成。
本发明的另一目的在于提供一种理化表单自动联想录入功能的实现系统,该系统实施所述的理化表单自动联想录入功能的实现方法,该系统包括:
数据结构体建立模块,用于对理化实验过程中所涉及的数据和产生的数据进行结构抽象处理,建立包含整个理化实验数据的数据结构体;
线性回归模型训练模块,用于定义固定公式、设定决策分析规则、训练用于检测结果预测的线性回归模型;
实体数据结构集创建模块,用于根据具体的业务场景,创建所涉及的数据和产生的数据的实体数据结构集;
检测任务基本信息和检测过程中检测数据录入模块,用于自动录入检测任务基本信息和检测过程中的检测数据到数据结构体中;
表单生成与录入模块,用于表单自动生成、检测数据自动录入。
结合上述的所有技术方案,本发明所具备的有益效果为:本发明解决了理化数据表单的填写、管理的难题,通过梳理实验室信息管理系统的业务流程,针对实验室信息管理系统业务流程的各节点的业务场景,总结出检测表单的共同点,抽象出通用的数据结构体,结合公式计算、决策分析、线性回归算法技术,提出了一种理化表单自动联想录入功能的实现方式。本发明减少了实验员录入的数据的工作量,提升检测数据录入效率;降低检测数据录入过程出错的风险,提高数据的真实性、安全性,推动理化实验管理系统的推广与发展。本发明应用在理化实验管理系统中可以极大提高理化实验管理系统数据录入和表单导出功能的易用性和数据的准确性,提升了软件产品的市场竞争力。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理;
图1是本发明实施例提供的理化表单自动联想录入功能的实现方法流程图;
图2是本发明实施例提供的表单自动生成流程图;
图3是本发明实施例提供的每种取值规则的实现逻辑图;
图4是本发明实施例提供的检测数据自动录入流程图;
图5是本发明实施例提供的理化表单自动联想录入功能的实现系统图;
图中:1、数据结构体建立模块;2、线性回归模型训练模块;3、实体数据结构集创建模块;4、检测任务基本信息和检测过程中检测数据录入模块;5、表单生成与录入模块。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其他方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似改进,因此本发明不受下面公开的具体实施的限制。
本发明实施例提供的理化表单自动联想录入功能的实现方法及系统创新点在于:本发明将理化检验业务过程所产生的数据和要输出的数据抽象为一个计算机可以识别的数据结构体。结合重新实现加法、减法、除法、乘法、求和、求平均值这六种计算公式,设计一套表单自动生成和数据填充的决策分析规则,使用历史数据训练了检测结果的线性回归模型,实现了将理化检测过程中的数据和检测结论自动填充到理化检测表单中。
实施例1,本发明分析了理化实验分为光谱实验、化学成分分析实验、机械性能(拉压弯硬)试验、冲击试样试验等多种类别的实验的业务场景和检测数据表单。通过分析得出虽然各种检测业务的表单具有特异性,但是可以获得以下规律。检测数据结果都是多行数组的形式填写到表单中;报告编号,委托单位,样品名称,样品编号,样品型号等数据通常都会根据检测结果的行数合并单元格。表单中经常会出现对一个检测点的多行数据求和或者求平均数的情况。加法、减法、除法、乘法、求和、求平均值这6中计算公式结合使用基本覆盖表单中90%上的计算场景。
原始记录表单的格式可以从上到下分为三大部分,第一部分通常占用表单的1-4行,内容为检测的基础数据包含表单名称、检测日期、温度、湿度、检测设备、设备编号等检测的基础信息。第二部分通常占用表单的5-6行,主要内容是检测结果的表头信息,包含委托单位,样品名称,样品编号,样品型号,检测内容等。第三部分通常从第7行开始,主要内容是数组结构的检测结果信息。
检测报告的表单从上到下也可以分为三个部分。第一部分为检测的基本信息,主要包含报告编号、委托单位、地址、样品状态、收样日期、检测类别、检测日期、检测项目、检测环境等信息。第二部分主要是检测数据或者检测结果,主要包含样品名称、样品编号、样品型号、检测内容、检测结果值等信息。第三部分是检测报告的结论,主要包含检测结论、检测方法、备注、发布日期、批准人、校核员、主检员等信息。
根据获得的检测表单的规律,本发明理化表单自动联想录入功能的实现方法使用抽象数据结构、重写计算公式、建立分析决策规则、线性归回模型预测等技术手段,实现了理化表单的自动联想录入的功能,旨在减少实验员录入的数据的工作量,提升检测数据录入效率。降低检测数据录入过程出错的风险,提高数据的真实性、安全性。推动理化实验管理系统的推广与发展。具体实现步骤如图1所示:
S1:对整个理化实验过程中所涉及到的数据和产生的数据进行数据结构抽象,建立一个包含整个理化实验的数据的数据结构体;
所述数据结构体分为理化实验基础数据,理化实验原始数据,理化实验原始数据记录表单、理化实验报告四个主要部分。其中理化实验基础数据包含表单名称、检测类型、检测日期、温度、湿度、描迹、检测方法依据、使用设备、设备编号等信息。理化实验原始数据包含样品编号、样品名称、检测点、检测结果值、检测时间等信息。理化实验原始数据记录表单包含表单名称、检测类型、检测日期、温度、湿度、描迹、检测方法依据、使用设备、设备编号、分析结果等信息。理化实验报告表单包含报告名称、报告编号、委托单位、地址、样品状态说明、收样日期、检测类别、检测日期、检测项目、检测环境、检测结果、检测结论、检测方法、备注、发布日期、批准人、核准员、主检员等信息。数据结构体的整体结构是固定的,但是结构体内容是可以根据检测业务的不同进行调整的。
S2:定义固定公式、设定决策分析规则、训练用于检测结果预测的线性回归模型;
在固定公式中,本发明重新定义了等于、加法、减法、除法、乘法、求和、求平均值这7种常用计算公式,使得这些公式可以支持数据对象的计算而不是数值的计算。其中等于定义为两个对象相等,在执行等于计算时,会把一个对象赋值给另一个对象,所以可以用等于公式实现文本的传递。加法、减法、除法、乘法这4种计算公式定义为数据对象的值的加法、减法、除法、乘法、求和的计算。求平均值公式定义为对对象的数组中某个元素的值的计算平均值。求和公式区分单独对象求和和数组求和两类,如果是单独对象求和实现逻辑为多个对象的值的加法,如果是数组求和实现逻辑为对对象的数组中某个元素的值求和。
决策分析规则有固定位置规则、百分比分配规则、合并行规则、合并列规则、顺序规则。固定位置规则是定义数据结构体的对象在表单中的固定位置,主要包含两个参数一个是对象所在的行数,一个是对象所在的列数,如果对象占多个单元格需要对单元格合并。在用数据填充表单时,可以根据固定位置规则确定对象的值所要填充的位置。百分比分配规则是指结构体中的对象在一行中所占这一行整体单元格的数量,如果对象占多个单元格需要对单元格合并。合并行规则是指数据结构体中的对象如果值相同是否要按行合并单元格。合并列规则是指结构体中的对象按照哪些对象的列数合并。顺序规则是指数据结构体中的对象在行中或者列中的顺序。本规则与固定位置规则结合使用,固定位置规则的优先级大于顺序规则。
在本发明实施例中,线性回归模型主要用于分析、预测理化实验的检测结论使用多元线性回归算法把大量的相同的检测业务的数据进行训练得到该检测业务的线性回归模型。线性回归模型的训练步骤如下:
S201,加载样本数据:把原始记录表单中的历史数据加载到样本数据集中;具体包括:
x1、x2、x3…… 是检测点的数据集;
x1=np.array([检测点x1的值…]);
x2=np.array([检测点x2的值…]);
x3=np.array([检测点x3的值…]);
……;
y1 是检测结论的数据集;
y1=np.array([检测结论……]);
y2 是备注的数据集;
y2=np.array([备注……]);
S202,将输入的原始数据处理为线性回归模型,检测点的数量为,检测点数据集的大小为/>,将数据集转换成/>的矩阵;具体包括:
x0=np.ones(n);
X=np.stack((x0,x1,x2…), axis=1);
分别将y1和y2表示为列向量的形式。
Y1=np.array(y1).reshape(-1, 1);
Y2=np.array(y2).reshape(-1, 1);
S203,求解线性回归模型参数:
;
式中,为参数向量集,/>为检验结论数据集的矩阵,/>为检测结果数据集的矩阵,为检测结果数据集的矩阵转置运算结果;
所述求解线性回归模型参数包括:
(1)是求矩阵的转置,计算/>,表达式为:
;
(2)是求矩阵的相乘,/>是矩阵的求逆,计算,表达式为:
;
(3)计算,表达式为:
;
(4)计算,表达式为:
;
(5)转换为数组的格式,表达式为:
S204,实现调用线性回归模型接口:假定输入的数据集是test[]数组。预测结果时y_pred。那么算法如下:
表达式为:
;
式中,表示第几个参数向量。
经过以上的步骤,得到该业务场景下的线性回归模型和回归模型的调用函数。线性回归模型在使用过程中可以不断的进行调优,以达到更准确的分析结果。
S3:根据具体的业务场景,创建所涉及的数据和产生的数据的实体数据结构集;
数据集中主要包含数据对象和数组对象两种类型的数据。数据对象主要包含对象所在表单中的行、列位置信息,对象的值,对象所占的行的数量、列的数量,获取值所使用的公式,数据对象计算位置所使用的规则,数据对象的顺序,数据对象的别称等信息。数组对象主要包含数组的顺序、数组的开始行位置获取值所使用的公式,数组的开始的列位置。创建数据实体时可以通过json数据编辑器在步骤S1的抽象实体的基础上增加具体的表单对象信息。
S4:自动录入检测任务基本信息和检测过程中的检测数据到数据结构体中;
检测任务的基本信息通常在创建检测任务的时候已经录入到系统中,这部分数据可以在创建任务的时候,自动填写到数据结构体中。
数据结构体中的对象设置有别称字段,用于外部数据填写到数据结构体时的寻址的关键字段使用。数据结构体的对象中的别称设置为与外部数据字段一致的名称,在导入数据时就可以根据外部字段来寻址数据结构体的对象,使用数据结构体的设置值的公共方法更新对象的值。
检测过程中产生的检测数据通常以Excel的形式存储。所以实现了一个读取本地Excel数据的公共方法。将Excel的位置输入到方法中,把Excel的数据提取出来。然后和数据结构体中定义是原始数据部分的对象进行比对,比对的依据是Excel的列头和原始数据中的对象的别称对应。能够匹配上的数据,自动写入数据结构体的原始数据数据块中。
S5:表单自动生成、检测数据自动录入。
经过上面步骤S1~步骤S4已经建立好了表单所包含的所有的对象,并且给每个对象设置了位置信息、规则信息、取值信息等基本属性。现在需要根据表单中对象的信息生成一个新的表单,并且要在表单中自动填入数据。如图2表单自动生成,包括为表单中的对象赋值:提取数据结构体中的原始数据记录表单的表单信息。遍历表单中所有的数据对象,根据每个对象设置的取值规则获取对象的值。每种取值规则的实现逻辑如图3所示,具体包括:
S5011,读取和设置数据结构体中对象的公共方法,通过公式解析器解析、执行自定义的计算公式;取值规则是指设置对象的值等于数据结构体中另一个对象的值,直接从数据结构体中获取数值源对象的值,赋予被赋值的对象;
读取和设置数据结构体中对象的公共方法。数据结构体本质是一个json格式的大数据,所以在读取数据时可以使用fastjson等开源解析json数据的工具。输入要读取的对象的路径,从json结构体中根据路径获取对象的信息。在设置对象的属性时,先用读取的方式找到该对象,修改对象的属性后,在将对象更新到数据结构体中。
通过公式解析器用于解析、执行本发明自定义的计算公式。自定义的计算公式以‘=’开始,其中用[]括起来的为结构体中的对象。例如本发明创新提出自定义的计算公式如下:
等于公式为:=[json.jcmidx];
加法公式为:=[json.jcmidx]+ [json.jcmidxly];
减法公式为:=[json.jcmidx]- [json.jcmidxly];
乘法公式为:=[json.jcmidx]* [json.jcmidxly];
除法公式为:=[json.jcmidx]/ [json.jcmidxly];
求和公式为:=SUM([json.jcmidx],[json.jcmidxly]);
求平均数公式为:=AVG([json.jcmidx],[json.jcmidxly]);
等于取值规则下,直接从数据结构体中获取数值源对象的值,赋予被赋值的对象,等于取值规则是指设置对象的值等于数据结构体中另一个对象的值。
S5012,执行求和取值规则,执行求平均数规则;先判断SUM关键字,然后从‘()’中解析出参与求和计算的对象。如果是对多个单独对象求和,那么需要分别从数据结构体中取出这几个对象的值,然后进行相加得到的值,然后赋给被赋值对象。如果是对数组中的一个对象求和,先获取整个数组的数据,然后遍历数组把对应的对象的值进行相加得到的结果赋值给被赋值对象。
执行求平均数规则。第一步收集数据,先判断AVG关键字,然后从‘()’中解析出参与求和计算的对象,这些数据可以是一个或多个对象。第二步计算总数,把解析出来的参数代入到自定义的求和规则公式中计算出多个对象的和。第三步确定数量,统计出参与计算的对象的数量,如果是多个单独对象可以直接计算单独对象的数量得出,如果是数组对象,需要读取数组的长度作为参与计算的对象的数量。第四步计算平均数,将数据的总和除以数据的数量,得到平均数。
S5013,加法、减法、除法、乘法实现方式相同,先获取参与计算的多个对象的值,然后根据加法、减法、除法、乘法计算公式得到最终的值,赋值给被赋值对象;获取参与计算的多个对象的值后,根据加法、减法、除法、乘法计算公式得到最终的值,赋值给被赋值对象。
S5014,线性回归模型预测分析,检测记录数据集带入到相同业务的线性回归模型中得到预测的检验结果。检测记录数据集带入到相同业务的线性回归模型中得到预测的检验结果。
如图4所示,检测数据自动录入包括:
S5021,自动创建表单模板,根据业务数据扩展表单;按照从上到下,从左到右的顺序绘制表单。读取对象的位置信息,先判断所在的行,再判断在行中的宽度是否是固定的。如果是固定的宽度,可以直接绘制在表单中的宽度,如果是百分比宽度,需要表单全部绘制完成之后,在计算百分比宽度的实际宽度。行位置计算完成之后,再计算列位置,如果是单独对象列位置和列高是固定的,可以直接绘制列位置。如果是数组对象先固定开始位置。
表单模板创建完成后,根据业务数据扩展表单。先扩展数组类型的对象,使用读取对象的公共方法获取数组的大小,然后从开始位置,逐行插入行。再扩展占用百分比的宽度的对象,通过分治算法不断地等分数组中的元素,直至各个分组中元素的个数 ≤2。由于每个分组内的元素最多有 2 个,很容易就可以找出其中的最值(最大值或最小值),然后这些最值再进行两两比较,最终找到表单数据中最右侧的对象所在的列数作为最大宽度。然后按照最大宽度,使用自定义的除法公式计算占用宽度百分比的对象的实际宽度,如果存在不能整除的情况,使用自定义加法公式优先增加序号小的对象的宽度或者使用自定义减法公式优先减少序号大的对象的宽度,直到实际宽度与最大宽度相等。
S5022,填充数据,根据表单中每个对象实际的占用位置,在对应的位置中自动填入对象的值;根据表单中每个对象实际的占用位置,在对应的位置中自动填入对象的值。
S5023,对表单进行整理以及合并单元格,再次遍历表单中对象,使用自定义等于公式判断周围数据是否相同,读取合并单元格规则判断是否合并单元格;如果需要合并单元格;判断是横向合并、垂直合并还是横向垂直都合并,单元格合并完成后,检测表单就生成完成,数据填写完成。
数据填充完成后,对表单进行整理以及合并单元格。再次遍历表单中对象,使用自定义等于公式判断周围数据是否相同,读取合并单元格规则判断是否合并单元格。如果需要合并单元格。还需要判断是横向合并、还是垂直合并、还是横向垂直都合并。单元格合并完成之后,检测表单就生成完成,数据也已经填写完成。
总之,本发明在预先定义好公式、规则、数据结构之后可以实现全部自动化的检测数据的录入,检测结果的分析,检验表单的生成。为理化表单录入过程带来了新的可能性,并为实验室和工业生产提供了一种高效和可靠的数据记录方法。本发明理化表单自动联想录入功能的实现方法在实验室和工业生产中具有广泛的应用前景。它可以提高工作效率、减少人为错误,并提供更准确和一致的数据记录。
实施例2,如图5所示,本发明实施例提供一种理化表单自动联想录入功能的实现系统,包括:
数据结构体建立模块1,用于对整个理化实验过程中所涉及到的数据和产生的数据进行数据结构抽象,建立一个包含整个理化实验的数据的数据结构体;
线性回归模型训练模块2,用于定义固定公式、设定决策分析规则、训练用于检测结果预测的线性回归模型。
实体数据结构集创建模块3,用于根据具体的业务场景创建该业务场景中所涉及的数据和产生的数据的实体数据结构集;
检测任务基本信息和检测过程中检测数据录入模块4,用于自动录入检测任务基本信息和检测过程中的检测数据到数据结构体中;
表单生成与录入模块5,用于表单自动生成、检测数据自动录入。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
上述装置/单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程。
本发明实施例还提供了一种计算机设备,该计算机设备包括:至少一个处理器、存储器以及存储在所述存储器中并可在所述至少一个处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意各个方法实施例中的步骤。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述各个方法实施例中的步骤。
本发明实施例还提供了一种信息数据处理终端,所述信息数据处理终端用于实现于电子装置上执行时,提供用户输入接口以实施如上述各方法实施例中的步骤,所述信息数据处理终端不限于手机、电脑、交换机。
本发明实施例还提供了一种服务器,所述服务器用于实现于电子装置上执行时,提供用户输入接口以实施如上述各方法实施例中的步骤。
本发明实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行时可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。
以上所述,仅为本发明较优的具体的实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。

Claims (10)

1.一种理化表单自动联想录入功能的实现方法,其特征在于,该方法使用抽象数据结构、重写计算公式、建立分析决策规则、线性归回模型预测,完成理化表单的自动联想录入,具体步骤包括:
S1:对理化实验过程中所涉及的数据和产生的数据进行结构抽象处理,建立包含整个理化实验数据的数据结构体;
S2:定义固定公式、设定决策分析规则、训练用于检测结果预测的线性回归模型;
S3:根据具体的业务场景,创建所涉及的数据和产生的数据的实体数据结构集;
S4:自动录入检测任务基本信息和检测过程中的检测数据到数据结构体中;
S5:表单自动生成、检测数据自动录入。
2.根据权利要求1所述的理化表单自动联想录入功能的实现方法,其特征在于,在步骤S1中,所述数据结构体包括:理化实验基础数据、理化实验原始数据、理化实验原始数据记录表单、理化实验报告的集合,数据结构体的整体结构固定,数据结构体的内容根据检测业务的不同进行调整。
3.根据权利要求1所述的理化表单自动联想录入功能的实现方法,其特征在于,在步骤S2中,所述线性回归模型用于分析、预测理化实验的检测结论,使用多元线性回归算法把相同的检测业务的数据进行训练,得到检测业务的线性回归模型;具体包括:
S201,加载样本数据:把原始记录表单中的历史数据加载到样本数据集中;
S202,将输入的原始数据处理为线性回归模型,检测点的数量为,检测点数据集的大小为/>,将数据集转换成/>的矩阵;
S203,求解线性回归模型参数,表达式为:
;
式中,为参数向量集,/>为检验结论数据集的矩阵,/>为检测结果数据集的矩阵,/>为检测结果数据集的矩阵转置运算结果;
S204,实现调用线性回归模型接口,输入的数据集为数组,预测结果为/>,表达式为:
;
式中,表示第几个参数向量。
4.根据权利要求3所述的理化表单自动联想录入功能的实现方法,其特征在于,在步骤S203中,所述求解线性回归模型参数包括:
(1)是求矩阵的转置,计算/>,表达式为:
;
(2)是求矩阵的相乘,/>是矩阵的求逆,计算,表达式为:
;
(3)计算,表达式为:
;
(4)计算,表达式为:
;
(5)转换为数组的格式,表达式为:
5.根据权利要求1所述的理化表单自动联想录入功能的实现方法,其特征在于,在步骤S3中,所述实体数据结构集包含数据对象和数组对象,创建实体数据结构集时通过json数据编辑器在抽象实体的基础上增加具体的表单对象信息。
6.根据权利要求1所述的理化表单自动联想录入功能的实现方法,其特征在于,在步骤S5中,所述表单自动生成包括:为表单中的对象赋值,提取数据结构体中的原始数据记录表单的表单信息,遍历表单中所有的数据对象,根据每个对象设置的取值规则获取对象的值;具体包括:
S5011,读取和设置数据结构体中对象的公共方法,通过公式解析器解析、执行自定义的计算公式;取值规则是指设置对象的值等于数据结构体中另一个对象的值,直接从数据结构体中获取数值源对象的值,赋予被赋值的对象;
S5012,执行求和取值规则,执行求平均数规则;
S5013,加法、减法、除法、乘法实现方式相同,先获取参与计算的多个对象的值,然后根据加法、减法、除法、乘法计算公式得到最终的值,赋值给被赋值对象;
S5014,线性回归模型预测分析,检测记录数据集带入到相同业务的线性回归模型中得到预测的检验结果。
7.根据权利要求6所述的理化表单自动联想录入功能的实现方法,其特征在于,在步骤S5011中,读取和设置数据结构体中对象的公共方法包括:在读取数据时使用fastjson开源解析json数据的工具;输入要读取的对象的路径,从json结构体中根据路径获取对象的信息;在设置对象的属性时,先用读取的方式找到该对象,修改对象的属性后,在将对象更新到数据结构体中;
自定义的计算公式以=开始,其中用[]括起来的为结构体中的对象;自定义的计算公式如下:
等于公式为:=[json.jcmidx];
加法公式为:=[json.jcmidx]+ [json.jcmidxly];
减法公式为:=[json.jcmidx]- [json.jcmidxly];
乘法公式为:=[json.jcmidx]* [json.jcmidxly];
除法公式为:=[json.jcmidx]/ [json.jcmidxly];
求和公式为:=SUM([json.jcmidx],[json.jcmidxly]);
求平均数公式为:=AVG([json.jcmidx],[json.jcmidxly])。
8.根据权利要求6所述的理化表单自动联想录入功能的实现方法,其特征在于,在步骤S5012中,执行求和取值规则包括:先判断SUM关键字,然后从()中解析出参与求和计算的对象;如果是对多个单独对象求和,分别从数据结构体中取出这几个对象的值,然后进行相加得到的值,赋给被赋值对象;如果是对数组中的一个对象求和,先获取整个数组的数据,然后遍历数组把对应的对象的值进行相加得到的结果赋值给被赋值对象;
执行求平均数规则包括:
第一步,收集数据,先判断AVG关键字,然后从()中解析出参与求和计算的对象;
第二步,计算总数,把解析出来的参数代入到自定义的求和规则公式中计算出多个对象的和;
第三步,确定数量,统计出参与计算的对象的数量,如果是多个单独对象直接计算单独对象的数量得出,如果是数组对象,读取数组的长度作为参与计算的对象的数量;
第四步计算平均数,将数据的总和除以数据的数量,得到平均数。
9.根据权利要求1所述的理化表单自动联想录入功能的实现方法,其特征在于,在步骤S5中,检测数据自动录入包括:
S5021,自动创建表单模板,根据业务数据扩展表单;
S5022,填充数据,根据表单中每个对象实际的占用位置,在对应的位置中自动填入对象的值;
S5023,对表单进行整理以及合并单元格,再次遍历表单中对象,使用自定义等于公式判断周围数据是否相同,读取合并单元格规则判断是否合并单元格;如果需要合并单元格;判断是横向合并、垂直合并还是横向垂直都合并,单元格合并完成后,检测表单就生成完成,数据填写完成。
10.一种理化表单自动联想录入功能的实现系统,其特征在于,该系统实施权利要求1至9任意一项所述的理化表单自动联想录入功能的实现方法,该系统包括:
数据结构体建立模块(1),用于对理化实验过程中所涉及的数据和产生的数据进行结构抽象处理,建立包含整个理化实验数据的数据结构体;
线性回归模型训练模块(2),用于定义固定公式、设定决策分析规则、训练用于检测结果预测的线性回归模型;
实体数据结构集创建模块(3),用于根据具体的业务场景,创建所涉及的数据和产生的数据的实体数据结构集;
检测任务基本信息和检测过程中检测数据录入模块(4),用于自动录入检测任务基本信息和检测过程中的检测数据到数据结构体中;
表单生成与录入模块(5),用于表单自动生成、检测数据自动录入。
CN202410294760.1A 2024-03-15 2024-03-15 一种理化表单自动联想录入功能的实现方法及系统 Active CN117892703B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410294760.1A CN117892703B (zh) 2024-03-15 2024-03-15 一种理化表单自动联想录入功能的实现方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410294760.1A CN117892703B (zh) 2024-03-15 2024-03-15 一种理化表单自动联想录入功能的实现方法及系统

Publications (2)

Publication Number Publication Date
CN117892703A true CN117892703A (zh) 2024-04-16
CN117892703B CN117892703B (zh) 2024-06-28

Family

ID=90645984

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410294760.1A Active CN117892703B (zh) 2024-03-15 2024-03-15 一种理化表单自动联想录入功能的实现方法及系统

Country Status (1)

Country Link
CN (1) CN117892703B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150205776A1 (en) * 2014-01-21 2015-07-23 Linkedin Corporation Method and system for auto-populating electronic forms
US20200334777A1 (en) * 2018-11-21 2020-10-22 Beijing Yutian Technology Co. Ltd Intelligent emergency decision support system for emergency communication
CN113139842A (zh) * 2020-01-17 2021-07-20 阿里巴巴集团控股有限公司 一种表单处理方法、装置和系统
CN113760775A (zh) * 2021-09-30 2021-12-07 唯品会(广州)软件有限公司 一种消息自动测试方法及装置
CN114443032A (zh) * 2022-01-27 2022-05-06 浙江惠瀜网络科技有限公司 基于JSON schema的表单处理方法、装置、终端及存储介质
CN114969657A (zh) * 2022-04-06 2022-08-30 普锐斯(北京)科技有限公司 一种检测数据自定义计算处理方法和系统
US11487273B1 (en) * 2021-04-30 2022-11-01 Dalian University Of Technology Distributed industrial energy operation optimization platform automatically constructing intelligent models and algorithms
US20230161952A1 (en) * 2021-11-22 2023-05-25 Adobe Inc. Automatic semantic labeling of form fields with limited annotations
US11841839B1 (en) * 2022-09-02 2023-12-12 Zhejiang Lab Preprocessing and imputing method for structural data

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150205776A1 (en) * 2014-01-21 2015-07-23 Linkedin Corporation Method and system for auto-populating electronic forms
US20200334777A1 (en) * 2018-11-21 2020-10-22 Beijing Yutian Technology Co. Ltd Intelligent emergency decision support system for emergency communication
CN113139842A (zh) * 2020-01-17 2021-07-20 阿里巴巴集团控股有限公司 一种表单处理方法、装置和系统
US11487273B1 (en) * 2021-04-30 2022-11-01 Dalian University Of Technology Distributed industrial energy operation optimization platform automatically constructing intelligent models and algorithms
CN113760775A (zh) * 2021-09-30 2021-12-07 唯品会(广州)软件有限公司 一种消息自动测试方法及装置
US20230161952A1 (en) * 2021-11-22 2023-05-25 Adobe Inc. Automatic semantic labeling of form fields with limited annotations
CN114443032A (zh) * 2022-01-27 2022-05-06 浙江惠瀜网络科技有限公司 基于JSON schema的表单处理方法、装置、终端及存储介质
CN114969657A (zh) * 2022-04-06 2022-08-30 普锐斯(北京)科技有限公司 一种检测数据自定义计算处理方法和系统
US11841839B1 (en) * 2022-09-02 2023-12-12 Zhejiang Lab Preprocessing and imputing method for structural data

Also Published As

Publication number Publication date
CN117892703B (zh) 2024-06-28

Similar Documents

Publication Publication Date Title
JP2011048822A (ja) 支払請求分析エンジン
CN114139490B (zh) 一种自动数据预处理的方法、装置以及设备
CN113918884A (zh) 业务量预测模型构建方法和业务量预测方法
CN113609008B (zh) 测试结果分析方法、装置和电子设备
CN115330435A (zh) 一种碳排放权价格指标体系建立方法、装置、设备及介质
CN109471871A (zh) 公车管理方法及装置
CN117892703B (zh) 一种理化表单自动联想录入功能的实现方法及系统
CN117764617A (zh) 一种基于大数据分析的物业运行成本预测方法和装置
CN111651500A (zh) 用户身份识别方法、电子设备及存储介质
CN107423320B (zh) 一种大数据架构下的医学领域自媒体平台数据推送方法
CN112711933B (zh) 一种利用电子表格进行寿险精算模型校验的方法
CN114529042A (zh) 弃号用户预测方法、装置及电子设备
CN114372867A (zh) 用户信用度的验证评估方法、装置和计算机设备
CN114238280A (zh) 构建金融敏感信息标准库的方法、装置及电子设备
CN113516398A (zh) 基于分层抽样的风险设备识别方法、装置及电子设备
CN112434471A (zh) 提升模型泛化能力的方法、系统、电子设备及存储介质
CN112712194A (zh) 一种用电成本智能优化分析的电量预测方法及装置
CN111654853A (zh) 一种基于用户信息的数据分析方法
CN111752984B (zh) 一种信息处理方法、装置和存储介质
CN114926012B (zh) 一种研发项目智慧验收评审方法、系统及可读存储介质
CN116187299B (zh) 一种科技项目文本数据检定评价方法、系统及介质
CN114265780B (zh) 一种报表系统的测试方法、系统、设备及存储介质
CN113377926B (zh) 一种质量信息本体演化的注册元模型的构建方法
CN118014006A (zh) 一种污水处理厂多任务业务流程预测方法及系统
CN117473268A (zh) 一种阈值预测方法、系统、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant