APP下载

基于“军卫一号” 医院信息系统的自助病案送交、催缴管理系统的设计与实现

2016-11-24高全学薛启勋姜英姿单美望

电脑知识与技术 2016年26期
关键词:病案病历短信

高全学++薛启勋++姜英姿++单美望++胡天静

摘要:随着计算机、多媒体、网络技术的发展,信息技术在医院病案管理中得到越来越深入而广泛的应用。进入二十世纪九十年代以来,医院信息系统从最初的DOS单机版、NOVELL网网络版、逐步发展到WINDOWS网络版,病案从最初的纸质卡片检索管理、过渡到数据库检索、再到WORD版的电子病案、直至现在具备专用编辑器的多媒体电子病案、将来还会发展到具有第三方认证的电子病案。但是广义的医院信息系统(Hospital Information System,简称HIS系统)应该是包括影像存储与传输系统(Picture Archiving and Communication System,简称PACS系统)、检验信息管理系统(LIS,Laboratory Information Management System),手术麻醉信息管理系统、数字病理等子系统于一体的一个庞杂系统,整个系统模块多、开发厂家多,受当时条件限制制约,使得有些模块不能很好地适应当前管理的需要,而升级、改造整个系统往往牵一发而动全身,不是一件简单的工作。但是作为“军卫一号”用户,由于军卫一号用户广,版本相对统一,好的管理工具便于推广,鉴于此,医院病案管理室提出在原有系统及基本数据的基础上,扩展更多的管理功能,以适应当前病案管理的需要。

关键词:病案;医院信息系统;短信;条码;触摸屏;扫描抢;摄像头;短信猫;语音系统

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)26-0073-04

1 概述

病案是关于病人健康情况的文件资料,包括病人本人或他人对其病情的主观描述,医务人员对病人的客观检查、检验结果及对病情的分析、诊疗过程和转归情况的记录以及与之相关的具有法律意义的文件,是医务人员在医疗活动过程中形成的文字、符号、图表、影像、切片等资料的总和。一份准确和完整的病案是病人住院期间、门诊就诊期间或到其他卫生医疗机构就诊期间的医疗处理和治疗的主要参考文件,也是医疗机构对病人医疗的书面证据,是一份潜在的法律文件,是诊疗过程中具有法律效力的文字记录。从2002年《医疗事故处理条例》实施以来作为法律依据文件被广泛应用,不仅对医疗纠纷取证、公检法立案、调查取证、交通事故取证、社会医疗保险取证等起着举足轻重的法律凭证作用,而且在健康保险、伤残鉴定等民事、刑事案件的诉讼中也具有重要的法律效力。

电子病案( EMR,Electronic Medical Record) 是计算机化的病案或称基于计算机的病人记录( CPR,Computer Based Patient Record) 。它是用电子设备保存、管理、传输和重现的数字化的病人诊疗记录,用于取代手工纸张病历。电子病历的实施提高了工作效率、提高了医疗质量,避免了一些在借阅当中的丢失、损坏等人为原因所造成病历的不完整性。电子病历是记录患者健康和医疗护理情况的电子信息的一个载体,它由医院的医务人员记录整理,它客观、完整、连续地反映了一个患者的病情变化及诊疗过程,是医生进行临床诊断治疗的基础资料,通过现有信息技术,将文本、图象与数字影像等多媒体内容相结合,对患者的病史、当前的药物治疗、检验检查、X 线图像、B 超图像等各种形式的信息加以整合,除信息共享,使用更方便外,还具有多媒体、网络通信、决策支持等优于纸质病历的功能。随着信息技术不断发展,医院的信息管理系统也有很大的提高,构建一个标准化的、高质量、高水平的电子病历管理平台是必然的趋势。积极的推进电子病历的发展有利于促进临床信息的共享和医疗机构的协同服务。而电子病历的标准化是最重要也是最急迫的问题,电子病历强调的是在医院内部以及医疗机构之间以人为中心的信息集成,但是现行的电子病历因缺乏标准而导致医疗机构间的系统无法兼容、无法做到互联互通,患者只能在本院查询信息,转院就诊时会有一定的麻烦。中国医院协会信息管理专业委员会副主任委员何雨生曾表示“电子病历的普及是医疗信息互通的前提,更是医疗机构间双向转诊、协同医疗、远程会诊的基础。总之,电子病案是依托于计算机和网络技术的病案,是医院信息应用技术的产物,是医院信息系统发展的核心。电子病案的广泛应用无疑会促成病案管理的一场深刻变革,但我国目前还没有专门针对电子病案的相关立法,有关其法律效力的问题亟待解决。由于电子病案的法律效力问题尚无明确规定,目前电子病案定稿仍需打印出纸质版本,由主管医生签字认定后送交病案室保存。当发生医疗事故争议时,医院出示的也仍是纸质病案。这就要求主管医生在病人出院后及时将电子病案归档打印并送交病案室管理保存。

