一种基于通用数据模型的多中心医疗数据结构标准化系统的制作方法

文档序号:18899869发布日期:2019-10-18 21:47阅读:371来源:国知局
一种基于通用数据模型的多中心医疗数据结构标准化系统的制作方法
本发明属于数据结构标准化领域,尤其涉及一种基于通用数据模型的多中心医疗数据结构标准化系统。
背景技术
:随着国内信息化水平的提高,越来越多的医院建立了自己的医院信息系统(his)以及包括电子病历系统(emr)、影像采集与传输系统(pacs)、实验室检查信息系统(lis)在内的各类临床业务信息系统。不少信息化程度较高的医院还建立了临床数据中心(cdr),实现了全院业务数据的集中化,为医院管理、病人服务和临床科研提供了便利。但因不同医院之间所采取的医疗信息系统存在巨大差异,故而院内数据结构异质性大,无法实现各医院之间的数据共享,使得基于多中心的临床科研难以开展。因此需要一种数据结构标准化方法,将不同医院的医疗数据映射到同一个通用数据模型。现有技术方案[cn201410605173-基于异构系统数据映射模板的医疗数据采集系统及方法]由技术员访问医疗数据源,记录数据源中的数据结构,对照标准数据结构,创建或者复用数据结构映射模板执行数据结构映射任务。模板创建过程包括将目标表结构拆分成若干具有业务关联关系的字段,针对每个字段生成数据采集sql脚本,创建采集合并sql脚本将各字段进行组合即可得到目标数据结构。该方法的重点在于利用数据采集模板的约束实现数据的规范化采集。现有技术的缺点概括如下:1.数据结构映射处理需要频繁对数据库进行大量查询,现有技术方案直接对源数据库进行操作,增加源服务器的运行压力,影响正常业务活动。2.医疗数据有其本身固有的专业性和复杂性。单凭信息技术人员难以独立完成映射关系设计工作,需要具备医疗背景的非技术人员配合。但现有的映射关系设计手段不够直观,对非技术人员不友好,不利于技术人员和非技术人员双方的良好沟通合作。3.医疗数据存量大,对数据结构映射性能要求高,需要有针对性地对数据结构映射脚本进行优化。现有手段需要技术人员手动查询源数据库,了解数据分布情况,操作繁琐。4.现有技术方案未提供增量更新方案,或提供增量更新功能但在更新时需要对所有数据重新做数据结构映射处理,效率低下。技术实现要素:本发明的目的在于针对现有技术的不足,提供一种基于通用数据模型的多中心医疗数据结构标准化系统。本发明的目的是通过以下技术方案来实现的:一种基于通用数据模型的多中心医疗数据结构标准化系统,该系统包括源数据库、缓存数据库、目标数据库、数据连接管理模块、数据结构扫描模块、映射构建单元、映射执行单元、增量更新单元和质量控制单元;所述源数据库为各医疗数据中心执行医疗业务流程的数据库;所述缓存数据库与目标数据库均部署于各医疗数据中心的专属前置服务器;所述缓存数据库用于存储该医疗数据中心源数据库的原始数据,作为缓存层将数据结构映射处理与源数据库隔离;所述目标数据库存储所属医疗数据中心通过数据结构映射关系及缓存数据进行数据结构映射后得到的符合通用数据模型数据结构的医疗数据;各医疗数据中心的目标数据库均与云端服务器连接,实现多中心医疗数据之间的协同分析;所述数据连接管理模块用于管理数据库访问所需信息,对访问源数据库、缓存数据库和目标数据库提供支持;所述数据结构扫描模块用于对源数据库和目标数据库的数据结构进行扫描,返回数据结构信息及字段统计信息报表;所述映射构建单元包括映射关系生成与设计模块和映射代码生成与修订模块;所述映射关系生成与设计模块生成初始数据结构映射关系,并展示可视化页面供用户完成数据结构映射关系的确认,确认完成之后由映射代码生成与修订模块生成数据结构映射脚本;所述映射执行单元包括数据缓存模块和映射处理模块;所述数据缓存模块将数据结构映射所需数据由源数据库迁移至缓存数据库建立缓存层,将数据结构映射处理与源数据库隔离,避免影响正常业务;所述映射处理模块在用户确认映射构建单元生成的数据结构映射脚本后,将数据从缓存数据库提取,执行数据结构映射并导入目标数据库;所述质量控制单元包括异常处理模块,所述异常处理模块用于记录映射处理模块处理过程中的异常信息;所述增量更新单元包括增量缓存模块和增量映射模块,所述增量缓存模块用于捕获源数据库中的数据变化,在缓存层中更新增量数据;所述增量映射模块用于对增量更新的数据进行数据结构标准化映射,将数据从缓存数据库提取,执行数据结构映射并导入目标数据库。进一步地,所述数据连接管理模块对访问数据库的支持包括:读取连接信息配置文件,根据数据库类型配置信息加载相应的数据库连接驱动,根据ip、账号、密码信息连接至数据库。进一步地,所述数据结构扫描模块中,所述数据结构信息包括表名、字段名、字段类型;所述字段统计信息包括字段行数、字段最大长度、字段取值范围、字段各取值的频数及占比;数据结构信息为建立结构映射关系提供支持;字段统计信息为映射性能优化提供支持;该模块利用结构化查询语言逐一对表进行查询,将查询结果汇总形成报表。进一步地,所述映射关系生成与设计模块:在得到扫描后的源数据库和目标数据库的数据结构后,根据预设的近义词字典,对字段名进行模糊匹配,生成初始数据结构映射关系,并展示可视化页面供用户完成数据结构映射关系的确认;所述可视化具体为:利用带有指向性的图形,反映表与表之间,字段与字段之间一对一关系、一对多关系、多对一关系;所述映射关系生成与设计模块支持文本注释及设计文档导出。进一步地,所述映射代码生成与修订模块:根据用户确认后的数据结构映射关系,按照代码框架生成数据结构映射脚本并保存,同时向用户提供修改数据结构映射脚本的权限。进一步地,所述数据缓存模块建立的缓存层在源数据结构的基础上添加修改时间字段,用以记录每条数据的最近修改时间;所述映射处理模块将映射脚本应用于缓存层,进行数据结构标准化映射,数据结构映射结果保存至目标数据库,并在日志中记录最近映射操作时间。进一步地,所述异常处理模块:当根据数据结构映射关系提取数据时出现包括“非空字段存在空值”,“数据长度超出范围”在内的错误时,拒绝这些数据的结构映射,并将这些错误记录到日志,错误数据记录至临时表,待用户确认删除或清洗处理。进一步地,所述增量缓存模块通过cdc技术捕获源数据库中的数据变化,在缓存层中更新增量数据,并在修改时间字段中记录修改时间。进一步地,所述增量映射模块将日志中的最近映射操作时间与缓存层中数据的修改时间进行对比,对修改时间晚于最近映射操作时间的数据进行映射;首先对缓存数据库中的增量数据结构和目标数据库结构进行扫描,若与存在于缓存数据库中的已有数据结构映射关系相同,则进行数据结构映射处理和质量控制;若与已有数据结构映射关系不符,则更新数据结构映射关系之后再进行数据结构映射处理和质量控制。进一步地,所述质量控制单元还包括质量评估模块,所述质量评估模块用于在映射处理模块映射处理完成后形成一份针对当次数据结构映射处理的质量评估报告。本发明的有益效果如下:本发明改进了医疗数据结构映射关系设计流程,有利于信息技术人员与医护人员协作,提高工作效率,具体如下:1、将数据结构映射所需数据由源数据库迁移至缓存数据库建立缓存层,将数据结构映射处理与源数据库隔离,避免影响正常业务;在缓存层上进行数据结构映射转换操作,将结果存至目标数据库。2、支持对多种类型的数据库进行自动化扫描,返回数据库内数据结构信息及字段统计信息报表,不仅可为数据结构映射设计和性能优化提供依据,且可极大提高后续映射工作的效率与准确性。3、提供可视化的数据结构映射关系设计工具,能够直观地呈现数据结构映射关系,便于信息技术人员和医疗人员沟通合作,修改及确定最终的数据结构映射关系,并由系统记录。4、对于确定完成的数据结构映射关系,可基于上述可视化数据结构映射关系的设计生成自动化数据结构映射脚本,用户可对脚本进行修改以确保脚本准确性。在相应源结构和目标结构的后续增量更新时可实现对前述数据结构映射脚本的复用,若源结构或目标结构发生改变,则在旧数据结构映射关系的基础上修改并更新数据结构映射关系的记录。5、建立完整详细可执行的数据结构映射流程及机制,以保证数据结构映射前后的科学性与完整性。建立数据结构映射日志记录,完善异常处理机制。附图说明图1系统框架图;图2数据流动路径;图3映射关系可视化举例;图4增量更新流程与数据流动路径。具体实施方式下面结合附图和具体实施例对本发明作进一步详细说明。如图1所示,本发明提供的一种基于通用数据模型的多中心医疗数据结构标准化系统,该系统包括源数据库、缓存数据库、目标数据库、数据连接管理模块、数据结构扫描模块、映射构建单元、映射执行单元、增量更新单元和质量控制单元;源数据库为各医疗数据中心执行医疗业务流程的数据库,包括his,lis,pacs,emr系统数据库;缓存数据库与目标数据库均部署于各医疗数据中心的专属前置服务器;缓存数据库用于存储该医疗数据中心源数据库的原始数据,作为缓存层将数据结构映射处理与源数据库隔离,避免影响该医疗数据中心正常业务;目标数据库存储所属医疗数据中心通过数据结构映射关系及缓存数据进行数据结构映射后得到的符合通用数据模型数据结构的医疗数据;各医疗数据中心的目标数据库均与云端服务器连接,实现多中心医疗数据之间的协同分析;数据连接管理模块用于管理(包括加载、修改、存储)数据库访问所需信息,对访问源数据库、缓存数据库和目标数据库提供支持;数据结构扫描模块用于对源数据库和目标数据库的数据结构进行扫描,返回数据结构信息及字段统计信息报表;映射构建单元包括映射关系生成与设计模块和映射代码生成与修订模块;映射关系生成与设计模块生成初始数据结构映射关系,并展示可视化页面供用户完成数据结构映射关系的确认,确认完成之后由映射代码生成与修订模块生成数据结构映射脚本;映射执行单元包括数据缓存模块和映射处理模块;数据缓存模块将数据结构映射所需数据由源数据库迁移至缓存数据库建立缓存层,将数据结构映射处理与源数据库隔离,避免影响正常业务;映射处理模块在用户确认映射构建单元生成的数据结构映射脚本后,将数据从缓存数据库提取,执行数据结构映射并导入目标数据库;质量控制单元包括异常处理模块,异常处理模块用于记录映射处理模块处理过程中的异常信息;增量更新单元包括增量缓存模块和增量映射模块,增量缓存模块用于捕获源数据库中的数据变化,在缓存层中更新增量数据;增量映射模块用于对增量更新的数据进行数据结构标准化映射,将数据从缓存数据库提取,执行数据结构映射并导入目标数据库。数据流动路径如图2所示,当进行初次数据结构映射时,首先通过数据连接管理模块将源数据库备份至缓存数据库,并由数据结构扫描模块对源数据库和目标数据库的数据结构进行扫描;之后由括映射关系生成与设计模块生成初始映射关系,并展示可视化页面供用户完成映射关系的确认,确认完成之后由映射代码生成与修订模块生成映射脚本;用户确认映射处理后由映射处理模块将数据从缓存数据库提取,执行结构映射并导入目标数据库,同时处理过程中的异常记录至异常处理模块日志;映射处理完成后形成一份针对当次数据结构映射操作的质量评估报告。每个模块的具体实现方式如下:一、数据连接管理模块缓存数据库和目标数据库在物理上可以为同一个数据库系统。实现方式包括但不限于,读取连接信息配置文件,根据数据库类型配置信息加载相应的数据库连接驱动,根据ip、账号、密码信息连接至数据库。二、数据结构扫描模块数据结构扫描模块中,数据结构信息包括表名、字段名、字段类型;字段统计信息包括但不限于字段行数、字段最大长度、字段取值范围、字段各取值的频数及占比;数据结构信息为建立结构映射关系提供支持;字段统计信息为映射性能优化提供支持。该模块利用结构化查询语言逐一对表进行查询,将查询结果汇总形成报表,见表1,表2。数据结构扫描模块帮助操作人员了解数据结构及数据分布,提高工作效率。表1数据扫描报表举例表名字段名字段类型字段取值字段统计表diagnosisdiagnosis_idcharnotnullstat0001drugdrug_codecharnotnullstat0002……表2字段统计表举例字段名字段值频数占比diagnosis_idd2124410.0001diagnosis_code1a03.330.0003……三、映射关系生成与设计模块在得到扫描后的源数据库和目标数据库的数据结构后,根据预设的近义词字典,对字段名进行模糊匹配,生成初始数据结构映射关系,并展示可视化页面供用户完成数据结构映射关系的确认;所述可视化具体为:利用带有指向性的图形,反映表与表之间,字段与字段之间一对一关系、一对多关系、多对一关系,见图3。所述映射关系生成与设计模块支持文本注释及设计文档导出,以便追溯。映射关系生成与设计模块直观呈现数据结构映射关系,便于技术人员与非技术人员进行沟通。支持多版本的数据结构映射文档导出,可追溯数据结构映射关系的历史。四、映射代码生成与修订模块根据用户确认后的数据结构映射关系,按照代码框架生成数据结构映射脚本并保存,减小工作量,使得代码更具规范性,同时向用户提供修改数据结构映射脚本的权限。映射代码生成与修订模块半自动化数据结构映射处理,提高工作效率。五、数据缓存模块数据缓存模块建立的缓存层在源数据结构的基础上添加修改时间字段,用以记录每条数据的最近修改时间。六、映射处理模块映射处理模块将映射脚本应用于缓存层,进行数据结构标准化映射,数据结构映射结果保存至目标数据库,并在日志中记录最近映射操作时间。七、异常处理模块当根据数据结构映射关系提取数据时出现包括“非空字段存在空值”,“数据长度超出范围”在内的错误时,拒绝这些数据的结构映射,并将这些错误记录到日志,错误数据记录至临时表,见表3,待用户确认删除或清洗处理。表3错误数据记录表举例表数据错误类型diagnosis{……}存在nulldiagnosis{……}唯一标示重复drug{……}超出字段长度……八、质量评估模块质量控制单元还包括质量评估模块,质量评估模块用于在映射处理模块映射处理完成后形成一份针对当次数据结构映射处理的质量评估报告,质量评估报告内容见表4。表4结构映射质量评估报告举例目标表结构覆盖率0.98未覆盖目标表字段drug.dose,condition.provider源表1数据量统计12034目标表1数据量统计12030目标表1异常数据统计4源表2数据量统计14980530目标表2数据量统计11298405目标表2异常数据统计3682125……九、增量缓存模块增量缓存模块通过cdc(cdc:changedatacapture改变数据捕获技术,能从数据库日志中获取数据操作和时间信息)捕获源数据库中的数据变化,在缓存层中更新增量数据,并在修改时间字段中记录修改(插入或更新)时间。十、增量映射模块增量映射模块将日志中的最近映射操作时间与缓存层中数据的修改时间进行对比,对修改时间晚于最近映射操作时间的数据进行映射;首先对缓存数据库中的增量数据结构和目标数据库结构进行扫描,若与存在于缓存数据库中的已有数据结构映射关系相同,则进行数据结构映射处理和质量控制;若与已有数据结构映射关系不符,则更新数据结构映射关系之后再进行数据结构映射处理和质量控制。此外,增量更新还可以采用如下方案:a.缓存层中的每个表中设置触发器并建立相应的更新表,有数据被修改时在更新表中记录该数据条目的唯一标识及修改时间(插入、更新、删除)。执行映射增量更新时,从更新表中获取更新的记录,从数据表中抽取相应的数据。b.利用物化视图实现增量更新。物化视图与视图相似,但会建立实体存储。部分数据库会对物化视图源表建立物化视图日志,记录数据变化,可以此为基础实现增量更新。以上仅为本发明的实施实例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,不经过创造性劳动所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1