一种医疗数据的处理方法及系统技术方案

技术编号:19430044 阅读:31 留言:0更新日期:2018-11-14 11:32
本发明专利技术涉及一种医疗数据的处理方法及系统,所述方法步骤如下:输入待处理的医疗数据,所述数据为字符串格式;将输入的医疗数据进行单词拼接和识别后得到符号序列;将所述符号序列构造成一个语法树;将所述语法树,从根节点开始递归执行,输出处理结果。本发明专利技术所述方法和系统用以解决很难通过简单的产品功能实现的医学上一些复杂多变的统计分析。

【技术实现步骤摘要】
一种医疗数据的处理方法及系统
本专利技术涉及医疗
,尤其涉及一种医疗数据的处理方法及系统。
技术介绍
医疗关乎全人类的健康,随着大数据的发展,医疗数据增加,与此同时,医学人员时常需要对医疗数据库数据做大量的查询和分析,而医学上一些复杂多变的统计分析很难通过简单的产品功能实现。
技术实现思路
鉴于上述的分析,本专利技术旨在提供一种医疗数据的处理方法及系统,用以解决很难通过简单的产品功能实现的医学上一些复杂多变的统计分析。本专利技术的目的主要是通过以下技术方案实现的:本专利技术一方面提供一种医疗数据的处理方法,包括如下步骤:输入待处理的医疗数据,所述数据为字符串格式;将输入的医疗数据进行单词拼接和识别后得到符号序列;将所述符号序列构造成一个语法树;将所述语法树,从根节点开始递归执行,输出处理结果。上述方案的有益效果为:通过将医疗数据构造成语法树,并将语法树递归执行,输出处理结果,实现了医疗数据方便的统计分析处。进一步地,将输入的医疗数据进行单词拼接和识别包括:将所述医疗数据分割成字符,然后进行单词拼接,对拼接得到的每一单词进行识别,判断该单词是常量还是变量,当判断结果为变量时,进一步判断该单词是当前可执行的表达式还是数据列表表达式。上述进一步方案的有益效果为:上述方案实现了单词的拼接和识别。进一步地,所述单词拼接具体包括:依次读取字符,如果发现字符“(”则认为是一个表达式的开始,发现字符“)”则认为是表达式的结束,读取到“(”、“)”和空格这三种字符时,将会结束该单词的拼接,并开始下一个单词的拼接。进一步地,判断单词是当前可执行的表达式还是数据列表表达式具体包括:依次读取字符,如果发现字符“(”后面紧跟的单词在表达式映射表中可以查到,所述单词则被标识为当前可执行的表达式,否则所述单词被认为是一个数据列表表达式。进一步地,将所述符号序列构造成一个语法树,具体包括:初始化主表达式,将主表达式作为整个语法树的根节点;依次读取符号序列,当发现字符为“(”则认为是一个空表达式的开始,将该空表达式作为主表达式的子叶,接着读取“(”字符后的字符或单词;如果该字符或单词为可执行表达式,则将所述空表达式指定为可执行表达式;接着读取下一字符或单词,其无论是可执行表达式还是非可执行表达式,都作为当前可执行表达式的子叶参数;如果所述“(”字符后的字符或单词为非可执行表达式,则将所述空表达式指定为数据列表表达式,并且将所述字符或单词作为该数据列表表达式的子叶参数,继续读取下一个字符或单词,该字符或单词作为该数据列表表达式的子叶参数;若读取的字符为“)”,则表达式结束,若读取的字符为“(”,则该“(”构造的完整表达式为上一表达式的子叶参数。上述进一步方案的有益效果为:通过上述方案实现了将医疗数据的符号序列构造成语法树。进一步地,所述递归执行步骤为:从根节点开始执行,如果所述当前表达式子叶上或子节点的表达式包含可执行表达式则先执行所述可执行表达式,否则,执行当前表达式。进一步地,所述递归执行具体步骤为:从根节点即主表达式开始执行,首先执行主表达式的第一个子叶表达式;如果发现第一个子叶表达式仍然有子叶,则继续执行该子叶,若发现该子叶的子叶参数为非可执行表达式,可直接使用,若发现该子叶的子叶参数为可执行表达式,则执行该可执行表达式,将该可执行表达式的执行结果返回;继续执行主表达式的其他子叶,若该子叶的子叶参数为非可执行表达式,可直接使用,若该子叶为可执行表达式,则执行该可执行表达式,将该可执行表达式的执行结果返回;各执行表达式的执行结果依次向上返回,最终的结果返回至主表达式,结束执行。上述进一步方案的有益效果为:通过上述方案实现了,将由医疗数据符号序列构造的语法树递归执行。本专利技术另一方面还提供一种医疗数据的处理系统,所述系统包括词法分析器和解释器,所述词法分析器将输入的医疗数据进行单词拼接和识别后得到符号序列;然后将所述符号序列构造成一个语法树;所述解释器用于将所述语法树,从根节点开始递归执行,输出处理结果。进一步地,所述词法分析器将所述符号序列构造成一个语法树具体包括:初始化主表达式,将主表达式作为整个语法树的根节点;依次读取符号序列,当发现字符为“(”则认为是一个空表达式的开始,该空表达式作为主表达式的子叶,接着读取“(”字符后的字符或单词;如果该字符或单词为可执行表达式,则将其所述空表达式指定为可执行表达式;接着读取下一字符或单词,其无论是可执行表达式还是非可执行表达式,都作为当前可执行表达式的子叶参数;如果所述“(”字符后的字符或单词为非可执行表达式,则将其作为所述空表达式指定为数据列表表达式,并且将所述字符或单词作为该数据列表表达式的子叶参数,继续读取下一个字符或单词,该字符或单词作为该数据列表表达式的子叶参数;若读取的字符为“)”,则表达式结束,若读取的字符为“(”,则该“(”构造的完整表达式为上一表达式的子叶参数。上述进一步方案的有益效果为:通过上述方案实现了,进一步地,所述词法分析器,用于将所述医疗数据分割成字符,然后进行单词拼接,判断单词是常量还是变量,判断单词是当前可执行的表达式还是数据列表表达式,然后构造一个语法树。进一步地,所述解释器,用于将所述语法树,从主表达式开始执行,首先执行主表达式的第一个子叶表达式;如果发现第一个子叶表达式仍然有子叶,则继续执行该子叶;若发现该子叶的子叶参数为非可执行表达式,可直接使用;继续执行主表达式的其他子叶,如果发现为有子叶为可执行表达式,则执行该可执行表达式;若该可执行表达式的子叶参数为非可执行表达式,则直接使用,若为可执行表达式,则继续执行该可执行表达式,将该可执行表达式的执行结果返回至该可执行表达式的上一级可执行表达式;各执行表达式的执行结果依次向上返回,最终的结果返回至主表达式,结束执行。上述方案的有益效果如下:上述方案词法分析器实现了将医疗数据符号序列构造成语法树。进一步地,所述解释器将所述语法树,从根节点开始递归执行,输出处理结果,具体包括:从根节点即主表达式开始执行,首先执行主表达式的第一个子叶表达式;如果发现第一个子叶表达式仍然有子叶,则继续执行该子叶,若发现该子叶的子叶参数为非可执行表达式,可直接使用,若发现该子叶的子叶参数为可执行表达式,则执行该可执行表达式,将该可执行表达式的执行结果返回;继续执行主表达式的其他子叶,若该子叶的子叶参数为非可执行表达式,可直接使用,若该子叶为可执行表达式,则执行该可执行表达式,将该可执行表达式的执行结果返回;各执行表达式的执行结果依次向上返回,最终的结果返回至主表达式,结束执行。上述方案的有益效果为:通过上述方案,解释器实现了将由医疗数据构造的语法树递归执行。本专利技术中,上述各技术方案之间还可以相互组合,以实现更多的优选组合方案。本专利技术的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过说明书、权利要求书以及附图中所特别指出的内容中来实现和获得附图说明附图仅用于示出具体实施例的目的,而并不认为是对本专利技术的限制,在整个附图中,相同的参考符号表示相同的部件。图1为本专利技术实施例1所述方法的流程示意图;图2为本专利技术实施例3所述语法树;图3为本专利技术实施例4所述语本文档来自技高网...

【技术保护点】
1.一种医疗数据的处理方法,其特征在于,包括如下步骤:输入待处理的医疗数据,所述数据为字符串格式;将输入的医疗数据进行单词拼接和识别后得到符号序列;将所述符号序列构造成一个语法树;将所述语法树,从根节点开始递归执行,输出处理结果。

【技术特征摘要】
1.一种医疗数据的处理方法,其特征在于,包括如下步骤:输入待处理的医疗数据,所述数据为字符串格式;将输入的医疗数据进行单词拼接和识别后得到符号序列;将所述符号序列构造成一个语法树;将所述语法树,从根节点开始递归执行,输出处理结果。2.根据权利要求1所述方法,其特征在于,将输入的医疗数据进行单词拼接和识别包括:将所述医疗数据分割成字符,然后进行单词拼接,对拼接得到的每一单词进行识别,判断该单词是常量还是变量,当判断结果为变量时,进一步判断该单词是当前可执行的表达式还是数据列表表达式。3.根据权利要求2所述方法,其特征在于,所述单词拼接具体包括:依次读取字符,如果发现字符“(”则认为是一个表达式的开始,发现字符“)”则认为是表达式的结束,读取到“(”、“)”和空格这三种字符时,将会结束该单词的拼接,并开始下一个单词的拼接。4.根据权利要求2所述方法,其特征在于,判断单词是当前可执行的表达式还是数据列表表达式具体包括:依次读取字符,如果发现字符“(”后面紧跟的单词在表达式映射表中可以查到,所述单词则被标识为当前可执行的表达式,否则所述单词被认为是一个数据列表表达式。5.根据权利要求1所述方法,其特征在于,将所述符号序列构造成一个语法树,具体包括:初始化主表达式,将主表达式作为整个语法树的根节点;依次读取符号序列,当发现字符为“(”则认为是一个空表达式的开始,将该空表达式作为主表达式的子叶,接着读取“(”字符后的字符或单词;如果该字符或单词为可执行表达式,则将所述空表达式指定为可执行表达式;接着读取下一字符或单词,其无论是可执行表达式还是非可执行表达式,都作为当前可执行表达式的子叶参数;如果所述“(”字符后的字符或单词为非可执行表达式,则将所述空表达式指定为数据列表表达式,并且将所述字符或单词作为该数据列表表达式的子叶参数,继续读取下一个字符或单词,该字符或单词作为该数据列表表达式的子叶参数;若读取的字符为“)”,则表达式结束,若读取的字符为“(”,则该“(”构造的完整表达式为上一表达式的子叶参数。6.根据权利要求1所述方法,其特征在于,所述递归执行步骤为:从根节点开始执行,如果所述当前表达式子叶或子节点上的表达式包含可执行表达式则先执行所述可执行表达式,否则,执行当前表达式。7.根据权利要求6所述方法,其特征在于,所述递归执行具体步骤为:从根节点即主表达式开始执行,首先执行主表达式的第一个子叶表...

【专利技术属性】
技术研发人员:江浩
申请(专利权)人:思派北京网络科技有限公司
类型:发明
国别省市:北京,11

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

1