应用于HIS系统的数据表映射方法与流程

文档序号:15558280发布日期:2018-09-29 01:38阅读:422来源:国知局

本申请涉及信息管理系统技术领域,具体涉及一种应用于his系统的数据表映射方法。



背景技术:

his(hospitalinformationsystem,医院信息系统)是应用于医院的一种信息管理系统,该系统以财务信息、病人信息和物资信息为主线,通过对信息的收集、存储、传递、统计和分析,从而实现综合查询、报表输出和信息共享等功能,及时为医院领导及各部门管理人员提供全面的数据服务。

当前存在的情况是,不同医院、甚至同一医院内往往存在多个不同厂家所设计的his系统,而不同厂家对his系统的表结构、字段都有自己的设计,导致多个系统之间不能进行数据共享,成为一个个数据孤岛。这样就会影响数据的集中收集和分析,导致领导及各部门管理人员对相关数据的统一使用产生障碍。

相关技术中,主要依赖医疗行业有工作经验的员工,基本靠人为识别字段含义,然后人工构建相关表结构之间的对应关系,最终才实现不同his系统之间的数据共享。然而,每一家厂商所设计的his系统都存在几百个表、上千字段;全国的his系统厂商有上百家,常见的有几十家。显然,人工处理存在效率低下、容易出错、时间成本高的问题。



技术实现要素:

为至少在一定程度上克服相关技术中存在的问题,本申请提供一种应用于his系统的数据表映射方法。

根据本申请实施例的第一方面,提供一种应用于his系统的数据表映射方法,包括:

分别从第一his系统的数据库和第二his系统的数据库中选取各自的待匹配数据表,并分别提取每一个待匹配数据表的特征数据;

根据提取的特征数据,计算所述第一his系统的待匹配数据表中的字段与所述第二his系统的待匹配数据表中的字段之间的相似度;

基于相似度判断任意两个分别属于不同系统的字段之间是否互相匹配;

如果匹配,则在所述第一his系统的数据表中的字段和对应的所述第二his系统的数据表中的字段之间建立映射关系。

进一步地,所述特征数据包括元数据和采样数据;

所述元数据包括数据表的表名和该数据表中所有字段的字段名;所述采样数据包括存储在每一个字段下的若干条数据。

进一步地,所述相似度的计算方法包括:

根据两个字段各自的元数据,计算两个字段之间的表结构相似度;

根据两个字段各自的采样数据,计算两个字段之间的内容相似度。

进一步地,所述表结构相似度的计算方法包括:

采用字符串模糊匹配算法,分别计算两个字段的字段名之间的匹配度以及两个字段所属的数据表的表名之间的匹配度;

将两个匹配度相加,得出表结构相似度。

进一步地,所述内容相似度的计算方法包括:

将一个字段下的若干条数据与另一个字段下的若干条数据一一对应;

依次计算每一条数据与对应数据之间的字符串匹配度,并将多个字符串匹配度相加,得到采样数据的总体字符串匹配度;

对采样数据的所属分类进行判别,获得类型匹配度;

综合考虑采样数据的总体字符串匹配度和类型匹配度,得到内容相似度。

进一步地,所述基于相似度判断任意两个分别属于不同系统的字段之间是否互相匹配,包括:

如果两个字段之间的表结构相似度高于第一阈值,则直接判断两个字段之间互相匹配;

如果两个字段之间的表结构相似度不高于第一阈值,则综合表结构相似度和内容相似度进行判断。

进一步地,所述综合表结构相似度和内容相似度进行判断,包括:

将表结构相似度和内容相似度加权求和,给出两个字段之间的综合相似度评分;

依次计算出所述第一his系统中的某一个字段与所述第二his系统中的每一个字段之间的综合相似度评分;

对计算出的多个综合相似度评分进行排序,选取综合相似度评分最高的两个字段,判定这两个字段之间互相匹配。

进一步地,所述方法还包括:

在所有的字段都完成映射之后,对于存在映射关系的两个字段,将这两个字段所在的两个数据表之间也建立相应的映射关系。

进一步地,所述方法还包括:

对于存在映射关系的两个数据表,计算二者之间存在的映射关系的个数分别占两个数据表中字段总个数的比例;

如果在两个数据表中所占的比例均达到第二阈值,则认为两个数据表之间完全匹配。

根据本申请实施例的第二方面,提供一种应用于his系统的数据表映射装置,其特征在于,包括:

