基于文档数据库病案管理系统的构建*

2019-02-14 01:52朱家琦
中国医学装备 2019年1期
关键词:病案病历文档

刘 皓 朱家琦 许 海

医院病案即依据规范对患者病情诊断、治疗、护理、治护效果、转归与否等记录在案,具有客观性及信息完整等特点[1-2]。病案包括纸质病历、电子病历、病理切片等多种类型,不仅可为临床医学、科研等提供原始资料,而且被认为是医疗质量评估的重要要素。

随着互联网及信息技术的快速发展,电子文档在医院病案管理中的应用不断增多,受医院发展、现代病案管理要求等影响,当下的病案管理难以满足需求[3-4]。为此,采取何种措施最大程度发挥病案作用,成为医院病案管理急需解决的问题。本研究以相关病案管理文件为指导,设计基于文档数据库的病案管理系统,旨在解决医院病案管理中存在的问题。

1 文档数据库简介

文档数据库于20世纪90年代由Lotus提出,与传统数据库不同的是,其用于管理文档。既往数据库内信息较为离散,多为数据段,对文档数据库而言,其基本单位为文档,该文档可能很长且复杂。目前,文档数据库较多,如Apache CouchDB、RavenDB、MongoDB等,其各有特色。以RavenDB文档数据库为例,其所具有的特点为:①客户端应用程序编程接口(application programming interface,API)对.Net、Java支持。如.Net API,语言层面以语言集成查询(languageintegrated query,LINQ)支持最为常见,被认为是.Net NoSQL数据库标配,但.Net API、Java API均以自身Rest API为基础构建;②伸缩性强,能扩展,且可插件化;③性能及安全。RavenDB文档数据库能自动调优,读取速度快,且能智能索引,支持多级缓存。

医院病案管理中应用文档数据库,能快速获取、浏览或传输患者病历资料。该数据库通过授权、数据加密或身份验证等多种方式验证后方可应用,安全性较高。此外,文档数据库相比文件系统数据冗余度小,可节约一定的存储空间,便于管理维护,且相比文件系统,文档数据库数据存在物理和逻辑双重独立性,数据和程序分离。相比关系数据库,文档数据库能创建多种不同类型字段(任何格式、非结构化),最重要的是文档数据库对参数完整性及事务分布未提供支持。

医院病案管理中建立文档数据库,存储、查询及浏览患者病历资料较为方便,不仅能极大的减少工作人员工作量,提高工作效率,而且为医院相关科研和统计分析工作提供重要数据[5-6]。

2 基于文档数据库的病案管理系统设计

选择.Net webservic三层构架,其中客户端对系统三大功能模块(病历文档归档、查阅及系统管理)显示;客户端还需提供与电子病历系统等软件相关集成接口,客户端、数据库及文档库之间经由Webserviee数据访问层通讯,而数据访问通过相关方式操作数据库及文档库,同时需用户验证及进行访问控制。病案管理系统功能模块设计如图1所示。

图1 病案管理系统功能模块设计框图

2.1 三大功能模块

2.1.1 病历文档归档管理

(1)自动索引。文档包上含有患者病历索引ERL文件(XML合适),对ERL文件自动检测,对患者名字、病案号、性别、年龄、入院时间、入院科室、病历页数及其文件大小、影像学资料及其文件大小等相关信息解析后的结果保存至数据库内。

(2)文档整理。按照患者出院日期、住院号、身份识别(identification,ID)号建立文档存储目录,存储目录内病历文档拷贝至相应的归档文档存储目录内,患者每一个人文档配置索引文件和阅读器,保证患者病历文档齐全。若患者ID号为9555,出院日期为2017年10月1号,则该患者文档存储目录即2017/2017-10/2017-10-1/9555。

(3)数据审核。对前两个步骤完成获取的病历资料进行数据校验,核对病历文档包文件和原先电子病历系统文件相同与否,避免数据导出、传输时丢失,造成文档不全。

(4)文档上传。校验审核结束后,将其经由FTP文件方式上传至文件服务器内保管[7-8]。

2.1.2 病历文档查阅管理

(1)文档查询。检索患者病历文档资料,合法用户均有操作权限,涉及到患者名字、ID号、出院日期、归档时间等信息,按照多条件组合,单击“查询”项,满足条件的病历文档便会列表显示,且对患者病历文档基本信息、归档时间或状态以及借阅与否情况进行显示。

(2)查阅申请。由于病案涉及到个人隐私、医学操作等问题,普通用户对病案内容无查阅权限,须递交申请。查询后用户于病历基本信息内选项(能多选),“申请”点击。

(3)审批。用户提交病历文档查询申请后,系统管理员进行审批,对满足条件的授权阅读,若不满足则驳回申请,系统后台对申请、审批进行记录。

(4)文档阅读。被授权可阅读的用户对“病历阅读”点击,病历文档则经由服务器通过FTP协议将其传至客户端临时文件夹,用户阅读结束,退出系统时会自动清空临时文件夹内文档,避免文档被非法下载及拷贝[9]。

2.1.3 病历文档系统涉及内容

(1)用户登录。用户名、密码登录,依据用户权限对相应功能模块开放,非法用户则拒绝。

