CN109637602B - 医疗数据存储和查询方法、装置、存储介质及电子设备 - Google Patents
医疗数据存储和查询方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN109637602B CN109637602B CN201811410464.4A CN201811410464A CN109637602B CN 109637602 B CN109637602 B CN 109637602B CN 201811410464 A CN201811410464 A CN 201811410464A CN 109637602 B CN109637602 B CN 109637602B
- Authority
- CN
- China
- Prior art keywords
- data
- medical data
- field
- query
- medical
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H10/00—ICT specially adapted for the handling or processing of patient-related medical or healthcare data
- G16H10/60—ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
Landscapes
- Health & Medical Sciences (AREA)
- Engineering & Computer Science (AREA)
- Epidemiology (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Primary Health Care (AREA)
- Public Health (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
本公开涉及一种医疗数据存储方法、医疗数据查询方法、医疗数据存储装置、医疗数据查询装置、计算机可读存储介质及电子设备。本公开实施例提供的医疗数据存储方法包括:获取数据表形式的医疗数据;获取所述医疗数据在所述数据表中的层级位置;根据所述层级位置对所述医疗数据进行分类;根据分类结果对所述医疗数据进行拼接并分类存储。本公开实施例所提供的医疗数据存储方法根据医疗数据在数据表中的层级位置进行分类,可以降低嵌套式数据表结构的复杂程度,简化医疗数据的存储形式,为医疗数据的查询和调用提供便利。
Description
技术领域
本公开涉及数据处理技术领域,具体涉及一种医疗数据存储方法、医疗数据查询方法、医疗数据存储装置、医疗数据查询装置、计算机可读存储介质及电子设备。
背景技术
随着医院信息化建设的不断完善,普通门诊电子病历和住院电子病历已被广泛应用。一些大型医院的医疗数据往往比较大,并且格式也不统一,因此需要建立统一的医疗数据模型,方便和加速后继的处理、分析和研究。
JSON(JavaScript Object Notation,JavaScript对象标记语言)凭借其良好的可读性、独立于各种编程语言的特性,成为表达统一医疗数据模型的首选语言。JSON语言可以表达复杂的非结构化关系,如数组、对象和多层嵌套关系,给表达医疗数据模型带来了很大便利,但同时也给医疗数据上的在线查询带来了很大的挑战。
其挑战主要有两方面,首先是查询的精确性,由于JSON可以表达数组中包含多个对象的结构,现有的JSON查询引擎,如MongoDB、Hive等,无法在匹配数组中一个对象的情况下仅返回该对象,即无法获得精确的查询结果,对查询需求有一定的限制;其次是查询的性能,JSON复杂的嵌套结构使得其解析、搜索过程非常耗时,若数据量很大,则查询响应时间将达到数十分钟,难以应付逐渐增长的频繁的查询需求。
由此可见,如何改善现有医疗数据的查询准确性和查询性能是目前亟待解决的问题。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种医疗数据存储方法、医疗数据查询方法、医疗数据存储装置、医疗数据查询装置、计算机可读存储介质及电子设备,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的查询准确性差、查询耗时长的技术问题。
根据本公开的一个方面,提供一种医疗数据存储方法,其特殊之处在于,包括:
获取数据表形式的医疗数据;
获取所述医疗数据在所述数据表中的层级位置;
根据所述层级位置对所述医疗数据进行分类;
根据分类结果对所述医疗数据进行拼接并分类存储。
在本公开的一种示例性实施方式中,所述根据所述层级位置对所述医疗数据进行分类包括:
根据所述层级位置将所述医疗数据分为底层字段数据和顶层表数据两类;
其中,所述顶层表数据用于保存所述底层字段数据的层级位置。
在本公开的一种示例性实施方式中,所述根据分类结果对所述医疗数据进行拼接并分类存储包括:
根据分类结果将属于同一类别的医疗数据拼接起来;
建立带有结构化查询语言引擎层的分布式数据库;
将拼接后的医疗数据分类存储在所述分布式数据库中。
根据本公开的一个方面,提供一种医疗数据查询方法,其特殊之处在于,包括:
接收查询指令并获取所述查询指令中的查询字段;
根据所述查询字段从存储有医疗数据的数据库中获得返回字段;
根据所述返回字段与所述查询字段之间的层级位置关系,获取与所述返回字段相关的医疗数据;
将获取到的医疗数据返回给所述查询指令的发送方。
在本公开的一种示例性实施方式中,所述根据所述返回字段与所述查询字段之间的层级位置关系,获取与所述返回字段相关的医疗数据,包括:
判断所述返回字段与所述查询字段的层级位置是否相同;
若判断所述返回字段与所述查询字段的层级位置不同,则获取所述返回字段对应的医疗数据;
若判断所述返回字段与所述查询字段的层级位置相同,则在所述返回字段所在的层级中获取遍历过滤后的医疗数据。
在本公开的一种示例性实施方式中,所述数据库为带有结构化查询语言引擎层的分布式数据库。
根据本公开的一个方面,提供一种医疗数据存储装置,其特殊之处在于,包括:
存储数据获取模块,被配置为获取以数据表形式存储的医疗数据;
层级获取模块,被配置为获取所述医疗数据在所述数据表中的层级位置;
数据分类模块,被配置为根据所述层级位置对所述医疗数据进行分类;
拼接存储模块,被配置为根据分类结果对所述医疗数据进行拼接并分类存储。
根据本公开的一个方面,提供一种医疗数据查询装置,其特殊之处在于,包括:
指令接收模块,被配置为接收查询指令并获取所述查询指令中的查询字段;
字段返回模块,被配置为根据所述查询字段从存储有医疗数据的数据库中获得返回字段;
查询数据获取模块,被配置为根据所述返回字段与所述查询字段之间的层级位置关系,获取与所述返回字段相关的医疗数据;
数据返回模块,被配置为将获取到的医疗数据返回给所述查询指令的发送方。
根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,其特殊之处在于,所述计算机程序被处理器执行时实现以上任一所述的方法。
根据本公开的一个方面,提供一种电子设备,其特殊之处在于,包括处理器和存储器;其中,存储器用于存储所述处理器的可执行指令,所述处理器被配置为经由执行所述可执行指令来执行以上任一所述的方法。
本公开实施例所提供的医疗数据存储方法根据医疗数据在数据表中的层级位置进行分类,可以降低嵌套式数据表结构的复杂程度,简化医疗数据的存储形式,为医疗数据的查询和调用提供便利。本示例性实施方式提供的医疗数据查询方法可以根据查询字段的层级位置获取到精确的匹配结果,提高医疗数据查询的准确性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出本公开一种示例性实施方式中医疗数据存储方法的步骤流程图。
图2示意性示出本公开另一种示例性实施方式中医疗数据存储方法的部分步骤流程图。
图3示意性示出本公开一种示例性实施方式中医疗数据查询方法的步骤流程图。
图4示意性示出本公开另一种示例性实施方式中医疗数据查询方法的部分步骤流程图。
图5示意性示出本公开示例性实施方式中医疗数据查询和存储方法的在一种应用场景下的流程框图。
图6示意性示出本公开一种示例性实施方式中医疗数据存储装置的组成框图。
图7示意性示出本公开一种示例性实施方式中医疗数据查询装置的组成框图。
图8示意性示出本公开示例性实施方式中一种程序产品的示意图。
图9示意性示出本公开示例性实施方式中一种电子设备的模块示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施例使得本公开将更加全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
本公开的示例性实施方式中首先提供一种医疗数据存储方法,参考图1所示,该方法主要可以包括以下步骤:
步骤S110.获取数据表形式的医疗数据。
本步骤首先获取待存储的医疗数据,该医疗数据是以数据表形式保存的。举例而言,本步骤获取的医疗数据可以是JSON格式的数据,该数据中的一条记录即可以包含一个患者的所有诊疗信息,表现为一个JSON对象,可以用patient_sn来唯一标识,对象的每个元素代表了一类诊疗信息,比如检查记录、检验记录、病案首页等,即可以称之为表。一条患者记录里可能有几十张表,每张表都是一个数组,数组里的一个元素便对应于某个病历的一类数据,病历可以通过visit_sn来唯一标识。
步骤S120.获取医疗数据在数据表中的层级位置。
数据表的特点在于层级关系的存在,不同类型的医疗数据在数据表的层级位置也将所有差异。对于较为具体的、下位的基础数据而言,医疗数据在数据表中将可能存在多层嵌套的情况。准确的层级位置和各项数据之间的层级关系将是医疗数据相互区分和标识的重要方式。本步骤获取医疗数据在数据表中的层级位置便可以为后续的数据分类存储提供依据。
步骤S130.根据层级位置对医疗数据进行分类。
本步骤将对步骤S110中获取到的医疗数据进行分类,而分类的依据即为步骤S120中获取到的医疗数据在数据表中的层级位置。具体的分类结果与数据表的形式和内容相关,分类的维度和数量可以与数据表的嵌套结构复杂程度相关。如果数据表结构较为简单,例如仅包含两个层级,那么本步骤可以对应划分为两种类别;而如果数据表结构较为复杂,例如包含多个层级的嵌套关系,那么本步骤也可以相应地划分出多个类别,本示例性实施方式对此不做特殊限定。此外,在其他一些实施方式中,执行本步骤的分类动作之前,还可以先对步骤S110中获取到的医疗数据进行分组,例如可以将患者的诊疗数据按照患者+病历的维度进行分组。经过分组后可以对每个组别中的医疗数据分别执行本步骤中的分类动作。通过分组可以降低医疗数据的整体存储压力,为数据的查询和调用也提供便利。具体的分组标准和分组形式可以与医疗数据的内容和形式相关,本公开对此不做特殊限定。
步骤S140.根据分类结果对医疗数据进行拼接并分类存储。
由步骤S130完成医疗数据的分类之后,本步骤将根据分类结果把属于同一分类类别的所有医疗数据按照字段进行拼接,然后根据类别对拼接后的医疗数据进行分类存储。如果在步骤S130之前对医疗数据进行了分组,那么本步骤则需要在同一分组中对同一类别的医疗数据按照字段进行拼接,然后进行分类存储。
本示例性实施方式提供的医疗数据存储方法根据医疗数据在数据表中的层级位置进行分类,可以降低嵌套式数据表结构的复杂程度,简化医疗数据的存储形式,为医疗数据的查询和调用提供便利。
在以上示例性实施方式的基础上,本公开的另一实施例提供一种医疗数据存储方法,其中,步骤S130.根据层级位置对医疗数据进行分类可以包括步骤:根据层级位置将医疗数据分为底层字段数据和顶层表数据两类。在本实施例中,第一类数据是遍历所有的最底层字段,将其中的医疗数据按照字段进行拼接保存;第二类数据是所有的表级别的数据,此类数据用于保存底层字段数据的层级位置,从而可以在抛开数据表复杂存储形式的基础上仍然保持医疗数据的内部嵌套结构。
在以上示例性实施方式的基础上,本公开的另一实施例提供一种医疗数据存储方法,其中,步骤S140.根据分类结果对医疗数据进行拼接并分类存储可以包括如图2所示的如下步骤:
步骤S241.根据分类结果将属于同一类别的医疗数据拼接起来。
由步骤S130完成医疗数据的分类之后,本步骤首先根据分类结果把属于同一分类类别的所有医疗数据按照字段进行拼接。
步骤S242.建立带有结构化查询语言引擎层的分布式数据库。
为了对分类后的医疗数据进行存储,本步骤将建立带有结构化查询语言引擎层的分布式数据库。例如,本步骤中建立的分布式数据库可以是HBase数据库,该数据库上构建有结构化查询语言(Structured Query Language,简称SQL)引擎层可以是Phoenix。通过在HBase数据库上搭建Phoenix,可以使用标准的JDBC(Java DataBase Connectivity,Java数据库连接)API而不是使用HBase客户端API来创建表、插入数据和对HBase数据进行查询。
步骤S243.将拼接后的医疗数据分类存储在分布式数据库中。
本步骤将把步骤S241中经过拼接后的医疗数据分类存储在由步骤S242建立的带有结构化查询语言引擎层的分布式数据库中。
本示例性实施方式提供的医疗数据存储方法主要面向数据分析和研发人员,无须编程开发,只要了解SQL语法就可以查询医疗数据,满足用户在数据调研上快速和准确的需求,可以大大提高工作效率。
在本公开的另一示例性实施方式中,提供一种医疗数据查询方法,如图3所示,该方法主要可以包括以下步骤:
步骤S310.接收查询指令并获取查询指令中的查询字段。
本步骤首先接收一医疗数据查询指令,该医疗数据查询指令中包含有过滤条件,其中过滤条件的主要组成部分即为查询字段。
步骤S320.根据查询字段从存储有医疗数据的数据库中获得返回字段。
由步骤S310获取到查询字段后,本步骤将根据该查询字段从存储有医疗数据的数据库中获得返回字段。该数据库可以是如上一实施例中所建立的带有结构化查询语言引擎层的分布式数据库,另外也可以是其他类型的可供数据查询的数据库,本示例性实施方式对此不做特殊限定。
步骤S330.根据返回字段与查询字段之间的层级位置关系,获取与返回字段相关的医疗数据。
根据以上实施例提供的各种医疗数据存储方法,在本示例性实施方式中,数据库内存储的医疗数据是按照层级位置进行分类存储的,因此由步骤S310中获取到的查询字段以及步骤S320中获得到的返回字段可能属于同一层级位置,也可能属于不同的层级位置,而层级位置相同与否将直接影响医疗数据的查询结果。
步骤S340.将获取到的医疗数据返回给查询指令的发送方。
由步骤S330获取到与返回字段相关的医疗数据后,本步骤将把获取到的医疗数据返回给查询指令的发送方,完成数据查询。
本示例性实施方式提供的医疗数据查询方法可以根据查询字段的层级位置获取到精确的匹配结果,提高医疗数据查询的准确性。
在以上示例性实施方式的基础上,本实施例提供另一种医疗数据查询方法,其中步骤S330.根据返回字段与查询字段之间的层级位置关系,获取与返回字段相关的医疗数据可以包括如图4所示的以下步骤:
步骤S431.判断返回字段与查询字段的层级位置是否相同。
本步骤首先分析返回字段的层级位置与查询字段的层级位置之间的关系,判断而知是否相同,然后根据判断结果获取不同的医疗数据。
步骤S432.若判断返回字段与查询字段的层级位置不同,则获取返回字段对应的医疗数据。
如果步骤S431的判断结果是返回字段与查询字段的层级位置不同,那么本步骤可以直接获取该返回字段对应的医疗数据。
步骤S433.若判断返回字段与查询字段的层级位置相同,则在返回字段所在的层级中获取遍历过滤后的医疗数据。
如果步骤S431的判断结果是返回字段与查询字段的层级位置不同,那么本步骤需要获取返回字段所在的层级位置,然后对该层级内的数据进行遍历过滤,以返回精确的匹配结果。其中,层级位置不同的情况可以包括两种,一种情况是返回字段与查询字段属于同一数据表中的不同层级,另一种情况是返回字段与查询字段属于两张不同的数据表。
在本示例性实施方式中,由于同一层级位置可能存储有多个医疗数据对象,因此本步骤针对返回字段与查询字段的层级位置相同的情况,可以对返回字段所在的层级进行医疗数据的遍历过滤,从而提高医疗数据的查询准确性。
下面结合一具体应用场景对本公开示例性实施方式提供的医疗数据存储方法和医疗数据查询方法进行说明。参考图5所示,医疗数据的存储和查询流程主要包括两部分:1)将原始的JSON格式的医疗数据进行转换后导入HBase;2)通过查询处理器提供基于SQL接口的精确查询能力。二者结合起来,就可以为用户提供医疗数据上的快速和精确的查询。具体而言:
1.原始JSON格式的医疗数据。按照设计的统一医疗数据模型,一条记录包含有一个患者的所有诊疗信息,表现为一个JSON对象,可以用patient_sn来唯一标识,对象的每个元素代表了一类诊疗信息,比如检查记录、检验记录、病案首页等,可以称之为表,一个患者记录里可能有几十张表。每张表都是一个数组,数组里的一个元素对应某个病历的一类数据,病历可以通过visit_sn来唯一标识。
2.数据转换方法。对一个患者的数据基于patient_sn+visit_sn来分组,在每个分组里会得到两类数据。第一类数据是遍历所有的最底层字段,将分组内该字段的数据都拼接起来,作为此分组此字段的值保存起来。第二类数据是所有表级别的数据,保存此类数据的目的是维持内部的嵌套结构。根据上述方法对数据进行转换后,使用HBase提供的接口将数据导入HBase,并在Phoenix建立映射关系后,就可以使用SQL进行查询。
3.查询处理方法。一次查询主要分为两部分,一个是过滤条件,另一个是返回字段。如果直接在Phoenix上查询,按照“数据转换方法”的描述,忽略了表内部的嵌套结构,所以结果是不准确的。本方法的查询处理过程分为两个步骤,1)在“数据转换方法”节中提到的第一类数据上使用过滤条件进行过滤,得到满足条件的患者和病历,即patient_sn+visit_sn的组合;2)通过第一步过滤得到的病历数量相比全量数据而言,已经少很多,因此可以在这部分病历数据上进行精确查询。分析过滤条件中的查询字段和返回字段的路径之间的关系,a)如果返回字段的路径与查询字段属于同一层,则从表级数据中找到这一层数据进行遍历和过滤,即可返回精确的匹配结果;b)如果返回字段的路径与查询字段不属于同一层但属于同一个表,则直接返回该字段的数据;c)如果返回字段属于另外一张表,则直接返回该字段的数据。
需要说明的是,虽然以上示例性实施方式以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或者必须执行全部的步骤才能实现期望的结果。附加地或者备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
在本公开的示例性实施方式中,还提供一种医疗数据存储装置,参考图6所示,医疗数据存储装置60主要可以包括:存储数据获取模块61、层级获取模块62、数据分类模块63和拼接存储模块64。其中,存储数据获取模块61被配置为获取以数据表形式存储的医疗数据;层级获取模块62被配置为获取所述医疗数据在所述数据表中的层级位置;数据分类模块63被配置为根据所述层级位置对所述医疗数据进行分类;拼接存储模块64被配置为根据分类结果对所述医疗数据进行拼接并分类存储。
上述医疗数据存储装置的具体细节已经在对应的医疗数据存储方法中进行了详细的描述,因此此处不再赘述。
在本公开的示例性实施方式中,还提供一种医疗数据查询装置,参考图7所示,医疗数据查询装置70主要可以包括:指令接收模块71、字段返回模块72、查询数据获取模块73和数据返回模块74。其中,指令接收模块71被配置为接收查询指令并获取所述查询指令中的查询字段;字段返回模块72被配置为根据所述查询字段从存储有医疗数据的数据库中获得返回字段;查询数据获取模块73被配置为根据所述返回字段与所述查询字段之间的层级位置关系,获取与所述返回字段相关的医疗数据;数据返回模块74被配置为将获取到的医疗数据返回给所述查询指令的发送方。
上述医疗数据查询装置的具体细节已经在对应的医疗数据查询方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
在本公开的示例性实施方式中,还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时可实现本公开的上述的医疗数据存储方法或医疗数据查询方法。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码;该程序产品可以存储在一个非易失性存储介质(可以是CD-ROM、U盘或者移动硬盘等)中或网络上;当所述程序产品在一台计算设备(可以是个人计算机、服务器、终端装置或者网络设备等)上运行时,所述程序代码用于使所述计算设备执行本公开中上述各示例性实施例中的方法步骤。
参见图8所示,根据本公开的实施方式的用于实现上述方法的程序产品80,其可以采用便携式紧凑磁盘只读存储器(CD-ROM)并包括程序代码,并可以在计算设备(例如个人计算机、服务器、终端装置或者网络设备等)上运行。然而,本公开的程序产品不限于此。在本示例性实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或者多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。
可读存储介质例如可以为但不限于电、磁、光、电磁、红外线或半导体的系统、装置或器件、或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件或者上述的任意合适的组合。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任意可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如C语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户计算设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络(包括局域网(LAN)或广域网(WAN)等)连接到用户计算设备;或者,可以连接到外部计算设备,例如利用因特网服务提供商来通过因特网连接。
在本公开的示例性实施方式中,还提供一种电子设备,所述电子设备包括至少一个处理器以及至少一个用于存储所述处理器的可执行指令的存储器;其中,所述处理器被配置为经由执行所述可执行指令来执行本公开中上述各示例性实施例中的方法步骤。
下面结合图9对本示例性实施方式中的电子设备900进行描述。电子设备900仅仅为一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
参见图9所示,电子设备900以通用计算设备的形式表现。电子设备900的组件可以包括但不限于:至少一个处理单元910、至少一个存储单元920、连接不同系统组件(包括处理单元910和存储单元920)的总线930、显示单元940。
其中,存储单元920存储有程序代码,所述程序代码可以被处理单元910执行,使得处理单元910执行本公开中上述各示例性实施例中的方法步骤。
存储单元920可以包括易失性存储单元形式的可读介质,例如随机存取存储单元921(RAM)和/或高速缓存存储单元922,还可以进一步包括只读存储单元923(ROM)。
存储单元920还可以包括具有一组(至少一个)程序模块925的程序/实用工具924,这样的程序模块包括但不限于:操作系统、一个或者多个应用程序、其他程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线930可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用各种总线结构中的任意总线结构的局域总线。
电子设备900也可以与一个或多个外部设备1000(例如键盘、指向设备、蓝牙设备等)通信,还可以与一个或者多个使得用户可以与该电子设备900交互的设备通信,和/或与使得该电子设备900能与一个或多个其他计算设备进行通信的任何设备(例如路由器、调制解调器等)通信。这种通信可以通过输入/输出(I/O)接口950进行。并且,电子设备900还可以通过网络适配器960与一个或者多个网络(例如局域网(LAN)、广域网(WAN)和/或公共网络,例如因特网)通信。如图9所示,网络适配器960可以通过总线930与电子设备900的其他模块通信。应当明白,尽管图中未示出,可以结合电子设备900使用其他硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
本领域技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。
上述所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中,如有可能,各实施例中所讨论的特征是可互换的。在上面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组件、材料等。在其它情况下,不详细示出或描述公知结构、材料或者操作以避免模糊本公开的各方面。
Claims (8)
1.一种医疗数据存储方法,其特征在于,包括:
获取数据表形式的医疗数据;
获取所述医疗数据在所述数据表中的层级位置;
根据所述层级位置对所述医疗数据进行分类,包括:根据所述层级位置将所述医疗数据分为底层字段数据和顶层表数据两类,且分类结果与数据表的形式和内容相关,分类的维度和数量与数据表的嵌套结构复杂程度相关;其中,所述顶层表数据用于保存所述底层字段数据的层级位置;
根据分类结果对属于同一类别的所述医疗数据进行拼接并分类存储至数据库;其中,所述数据库中医疗数据包括:底层字段数据和顶层表数据;所述顶层表数据用于保存所述底层字段数据的层级位置。
2.根据权利要求1所述的医疗数据存储方法,其特征在于,所述根据分类结果对属于同一类别的所述医疗数据进行拼接并分类存储至数据库包括:
根据分类结果将属于同一类别的医疗数据按照字段拼接起来;
建立带有结构化查询语言引擎层的分布式数据库;
将拼接后的医疗数据分类存储在所述分布式数据库中。
3.一种医疗数据查询方法,其特征在于,包括:
接收查询指令并获取所述查询指令中的查询字段;
根据所述查询字段从存储有医疗数据的数据库中获得返回字段;
根据所述返回字段与所述查询字段之间的层级位置关系,获取与所述返回字段相关的医疗数据,包括:判断所述返回字段与所述查询字段的层级位置是否相同;若判断所述返回字段与所述查询字段的层级位置不同,则获取所述返回字段对应的医疗数据;若判断所述返回字段与所述查询字段的层级位置相同,则在所述返回字段所在的层级中获取遍历过滤后的医疗数据;
将获取到的医疗数据返回给所述查询指令的发送方;
其中,所述数据库中医疗数据包括:底层字段数据和顶层表数据;所述顶层表数据用于保存所述底层字段数据的层级位置。
4.根据权利要求3所述的医疗数据查询方法,其特征在于,所述数据库为带有结构化查询语言引擎层的分布式数据库。
5.一种医疗数据存储装置,其特征在于,包括:
存储数据获取模块,被配置为获取以数据表形式存储的医疗数据;
层级获取模块,被配置为获取所述医疗数据在所述数据表中的层级位置;
数据分类模块,被配置为根据所述层级位置对所述医疗数据进行分类,包括:根据所述层级位置将所述医疗数据分为底层字段数据和顶层表数据两类,且分类结果与数据表的形式和内容相关,分类的维度和数量与数据表的嵌套结构复杂程度相关;其中,所述顶层表数据用于保存所述底层字段数据的层级位置;
拼接存储模块,被配置为根据分类结果对属于同一类别的所述医疗数据进行拼接并分类存储至数据库;其中,所述数据库中医疗数据包括:底层字段数据和顶层表数据;所述顶层表数据用于保存所述底层字段数据的层级位置。
6.一种医疗数据查询装置,其特征在于,包括:
指令接收模块,被配置为接收查询指令并获取所述查询指令中的查询字段;
字段返回模块,被配置为根据所述查询字段从存储有医疗数据的数据库中获得返回字段;
查询数据获取模块,被配置为根据所述返回字段与所述查询字段之间的层级位置关系,获取与所述返回字段相关的医疗数据,包括:判断所述返回字段与所述查询字段的层级位置是否相同;若判断所述返回字段与所述查询字段的层级位置不同,则获取所述返回字段对应的医疗数据;若判断所述返回字段与所述查询字段的层级位置相同,则在所述返回字段所在的层级中获取遍历过滤后的医疗数据;
数据返回模块,被配置为将获取到的医疗数据返回给所述查询指令的发送方;
其中,所述数据库中医疗数据包括:底层字段数据和顶层表数据;所述顶层表数据用于保存所述底层字段数据的层级位置。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-2中任意一项所述的医疗数据存储方法,或者实现权利要求3-4中任意一项所述的医疗数据查询方法。
8.一种电子设备,其特征在于,包括:
处理器;
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器被配置为经由执行所述可执行指令来执行权利要求1-2中任意一项所述的医疗数据存储方法,或者实现权利要求3-4中任意一项所述的医疗数据查询方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811410464.4A CN109637602B (zh) | 2018-11-23 | 2018-11-23 | 医疗数据存储和查询方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811410464.4A CN109637602B (zh) | 2018-11-23 | 2018-11-23 | 医疗数据存储和查询方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109637602A CN109637602A (zh) | 2019-04-16 |
CN109637602B true CN109637602B (zh) | 2021-06-18 |
Family
ID=66069004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811410464.4A Active CN109637602B (zh) | 2018-11-23 | 2018-11-23 | 医疗数据存储和查询方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109637602B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110390998B (zh) * | 2019-07-23 | 2022-04-29 | 医渡云(北京)技术有限公司 | 临床数据纳排方法、装置、设备及可读存储介质 |
CN111104406A (zh) * | 2019-12-10 | 2020-05-05 | 深圳市金蝶天燕云计算股份有限公司 | 层级型业务数据存储方法、装置、计算机设备和存储介质 |
CN111046061B (zh) * | 2019-12-13 | 2023-08-25 | 医渡云(北京)技术有限公司 | 数据查询方法、装置、系统、设备及存储介质 |
CN111177240A (zh) * | 2019-12-13 | 2020-05-19 | 贝壳技术有限公司 | API数据导入方法、系统以及Mock数据生成方法 |
CN111061739B (zh) * | 2019-12-17 | 2023-07-04 | 医渡云(北京)技术有限公司 | 海量医疗数据的入库方法及装置、电子设备、存储介质 |
CN111199805B (zh) * | 2019-12-25 | 2024-06-07 | 北京懿医云科技有限公司 | 一种基于医疗数据的类型层级提取方法及装置 |
CN113535943A (zh) * | 2020-04-14 | 2021-10-22 | 阿里巴巴集团控股有限公司 | 医疗记录的分类方法及装置、数据记录的分类方法及装置 |
CN113704306B (zh) * | 2021-08-31 | 2024-01-30 | 上海观安信息技术股份有限公司 | 数据库的数据处理方法、装置、存储介质及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108241624A (zh) * | 2016-12-23 | 2018-07-03 | 北京国双科技有限公司 | 一种查询脚本的生成方法及装置 |
CN108776678A (zh) * | 2018-05-29 | 2018-11-09 | 阿里巴巴集团控股有限公司 | 基于移动端NoSQL数据库的索引创建方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567394B (zh) * | 2010-12-30 | 2015-02-25 | 国际商业机器公司 | 获取平面数据的层级信息的方法和装置 |
CN104298690B (zh) * | 2013-07-19 | 2017-12-29 | 国际商业机器公司 | 为关系数据库表建立索引结构并进行查询的方法和装置 |
US9569486B2 (en) * | 2013-09-27 | 2017-02-14 | International Business Machines Corporation | System and a method for hierarchical data column storage and efficient query processing |
CN103501337B (zh) * | 2013-09-29 | 2017-05-10 | 北大医疗信息技术有限公司 | 多级数据节点更新同步系统和方法 |
CN105183735B (zh) * | 2014-06-18 | 2019-02-19 | 阿里巴巴集团控股有限公司 | 数据的查询方法及查询装置 |
US10191944B2 (en) * | 2015-10-23 | 2019-01-29 | Oracle International Corporation | Columnar data arrangement for semi-structured data |
-
2018
- 2018-11-23 CN CN201811410464.4A patent/CN109637602B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108241624A (zh) * | 2016-12-23 | 2018-07-03 | 北京国双科技有限公司 | 一种查询脚本的生成方法及装置 |
CN108776678A (zh) * | 2018-05-29 | 2018-11-09 | 阿里巴巴集团控股有限公司 | 基于移动端NoSQL数据库的索引创建方法及装置 |
Non-Patent Citations (1)
Title |
---|
《可动态扩展的医疗数据集成可视化系统设计与开发》;丁同勤;《中国优秀硕士学位论文全文数据库-信息科技辑》;20161015(第10期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109637602A (zh) | 2019-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109637602B (zh) | 医疗数据存储和查询方法、装置、存储介质及电子设备 | |
US11119980B2 (en) | Self-learning operational database management | |
US10210240B2 (en) | Systems and methods for code parsing and lineage detection | |
US11238961B2 (en) | Automatic knowledge-based feature extraction from electronic medical records | |
CN111078729B (zh) | 医疗数据溯源方法、装置、系统、存储介质以及电子设备 | |
CN107818169B (zh) | 电子病历检索、存储方法及装置、存储介质、电子终端 | |
CN110609906B (zh) | 知识图谱构建方法及装置、存储介质及电子终端 | |
CN108509339A (zh) | 基于浏览器和思维导图的测试用例生成方法、装置及设备 | |
CN109284323B (zh) | 检测数据的管理方法及装置 | |
JP2009151760A (ja) | オブジェクト間競合指標計算方法およびシステム | |
WO2016083932A1 (en) | Searching in a database | |
CN113760891B (zh) | 一种数据表的生成方法、装置、设备和存储介质 | |
US10671631B2 (en) | Method, apparatus, and computer-readable medium for non-structured data profiling | |
CN110990447A (zh) | 一种数据探查方法、装置、设备及存储介质 | |
CN111859969A (zh) | 数据分析方法及装置、电子设备、存储介质 | |
CN113946594B (zh) | 一种工业多源异构数据的集成查询方法、装置及设备 | |
CN109493928B (zh) | 基于条件树的患者数据筛选方法、系统、设备及存储介质 | |
US10223086B2 (en) | Systems and methods for code parsing and lineage detection | |
CN114064923A (zh) | 数据处理方法、装置、电子设备和存储介质 | |
CN111414410A (zh) | 数据处理方法、装置、设备和存储介质 | |
CN113779261A (zh) | 知识图谱的质量评价方法、装置、计算机设备及存储介质 | |
CN109616215B (zh) | 医疗数据抽取方法、装置、存储介质及电子设备 | |
CN112507075A (zh) | 一种病例数据搜索方法、系统、设备及存储介质 | |
CN117076579A (zh) | 一种数据血缘关系的展示方法、装置、设备及存储介质 | |
CN115295109A (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 |