病案管理信息系统是医院用于病案管理的计算机应用程序,是医院信息系统(HIS)的重要组成部分。它是利用计算机技术、网络技术及管理技术等手段对病案信息实行现代化管理的系统,是计算机和信息技术在医学领域的典型应用,在医院信息化建设中发挥着举足轻重的作用,传统上,“保管”病案是病案管理员(MRA)的责任。作为病案管理员有责任保证当病人为了进一步医疗、科研、教学以及作为法律要求而需要病案时,病案可以随时获得,但是传统的病案送交需要护士在送交病案时手工登记送交病案信息,费时、费力、不准确。医院管理人员依靠病案科的领导来执行法律上和伦理道德上的病案保存任务,因为病案里汇集着病人和医生相互关系的个人信息。

2 系统分析

2.1 系统的初步调查

建立好一个管理信息系统,首先要有好的管理基础。所谓好的管理基础,是指合理的管理体制、完善的制度、科学的管理方法和准确的原始数据。应该看到,近年来我国发展管理信息系统的水平在不断提高,设计开发的实际经验在逐步积累,总之,要使信息管理系统在实际应用中获得大的收益,必须具备以下基本条件:

首先,领导重视、管理人员积极性高。

管理信息系统的建立,需要资源、经费、人力和时间的支撑,更涉及管理体制、规章制度的变化、事务办理流程再造、要调整大量数据的编码、表格形式协调等工作,这些信息管理的全局性问题必须在领导的重视和支持下才能获得解决。一般来说,单位或部门一把手的决心是研制管理信息系统的关键所在,管理人员的积极性也是不容忽视的条件。管理人员是管理信息系统的直接用户,他们的积极性和配合程度,关系到管理信息系统的使用效果和生命力。

其次,要具备一定的资源条件。

管理信息系统的资源主要包括计算机等软硬件设备,有条件的单位应尽量发掘和利用现有的设备。管理信息系统的费用和运行费用,包括前者的设备购置、人员工资、培训和开发过程中的一系列支出等,后者包括机器运行、维护和修理费,人员工资和水、电、纸张和U盘等日常开支等。要有足够的资金保证,才能够顺利完成整个系统的开发工作。当然资金的投入也可以在开发和运行过程中分阶段进行,在逐步取得阶段性成果的基础上补充更多的资源。

第三,要组织一个强有力的开发小组。

管理信息系统的质量,在某种意义上直接取决于开发人员的水平和素质。开发小组的人数因系统的大小而定,通常包括系统分析员、程序员、数据录入员和硬件、软件测试、维护人员。由于管理信息系统的开发通常是从逐个子系统分期分批进行的,同时,已开发完毕投入使用的系统仍需要不断维护、改造和完善,因此这个开发小组应该在相当长的时期内存在。

在正式立项之前必须进行可行性分析,而可行性分析主要是对现行系统进行充分调查研究,细致了解现行系统的现状及运作流程,以及存在的主要问题,在此基础上提出新的系统逻辑模型。

详细的现状调查目的是为了弄清现行系统的基本功能及信息流程,为新系统逻辑模型提供基础。它是建立新系统的前期工作,也是进行系统分析和设计的重要基础。因此要建立新的管理系统就必须对单位现行的信息管理系统进行全面、细致而充分的调查和研究。采用的主要方式是同工作及管理人员进行交流并对现状进行分析、调研。

2.2 系统可行性分析

系统可行性分析包括两个详细部分:分析开发新系统的必要性和可能性。必要性在前面系统初步调查中已经做了详细的分析;可能性主要包括经济可能性、技术可能性和运行可能性三个方面。

