医院菌株管理系统的开发与应用
2018-03-13崔菲菲万振
崔菲菲,万振
天津市海河医院 信息科,天津 300350
引言
人类在同疾病抗争的过程中取得了辉煌的成就,但我们对某些细菌的致病机制、机体的相互作用等诸多基础性问题的了解还相当肤浅[1]。建立菌种资源丰富、相应资料齐全、操作流程顺畅、资源共享便捷的菌株库,可以为科研工作者和临床医生提供临床诊疗与科学研究的基础性平台[2]。菌株库的建立具有非凡的意义[3],但是,菌株库的建设有一定难度,其时间跨度大、蕴含信息量多。因此,运用信息化手段建立菌株管理系统,能够增强数据处理能力、提高运行效率、实现资源共享、提升建库水平。目前,菌株管理系统相关软件比较少,其中大多为独立系统,所有菌株相关资料需要手工录入,增加工作人员工作量的同时也无法保证数据的准确性。本文介绍了笔者自主开发,目前已在我院使用的菌株管理系统。系统的优势在于直接抓取我院HIS、LIS数据库中菌株相关信息后进行二次处理,避免了大量的手工录入,保证了数据的准确性,数据统计及处理灵活全面。
1 菌株管理现状及弊端
我院菌株管理工作长期以来由检验科工作人员进行各项数据登记。工作人员查阅医院各系统,将菌株对应患者的基本信息、诊断信息、在院期间做的各项检验检查信息、菌株具体位置(包含冰箱号、层数、区号、孔号等)利用Excel对相关数据进行电子化,对多个基础Excel表格进行组合交互处理,留档保存。在这个过程中若发现数据不完整,则要重新查阅系统抄录相关数据。人工查阅全院各系统并抄录数据,步骤繁琐,极大地浪费人力,给医务人员带来巨大的工作量,且容易造成错误[4]。Excel等办公软件统计、分析、处理数据的能力有限,整个菌株管理过程存在很大的局限性。传统模式的菌株管理模式,见图1。
2 菌株库管理系统的设计
2.1 软件开发环境及软件构架
本系统的设计要对HIS的Oracle数据库、LIS的SQL Sever 2008数据库表结构进行深入分析,将系统与菌株相关的数据提取到本地服务器SQL Sever 2005数据库,利用Visual Studio 2008开发工具,使用C#编程语言,编写了基于C/S体系结构的软件,实现菌株管理。系统实现原理分为3个层,分别为:数据层、服务层、操作层[5],见图2。数据层:HIS服务器数据库提供菌株对应患者的基本信息,LIS服务器数据库提供检验相关信息。服务层:数据通过接口程序,传输到本地服务器,实现跨硬件的数据共享,等待二次处理。操作层:检验科医生进行菌株入库、检索、统计、菌株使用等操作。
图1 菌株管理的传统模式
图2 菌株库管理系统结构图
2.2 系统概述
我院菌株从患者送检的标本中分离,带有患者信息和标本信息。菌株经检验科的各种检验操作后,附加了各种生化、菌种鉴定、抗菌药物耐药情况等多种信息;菌株通过技术手段保存后,被工作人员检索并复苏,用于各类研究时,会产生菌株复苏使用记录。菌株库管理系统设计的目的是对菌株从检测、保存、复苏使用所产生的信息进行数字化管理,以提高菌株管理的工作效率和准确性,以及方便对菌株信息整合。菌株库管理系统各个模块之间既相对独立又密切联系。
2.3 系统各模块功能
2.3.1 菌株的信息录入
菌株入库即保藏管理模块,填写冰箱号、冰箱层数、区号、孔号、编号,菌株位置和编号不能有重复,若重复,系统自动提示。输入菌株样本号后,系统自动在HIS、LIS数据库中检索菌株对应患者的姓名、性别、住院号、诊断等基本信息。再通过住院号作为主要线索,无需人工输入,系统自动挂接HIS、LIS数据库检索出患者在院期间的涂片、细菌鉴定、药敏、结核分枝杆菌耐药基因检测(结核分枝杆菌核酸检测、异烟肼耐药基因检测、利福平耐药基因检测)等结果及检验申请单号。信息显示在界面后,挂接本地数据库,将界面所有信息保存到相应表,见图3。
图3 菌株入库界面
2.3.2 菌株信息管理
菌株信息管理主要用于菌株信息查询及更改、菌株复苏使用。
菌株信息查询包含菌株存放位置管理和菌株基本信息查询。其中菌株位置管理可以通过选择冰箱号、层数、区号等信息查看空位和非空位情况,方便统一录入。菌株基本信息查询有两种方式:① 通过输入菌株具体位置查看基本信息,见图4;② 通过输入菌株编号查看基本信息。菌株位置更改功能应用于日常由于工作人员疏忽造成菌株位置错误录入需要更改。
图4 某个冰箱某层某区存放菌株情况
菌株的复苏操作。工作人员设置条件检索出需复苏使用的菌株列表,在该菌株列表中查看菌株的保藏位置。同时,工作人员填写菌株复苏使用记录,系统自动记录复苏使用日期和使用人。
2.3.3 菌株信息统计
菌株信息统计包含菌株录入情况统计、菌株复苏使用情况统计、菌株基础数据统计。菌株录入情况统计和复苏使用情况统计功能,分别使用两种方式:一种是检索某菌株后,通过菌株列表查看菌株详细信息和复苏使用记录;另一种方式是设置起止时间段,查看该时间段内的所有菌株录入和复苏使用情况。菌株基础数据统计包含菌株耐药分析和菌株结核分枝杆菌耐药基因检测结果统计功能。数据来自本地服务器,其中耐药分析部分根据药敏结果自动筛选出单耐药、多耐药、耐多药、广泛耐药等。某一时间段录入菌株的耐药统计,见图5。
图5 某一时间段录入菌株的耐药统计
3 程序主要代码
系统向HIS与LIS数据库进行数据抓取,数据抓取的方法为:读取HIS、LIS数据库中数据,作为中转暂存于控件。每株菌株信息都包含了LIS数据和HIS数据。首先挂接LIS数据库查询相应数据,使用for循环语句,逐条显示在数据控件。每显示一条数据,使用患者住院号作为主索引,关联HIS数据库检索该患者相应数据[7-10]。主要语句如下:for (i = 0; i < ds.Tables[0].Rows.Count; i++)//逐条显示LIS中的数据
{ this.dGridView1.Rows[i].Cells[0].Value = ds.Tables[0].Rows[i][0].ToString();
this.dGridView1.Rows[i].Cells[1].Value = ds.Tables[0].Rows[i][1].ToString();
……//逐字段显示在dGridView1控件i行的各个列
DataGridViewRow row = new DataGridViewRow();this.dGridView1.Rows.Add(row); //dGridView1增加新行
str2 = ds.Tables[0].Rows[i][2].ToString();// 将患者主索引数据赋值到变量str2,
string ConStr1 = “Data Source=……;User ID=……;Password=……”; // HIS数据库连接字符串
OracleConnection con1 = new OracleConnection(ConStr1); //挂接HIS数据库
string OrlStr1 = “select ……”;//检索HIS数据库中菌株相关信息
……
if (ds2.Tables[0].Rows.Count > 0)//如果检索 HIS 数据库有数据,写入textBox控件
{ this.textBox2.Text = ds2.Tables[0].Rows[0][0].ToString();}
else //写入textBox控件
{this.textBox2.Text = “”; }
}
数据抓取后,挂接本地数据库,使用insert语句将所有控件中的数据插入本地服务器,方便二次处理。
4 应用效果
菌株库管理系统在我院检验科应用以来,能够把菌株从检测、保存和复苏使用统一到一个系统中,提高了菌株管理的智能化、安全化水平。随着检验科工作人员对菌株管理系统的使用,针对菌株入库、菌株信息查询及更改、菌株复苏使用、菌株信息统计等功能的使用,逐渐规范了菌株院内管理。信息化存储菌株信息代替了传统的纸质文档,使菌株信息保藏更持久。传统的菌株信息录入模式即菌株和菌株对应患者信息需要检验科工作人员查阅各系统后手工录入,录入量大。自菌株管理系统使用以来,该系统自动调用菌株HIS、LIS相关信息,支持多名工作人员同时录入,单位时间内的业务处理能力明显高于人工操作[11]。大大缩短了工作人员抄录数据和后期人工统计的时间。为医务人员节省了大量时间[12],保证了数据的准确性,提高了工作效率,为医院降低了人力成本支出[13]。
5 总结
菌株库管理的信息化是医院信息化建设的必然趋势。该系统的优势在于通过程序直接调用我院LIS、HIS数据库中的现有数据,方便快捷,使菌株录入的繁琐过程简洁化。首先获取基础数据,然后进行数据加工处理[14]。考虑到系统的安全性,利用SQL Sever的备份功能分时段进行备份,每天在医院主业务数据闲时备份两次数据库。此过程在服务器设置任务计划,备份自动进行[15]。菌株管理系统根据医院菌株管理部门需求,功能覆盖了菌株管理的各环节,使各环节数据经过智能化处理,实现了更加高效的菌株管理。该系统经过一段时间的试运行,有几处需要优化,如菌株编号录入错误修改、菌株信息统计更加智能化等,现均已解决。目前系统运行稳定,检验科工作人员反映良好。同时,本系统上线运行时间不长,需要菌株管理相关工作人员发现问题并提出需求,系统需要不断完善[16]。
[1]刘志辉,钟球,陈涛,等.分枝杆菌菌株库建设模式与实践研究[J].现代医院,2012,12(4):22-25.
[2]桑军军,邓淑文,潘炜华,等.医学真菌菌种库网络建设[J].中国皮肤性病学杂志,2014,28(7):661-666.
[3]柳正卫,丁北川.结核分枝杆菌菌株库建立模式探讨[J].浙江预防医学,2005,17(5):79-80.
[4]刘志辉,钟球,周琳,等.分枝杆菌菌株库菌株资料系统建设的初步研究[J].现代医院,2010,10(12):4-6.
[5]何建,石磊,栾艳,等.基于“军卫一号”的HIS与智能药柜系统的对接[J].医疗卫生装备,2016,37(8):60-63.
[6]林雪峰,应华永,陈晓军,等.临床微生物实验室菌株管理系统的开发应用[J].检验医学,2016,31(7):613-617.
[7]杨明羽.C#3.0完全自学宝典[M].北京:清华大学出版社,2008:282-283.
[8]王小科,王军.C#开发实战1200例[M].北京:清华大学出版社,2011:426-427.
[9]梁冰,吕双,王小科.C#程序开发范例宝典[M].2版.北京:人民邮电出版社,2009:116-117.
[10]孙风栋.Oracle 10g数据库基础教程[M].北京:电子工业出版社,2011:262-265.
[11]Kainer MA,Reagan DR,Nguyen DB,et al.Fungal infections associated with contaminated methylprednisolone in Tennessee[J].N Engl J Med,2012,367(23):2194-2203.
[12]俞李嘉,俞琦.移动医疗技术在医疗服务中的应用和发展[J].卫生经济研究,2013,(8):60-62.
[13]袁慧颖,罗晶,黄丽丽.掌上医院设计与应用[J].医疗卫生装备,2016,37(8):56-59.
[14]黄昊,颜耀华,曾凡,等.医院信息系统二次开发的思考[J].重庆医学,2007,36(23):2391-2392.
[15]饶翔.HIS系统二次开发在医院管理指标分析中的应用[J].现代计算机,2015,(9):57-59.
[16]柳明.无源代码的医院信息系统二次开发实践[J].中国数字医学,2014,9(2):97-99.