利用数据库中间表实现医院信息系统中复杂查询
2019-04-25杨明远徐向前
杨明远 徐向前
为了使医院信息系统当中复杂查询的时效性得到有效提升,使数据库资源占用过多的问题得到有效解决,本文提出了一种“利用数据库中间表实现医院信息系统中复杂查询”的方法。与此同时,在本课题研究工作开展之前,还对目前医院信息系统复杂查询的模式及潜在问题进行了分析,希望通过数据库中间表的应用,全面提高医院信息系统中复杂查询的工作效率及质量。
近年来,在社会经济稳步发展的背景下,我国医疗水平得到了快速的进步。值得注意的是,从医院角度考虑,不仅仅需要提高医疗技术水平,还有必要做好基础建设工作,加强硬件设施及软件设施的投入及应用工作。但是,从现状来看部分医院信息系统中复杂查询所采取的系统方法存在一些较为明显的问题,例如:数据量大,处理工作难度增加;并发连接数多,容易导致系统程序异常关闭或异常响应等问题的出现。由此可见,为了提高医院信息系统中复杂查询的工作效率及质量,本课题围绕“利用数据库中间表实现医院信息系统中复杂查询”进行分析研究具备一定的价值意义。
一、医院信息系统中复杂查询现状工作情况分析
为了了解医院信息系统中复杂查询现状工作情况,下面从现状系统所使用的模式及现状系统查询问题两方面进行分析,具体内容如下:
(一)现状使用的系统模式
从现状来看,医院住院各科室的医生针对接受治疗患者的各种费用,包括:药品费用、材料费用、医保、自费等;在相关信息查询过程中,利用HIS数据库涉及的表,进一步采取直接检索的方法实现查询。从统计员角度分析,在数据库相关信息查询过程中,一般采取SQL语句——这是一类处于关系数据库当中定义与操纵数据的标准语言,当中的查询功能便是核心部分;在信息数据检索过程中,通过特定的组合条件及表达方式实现;在系统查询过程中,不同名称对应的表名也不同,例如:住院表,表名为“Inp bill detail”,属于患者住院主记录表;住院表如何表名为“Pat visit”,则代表住院患者费用明细记录表;在门诊表中,如果表名为“Outp rept master”,则代表门诊医疗收据记录表……总之,通过系统信息查询,分布相对应的表名,使查询工作者根据表名获取所需的信息数据。
(二)现状系统查询工作问题
结合实际工作,发现现状医院信息系统查询工作存在一些较为明显的问题,总结起来包括:
1. 数据量偏大,导致检索速度缓慢。由于关联表当中住院患者费用明细记录表与门诊患者诊疗费用项目表,均存在庞大的数据量,其数据量高达数百万条,因此在相关数据检索工作过程中,检索速度便非常慢。
2. 查询程序异常响应问题。如果多个客户端在同一时间进行查询,那么由于数据量偏大,进而容易出现查询程序异常的问题,主要表现为:异常响应和异常关闭等。
3. 统计指标量大。在统计工作中,对于统计指标存在量大的显著特征,并且在相关工作要求的情况下,需对历年的数据汇总量进行检索,这样在多个客户端进行数据的查询、读取时,则易导致核心生产数据库承担很大的负载压力,进而导致医院的日常业务工作的顺利、有序进行受到影响。
4. SQL语句书写性能较差。如果在对Oracle的解析器处理AQL语句过程中,统计工作人员对其操作原理不够了解,这样会致使SQL语句书写出现不够优化的问题,当SQL语句性能偏差的情况下,便会进一步导致检索的速度受到很大程度的影响。
5. 结果分析敏感度不高。采取直接检索查询的方式,所获得的结果仍旧存在不够直观的问题,有些情况下需统计工作人员导出表格通过再次加工处理才能得到具体、直观的数据信息。此外,统计工作人员在数据分析上的工作负荷增加,进而导致结果分析的敏感度偏低。
二、基于数据库中间表的医院信息系统复杂查询功能实现分析
如前所述,在医院信息系统复杂查询工作过程中,现状下所使用的查询方法及系统均存在一定的问题。因此,需改进方案,提高医院信息系统复杂查询工作的效率及质量。下面将对基于数据库中间表的医院信息系统复杂查询功能实现进行分析,具体的系统方案改进及实现内容如下:
(一)数据库中间表设计方案
1. 初步改进方案。针对系统查询潜在的问题,在传统的方案改进过程中,会对SQL语句进行优化处理,在对Oracle数据库当中SQL的执行过程进行详细分析的基础上,进一步对特定的SQL语句采取优化处理措施;虽然这种方法改进后可以使检索数据的效率提升,然而基于用户角度考虑,仍不高效。因此,在初步改进方案中,提到了构建中间表的创新思路。
2. 中间表设计思路方法。对于中间表来说,其机制表现为针对复杂对象的查询,将满足条件的对象进行重新排列组合,让系统程序结构显示更加清楚。在这个过程中,中间表发挥了中间有效媒介的作用,既符合查询的标准要求,又提高了复杂数据的查询效率。值得注意的是,在设计中间表过程中,仍需考虑一些要点:①保证设计后,系统数据的统一性。在中间表编写过程中,采取PowerBuilder9.0工具,然后将生成的程序与数据统一向日志反馈;②把查询获取的结果于中间表储存,并构建反馈日志表,实现对统计区间内生成的中间表数据有无和生产数据库提取获得数据保持一致性进行判断;③倘若数据数据存在不够规范的问题,进而导致中间表没有办法生成,需结合反馈日志的提示,将数据源出现的错误问题查找出来,然后对相对应的错误进行修改,进一步使中间表数据得到重新且有效地生成;④由于同指标存在多樣性的特点,所以基于中间表数据结构设计过程中,有必要确保数据结构的合理,同时确保其具备可扩展功能;⑤可以应用PDCA循环对存在的细节问题加以解决,每进入一次循环,便可将求解问题的方法查找出来,从而明细地了解其中的问题,并通过循环查找,及时处理反馈,使中间表数据的准确性及一致性得到有效保障。⑥此外,需重视表结构设计,因此此部分设计的好坏与中间表能否将复杂查询数据解决存在非常密切的关联性;所以,在表结构设计过程中,需对统计结果所需的内容充分考量,进一步确保系统检索查询的效率得到有效提升。
(二)复杂查询的效果
根据上述设计的中间表,合理地应用到医院信息系统复杂查询工作当中,使检索的效率得到了有效提高。同时,基于客户端角度分析,只需对通过处理之后的中间表进行访问,便能够很快地从中间表当中,根据相对应的检索条件要求,实现对所需信息数据的检索、获取;并且,客户端程序还能够自动把检索查询的结果数据加工成报表的形式,这样为统计工作人员进行后续数据质量分析工作提供了方便。此外,和传统多表联合的查询方法比较,利用数据库中间表的查询效率明显得到提升,为医院整体信息系统查询等服务工作质量的提升奠定了扎实的基础。
三、结论
综上所述,在传统的医院信息系统复杂查询工作当中,由于系统、数据信息量等因素影响,存在诸多的问题,比如:数据量偏大,导致检索速度缓慢;查询程序异常响应;SQL语句书写性能较差等。因此,本文提出了利用数据库中间表实现医院信息系统中复杂查询的一种全新方法,值得注意的是其实现需优化设计数据库中间表,优化细节处理,这样才能使医院信息系统的复杂查询工作效率及质量得到全面提升。