APP下载

基于虚拟打印的临床医疗数据获取技术的研究和实现

2016-11-02管爱爱周敏

电脑知识与技术 2016年18期

管爱爱 周敏

摘要:为了解决目前医院信息系统的数据共享和综合利用,消除信息孤岛,该文基于医院信息系统通用的打印接口,研究了一种基于虚拟打印的临床医疗数据获取技术。通过设计面向医院信息系统的虚拟打印系统,实现在医疗报告打印输出时自动捕获数据,将数据转化为PDF格式文档,并提取关键临床医疗数据的功能。该技术的实现为临床医疗信息的进一步集成提供了技术支持和数据基础,目前已经进入实际应用阶段。

关键词:虚拟打印;临床医疗数据;PDF文档

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)18-0007-02

1 概述

随着新一代信息技术和知识经济的不断发展,医疗信息化是我国各级医院提升医疗水平,实现医疗公平性、可及性和群众受益性的核心抓手之一,是我国医疗改革的出发点和立足点。自上世纪90年代末,随着医疗信息化建设的不断推进,近年来医院信息系统(Hospital Information System,HIS)已在国内各级医疗医院广泛普及应用。随着医院信息系统的规模不断扩大和专业化程度不断提高,各医疗机构为满足各专业科室的特定需求,在不同阶段逐步部署了大量异构的临床信息系统[1,2],医院信息系统的运行环境非常复杂,临床医疗数据分散于各个临床信息系统中。由于临床信息系统都是独立开发的,拥有独立的数据库,这些临床医疗数据的数据结构、术语、定义等都是相互不同的,难以共享和综合利用,从而形成了大量的信息孤岛。目前已有的一些医疗信息系统集成方法在解决医疗信息集成问题上仍有局限。

目前,医院信息系统在实际应用过程中必须打印报告、病历等纸质材料,是医疗环节中不可或缺的。这些信息系统通常都配备了打印功能,采用的也是打印机的通用接口。本文旨在利用打印机通用接口,通过定制打印机驱动程序,在打印过程中获取数据,并进行信息提取和重组,生成通用的PDF格式文档,获取电子化的临床医疗数据,使其他临床信息系统可以对这些数据进行查询、组织和再利用,从而实现医疗信息的共享和综合利用,在一定程度上解决信息孤岛和信息化死角的问题。

2 虚拟打印技术概述

虚拟打印技术是一种模拟真实打印机的功能的软件技术,可以像使用打印机一样使用,截获所有Windows程序的打印操作,模拟打印效果。目前在办公自动化等领域,虚拟打印技术将打印数据转化为电子化格式文档,不但实现了无纸化的要求,而且便于共享、存储和再次利用,已经得到了广泛应用[3]。在医疗领域,虚拟打印技术主要应用于电子病历、检验、检查报告的PDF文档虚拟打印[6-8],如心电图检查报告通常是纸质文档,通过虚拟打印技术可以将纸质报告直接转换为PDF格式的电子文档,从而解决心电图检查报告的电子化问题,实现电子化的浏览和查询功能。

目前常见的虚拟打印机有Microsoft office自带的Microsoft Office Document Image Writer、CAD自带虚拟打印机、SnagIt的SnagIt 打印机、及Smart Print等,也有部分是基于Acrobat SDK开发的。这些虚拟打印机功能都比较全面,但是在应用到医疗领域时仍存在一定的局限性,往往无法满足临床医疗环境的特殊要求,无法支持医疗图像的打印,无法实现PDF文件的自动归档等功能。

3 系统总体设计

3.1架构设计

面向医院信息系统的虚拟打印系统与现有的信息系统的打印接口集成,在临床医疗报告打印过程中获取临床医疗数据,对数据进行信息提取和加工处理,最后输出相应的PDF文档,图1为虚拟打印系统的架构设计图。虚拟打印系统采用基于Pscript框架的数据捕获技术,实现多种类型的字体渲染和矢量图形的无损缩放打印功能。

3.2 功能模块划分

根据面向医院信息系统的虚拟打印系统的架构设计和系统功能,该系统可分为以下6个模块:打印控制模块、文档管理模块、数据处理模块、对象解析模块、信息提取模块和PDF文档生成模块。

1)打印控制模块:实现初始化和清理功能。其中初始化功能包含打印机驱动程序的初始化、PDEV的初始化、绘制表面的启用。打印机驱动程序初始化完成后,就可以绘制打印作业。另外,在打印完成后,还需进行清理工作,释放已分配的内存和资源。