(2)用户管理。系统能新增、编辑或删除相关用户,且可给用户授权。其中新增用户均采取默认密码及权限,登录后能自行调整密码。

(3)用户日志。对用户查询、查阅申请、查阅情况等自动记录,除了对患者隐私保护外,还能反映病历文档利用情况。

(4)系统设置。该项内容只有系统管理员有权限,主要对文件服务器地址等常用操作参数更改。

2.2 设计关键问题

2.2.1 系统设计相关技术

根据医院病案管理现状、信息技术水平以及病案管理系统设计目标等,选择Microsoft.Net技术平台架构,并以Java为基础,使Web应用程序如互联网信息服务(internet information services,IIS)服务器创建更简单、稳定且安全。.Net平台结构包括公共语言运行环境、基础类库、Windows表单、通用语言规范、工具(VB.Net、C++.Net、C#等)等。选择结构化查询语言(structured query languege,SQL)、Server数据库为后台数据库管理平台,SQL语言包括Schema数据定义语言(data definition language,DDL)、数据操作语言(data manipulation languag,DML)、数据查询语言(data query language,DQL)和数据控制语言(data control language,DCL)四大部分。其中,DDL通过数据定义SQL语言,以改变数据库结构;DML则通过数据对语言操纵,如将新纪录添加至数据库表,对记录调整;DQL指的是借助语言查询从数据库内获取;DCL则控制用户权限。此外,数据库设计需要结合系统需求,形成医院病案管理系统实体-联系图,病例文档如图2所示。

2.2.2 索引构建

病历文档有自身独有的索引文件,对患者姓名、年龄、性别等基本信息记录,是文档审核、查阅等功能实现的重要前提。索引建立即对Exportresult.erc文件解析,解析后字段根据病历文档信息表结构保存到数据库,相关代码如下:

If(xnode.Name=“”)

{

datatable.Rows.Add(1);

xe=(XmlElement)xnode;

Datatable.Rows[rowindex][“ID Number”]=xe.GetAttribute(“pid”);

xn=mode.SelectSingleNode(“baseinfo”);

foreach(XmlNode xmlnode in xn.ChildNodes)

{

xe=(XmlElement)xmlnode;

strtemp=xe.GetAttribute(“name”);

datatable.Rows[rowindex][“Discharge Date”]=Date Time.Parse(Common.HYcomm.uf-FormatToDate(xe.GetAttribute(“outdate”),false)).ToStringQ Spit(‘ ’)[0];

datatable.Rows[rowindex][“Discharge Department”]=xe.GetAttribute(“outdeptname”;

}

rowindex++

}

图2 医院病案管理系统实体-联系图

2.2.3 病案的安全性

病案对患者姓名、性别、疾病情况等信息记录,一旦被非法入侵会造成严重损失,为此需加强病案管理系统安全性建设[10-11]。

(1)数据备份。受病毒感染、硬盘损坏等影响,相关数据可能丢失,为此需对病案资料备份,最好多备份几个,以保证数据的完整性。

(2)病案文档内容保密。保护患者隐私是医院工作重要内容,病案文档对患者个人信息、疾病信息详细记录,为此须对文档内容保密处理,尤其是系统、业务数据交换时,一定要加密进行,避免数据被非法“破坏”。

(3)病历文档采集、复制及上传至服务器时可能造成数据丢失或数据不全,对此需设置数据审核和校验环节,以保证病历资料的完整。

(4)病案ID。病案可分享,多人查询、申请查阅可能导致信息泄露或被非法下载和复制,为此须严格审核用户信息,对用户身份识别,且进行系统访问设限,符合要求者根据情况同意查阅,而非法用户直接拒绝。同时合法用户查阅病例文档后,系统须对查看内容及时清空。

3 结论

基于文档数据库病案管理系统的构建是为了解决病案存储及开发利用问题。本研究根据医院病案管理实际情况及管理需求进行.Net webservic三层构架设计,灵活运用Microsoft.NET技术平台等相关技术,设计了基于文档数据库病案管理系统。该系统涉及到病历信息采集、整理、索引构建、数据审核等归档问题,2016年6月应用以来减轻了工作人员手工业务,优化工作流程,提高了工作效率。同时,有利于病案管理规范化,充分发挥信息技术在病案管理中的作用。

病案管理系统的数据审核功能有利于病案文档信息的完整性及可靠性,同时系统所具有的查询功能为医护人员临床工作、科研及学习提供更全面和准确的数据,方便患者异地就诊[12-13]。此外,基于文档数据库的病案管理系统能对信息长时间安全保存,除为医护人员、患者查询资料提供便利外,还能减少纸质病案使用,避免纸质病案保存难、管理难的问题。但受工作人员素质、信息化水平等影响,且基于文档数据库病案管理系统设计应用时间较短,关于其应用效果有待日后进一步研究分析。

猜你喜欢
病案病历文档
浅谈Matlab与Word文档的应用接口
基于二维码的病案示踪系统开发与应用
强迫症病历簿
有人一声不吭向你扔了个文档
试析病案管理中预防病案错位发生的方法
“大数的认识”的诊断病历
“病例”和“病历”
病案信息化在病案服务利用中的应用效率分析
Word文档 高效分合有高招
临床表现为心悸的预激综合征B型心电图1例