医疗设备管理信息系统与Excel通讯技术的研究
2011-11-16吴向阳张超群张方林杭建金李正
吴向阳,张超群,张方林,杭建金,李正
成都军区总医院 医学工程科,四川成都 610083
医疗设备管理信息系统与Excel通讯技术的研究
吴向阳,张超群,张方林,杭建金,李正
成都军区总医院 医学工程科,四川成都 610083
目的 从医疗设备管理信息系统导出数据到Excel表格,提升了医疗设备管理信息系统的实用性。方法 使用OLE自动化技术建立Powerbuilder应用程序与Excel的连接,通过程序调用连接对象并设置其属性。结果 实现了PowerBuilder应用程序与Excel间的数据共享。结论 该方法较好地解决了管理信息系统对不同格式数据的输出问题。
HIS;LIS;VCS集群软件; 服务器;磁盘阵列
0 前言
新形势下的医疗设备管理工作其复杂程度和技术含量在不断地提高,特别是医院专门自主开发的医疗设备管理信息系统,构建数字化和网络化作业管理平台,成为提高医疗设备管理效率和管理水平的必然选择[1]。
PowerBuilder是一种可视化的、面向对象的快速应用程序开发环境,特别适合管理信息系统(Management Information System,MIS)的应用开发,是目前比较常用的数据库前端开发工具[2]。数据窗口技术是PowerBuilder中最有特色、功能最强大的对象之一,通过数据窗口设计可以很灵活地从关系型数据库或其他数据源中检索数据,生成各种复杂的报表[3]。Excel电子表格作为Office应用程序中使用最广泛的办公工具,具备超强的数据处理具能力,可轻松胜任报表制作、计算统计、排版美化等工作。如果能结合二者的优势,即把信息系统中获得的目标数据传送到熟悉的Excel电子表格,用户再按自己的意愿进行各种处理,如美化版式、数据交流等,就能极大地提升信息系统的实用性。
1 技术方法
1.1 OLE对象应用
对象连接与嵌入(Object Linking and Embedding,OLE)技术是Windows系统中允许应用程序共享数据和程序功能的一种标准的便利方法。OLEObject对象是PowerBuilder标准对象类型之一,PowerBuilder应用程序通过编程,在内存中创建OLEObject对象,然后将这个对象连接到某个Windows服务程序,如Word或Excel[4],就允许在PowerBuilder应用程序中调用该Windows服务程序的相应功能,并设置其各种属性,这也称之为“OLE自动化”技术。当设置Windows服务程序的可视属性为真值时,就可以在PowerBuilder应用程序中启动服务程序并把结果显示在用户面前。
1.2 程序设计
PowerBuilder采用面向对象编程方法和事件驱动机制,程序设计就是在特定对象的特定事件中编写程序脚本(Script)或者称代码[5]。实现数据窗口数据导出到Excel,首先是选择对象,通常是一个命令按钮,然后在这个命令按钮的某个事件(通常是单击按钮事件)中编写一段代码,代码的功能是把数据窗口保存为Excel文件,并通过OLE对象连接到Excel应用程序的同时打开Excel表格。其主要程序步骤如下:
(1)用GetFileSaveName()函数打开保存文件对话框,设置该函数的filter参数,即文件类型掩码为“Excel Files(*.xls),*.xls”,判断是否覆盖重名文件。
(2)用数据窗口控件函数SaveAsAscii()保存文件。(3)声明OLEObject变量,创建1个OLE对象实例。(4)用ConnectToNewObject()函数把OLE对象实例与服务器应用程序Excel连接起来。
(5)利用OLE服务器的属性和方法打开Excel文件并设置文件属性。
(6)断开与OLE对象的连接。
考虑到实际的医疗设备管理信息系统中会包含多个不同业务信息的数据窗口,如设备资产信息、维修信息、计量质控信息和报废信息等[6],这些数据窗口处在不同的应用窗体中,要把它们分别导出到Excel表格就需要在每个窗体中引用这段程序。为了整体程序设计的方便高效和简捷易读,最好的办法是在上述程序代码编写完成并编译通过之后,把它封装进1个自定义的函数里面,并且这个函数定义为全局函数,使之允许在系统的多个单元场合方便地被调用[7]。
2 制作实例
2.1 创建自定义函数
2.2 在窗口中调用函数
在包含数据列表的窗口中添加1个命令按钮控件,设置其名称属性cb_1.text=“导出到Excel”。假定窗口中需导出的目标数据窗口控件名称为dw_1,则为cb_1的Clicked事件编写脚本为: DatatoExcel(dw_1),即传递参数dw_1给函数DatatoExcel()并调用该函数。
2.3 程序运行结果
例:信息系统运行时调出了超声科设备列表,要把列表数据传送到Excel表格,则点击窗口底部的“导出到Excel”命令按钮,这时先弹出保存文件对话框,输入文件名保存后,随即自动执行打开Excel表格的操作。表格中显示的数据与数据窗口数据完全一致,并自动按程序中设定的字号与列宽等调整显示格式,窗体效果与导出的Excel表格分别如图1和图2所示(其中涉及的保密数据做了手工处理)。
图1 信息系统中的数据浏览窗体
图2 通过信息系统传送数据并打开后的Excel表格
3 结束语
本文介绍的技术方法在我院医学工程科自主开发的“大中型医院医疗设备管理信息系统”中得到了充分运用。我们在做信息系统开发时发现,为实现理想的打印效果,要为各种报表设计相应的打印模板。医疗设备管理系统的模版复杂且缺乏灵活性,而Excel电子表格在版式与打印方面的强大功能是任何开发工具都无法比拟的。不仅如此,因为信息系统中的数据是固化在系统中的,所以无法拷贝、或电邮等,而Excel电子表格都可以轻松胜任。实践证明,整合了Excel电子表格的医疗设备管理信息系统在工作中具有很强的实用性,它为丰富报表的表现形式、美化排版打印、数据交流和携带等方面带来了高度的便利性[8]。
[1] 范铁锤,李振华,仝青英,等.精确管理医疗设备初探[J].中国医疗设备,2010,25(2):60-61.
[2] 阿里亚·阿瓦克里.浅析数据库的开发与应用[J].电脑知识与技术,2010,6(27):7689-7690.
[3] 张步达,杨慧.PowerBuilder数据窗口技术详解[M].北京:电子工业出版社,2000.
[4] 潘峰,刘景浩.PowerBuilder中通过OLE实现复杂Excel报表[J].电脑知识与技术,2006,(8):158-160.
[5] 张长富,李匀.PowerBuilder9.0参考手册[K].成都:电子科技出版社,2004.
[6] 杭建金,吴向阳,张超群,等.医疗设备管理信息系统的实现与应用[J].中国医疗设备,2010,25(3):75-76.
[7] 骆华杰,刘旭国.PowerBuilder开发中的软件重用研究[J].计算机应用与软件,2008,25(9):145-146.
[8] 张超群,吴向阳,杭建金.信息化系统在医疗设备管理中的应用[J].中国医疗设备,2011,26(2):84-86.
Research of Communication Technology between Medical Equipment Management Information System and Excel Sheet
WU Xiang-yang,ZHANG Chao-qun,ZHANG Fang-lin,HANG Jian-jin, LI Zheng
Medical Engineering Department,PLA Chengdu Military Area Command General Hospital,Chengdu Sichuan 610083,China
Objective To send data to excel sheet from medical equipment management information system. Methods The Connection between PowerBuilder and Excel can be established by OLE automation technology, and accordingly an OLE object with specific attributes programmed in this application was used to initiate excel sheet. Results Achieved data sharing between PowerBuilder and excel sheet. Conclusion The method can effectively solve the data output demand of management information system.
HIS; LIS: VCS cluster soft ware; Server; diskon display
TP311.52
A
10.3969/j.issn.1674-1633.2011.08.014
1674-1633(2011)08-0046-03
2011-03-09
2011-05-30
作者邮箱:wxy_1898@126.com