一种医疗信息系统数据模板化的集成系统及方法与流程

文档序号:12467225阅读:189来源:国知局
一种医疗信息系统数据模板化的集成系统及方法与流程
本发明涉及医疗行业数据集成
技术领域
,尤其涉及一种医疗信息系统数据模板化的集成系统及方法。
背景技术
:在医疗信息的获取过程中,通常需要根据不同的医院或医疗数据系统的特征,对医疗信息的获取过程进行定制开发,在实际的医疗信息系统数据集成过程中无法快速的顺应医疗业务特征。由于医疗数据系统的数据集成过程的多样化,通常一个医疗数据集成场景中的集成方式无法在其他的集成场景中复用,同时在同一场景中,当集成功能实现后其所对应的集成方法方式也随之完全固化,这样就使得场景与集成方式紧耦合,所以在大规模实现医疗数据集成工作需要极大的成本投入。另一方面,由于医疗行业由于其本身具有的规范性和标准遵循性的特点,拥有完善的业务执行流程规范。因此,医疗行业由于其行业特性非常适合以固化的模板方式来进行数据处理,可以将高复用性和标准化的实现方式进行兼顾。技术实现要素:针对现有技术的缺陷,本发明利针对医疗信息系统(例如HIS、LIS、RIS、EMR、PEIS等异构医疗信息系统)数据的集成过程,提出一种高复用性的模板化的医疗信息系统数据集成系统及方法。在医疗信息系统数据集成过程中,结合标准化的目标数据范围,针对医疗信息系统特征(包括厂商、版本等),经对医疗信息系统的源数据综合分析后,筛选和归纳出符合数据集成需求的数据项,并根据设定规则排列组合成专有数据集,实现医疗信息系统源数据到专有数据集的数据转换,进而完成对异构医疗信息系统的数据集成。通过对专有数据集及其数据转换规则的固化,形成某一医疗信息系统在多个医疗机构数据集成过程中的复用性模板,基于模板实现医疗信息系统数据集成的标准化,同时异构系统模板化集成的过程将强化模板适应性,从而建立模板复用率与模板完善性的正向关系,进而依托持续完善优化的模板库资源,来有效降低集成实施难度,提高数据集成效率,保障医疗信息系统集成项目的高效高质量开展。一方面,本发明提供一种医疗信息系统数据模板化的集成系统,包括标准维护单元、模板维护单元和数据源适配器维护单元;标准维护单元用于对医疗信息系统数据模板化集成过程中所使用的标准进行管理维护,包括对医疗信息系统业务规范描述定义和数据结果集的管理。结果集是对医疗数据业务标准的分解,在结构上符合业务标准的上报结构要求,同时也是数据集成模板中数据模型创建的依据。结果集项是结果集中最小的数据定义单位,每个结果集项都用于定义和描述标准数据信息,多个结果集项组合在一起来共同描述某类业务标准。标准维护单元包括业务规范管理模块和结果集管理模块。业务规范管理模块用于维护医疗信息系统的业务规范描述定义,实现对业务规范描述定义的导入和检索,并对定义加载。结果集管理模块用于结果集的导入,以及按照结果集属性及业务聚类的检索结果来加载结果集,结果集及其结果集项为模板维护单元实现数据集成模板的构建及复用性分析过程提供参考。数据集成模板介于结果集标准数据结构定义与数据源多态数据类型间,在结构上与集标准数据结构一致,在内容上与数据源数据内容一致,用于实现从多态类型数据的集成到既定标准结构数据间的映射。模板维护单元用于实现对数据集成模板的管理、创建、分析、调试和执行,并支撑分析创建的语义分析和业务字典。模板维护单元包括模板管理模块、复用分析模块、模板构建模块、语义分析模块、业务字典模块和模板执行模块。模板管理模块用于存储和加载数据集成模板,按规则对数据集成模板进行检索及应用相关模板模型元素。模板模型用于构成数据集成模板,是定义了具有某一类业务属性的数据结构的集合,数据集成模板有1个或多个模板模型组合而成,模板模型及模板模型间所具有的关联关系实现了结果集业务结构和特性,而模板模型又通过其内部的模型元素实现与数据源数据内容的关联匹配。模型元素是模板模型中最小的数据定义单位,每个元素都定义和描述了数据源内数据信息,多个元素组合在一起共同描述某类业务实体。复用分析模块用于实现根据结果集以及医疗信息系统数据源的信息,分析数据集成模板是否能复用于要实施集成的医疗信息系统,通过基于语义分析模块对结果集和当前数据集成模板的匹配度分析,判断数据集成模板的复用情况,并对不能完全复用的数据集成模板进行复用性拆分,为数据集成模板的构建提供参考。模板构建模块用于基于标准和医疗信息系统数据源信息构建数据集成模板,通过与业务规范管理模块的交互,获取业务规范描述定义,并结合数据源分析内容,实现对指定医疗数据系统的业务聚类分析,以定义模板模型,通过对业务聚类产生的模型实施聚类内的模型关联和跨聚类的业务关联关系的创建,最终输出数据集成模板。语义分析模块用于在数据集成模板构建和复用性分析过程中,为结果集与数据集成模板间的语义匹配提供支持,根据结果集名称、结果集项名称与模板模型名称、模板模型元素定义之间的语义内容,基于业务字典和模糊匹配算法实现结果集与数据集成模板间的关联。业务字典维护模块用于维护医疗信息系统中业务相关的数据字典,并为数据集成模板分析和构建过程提供所需要的业务字典信息。模板执行模块用于调试和执行数据集成模板,完成从医疗信息系统数据源到医疗数据终端的数据集成工作。数据源适配器维护单元用于管理、调试和执行数据源适配器,以支撑从多种类型数据源中按照数据集成模板定义正确采集数据的需求。数据源适配器维护单元包括数据源连接器模块、适配器管理模块和适配执行引擎。数据源连接器模块用于与特定的医疗信息系统数据源交互,获取数据源的业务数据和数据结构,以供数据集成模板构建和数据集成模板分析过程的参考。适配器管理模块用于创建和维护数据源适配器,根据适配的数据源类型分类管理和配置,采用可插拔的形式扩展对数据源的适配能力。适配执行引擎用于实现针对不同数据源类型的适配器的调试和运行,完成从数据源中采集符合数据集成模板定义的数据的目标。另一方面,本发明还提供一种医疗信息系统数据模板化的集成方法,采用上述的医疗信息系统数据模板化的集成系统实现,包括以下步骤:步骤1、判断数据源类型;获得数据源类型,判断该数据源类型是否为结构化的DB或半结构化的XML或EXCEL类型,如果是,则执行步骤2,否则退出;步骤2、进行数据源连接;连接医疗信息系统数据源,获取异构医疗数据系统中的医疗数据源内业务数据信息,所述业务数据信息的类型包括结构化数据和半结构化数据;步骤3、进行数据集成模板复用分析;模板维护单元的复用分析模块对数据集成模板的复用程度进程评判分析,如果数据集成模板完全可复用,则执行步骤6;如果数据集成模板完全不可复用,执行步骤5;如果数据集成模板部分可复用,则执行步骤4,具体方法为:步骤3.1、加载标准结果集,读取结果集名称、结果集业务类别名称、结果集项的内容;步骤3.2、加载业务数据集成模板库,读取模板名称、模板业务类别名称、模板模型及模型元素的内容;步骤3.3、根据加载的结果集信息与数据集成模板信息进行对比,判断数据集成模板的可复用程度;如果结果集名称=模板名称且结果集业务名称=模板业务类别名称,或则断定存在与该结果集对应的数据集成模板,执行步骤3.4;否则,该数据集成模板部分可复用,执行步骤4,进行模板分拆;步骤3.4、加载医疗数据源特征,根据加载的结果集信息与数据集成模板信息进行对比,判断数据集成模板对数据源的可复用程度,如果特征符合,则该数据集成模板完全可复用,执行步骤6,进行模板化集成;否则,执行步骤3.5,进一步判定;步骤3.5、如果数据集成模板中模型元素归纳的实体内容中不存在当前数据源中的数据内容,则当前数据集成模板在医疗数据源存在部分复用异常,模板完全不可复用,执行步骤5,进行模型构建,重新为模型元素归纳数据源实体内容;步骤4、进行模板分拆;对数据集成模板可复用部分进行筛选,将数据集成模板拆分成可复用部分和需创建部分,数据集成模板的可复用部分执行步骤6,进行模板化集成,需创建部分则执行步骤5,进行模板创建,具体分拆方法为:步骤4.1、记R={结果集项}、E={模板模型元素},根据加载的结果集信息与数据集成模板信息,如果那么:如果则执行步骤5,进行模板创建;如果则执行步骤4.2,进行模板复用分拆;步骤4.2、获取步骤4.1筛选得到的可复用结果集项集合,记为T,且t∈R∩E,得到T的绝对补集,即当前结果集无法复用的结果集项集合;依据T的绝对补集创建可适配数据源内容的模板模型,将T的绝对补集作为步骤5模板创建的入参;获取步骤4.1筛选得到的可复用模板模型元素集合,记为M,且m∈R∩E;集合T与M相对应,将T与M作为步骤6数据集成模板化集成的入参;步骤5、数据集成模板创建;根据结果集和数据源,来构建结构上符合结果集约束、内容上符合数据源情况的数据集成模板,创建成功后,执行步骤6,数据集成模板创建的具体方法为:步骤5.1、数据加载;加载从步骤3.1或步骤4.2获得的结果集内容,同时加载步骤2获得的数据源内容;步骤5.2、进行数据内容的筛选,对数据源内容中垃圾及无效内容进行筛除,将筛选后得到的数据作为数据集成模板创建分析过程的数据依据;如果数据源中内容为空或已废弃,则该数据源内容进行筛除,不作为后续数据集成模板分析过程的依据;如果数据源中内容存在乱码或密文,则将该内容进行筛除,不作为后续数据集成模板分析过程的依据;步骤5.3、数据关联性分析;对数据的业务关联关系进行筛查分析,根据医疗业务规范流程来创建符合结果集结构规范的数据集成模板,具体方法为:步骤5.3.1、加载医疗业务规范描述文件,通过标准维护单元的业务规范管理模块对该描述文件进行解析;步骤5.3.2、通过模板维护单元的模板构建模块和语义分析模块对数据业务进行聚类处理,根据规范描述文件中定义的业务类别对加载的数据源数据内容进行分类,以表(Table)为单位对数据库(Database)类数据源进行聚合,以文件名为单位对半结构化XML数据源进行聚合,以页(sheet)为单位对半结构化文件类Excel数据源进行聚合;步骤5.3.3、通过模板维护单元的模板构建模块进行聚类内容业务筛选,对数据内容进行解析后,以无向图的结构(即邻接表)进行缓存,根据结果集项的定义要求,将聚类中的无结果集项要求的数据内容进行筛除;步骤5.3.4、创建聚类关联结构,应用克鲁斯卡尔(Kruskal)算法,创建无向图的最小生成树,其中无向图的权为业务关联级别,而无向图的最小生成树的节点关系即为业务模型关系;最小生成树的每个顶点为一个聚合单位,无向图中边的权为业务权重值;步骤5.4、构建模型;根据最小生成树的关系结构,为业务模板构建其业务模型;对于生成树的每个顶点,即聚类中的每个聚合单位生成一个模型,该模型中的元素依据结果集的项与数据源中内容组合构成,具体为:将结果集中具有某一业务特征的项归纳到一个聚合单元中,构成模型元素的标准约束,并将数据源中具有同一业务特征的数据内容归纳到该聚合单元中,构成模型元素的实体内容;所述模型元素中实体内容的具体样式,取决于数据源的类型,对于数据库类型数据源所归纳的实体内容为表(Table)的字段(Field);对于半结构化类数据源XML文件集所归纳的实体内容为XML文件的XML元素;对于半结构化类数据源Excel文件所归纳的实体内容为页(Sheet)的单元内容(Cell);步骤5.5、构建模型关联性关系;用结果集对数据集成模板模型元素内容进行校验,首先遍历聚类中数据集成模板模型,将本聚类中模型间的业务关联关系进行构建,之后构建该模型在跨聚类的业务关联关系;步骤5.6、创建模板;模板维护单元的模板构建模块将步骤5.4生成的业务模型进行组合,生成数据集成模板,模板为由各聚类最小生成树形成N叉树构成的森林,N叉树的叶子则是由数据模型构成;对于聚类间存在业务关联的树,它们的业务关联关系将作为其跨聚类树的根,重新构建其树形结构;模板构建模块遍历所述N叉树,结合适配单元对数据源的适配策略,将树形结构所描述的业务关系以及所对应的数据源数据内容以模板文件集的形式固化到系统模板维护单元中,作为系统模板化集成的依据;步骤6、载入数据集成模板,根据模板定义模型对数据源进行适配集成;步骤7、根据步骤6集成的结果,将医疗数据集成结果上传至数据需求终端。由上述技术方案可知,本发明的有益效果在于:本发明提供的一种医疗信息系统数据模板化的集成系统及方法,针对医疗业务标准的数据集成,实现基于异构医疗数据系统医疗数据集成模板的数据集成,使得业务数据集成更加高效。同时,医疗数据集成模板的设计是基于异构医疗数据系统中的医疗数据的特点而进行构建,具有较强的行业属性,在进行医疗数据集成项目的建设过程中,同一个医疗数据集成模板可以复用在多个医疗数据集成项目的建设场景中,在节约建设成本的同时,医疗数据集成模板的业务特性也将在实际使用过程中得到补充和优化,从而达到项目建设良性循环的目标。本发明的系统及方法中所述的医疗数据集成模板通过对多个业务标准的分析后已经达到一定的积累,可以实现对医疗数据集成业务的有效支撑,实现基于医疗数据集成模板快速构建新的数据集成项目,使得业务数据得到稳定高效的集成和处理,从而推动医疗卫生体系的建设和管理,为医院信息互联互通标准化、区域医疗信息互联互通、医疗大数据中心及大数据应用提供有力支撑。附图说明图1为本发明实施例提供的一种医疗信息系统数据模板化的集成系统与上下线系统的连接示意图;图2为本发明实施例提供的一种医疗信息系统数据模板化的集成系统结构框图;图3为本发明实施例提供的数据模板结构示意图;图4为本发明实施例提供的一种医疗信息系统数据模板化的集成方法流程图;图5为本发明实施例提供的数据集成模板创建方法的流程图;图6为本发明实施例提供的门诊业务与住院业务的聚合关联结构图;图7为本发明实施例提供的门诊业务与住院业务的业务聚合最小生成树示意图;图8为本发明实施例提供的数据源表形成的聚类关联结构示意图;图9为本发明实施例提供的模型元素的实体内容示意图;图10为本发明实施例提供的模板模型跨聚类关联关系示意图;图11为本发明实施例提供的对业务聚类内的聚类模型描述的树结构示意图。具体实施方式下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。如图1所示,一种医疗信息系统数据模板化的集成系统实现医疗数据源端原始数据的标准化集成,并将标准化集成得到的数据上报到医疗数据终端。数据集成是指将若干个分散的数据源中的数据记录或数据项,逻辑地或物理地集成到一个统一的数据集合中,解决分布式环境下业务系统中异构数据的适配和集成,实现数据的汇聚与共享。模板化数据集成是利用数据集成模板,实现对某一类业务数据源内数据集成转换的过程。本实施例提供的一种医疗信息系统数据模板化的集成系统包括标准维护单元、模板维护单元和数据源适配器维护单元,如图2所示。本系统依托适配单元中内置的各类适配器实现对各类医疗数据源的适配对接,并将加载得到的原始数据依据业务标准来进行评判,基于医疗业务标准和数据源数据特征来构建可复用的数据集成模板,完成对医疗单位同类数据的低成本数据集成工作,简化数据分析过程、缩短医疗数据集成类项目的建设时间。标准维护单元,用于对医疗信息系统模板化集成过程中所使用的标准进行管理维护,包括对医疗信息系统业务规范描述定义与数据结果集的管理。标准维护单元包括业务规范管理模块和结果集管理模块。业务规范管理模块负责维护医疗信息系统的业务规范描述定义,该定义用于描述医疗信息系统的业务聚类规范、业务聚类内各数据模型的关联权值,并提供聚类之间的关联关系信息。该模块提供对业务规范描述定义的导入、检索功能,并实现对定义的加载,以满足模板创建中对业务规范的依赖需求。结果集管理模块负责结果集的导入,和按照结果集对应的医疗数据信息,实现结果集项属性及业务聚类的检索和加载。通过结果集管理模块,模板维护单元可以参照特定的医疗数据标准,进行模板复用性分析和新模板的创建等操作。模板维护单元,用于实现对集成模板的管理、创建、分析、调试和执行,并提供支撑分析创建的语义分析和业务字典功能。模板维护单元包括模板管理模块、复用分析模块、模板构建模块、语义分析模块、业务字典模块和模板执行模块。模板管理模块负责存储和加载数据集成模板,对集成系统提供模板的使用入口,并根据调用复用分析模块或者模板构建模块以满足集成需求。复用分析模块负责实现根据结果集以及医疗信息系统数据源的信息,分析采集模板是否可复用于要实施集成的医疗信息系统。通过向下比对集成的医疗信息系统从属厂商和系统名,以及模板字段在数据源中的存在情况,向上对比结果集和当前模板的匹配度分析,判断模板的复用情况,并对不能完全复用的模板进行复用性拆分,为模板构建提供参考。模板构建模块负责实现基于标准数据集以及需要集成的医疗信息系统数据源信息的全集或子集,创建数据集成模板。在模板创建过程中,需要参考业务描述定义中对特定业务的定义,对应结果集项信息以及医疗信息系统数据源信息,实现对指定数据系统的业务聚类分析,以定义模板模型,进一步的,通过对业务聚类产生的模型实施聚类内的模型关联以及跨聚类的业务关联关系的创建,最终输出数据集成模板。语义分析模块负责为模板分析及模板创建过程提供结果集与数据集成模板、结果集与数据源字段的匹配,基于模糊匹配算法以及相应的分词逻辑,参照医疗行业的业务字典,以实现各层次的语义内容关联。业务字典维护模块负责维护医疗信息系统中业务相关的数据字典,并为数据集成模板分析以及构建过程提供所需要的业务字典信息。模板执行模块负责调试和执行数据集成模板,并调用模板所关联的数据源适配器,以完成从医疗信息系统数据源到医疗数据终端的数据集成工作。本实施例中的数据集成模板的结构如图3所示。结果集是对医疗数据终端卫生数据业务标准的分解,结果集中包含一系列的项来共同描述某类业务标准。结果集在结构上符合业务标准的上报结构要求,同时,结果集也是数据映射模板中数据模型创建的依据,用于从结构上规范和约束数据集成模板的创建。数据集成模板介于结果集标准数据结构定义与数据源多态数据类型间,其在结构上与集标准数据结构一致,在内容上与数据源数据内容一致,实现从多态类型数据的集成,与到既定标准结构数据间的映射。数据集成模板包含一系列的模型,模型是定义了具有某一类业务属性的数据结构的集合,模型及模型间所具有的关联关系实现了与结果集业务结构和特性,而模型又通过其内部的模型元素实现与数据源数据内容的关联匹配,其中模型元素是模型中最小的数据定义单位,每个元素都定义和描述了数据源内数据信息,多个元素组合在一起共同描述某类业务实体。通过数据模型的定义,数据集成模板从集成内容上对数据源端进行约束。数据源适配维护单元,用于管理、调试和执行数据源适配器,以支撑从多种类型数据源中按照数据集成模板定义正确采集数据的需求。数据源适配维护单元包括数据源连接器模块、适配器管理模块和适配执行引擎。数据源连接器模块负责与特定的医疗信息系统数据源交互,以获取数据源的业务数据以及数据结构,以供数据集成模板创建以及模板分析过程提供参考。适配器管理模块负责创建和维护数据源适配器,根据适配的数据源类型分类管理和配置,采用可插拔的形式扩展对数据源的适配能力。适配执行引擎负责实现针对不同数据源类型的适配器的调试和运行,完成从数据源中采集符合模板定义的数据的目标。以对住院实验室检验数据采集为例,采用上述的医疗信息系统数据模板化的集成系统进行医疗数据集成的方法,如图4所示,具体步骤如下。步骤1、判断数据源类型;获得数据源类型,判断该数据源是否为结构化的DB、半结构化的XML或EXCEL类型的数据源,如果是,则执行步骤2,否则退出。本实施例中,根据住院实验室检验系统的说明,获得该系统从属为某厂商,系统名称为LIS系统以及版本号V3.5,并判断数据源类型为数据库。步骤2、进行数据源适配;使用数据源适配维护单元的数据源连接器模块,通过数据库连接器对检验系统数据源的数据库LAB_INSPECTION进行连接,数据库连接器从数据库中抽取所有的表结构定义,包括表名,字段名,字段类型,表的创建时间、更新时间以及记录数。连接器获取这些信息并缓存,以提供后续模板复用性分析和模板创建工作使用。步骤3、进行数据集成模板复用分析;模板维护单元的复用分析模块对当前检验系统,在模板库中是否存在可复用模板进行分析。具体方法为:步骤3.1、加载标准结果集,读取结果集名称、结果集业务类别名称、结果集项的内容。根据本次集成需要上报的医疗业务数据信息,复用分析模块与标准维护单元的结果集管理模块交互,加载对应的标准结果集,并读取结果集名称LIS_STD,结果集业务类别LIS以及结果集项内容,包含医疗业务终端中LIS业务涉及的数据字段、字段名称、描述信息、类型及类型约束。例如:PATIENT_ID,门诊/住院患者诊次号,类型为Varchar,长度为21。步骤3.2、加载业务数据集成模板,读取模板名称、模板业务类别名称、模板模型及模型元素的内容。复用分析模块与模板管理模块交互,以步骤1中获取的系统从属厂商、系统名称、版本号和步骤3.1中加载的结果集名称为检索条件,即<LST_STD,某厂商,LIS,3.5>,在模板库中检索对应的模板。如果未查询到对应模板,执行步骤5模板创建。查询到模板R_LIS_TEMPLATE_3_5满足检索条件,并加载和读取该模板,读取模板名称为R_LIS_TEMPLATE_3_5、模板业务类别LIS以及模板模型及模型元素的内容列表,例如:模型模板INS_RST,模板描述为检验结果,模板元素包括INS_ID,元素描述为检验单号,关联数据源字段INS_TABLE/INSID。步骤3.3、复用分析模块根据步骤3.1加载的结果集信息与步骤3.2检索并加载的模板信息进行对比,判断数据集成模板的可复用程度。首先,复用分析模块通过结果集管理模块,判断模板R_LIST_TEMPLATE_3_5业务类别LIS与结果集LST_STD业务类别LIS是否相同,如果相同,则该模板与该结果集存在对应关系。然后,对LST_STD中的结果集项与模板R_LIST_TEMPLATE_3_5中各模型的元素进行比对,例如,对结果集项集合{PATIENT_ID,APPLY_CD,INS_ID}与模板模型元素集合{PATIENT_ID,APPLY_CD,INS_ID,INS_ROOM},存在可确定该模板与该结果集对应。否则,执行步骤4模板分拆。进一步,复用分析模块通过数据源连接器模块,对模板中模型元素的关联数据源字段,与在步骤2中获取的检验系统数据源的表和字段信息进行遍历对照,如果某关联数据源字段没有对应的表字段,例如:对模板模型元素INS_ID对应的关联数据源字段INS_TABLE/INSID,未在INS_TABLE表中找到字段INSID,则当前模板在医疗数据源存在部分复用异常,执行步骤4模型分拆,拆分不匹配的模型元素,并重新为模型元素归纳数据源实体内容。步骤4、进行数据集成模板分拆;根据步骤3.3的复用性分析结果,复用分析模块对模板R_LIST_TEMPLATE_3_5的可复用部分进行筛选,分拆成模板可复用部分及需创建部分,可复用部分模板执行步骤6模板化集成;需创建部分执行步骤5模板创建。具体方法为:步骤4.1、模板复用筛选;复用分析模块比对步骤3-1加载的结果集信息、步骤3-2检索并加载的模板信息以及步骤2中检验系统数据源信息,如果则执行步骤5模板创建。如果例如{PATIENT_ID,APPLY_CD,INS_ID}∩{PATIENT_ID,APPLY_SEQ,INS_ID,INS_ROOM},则执行步骤4.2模板复用分拆。对于数据集成模板,遍历其中所有模型,进一步获得模型中的所有模型元素集合,通过获取模型元素中数据源字段描述信息,以生成模板模型元素数据源字段集合。对确定的医疗信息系统数据源,如作为数据库类型的检验系统数据源,获取数据源中定义的数据表,进一步的获取每张数据表的字段,以生成检验系统数据源字段集合。因此进一步地,如果则执行步骤5模板创建;如果例如{INS_TABLE/PATIENT_ID,INS_TABLE/APPLY_SEQ,INS_RST/INS_ID,INS_RST/INS_ROOM}∩{INS_TABLE.PATIENT_ID,INS_TABLE.APPLY_CD,INS_RST.INSID,INS_RST.INS_ROOM},则执行步骤4.2模板复用分拆。步骤4.2、模板复用分拆;复用分析模块对{结果集项}与{模板模型元素}的交集进行汇聚,作为模板的可复用集合。例如{PATIENT_ID,APPLY_CD,INS_ID}∩{PATIENT_ID,APPLY_SEQ,INS_ID,INS_ROOM},可复用部分为{PATIENT_ID,INS_ID};模板模型元素集合对结果集项的绝对补集{APPLY_SEQ}作为无法复用项集合;进一步的,复用分析模块对上述得到的模板可复用集合中的模板模型元素,得到模板模型元素数据源字段集合,并对{模板模型元素数据源字段}∩{检验系统数据源字段}的交集进行汇聚。例如{INS_TABLE/PATIENT_ID,INS_RST/INS_ID}∩{INS_TABLE.PATIENT_ID,INS_RST.INSID}。得到交集中数据源字段对应的模板模型元素集合,例如{PATIENTID},作为可复用集合,作为步骤6模板化集成的参数,得到绝对补集中数据源字段对应的模板模型集合作为无法复用项集合,与上述得到的无法复用项集合形成并集,作为步骤5模板创建的参数。例如{INS_ID}∪{APPLY_SEQ}={INS_ID,APPLY_SEQ}。步骤5、数据集成模板创建;模板构建模块根据步骤3.1和步骤3.2中,通过结果集管理模块和数据源连接器对结果集以及检验系统数据源的分析结果进行完整模板创建,或者根据步骤4中得到的模板可复用集合和不可复用集合,进行部分模板创建,如图5所示,创建成功后,执行步骤6。本实施例中以对检验系统的完整模板创建为例,数据集成模板创建的具体方法如下:步骤5.1、数据加载;向结果集管理模块请求获得结果集内容,加载从步骤3.1或步骤4.2获得的结果集内容,同时向数据源连接器模块获得数据源内容,加载步骤2获得的数据源内容。步骤5.2、数据内容的筛选;模板构建模块对数据源连接器模块数据源内容中垃圾及无效内容进行筛除,以缩减模板构建过程中数据分析量,将筛选后得到的数据作为数据集成模板创建分析过程的数据依据。通过数据源连接器模块,归纳检验系统数据源中业务表的信息。本实施例中,数据源连接器反馈的检验系统数据源表的信息如表1所示。表1检验系统数据源表信息关注数据源表信息中的创建时间、修改时间、记录数以及是否可读。对记录内容为空的INS_DICT表从信息中筛除;对于当表中内容在过去一段时间(6个月)内都无任何访问记录,或只在创建时进行了修改的INS_PATIENT表从信息中筛除;对于表中存在乱码、密文等不可读信息的INS_MES表从信息中筛除,当前系统字符集无法有效转换或当前系统秘钥无法进行有效解密。将筛选后得到的数据表集合{INS_TABLE,INS_RST}作为模板创建分析过程的数据依据。步骤5.3、数据关联性分析;对数据的业务关联关系进行筛查分析,根据医疗业务规范流程来创建符合结果集结构规范的数据集成模板,具体方法为:步骤5.3.1、加载医疗业务规范描述文件;模板构建模块与标准维护单元的业务规范管理模块,根据系统对应的业务分类,加载对应的业务规范描述文件,业务规范管理模块加载该描述文件并对文件的定义内容进行解析,将描述文件中的图结构解析为内存中的数据结构。医疗行业由于其本身具有的规范性和标准遵循性的特点,具有通用规范的业务执行流程和规范,医疗信息系统作为拥有稳定的业务规范而适合将其模板化,以医疗信息系统数据模板的形式将医疗业务进行固化,并进而实现可复用的模板化数据集成。医疗业务规范描述文件是医疗业务流程的描述配置文件,用于记录医疗业务流程和流程阶段的定义,具有极强的医疗行业特性。医疗业务规范描述文件描述了医疗业务流程患者门诊、检查、检验、住院、药品等各诊疗业务流程,以及各流程中各步骤的描述定义,规定流程中初始步骤、过程步骤和结束步骤,以及步骤间的关联条件和步骤执行顺序。对于步骤,医疗业务规范描述文件定义了其业务名称、业务描述、业务关键字等信息,这些信息用于将业务进行界定。本实施例中,对应检验系统业务分类LIS的业务规范描述文件,解析结构为:M1:PATIENT,门诊/住院患者,{PATIENT_ID,INS_ID};M2:APPLY,检验/检查申请,{APPLY_CD,INS_ID,INS_DATE};M3:REGS,检验/检查登记,{APPLY_CD,INS_ITEM,REPORT_CD};M4:RESULT,检验/检查结果,{REPORT_CD,INS_RST};R1:<M1,M2>,诊次号,1;R2:<M2,M3>,申请单号,2;R3:<M3,M4>,报告单号,3;Mi(i=1,2,3,4)为业务步骤模型,描述流程中的业务步骤,包括业务名称、业务描述和业务关键字,Rj(j=1,2,3)为业务步骤关联,描述步骤之间的关联条件,包括步骤顺序、步骤起始和关联权值等。步骤5.3.2、数据业务聚类处理;通过模板维护单元的模板构建模块和语义分析模块对数据业务进行聚类处理,模板维护单元的模板构建模块执行对数据的业务聚类处理过程。语义分析模块内置基于语义的分词引擎,实现数据源信息的语义分析处理,将具有某一类业务属性的数据进行聚类。根据规范描述文件中定义的业务类别对加载的数据源数据内容进行分类,以表(Table)为单位对数据库(Database)类数据源进行聚合,以文件名为单位对半结构化XML数据源进行聚合,以页(sheet)为单位对半结构化文件类Excel数据源进行聚合。模板构建模块根据步骤5.3.1的业务规范模型步骤,与步骤5.2的业务系统数据源结果,通过与模板维护单元的语义分析模块交互,对业务系统数据源中的表和字段与业务规范模型以及模型元素进行语义匹配。医疗信息系统的业务类别主要包括:门诊、住院、病案、手术、药品、检验、检查等。根据数据源中表名中文、英文、缩写前缀以及关键字,与业务规范模型步骤比对,来判断其业务类别。语义分析模块通过在业务字典中定义的前后缀及关键字信息,通过分词和模糊匹配进行自动化截取及分析。评判条件1:汉字或拼音为表关键字;如果数据表名中存在,例如:MZ门诊、ZY住院、BA病案、SS手术、YP药品、JY检验、JC检查等,可以与医疗信息系统的业务类别进行枚举比对,从而明确的判定其具有的业务类别,将明确业务类型的表归入业务聚合中。评判条件2:英文或英文缩写为表关键字;如果数据表名中存在,例如:Mclinic/outp门诊、inp/inhos住院、mrm/mrs病案、op/ops手术、med/dmg药品、lab/lis检查、exam/ris检查等,可以与医疗信息系统的业务类别进行枚举比对,从而明确的判定其具有的业务类别,将明确业务类型的表归入业务聚合中。评判条件3:特定字符为表关键字;如果数据表名中存在特定的字符前缀或后缀,通过业务字典组件的映射,例如将H_前缀映射为HIS检验,将_P后缀映射为OUTP门诊等,进一步的与医疗信息系统的业务类别进行枚举比对,从而明确的判定其具有的业务类别,将明确业务类型的表归入业务聚合中。评判条件4:字典表筛选;如果数据表名中存在如下类型的表名:以汉语拼音字头标识业务表:字典表以ZD_或GY_命名;以英文标识业务表:字典表以DICT/DIC_或COM_命名。将具有上述特征的表,归入字典表聚合集中。进一步的,模板构建模块根据步骤5.3.1的业务规范定义结构,获取对每一个业务聚类内的模型定义,与步骤5.2的业务系统数据源进行遍历匹配,确定从每个业务聚类模型到数据源表的对应关系,匹配规则同上述评判条件。步骤5.3.3、聚类内容业务筛选;通过模板维护单元的模板构建模块对步骤5.3.2进行聚类后的数据源表信息进行聚类内容业务筛选,对数据内容进行解析后,以无向图的结构(即邻接表)进行缓存,根据结果集管理模块中加载的对应业务的结果集项的定义要求,将聚类后的数据源表中的无结果集项要求的数据内容进行筛除。本实施例中,通过步骤5.3.2,对检验系统数据源进行聚类的结果如下:M1:PATIENT,对应于系统数据源表PATIENT;M2:APPLY,对应于系统数据源表APPLY_INS;M3:REGS,对应于系统数据源表ZC;M4:RESULT,对应于系统数据源表RESULT。该结果即为业务规范定义的步骤模型与数据源表的聚类对应关系。结果集管理模块加载的结果集项集合为{INS_ID,PATIENT_ID,APPLY_CD,INS_RST_ID,REPORT_CD,REPORT}。将聚类中涉及的数据源表集合{PATIENT,APPLY_INS,ZC,RESULT}中的字段信息,与结果集项进行语义匹配,即:{PATIENT={PATIENT_ID,INS_ID,PATIENT_NAME,PATIENT_ADDR},APPLY_INS={INS_ID,APPLY_DATE,APPLY_CD},ZC={APPLY_CD,REG_DATE,INS_RST_ID},RESULT={INS_RST_ID,REPORT_CD,REPORT}}与{INS_ID,PATIENT_ID,APPLY_CD,INS_RST_ID,REPORT_CD,REPORT}通过语义分析模块进行语义匹配,匹配规则与步骤5.3.2中所示的匹配规则相同,不匹配项即为结果集无关项,从数据源信息中筛除,即筛除{PATIENT={PATIENT_NAME,PATIENT_ADDR},APPLY_INS={APPLY_DATE},ZC={REG_DATE}}。完成业务筛选后的数据源表作为模板创建的基础数据,执行步骤5.3.4。步骤5.3.4、创建聚类关联结构;根据步骤5.3.3中筛除了结果集无关项的数据源表,以及步骤5.3.2中数据源表形成的业务聚类,模板构建模块与业务规范管理模块交互,进行业务聚类的关联结构创建。聚类关联结构的构建过程应用克鲁斯卡尔(Kruskal)算法,将聚类的数据结构创建为最小生成树,其中无向图的权为业务关联级别,权值通过业务规范管理模块加载的业务规范定义数据结构获取,而无向图的最小生成树的节点关系即为业务模型关系;最小生成树的每个顶点为一个聚合单位(规则见步骤5.3.2),无向图中边的权为业务权重值。以门诊业务与住院业务为例,边的权值根据其具有的业务属性查询配置表可以得到,如表2所示。门诊业务与住院业务的业务聚合关联结构图如图6所示。表2业务权重表在图中保证所有连同分量可达的前提下,选择权值最小的路径,删除聚类间关联关系以形成聚类业务最小生成树T门诊和T住院,如图7所示,此生成的最小生成树作为构建业务模型依据。T门诊=<1,{患者注册,门诊挂号}>,<2,{门诊就诊,门诊诊断,门诊处方,检查/检验,门诊结算,药房发药}>,<3,{门诊收费,门诊结算}>,其中,T门诊为门诊业务最小生成树,T为业务类型最小生成树,在<1,{患者注册,门诊挂号}>中,“1”为表2业务权重表中的权重值,即边属性为“患者ID”的权重,{患者注册,门诊挂号}表示由权重为1的“患者ID”边所关联的表的集合。T住院同理。而聚类间的关联记录在聚类连同分量中T1=<患者ID,{患者注册,住院诊断}>,其中{患者注册}∈T门诊,{住院诊断}∈T住院。本实施例中,根据步骤5.3.1的业务聚类结构的业务步骤关联如下:R1:<M1,M2>,诊次号,1;R2:<M2,M3>,申请单号,2;R3:<M3,M4>,报告单号,3;与步骤5.3.3的聚类结果:M1:PATIENT,对应于系统数据源表PATIENT;M2:APPLY,对应于系统数据源表APPLY_INS;M3:REGS,对应于系统数据源表ZC;M4:RESULT,对应于系统数据源表RESULT;通过Kruskal算法,得到的数据源表形成的聚类关联结构如图8所示。步骤5.4、构建模型;根据步骤5.3.4生成的最小生成树的聚类关系数据结构,为业务模板构建其业务模型,每个业务模型对应数据源中一张数据表。对于生成树的每个顶点,即聚类中的每个聚合单位生成一个模型,该模型中的元素依据结果集的项与数据源中内容组合构成,具体为:将结果集中具有某一业务特征的项归纳到一个聚合单元中,构成模型元素的标准约束,并将数据源中具有同一业务特征的数据内容归纳到该聚合单元中,构成模型元素的实体内容。模型元素中实体内容的具体样式,取决于数据源的类型,对于数据库类型数据源所归纳的实体内容为表(Table)的字段(Field);对于半结构化类数据源XML文件集所归纳的实体内容为XML文件的XML元素;对于半结构化类数据源Excel文件所归纳的实体内容为页(Sheet)的单元内容(Cell)。如图9所示,为模型元素中实体内容的示意图。业务模板模型为业务模板模型元素的集合,业务模板模型元素的数据结构为:{元素索引,结果集项,数据源字段描述,关联适配器索引},元素索引作为模板模型中元素的唯一标识,用于元素的检索和管理;结果集项是该模型元素所对应的结果集具体数据项的名称,用于向上关联医疗数据终端的数据结构;数据源字段描述是该模型元素所对应的业务数据源中字段具体来源的描述信息,根据业务系统的数据源类型,可以通过统一的描述信息按照规则查询到指定的数据源字段。例如,对检验系统的数据库数据源类型,通过数据源字段PATIENT/INS_ID可以定位到数据库表PATIENT的INS_ID字段。关联适配器索引是该模型元素在数据集成过程中获取真实数据所使用的适配器的索引,该索引与数据源维护单元的适配器管理模块中保存的适配器相关联。模板构建模块根据步骤5.3.3得到的结果集项与数据源字段的对应关系,遍历结果集项,创建一条模型元素,并生成元素索引,填充结果集项以及数据源字段描述。根据数据源数据表,将元素进行划分和组织为集合,形成模板模型。本实施例中,对步骤5.3.3中得到的结果集项与数据源字段对应关系:{INS_I=>PATIENT.INS_ID,APPLY_INS.INS_ID;PATIENT_ID=>PATIENT.PATIENT_ID;APPLY_CD=>APPLY_INS.APPLY_CD,ZC.APPLY_CD;INS_RST_ID=>ZC.INS_RST_ID,RESULT.INS_RST_ID;REPORT_CD=>RESULT.REPORT_CD;REPORT=>RESULT.REPORT;},模板构建模块对这一数据集进行遍历,对每个结果集项生成与数据源字段数量相同的模型元素数据结构,如表3所示。表3对结果集项生成的模型元素数据结构表索引结果集项数据源字段描述1INS_IDPATIENT.INS_ID2INS_IDAPPLY_INS.INS_ID3PATIENT_IDPATIENT.PATIENT_ID4APPLY_CDAPPLY_INS.APPLY_CD5APPLY_CDZC.APPLY_CD6INS_RST_IDZC.INS_RST_ID7INS_RST_IDRESULT.INS_RST_ID8REPORT_CDRESULT.REPORT_CD9REPORTRESULT.REPORT再根据数据源字段从属的数据元表,组织为模板模型如下:模型PATIENT:{1,3};模型APPLY:{2,4};模型REGS:{5,6};模型RESULT:{7,8,9}。模型中的标号为模板元素索引。步骤5.5、模型关联性构建;用结果集对数据模板模型元素内容进行校验,首先遍历聚类中数据模板模型,将本聚类中模型间的业务关联关系进行构建,之后构建该模型在跨聚类的业务关联关系。模板维护单元的模板构建模块执行模型数据关联性的构建过程,以门诊业务和住院业务为例,聚类内的业务关联性记录在最小生成树T门诊和T住院中。如图10所示为模板模型跨聚类关联关系。本实施例中,模板创建模块基于步骤5.4创建的模板模型集合,与业务规范管理模块交互,参照业务规范定义的聚类关联,创建数据源聚类内与聚类间的关联结构。聚类内的关联结构是对于某一业务聚类,其数据来源于多张数据源表,需要构建这些数据源表的关联关系。模板创建模块参照业务规范定义中对于聚类内模型的定义,对由步骤5.4创建的模板模型集合,通过对聚类模型与模板模型的对照遍历,获取模板模型的关联字段,进行匹配并创建关联关系。由步骤5.4创建的模板模型聚类集合为:模型聚类PATIENT:{PATIENT={1,3},PATIENT_HIS={10,11}};模聚聚类APPLY:{APPLY_INS={2,4}};模型聚类REGS:{ZC={5,6}};模型聚类RESULT:{RESULT={7,8,9}}。模型元素表如表4所示。表4模型元素表索引结果集项数据源字段描述1INS_IDPATIENT.INS_ID2INS_IDAPPLY_INS.INS_ID3PATIENT_IDPATIENT.PATIENT_ID4APPLY_CDAPPLY_INS.APPLY_CD5APPLY_CDZC.APPLY_CD6INS_RST_IDZC.INS_RST_ID7INS_RST_IDRESULT.INS_RST_ID8REPORT_CDRESULT.REPORT_CD9REPORTRESULT.REPORT10PATIENT_ADDRPATIENT_HIS.ADDR11PATIENT_IDPATIENT_HIS.ID对模型聚类PATIENT,对应的模板模型包括PATIENT及PATIENT_HIS。在业务规范管理模块加载的业务规范定义结构中,对PATIENT业务聚类内的聚类模型描述为如图11所示的树结构。模板创建模块通过读取该树结构,与聚类模型对应的模板模型进行遍历比对,可以确定PATIENT模板与PATIENT_HIS模板之间,通过PATIENT_ID进行关联,并创建聚类内模板关联数据结构为:IR1:<PATIENT,PATIENT_HIS,3,11>。聚类内模板关联数据结构包含对源模型到目标模型的关联关系,以及各自模型中的关联字段对应的模板元素索引。模板创建模块根据业务规范定义中对于聚类间模型关联的定义,对由步骤5.4创建的模板模型集合间进行匹配并创建关联关系。本实施例中,由步骤5.3.1的业务规范的聚类间关联关系定义:R1:<M1,M2>,诊次号;R2:<M2,M3>,申请单号;R3:<M3,M4>,报告单号。与模板模型聚类集合进行比对,可以计算出模板聚类间关联字段,并构建聚类间模板关联结构如下:BR1:<PATIENT,APPLY_INS,1,2>;BR2:<APPLY_INS,ZC,4,5>;BR3:<ZC,RESULT,6,7>。聚类间模板关联数据结构包含对源模型到目标模型的关联关系,以及各自模型中的关联字段对应的模板元素索引。步骤5.6、创建模板;模板维护单元的模板构建模块将步骤5.4生成的业务模型进行组合,生成业务模板,模板为由各聚类最小生成树形成N叉树构成的森林,N叉树的叶子则是由数据模型构成;对于聚类间存在业务关联的树,它们的业务关联关系将作为其跨聚类树的根,重新构建其树形结构。该N叉树是具有业务关联的模型的组合,多棵N叉树组成的森林是基于结果集所实现的对业务的最小粒度的拆分,同时又在数据内容上保证了其描述业务的完整性。模板构建模块遍历所述N叉树,结合适配单元对数据源的适配策略,将树形结构所描述的业务关系以及所对应的数据源数据内容以模板文件集的形式固化到系统模板维护单元中,作为系统模板化集成的依据。本实施例中,对与创建的业务模板,具有对结果集、厂商、系统以及版本号的描述信息,以及以树结构保存的模板模型以及模型聚类,树结构的枝干数据维护了模板之间的关联关系以及聚类间关联关系。同时,模板创建模块调用适配器管理模块,根据数据源的类型,创建对应的适配器,并将适配器索引与模板模型元素相关联。创建适配器的过程根据数据源类型不同,涉及到由模板模型自动生成、人工开发或二者结合等方式。创建的适配器由数据源维护单元的适配器管理模块进行保存和管理,并由模板创建模块对模板创建一个适配器引用列表,将适配器索引填充至对应的模板模型元素的适配器索引字段中。对步骤5.5所示的模板模型定义以及关联性定义,模板创建模块调用适配器管理模块,由适配管理模块执行适配工具,将模型及关联关系自动生成为SQL语句集合,作为适配的基础实现,提供给开发人员进行进一步的开发和调整。步骤6、模板化集成;模板执行模块与模板管理模块交互,载入数据集成模板,并执行模板,通过调用模板下注册的适配器索引,向数据源维护单元的适配器执行引擎请求执行,适配器执行引擎向适配器管理模块查询适配器,并加载和执行,从检验系统数据源表中查询数据,并保存为医疗数据集成结果。本实施例中,对检验系统的模板化集成,包括:模板执行模块负责把住院实验室检验业务数据集成模板加载到运行环境,并解析住院实验室检验业务数据集成模板,将数据集成模板转换成可执行的程序逻辑及流程;模板执行模块读取住院实验室检验业务数据集成模板的执行历史记录,检查最近一次执行记录的结束状态,如存在未执行完(执行记录为非结束状态)的流程,则恢复流程的运行环境,否则根据注册的适配器列表,通过适配器执行引擎,根据住院实验室检验业务数据集成模板中各模型对接数据源的类型加载相应的数据适配接口执行数据抽取、转换过程,把医疗业务数据从各数据源抽取到缓存中;模板执行模块把住院实验室检验业务数据集成模板各模型中的缓存数据进行合并,生成符合住院实验室检验业务数据集成标准的数据集;模板执行模块负责输出合成后的住院实验室检验业务数据集。步骤7、生成结果;根据步骤6集成的结果,模板执行模块将医疗数据集成结果上传至数据需求终端。医疗数据模板是遵循医疗行业数据标准同时符合医疗单位实际数据环境的可复用数据集成规范,医疗数据模板化集成方法使得标准化的数据整合创新思维得以在医疗行业信息化进程中得以应用,而实现医疗数据模板化集成方法所构建的集成系统,又进一步使得数据模板高可复用的特性得以应用到医疗单位数据集成的项目建设中,提升项目建设的速度的同时降低了建设的成本。本发明针对医疗业务标准的数据集成,实现基于异构医疗数据系统医疗数据集成模板的数据集成,使得业务数据集成更加高效。同时,医疗数据集成模板的设计是基于异构医疗数据系统中的医疗数据的特点而进行构建,具有较强的行业属性,在进行医疗数据集成项目的建设过程中,同一个医疗数据集成模板可以复用在多个医疗数据集成项目的建设场景中,在节约建设成本的同时,医疗数据集成模板的业务特性也将在实际使用过程中得到补充和优化,从而达到项目建设良性循环的目标。本发明的系统及方法中所述的医疗数据集成模板通过对多个业务标准的分析后已经达到一定的积累,可以实现对医疗数据集成业务的有效支撑,实现基于医疗数据集成模板快速构建新的数据集成项目。本方法目前已经成功应用在医疗数据的处理项目中,使得业务数据得到稳定高效的集成和处理,从而推动医疗卫生体系的建设和管理,为区域医疗数据系统的构建提供有力支撑。最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1