采集模块,用于分别从第一his系统的数据库和第二his系统的数据库中选取各自的待匹配数据表,并分别提取每一个待匹配数据表的特征数据;

处理模块,用于根据提取的特征数据,计算所述第一his系统的待匹配数据表中的字段与所述第二his系统的待匹配数据表中的字段之间的相似度;

判断模块,用于根据相似度判断任意两个分别属于不同系统的字段之间是否互相匹配;

执行模块,用于在所述第一his系统的数据表中的字段和对应的所述第二his系统的数据表中的字段之间建立映射关系。

根据本申请实施例的第三方面,提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由计算设备的处理器执行时,使得计算设备执行一种应用于his系统的数据表映射方法,所述方法包括:

分别从第一his系统的数据库和第二his系统的数据库中选取各自的待匹配数据表,并分别提取每一个待匹配数据表的特征数据;

根据提取的特征数据,计算所述第一his系统的待匹配数据表中的字段与所述第二his系统的待匹配数据表中的字段之间的相似度;

基于相似度判断任意两个分别属于不同系统的字段之间是否互相匹配;

如果匹配,则在所述第一his系统的数据表中的字段和对应的所述第二his系统的数据表中的字段之间建立映射关系。

根据本申请实施例的第四方面,提供一种应用于his系统的数据表映射设备,包括:处理器;用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为:

分别从第一his系统的数据库和第二his系统的数据库中选取各自的待匹配数据表,并分别提取每一个待匹配数据表的特征数据;

根据提取的特征数据,计算所述第一his系统的待匹配数据表中的字段与所述第二his系统的待匹配数据表中的字段之间的相似度;

基于相似度判断任意两个分别属于不同系统的字段之间是否互相匹配;

如果匹配,则在所述第一his系统的数据表中的字段和对应的所述第二his系统的数据表中的字段之间建立映射关系。

本申请的实施例提供的技术方案可以包括以下有益效果:

利用计算机进行不同his系统数据表的自动匹配,减少效率低、重复性高的人工工作,降低人力成本;本申请的方法可以设置一个通用系统,这样不仅可以实现某异构his系统到通用系统的直接映射,进而也可以实现两个异构his系统之间的间接映射。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

图1是根据一示例性实施例示出的一种应用于his系统的数据表映射方法的流程图。

图2是根据一示例性实施例示出的一种应用于his系统的数据表映射方法的流程交互图。

图3是根据一示例性实施例示出的一种应用于his系统的数据表映射方法的间接映射关系示意图。

图4是根据一示例性实施例示出的一种应用于his系统的数据表映射装置的电路框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

图1是根据一示例性实施例示出的一种应用于his系统的数据表映射方法的流程图,包括以下步骤:

步骤100:分别从第一his系统的数据库和第二his系统的数据库中选取各自的待匹配数据表,并分别提取每一个待匹配数据表的特征数据;

步骤200:根据提取的特征数据,计算所述第一his系统的待匹配数据表中的字段与所述第二his系统的待匹配数据表中的字段之间的相似度;

步骤300:基于相似度判断任意两个分别属于不同系统的字段之间是否互相匹配;

步骤400:如果匹配,则在所述第一his系统的数据表中的字段和对应的所述第二his系统的数据表中的字段之间建立映射关系。

本申请的方法利用计算机进行不同his系统数据表的自动匹配,减少效率低、重复性高的人工工作,降低人力成本;可以设置一个通用系统,这样不仅可以实现某异构his系统到通用系统的直接映射,进而也可以实现两个异构his系统之间的间接映射。

一些实施例中,所述特征数据包括元数据和采样数据;

所述元数据包括数据表的表名和该数据表中所有字段的字段名;所述采样数据包括存储在每一个字段下的若干条数据。

元数据,是描述数据的数据,这里主要指his系统涉及的表结构,即表名及表中的各个列字段。如果只使用元数据,那么在对有歧义的字段进行匹配的时候,存在难以匹配准确的问题;尤其在不同厂家对表名和字段名的命名不统一且相对比较随意的情况下,仅依靠元数据有很大可能出现误判。比如,某字段名为器材用品,实际上该表字段的内容是各个药品的名称;而且类似的这种情况并不少见。在实践中可以发现,采样数据内容所包含的更具体的信息,可以用来消除元数据的歧义。

因而,本申请的方法还抽取对应的采样数据内容作为判断依据,根据表名、表字段、字段下的内容三个方面来进行匹配度计算,可以很大程度提升表结构匹配的准确度。