经济可行性研究是对组织的经济现状和投资能力进行分析,对系统建设运行和维护费用进行估算,对系统建成后取得的社会和经济效益进行估计,本系统是立足于本单位应用,在满足本单位应用的基础上,将流程优化、再造,本系统是本单位人员立足于现实,利用本职工作以外时间来调研、设计、开发,服务器利用现有的HIS主服务器和院网服务器,不存在投资大的问题,只需要投资一台触摸屏一体机及其配件(条码扫描抢、摄像头、短信猫)即可,系统建设及维护亦由本人承担。

技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。病案自助送交管理和催交系统采用的是微软Visual Studio .Net 2010开发工具,本人从.Net 2003用起,虽然不是特别精通,但自忖解决此类问题应该还是胜任的,当前的计算机硬件配置也完全能满足需求,因此在技术上是亦认为绝对可行的。

运行可行性是对组织结构的影响,现有人员和机构、设备设施和环境对系统的适应性及人员的培训补充计划的可行性。当前我院病案室信息化技术已经具备相当程度,各类操作人员水平都有相当的高度,他们对工作、对新鲜事物充满激情与热情,所以运行上是可行的。

2.2.1 系统开发步骤

一般来说,管理信息系统的建立与应用可以划分成总体设计、系统开发和系统运行三个阶段,其中系统开发阶段还可以进一步分为系统分析、系统设计和系统实施等工作环节。上述各个阶段排列成一个严格的线性开发序列,在每个阶段均产生完整的技术文档作为下一个阶段工作的指导和依据,每一个阶段都应对相应的文档进行评审,确信该阶段工作已完成并达到要求后进入下一个阶段,同时在以后的工作中不能轻易改变前面经过评审的成果。

上述开发方式的主要优点是方便开发工作的组织和管理,并且尽可能降低管理信息开发的复杂性。国内外许多系统开发的实例都证明这是一种行之有效的开发方式。

2.2.2 对本系统的分析

通过对需求情况进行分析,本系统开发的主要目的是基于军卫一号工程病案管理系统的基本数据,进行定期或随机提取数据,这些数据主要包括病人的索引表、住院表、科室表、住院状态表等,充分利用现有信息资源,并对其进行加工利用,保证病案管理人员及时催交病案,保证出院患者的病案既能及时入库,又能方便借阅,还能做到心中有数,使工作做到井井有条、有条不紊。

为了提高医护人员病案入库操作,本系统拟用触摸屏一体机系统、系统需内嵌摄像头,在医护人员送交、借阅病案时可留存当事人的照片,便于查询管理,系统利用座式条码扫描器,减少操作机会、降低错误几率,从而大大提高入库效率,为了使操作界面更人性化,可充分利用语音系统,对系统操作过程中可能出现的失误给予指导或提示,充分发挥多媒体系统的功能及效用;为了提高系统的效率、降低病案管理人员的劳动强度,系统决定引入短信发送模块,为了降低开发强度,可使用短信中间件也可以使用短信二次开发包,定时将待送交病案以群发短信的形式发送到各科室主任或护士长手机上,月未可将各科室超时未送交病案数群发到管理者。

系统需求分析:1)患者基本信息;2)患者出入院信息;3)科室信息;4)病案状态;5)导入记录信息;6)用户信息;7)等待发送短信表;8)发送成功短信表;9)发送失败短信表;10)发送超时短信表;11)接收短信表;12)正在发送短信表;13)群组表;14)工作人员通讯录;15)常用短信短评。

2.3 开发平台与开发技术

基于以上需求分析,系统可采用B/S或C/S架构,但基于对患者病历信息及隐私的安全考虑,本系统暂考虑采用C/S,如果需要,也可以很快转化为B/S架构开发实施,客户端编程实现采用面向对象的程序设计工具Visual Studio .Net 2010中的C#语言。系统数据库选用目前已得到广泛应用的关系型数据库SQL Server2000,有利于系统数据的管理和维护,本系统模式采用C/S(客户/服务器)模式。

数据库访问技术选用的是OleDb和SqlClient,OleDb用于提取原Oracle中的数据,而且OleDb、SqlClient都支持用于建立基于客户端/服务器和Web 的应用程序的主要功能,并具有易于使用、高速度、低内存支出和占用磁盘空间较少等优点。另外,OleDb、SqlClient还支持批量更新,支持服务器端的存储过程,支持返回多个记录集的查询,支持查询目的等特征。