2)文档管理模块:管理文档的各种操作指令,提供文档打印的开始与结束、文档页面的启动与发送等功能。GDI绘制引擎通过调用DrvStartDoc、DrvEndDoc、DrvStartPage和DrvSendPage四个函数实现文档打印和文档页面处理。

3)数据处理模块:分为文本对象处理、路径对象处理和图像对象处理。文本对象处理以文本字符串绘制和自行轮廓填充来实现绘制,实现所有字体渲染的文本对象的正确打印;路径对象处理实现直线、曲线等矢量图形的描绘,以及闭合路径的描绘和填充,根据路径的线条颜色、样式和宽度,以及端点样式和连接样式等数据实现路径的描绘;图像对象处理模块实现在绘制表面描绘图像的功能。

4)对象解析模块:实现数据对象的解析功能,主要是字体和文本的解析,为之后PDF文档生成时提供字体库和文本库。

5)信息提取模块:采用模板匹配技术,实现文本、图形、图像等临床医疗数据的分类提取功能。信息提取采用模板匹配技术,采用XML格式的模板,分为文本类型、图形类型和图像类型三个大类打印元素。

6)PDF文档生成模块:将获取的临床医疗数据转化为以PDF格式编码的文档数据。以PDF的文档结构为基础,将文本、字体、路径、图形、图像等数据按照格式要求重组,输出PDF格式文档。

3.3 PDF文档生成技术

PDF文档生成技术的核心是将虚拟打印系统中捕获的临床医疗数据转化为PDF格式编码的文档数据。以PDF文档结构为基础,将捕获的数据对象(文本、路径和图像等)按照PDF格式要求进行组合封装,流程图如图2所示。在创建并打开PDF文档后,需启动PDF文档结构生成,包含文档信息对象、文档目录对象、文档页面对象、文档页面树对象、文档大纲树对象、文档大纲对象、内容流、资源字典等。页面生成包含字体对象生成、文本对象生成、路径对象生成和图像对象生成。另外,还采用DEFLATE算法和过滤器,实现对PDF文档的压缩处理,从而减小了PDF文档的大小。

4 实现和结果

本文以微软Postscript打印机驱动程序(Pscript)为基础,定制虚拟打印机的绘制插件,设计并实现了面向医院信息系统的虚拟打印系统。Pscript框架的核心组件ps5ui.dll向所有支持Pscript的打印机提供通用的UI代码,可以调用一个或多个可选的特定的用户接口插件。本文设计的PDFDraw.dll作为Pscript的一个绘制插件,通过定制指定的COM接口和DDI绘制函数,在医疗报告打印过程中捕获数据,并实现部分临床医疗数据的提取功能。另外,所有与PDFDraw.dll相关联的dll文件需要与打印机驱动程序一同安装。图3为虚拟打印系统在超声工作站打印报告时自动捕获数据,并最终生成的PDF文档。

5 结束语

本文基于医院信息系统通用的打印接口,提出了一种基于虚拟打印的临床医疗数据获取技术,通过设计面向医院信息系统的虚拟打印系统,实现了在医疗报告打印输出时捕获数据,并将数据转化为PDF格式文档,提取关键临床数据的功能。该技术解决了遗留系统或单机医技工作站等信息系统的数据共享和综合应用问题,为医疗信息的进一步集成提供了技术支持和数据基础。目前,该系统已经进入实际应用阶段。

参考文献:

[1] 李明,王睿,童玲,等. 信息化建设在研究型医院建设中的探索与思考[J].西南国防医药,2014,24(06):667-668.

[2] 陈荣山,姚婕,吴昊. 医院信息系统的建设与应用[J]. 无线互联科技, 2015(4):36-37.

[3] 李清海.虚拟打印机技术在无纸化办公中的应用[J]. 柳钢科技,2005(4):39-40.

[4] 张伟. Windows XP 下打印机驱动程序的分析与设计[D]. 西安电子科技大学,2008.

[5] Hu Y. Document Management of SVG-based Image by Print Driver [C]. 2011 International Conference on Intelligence Science and Information Engineering.

[6] 边巴次仁, 旺点. 用Acrobat 制作PDF文档格式的科室报告系统[J]. 西藏科技,2010(4):76-80.

[7] 杨钢, 陆蔚时, 周嘉成. 心电信息系统中图形浏览兼容解决方案[J].中国医疗器械杂志,2009,33(6):455-457.

[8] 电子病历存储归档方法及优势分析[J]. 护理学报,2009,16(5):29-30.