一些实施例中,在步骤2中,所述相似度的计算方法包括:

步骤210:根据两个字段各自的元数据,计算两个字段之间的表结构相似度;

步骤220:根据两个字段各自的采样数据,计算两个字段之间的内容相似度。

一些实施例中,所述表结构相似度的计算方法包括:

步骤211:采用字符串模糊匹配算法,分别计算两个字段的字段名之间的匹配度以及两个字段所属的数据表的表名之间的匹配度;

步骤211:将两个匹配度相加,得出表结构相似度。

具体地,表结构相似度记为name_score,则nama_score=f(a,b)+f(a1,b1),其中a、b分别为来自不同his系统的两个数据表的表名,a1、b1分别为两个数据表下的字段名。

f()函数支持计算中文、英文、数字、符号等任意文字单独或者组成的字符串之间的相似度,这里可以采用常见的模糊字符串匹配算法。例如,根据该算法,可以计算获得f(‘中文’,‘英文’)=50、f(‘chinese’,‘english’)=29、f(‘中文chinese01!’,‘英文english02@’)=33。

在一些实施例中,f()=(2.0×matchnum/length)×100;其中,matchnum是对两字符串逐元素比较,若两元素相同,则认为该两元素匹配。length是两个字符串所包含的元素长度之和。

关于matchnum有两种实现方式,一种是关心顺序的方式,按顺序进行元素比较,比如第一个字符串的第一个元素会与第二个字符串的第一个元素比较。可选的一种实现是不关心顺序,比如,比较第一个字符串的第一个元素时,在第二个字符串中查找与该元素相同的元素,一旦找到,则认为该元素有匹配元素,然后接着对两个字符串中剩下的元素进行类似方式的对比。

一些实施例中,所述内容相似度的计算方法包括:

步骤221:将一个字段下的若干条数据与另一个字段下的若干条数据一一对应;

步骤222:依次计算每一条数据与对应数据之间的字符串匹配度,并将多个字符串匹配度相加,得到采样数据的总体字符串匹配度;

步骤223:对采样数据的所属分类进行判别,获得类型匹配度;

步骤224:综合考虑采样数据的总体字符串匹配度和类型匹配度,得到内容相似度。

具体地,将内容相似度记为value_score,采样数据的总体字符串匹配度记为value_score1,类型匹配度记为value_score2。

令value_score=0.1×value_score1+0.9×value_score2,其中0.1和0.9为权重值。在其他的一些实施例中,权重值也可以根据实际情况取其他值。

则value_score1=f'(x1,y1)+f'(x2,y2)+…+f'(xn,yn)。其中,f'()可以与上述实施例中的f()相同,也可以不同。x1,x2,…,xn为异构的某his系统数据库的字段下的前n条内容,y1,y2,…,yn为通用his系统数据库的字段下的前n条内容,这里n为100。当然,在其他的一些实施例中,n也可以取其他值。

容易理解的是,针对两个不同系统中的字段,仅仅比较字符串的相似度是不全面的。比如,两个不同系统中的字段都是用于存储患者姓名,其中一个系统的采样数据可能是“张三”、“李四”、“王五”等,而另一个系统的采样数据则是另外一群人的姓名,仅仅将字符串匹配度作为依据会出现很大的偏差。因而需要参考采样数据所属的类型,来修正字符串匹配度的偏差。

因此,在实践中引入类型匹配度的概念。那么在上面的例子中,两个不同系统的采样数据都会被判定为“姓名类”,则采样数据的类型匹配度就很高,能够修正字符串匹配度太低而造成的偏差。再比如,某些元数据字段是住院id,则采样数据可能是一串数字,这时判断其类型为数字类。

类型匹配度value_score2=f”(x1,x2,...xn,y1,y2,...,yn)。其中,f”()用于判断每一个采样数据的类型,并判断多个采样数据是否为同一类型。f”()的具体实现方法可以是,预设若干类型,采用分类器将采样数据归入相应的类型;再找出最多的属于同一个类型的采样数据的个数,然后计算出这个数字占采样数据的总个数的比例,作为类型匹配度。需要说明的是,f”()的具体实现方法并不是本申请的重点,因此不再做更详细的阐述。

一些实施例中,步骤3中,所述基于相似度判断任意两个分别属于不同系统的字段之间是否互相匹配,包括:

步骤310:如果两个字段之间的表结构相似度高于第一阈值,则直接判断两个字段之间互相匹配;

步骤320:如果两个字段之间的表结构相似度不高于第一阈值,则综合表结构相似度和内容相似度进行判断。

容易理解的是,本申请的方法可以先通过元数据计算表结构相似度,如果表结构相似度极高,比如表结构相似度为百分之百或者高于设定的阈值,那么就认为不存在歧义,不再进行后续的采样数据的计算,直接认定两个字段之间是互相匹配的。利用这一机制,尽量只在元数据出现歧义时使用采样数据做进一步判断,以消除歧义,从而有利于保证总体效率。

一些实施例中,步骤320中,所述综合表结构相似度和内容相似度进行判断,包括:

步骤321:将表结构相似度和内容相似度加权求和,给出两个字段之间的综合相似度评分;

步骤322:依次计算出所述第一his系统中的某一个字段与所述第二his系统中的每一个字段之间的综合相似度评分;

步骤323:对计算出的多个综合相似度评分进行排序,选取综合相似度评分最高的两个字段,判定这两个字段之间互相匹配。

具体地,将内容相似度记为s,则s=name_score×0.3+value_score×0.7。其中,设置name_score所占权重为0.3,设置value_score所占权重为0.7。s取值范围在0~100,s=0时指两个字段没有任何相似处,内容完全不同;s=100时指两个字段相似度最高,内容完全相同。容易理解的是,具体的权重可以根据实际情况取其他值。

一些实施例中,所述方法还包括:

步骤500:在所有的字段都完成映射之后,对于存在映射关系的两个字段,将这两个字段所在的两个数据表之间也建立相应的映射关系。

一些实施例中,所述方法还包括:

步骤600:对于存在映射关系的两个数据表,计算二者之间存在的映射关系的个数分别占两个数据表中字段总个数的比例;

步骤700:如果在两个数据表中所占的比例均达到第二阈值,则认为两个数据表之间完全匹配。

如图2所示,根据本申请所提供的方法,可以设置一个通用his系统作为标准,将其他的异构his系统都与通用his系统之间建立映射关系。

如图3所示,根据这一机制,两个不同的异构his系统都与通用his系统建立映射关系之后,则这两个不同的异构his系统之间就自然建立起了间接的映射关系。

图4是根据一示例性实施例示出的一种应用于his系统的数据表映射装置的电路框图。参照图3,该装置包括采集模块121、处理模块122、判断模块123和执行模块124。

采集模块121用于分别从第一his系统的数据库和第二his系统的数据库中选取各自的待匹配数据表,并分别提取每一个待匹配数据表的特征数据;

处理模块122用于根据提取的特征数据,计算所述第一his系统的待匹配数据表中的字段与所述第二his系统的待匹配数据表中的字段之间的相似度;

判断模块123用于根据相似度判断任意两个分别属于不同系统的字段之间是否互相匹配;

执行模块124用于在所述第一his系统的数据表中的字段和对应的所述第二his系统的数据表中的字段之间建立映射关系。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处不再做详细阐述说明。

本申请还提供如下的实施例:

一种非临时性计算机可读存储介质,当所述存储介质中的指令由计算设备的处理器执行时,使得计算设备执行一种应用于his系统的数据表映射方法,所述方法包括:

分别从第一his系统的数据库和第二his系统的数据库中选取各自的待匹配数据表,并分别提取每一个待匹配数据表的特征数据;

根据提取的特征数据,计算所述第一his系统的待匹配数据表中的字段与所述第二his系统的待匹配数据表中的字段之间的相似度;

基于相似度判断任意两个分别属于不同系统的字段之间是否互相匹配;

如果匹配,则在所述第一his系统的数据表中的字段和对应的所述第二his系统的数据表中的字段之间建立映射关系。

本申请还提供如下的实施例:

一种应用于his系统的数据表映射设备,包括:处理器;用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为:

分别从第一his系统的数据库和第二his系统的数据库中选取各自的待匹配数据表,并分别提取每一个待匹配数据表的特征数据;

根据提取的特征数据,计算所述第一his系统的待匹配数据表中的字段与所述第二his系统的待匹配数据表中的字段之间的相似度;

基于相似度判断任意两个分别属于不同系统的字段之间是否互相匹配;

如果匹配,则在所述第一his系统的数据表中的字段和对应的所述第二his系统的数据表中的字段之间建立映射关系。

可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。

需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1