在系统设计上,采用程序设计模块化,模块独立化,充分考虑系统的扩充性、兼容性、移植性和稳定性等原则。追求软件对象的易用性,使其具有简洁易操作的程序界面,符合Windows平台下软件的使用习惯。运行平台Windows2003/XP或更高。

3 系统功能设计

为了追求系统的高内聚和低耦合特性,决定系统由病案自助送交管理、短信群发两个程序组成病案自助送交管理程序实现的主要功能模块有病案基本信息导入、导出、归档扫描、借阅扫描、查询、数据分析六个模块,所有模块都基于条码进行管理。

病案自助送交管理程序实现的主要功能包括用户登录、当事人拍照、病案批量导入、单个导入、批量借出、单个借出、病案入库综合查询、病案综合查询、病案入库天数(或小时数)分类统计、数据报表打印、导出电子表格录入、用户管理、密码管理等。

短信群发程序由短信操作、短信记录查询、常用短信设置、系统设置、系统管理五个模块主要实现定时或手动提取数据库中超过指定天数的病案,将病人姓名发送到指定的群组手机,或分类统计各科室超过指定天数未送交入库病案数量并发送到相关管理部门手机。

总之,病案管理的最终目的是利用,要将现有病案及尘封多年的病案利用起来,使之成为医学科、教研信息,是一项系统工程。在病案管理方面,要实现科学化、规范化和微机化,其操作流程要实现网络化,数字化、智能化,主动地控制和提高病案质量。只有对病案利用价值、安全价值有了充分的认识,才能推动大家不遗余力地利用现代化技术挖掘病案潜能并对其进行安全保护,使之产生更多更好的效能。

4 数据库设计

数据库采用广为应用,操作、管理简便的微软Sql Server,可以在Sql Server 2000, Sql Server 2005, Sql Server 2008中移植使用。部分sql语句及设计图如下:

创建表语句

病案表

CREATE TABLE [dbo].[mr_index](

[ID] [bigint] IDENTITY(1,1) NOT NULL,

[PATIENT_ID] [varchar](10) NOT NULL,

[VISIT_ID] [numeric](2, 0) NOT NULL,

[ADMISSION_DATE_TIME] [datetime] NULL,

[DEPT_DISCHARGE_FROM] [varchar](8) NULL,

[DISCHARGE_DATE_TIME] [datetime] NULL,

[NAME] [varchar](8) NULL,

[SEX] [varchar](4) NULL,

[CHARGE_TYPE] [varchar](8) NULL,

[ARMED_SERVICES] [varchar](4) NULL,

[DATE_OF_BIRTH] [datetime] NULL,

[DEPT_NAME] [varchar](20) NULL,

[BINGAN_STATUS] [int] NULL,

[RUKU_DATE] [datetime] NULL,

[RUKU_DAYS] [bigint] NULL,

[RUKU_HOURS] [bigint] NULL,

[TIJIAO_NAME] [nchar](10) NULL,

[TIJIAO_PHOTONAME] [nvarchar](100) NULL,

[LASTJIEYUE_DATE] [datetime] NULL,

[LASTJIEYUE_NAME] [nchar](10) NULL,

[LASTJIEYUE_PHOTO] [nchar](100) NULL,

[LASTJIEYUE_YUANYIN] [nchar](30) NULL,

[LASTRUKU_DATE] [datetime] NULL,

[LASTRUKU_PHOTO] [nchar](100) NULL,

[sendedcount] [int] NULL,

CONSTRAINT [PK_mr_index] PRIMARY KEY CLUSTERED

数据导入导出记录表

CREATE TABLE [dbo].[mr_import_log](

[ID] [bigint] IDENTITY(1,1) NOT NULL,

[IMPORT_DATE] [datetime] NULL,

[BEGIN_DATE] [datetime] NULL,

[END_DATE] [datetime] NULL,

[IMPORTED_ROWS] [int] NULL,

[OPERATE_TYPE] [nchar](8) NULL,

CONSTRAINT [PK_mr_import_log] PRIMARY KEY CLUSTERED

用户表

CREATE TABLE [dbo].[mr_user](

[id] [int] IDENTITY(1,1) NOT NULL,

[uname] [nchar](10) NULL,

[upassword] [nchar](10) NULL

) ON [PRIMARY]

等待发送短信表

CREATE TABLE [dbo].[waitsend](

[smsindex] [bigint] IDENTITY(1,1) NOT NULL,

[mobileno] [varchar](999) NOT NULL,

[msgtext] [varchar](630) NOT NULL,

[chartype] [varchar](1) NOT NULL,

[comlimit] [varchar](2) NOT NULL,

[username] [varchar](20) NOT NULL,

[dateandtime] [varchar](19) NOT NULL,

CONSTRAINT [PK_waitsend] PRIMARY KEY CLUSTERED

5 系统编码与实现

5.1 数据库连接

1)连接Sql Server 数据库

public SqlConnection ConDB()

{con = new SqlConnection(@"Data Source=168.192.1.100\GQX;Initial Catalog=shcl_sql;User ID=sa;Password=******");

if (con.State == ConnectionState.Closed)

{con.Open();}

return con; }

2)连接Oracle 数据库

public OleDbConnection ConDB()

{con = new OleDbConnection("Provider=MSDAORA;Data Source= dbserver;Persist Security Info=false;User ID=dbmanager;Password=******;Unicode=True");

try

{if (con.State == ConnectionState.Closed)

{con.Open();}

return con; }

catch (Exception)

{ return con; }}

查询程序代码示例

private void btnchaxun_Click(object sender, EventArgs e)

{if (this.dateTimePicker2.Value < dateTimePicker1.Value)

{ MessageBox.Show("结束日期小于开始日期,请修改!");

return; }

string date1 = this.dateTimePicker1.Value.Year.ToString() + "-" + this.dateTimePicker1.Value.Month.ToString() + "-" + this.dateTimePicker1.Value.Day.ToString() + " 00:00:00.000";

string date2 = this.dateTimePicker2.Value.Year.ToString() + "-" + this.dateTimePicker2.Value.Month.ToString() + "-" + this.dateTimePicker2.Value.Day.ToString() + " 23:59:59.999";

string condition1 = "";

if (this.cbdange.Checked)

{condition1 = "(单个删除)"; }

if (this.cbpiliang.Checked)

{condition1 = "(批量删除)"; }

if (this.cbquanbu.Checked)

{ condition1 = "(批量删除,单个删除)"; }

string selsql = "SELECT [IMPORT_DATE] as 导入日期,[BEGIN_DATE] as 开始日期 ,[END_DATE] as 结束日期,[IMPORTED_ROWS] as 删除行数,[OPERATE_TYPE] as 操作类别 FROM [shcl_sql].[dbo].[mr_import_log] " +

"where ([IMPORT_DATE]>=" + date1 + " and [IMPORT_DATE]<=" + date2 + " and [OPERATE_TYPE] in " + condition1 + ")";

this.textBox1.Text = selsql;

dbcontrol dbretrievesql = new dbcontrol();

DataSet db = dbretrievesql.dssql(selsql, "import_log");

this.dataGridView1.DataSource = db.Tables[0];

this.dataGridView1.Refresh();}

6 开发总结

到目前为止,该系统运行稳定可靠、操作简便,能满足医院病案室的迫切需求。运行两年来,大大方便了送交、借阅病案的医护人员,提高了工作效率,缩短了病案送交平均天数,同时为医院绩效考核提供了参考依据。本系统具有开发周期短、开发成本低,功能先进、流程简单,技术先进、可扩展性强,安装部署方便,运行维护工作量小等特点,适合在应用军卫一号工程的医院中推广使用。

在医院实习的医护人员较多,人员流动大,面对新的工具、操作流程,往往有些手足无措,这就要求我们开发人员,在保证软件性能的前提下,界面要更加人性化、要注重人工操作习惯,提示要友好、到位,拟在下一步增加语音报号(病案号)、及语音提示操作方法及错误提示等。

参考文献:

[1] 吴再海,张增武,张书金,等.NET技术B/S结构的信息管理系统设计与研发[J].电脑编程技巧与维护,2011(9)32-38.

[2] 孙艳,伍强.电子病历病案管理系统的功能需求[J].中国病案,2012,13(5).

猜你喜欢

病案病历短信
基于二维码的病案示踪系统开发与应用
强迫症病历簿
试析病案管理中预防病案错位发生的方法
“大数的认识”的诊断病历
道歉短信
代发短信
为何要公开全部病历?
试论病案管理在防范医疗纠纷中的作用
村医未写病历,谁之过?
新病案首页中存在的问题及对策