周蕾蕾,张作恒,刘成友,蒋红兵,,马洁
1.南京医科大学附属南京医院(南京市第一医院) 医疗设备处,江苏 南京 210006;
2.东南大学 生物科学与医学工程学院,江苏省生物材料与器件重点实验室,江苏 南京 210096;
3.南京市卫生信息中心,南京市药品集中采购托管中心,江苏 南京 210003
医疗水平和药物研发水平的迅速提高,使得医疗机构的药物使用量以及市场可供的药物种类大幅提升。集中统计分析各医疗机构对药物的采购、企业的配送、以及相关部门的验收等情况,有利于加强药物使用管理,提高药物使用效率,规范药物采购流程,调节药物市场[1-2]。计算机网络技术以及数据库技术的不断发展,卫生信息系统的功能也逐步健全起来,药物采购数据库管理分析模块也是其中相当重要的一部分[3-4]。此前,此类统计工作需投入大量医护人员进行人工分析,效率较低且极易出现错误,也无法与现有的卫生信息系统等自动办公模块对接。
为了更好的了解药物采购的具体情况,便于管理与决策。有必要对药物的质量层次、用药价格、用药结构、采购来源等进行更深入的分析。目前,江苏省医疗机构药品(耗材)网上采购与监管平台能够提供关于药物采购信息的庞大Excel数据,但是从中人工统计出有用信息的工作量十分繁重。本系统用VBA(Visual Basic for Applications)宏语言实现对数据的管理和分析,结合VB.NET(Visual Basic.NET)开发友好的用户界面[5],保证了系统的运行速度和易操作性。药物采购数据库分析管理系统现已投入使用,使原本需要投入大量劳动力的统计工作能够快速批量完成,大幅提高了工作效率和准确性,降低了重复性工作的投入成本。
药物采购信息大数据的来源是江苏省医疗机构药品(耗材)网上采购与监管平台,导出数据形式是Excel表格。药品采购监管部门需对基层医疗机构基本药物网上采购情况进行统计分析,即对全市各区采购药物的医疗机构数、采购单数、采购品种数、采购金额、采购药物的质量层次、用药结构、用药价格、用药采购来源、配送企业、配送金额、验收金额等进行统计;对各区下属的每家医疗机构的采购情况做出进一步的分析,以及各区药品采购金额进行排序。药品采购监管部门需要定期做一份涵盖这些内容的季度报表,调研显示,完成该项工作是一项艰巨的挑战。为了减轻工作人员的工作量,并实现药物采购的分析统计功能,我们设计并搭建了基于VB.NET与VBA宏相结合的药物采购数据库管理和分析系统。
结合工作人员的工作需要,以及数据特点,设计该系统由全市医疗机构网上采购情况、各区网上采购情况两个主模块组成。其中全市医疗机构网上采购情况模块又细分为医疗机构采购结算情况、配送企业配送情况、网上验收情况、质量层次、用药价格、用药结构、采购来源7个子模块;各区网上采购情况模块提供12个区的各医疗机构药物采购情况,以及药品采购金额排序等统计分析。系统的逻辑结构及模块设计,见图1。
图1 逻辑结构及模块框图
VB.NET具有面向对象的程序设计思想和图形化的开发环境,是一种功能强大的程序设计语言[6-7]。VB.NET属基础系语言,语法简单,逻辑表达清晰。使用该软件能够简洁方便的做出人机交互界面,不需要编写大量的代码去确定界面各控件的外观和位置,只要把建立的对象添加到屏幕上并设计其相关属性即可[8-9]。因此,本系统的界面部分就采用了VB.NET编写语言。
Excel除了具有强大的数据管理功能、大量的内置函数、丰富的图表曲线之外,还提供强大的数据库分析功能,以及可编程的宏语言[10]。此外,Excel另一个重要的特点是可以通过录制宏的方法自动录制操作过程,稍作编辑就可以转化为通用的程序代码[11-12]。原始大数据是Excel形式的,于是本系统数据库处理部分使用Excel VBA对数据进行编辑筛选,实现各项统计分析功能。
VBA程序数据处理部分,由20个子程序组成,对应实现20个子功能,每个子程序的算法略有不同,但其主体流程基本相同,见图2。
图2 VBA程序主体算法流程图
为了方便编写程序以及加快后续分析速度,先对Excel中的整体数据按照区进行排序。然后从第一行开始遍历,将采购数量、采购金额、配送金额、配送企业数等统计量初始化为0。从第二行数据开始,判断与上一行数据是否属于同一个区,若属于同一个区,则进行相关统计数据的分类累加,之后对下一行数据重复上述判断、累加步骤。若不属于同一个区,则直接记录先前累加的数据,并对其清零,为下一个区的数据累加做好准备。再跳转到下一行数据,重复上述判断、累加步骤。遍历完Excel表中所有数据后,将每个统计好的数据以二维矩阵的形式写入相应sheet中。
VB.NET搭建软件功能界面,使得软件整体化、结构化,Excel VBA分析处理数据,实现自动化、模块化[13-14]。但是,VBA语言与VB.NET语言不完全兼容,实现两者的无缝连接是关键。该软件通过触发事件实现VB.NET对Excel VBA的直接调用(图3)[15-16]。借助程序来完成大数据的统计工作,实现自动化、模块化的药品采购数据的管理分析,提高效率,保证准确性[17]。
图3 VB.NET与VBA
双击“数据录入”,选择待导入的.xlsm格式的文件(图4)。这里的文件是事先定制好的模板,内置VBA程序自动处理“订单明细”“医疗机构采购汇总”等sheet中的原始数据,实现对药物采购来源、用药价格、用药结构等的统计分析,并将运行结果写到相应的设有固定格式的sheet中。在导入数据前,需要对数据进行预处理,即把“订单明细”“医疗机构采购汇总”等从卫生信息中心主平台下载的最新数据复制到“订单明细”“医疗机构采购汇总”等sheet中。在导入过程中,由于数据量庞大,数据录入会有1分钟左右的延迟,并且系统会提示“正在数据录入,请等待”。录入完成后,系统会提示“数据录入成功,请双击右侧列表,选择计算项目”。
图4 数据录入
系统提供全市网上采购情况分析的功能,对全市各个区的医疗机构采购结算情况、配送企业配送情况、网上验收情况、质量层次、用药价格、用药结构、采购来源等进行汇总统计。双击每个子功能项,进入分析计算模式,软件测试显示每个子功能可以在数秒内完成,并可以实时预览具体的统计分析结果。单击每个子功能项,进入查询模式,便于用户对比分析。
以“配送企业配送情况”子功能为例做介绍,双击“配送企业配送情况”触发.xlsm文件中的VBA程序,程序运行,统计出全市所有的区县,以及每个区县内配送药物的企业数、医疗机构的总订单数、被响应订单数、配送金额、订单响应率、配送率等信息。运算结果自动写回到原文件中“配送企业配送情况”的sheet里,并同时显示在界面上,方便预览,见图5。其他子功能项程序流程相似,用于统计分析出更多的有用数据项。
图5 配送企业配送情况分析
各区网上采购情况分析功能实现对全市12个区的医疗机构采购情况、药品采购金额排序等进行统计分析。分析每个区内各家医疗机构的采购品种、采购单数、采购金额、配送金额、验收金额、验收率和配送率等等;对季度内整个区采购的药品按采购金额进行排序,并提供相应的药品的明细,见图6。
图6 区网上采购情况分析
同全市网上采购情况分析模块一样,系统也提供双击分析计算、单击查询、实时预览等功能。统计分析结束后,点击保存数据,选择保存路径。此外,预览框中的数据还支持复制功能。
传统的药物采购数据分析方法是手动处理Excel数据来完成一系列的统计工作,工作量大而繁琐,很容易出错。该系统充分利用Excel的强大VBA宏代码以及VB.NET来实现数据分析和操作向导等功能。集数据录入、全市医疗机构网上采购情况、各区网上采购情况、保存数据多模块为一体,将统计工作自动化、简便化,达到提高工作效率,减少统计误差的目的,具有很好的实用价值。
[参考文献]
[1] 李榕.加强医院药品采购管理与成本核算研究[J].行政事业资产与财务,2012,(4):224.
[2] 胡彦.药品集中采购信息化管理模式的实施[J].中国药物经济学,2013,(S3):173-175.
[3] 孔祥锋.信息化过程控制在基层医院药品采购入库管理中的应用[D].济南:山东大学,2014.
[4] 叶永兴,林敏华.信息化管理在药品采购管理中的应用[J].中国管理信息化,2014,17(16):54-55.
[5] 张桐,兰清昭.用VB编写抽签软件[J].电脑知识与技术,2016,12(23):77-78.
[6] 徐春艳.基于VB.NET的学生管理系统的设计与实现[D].秦皇岛:燕山大学,2015.
[7] 张小毅.VB.net实用编程技术[M].重庆:重庆大学出版社,2014.
[8] John Green.Excel 2007 VBA参考大全[M].2版.北京:人民邮电出版社,2013.
[9] 冯陈芙.EXCEL VBA在高校教务管理中的应用[J].办公自动化,2015,(3):57-60.
[10] 姜新.通过VB操作Excel的应用[J].无线互联科技,2015,(4):52-54.
[11] 甘淑娟.基于VB.NET与Access的题库管理系统设计与实现[J].软件导刊,2013,12(7):117-119.
[12] 刘宇君.基于VBA的Excel操作题自动阅卷系统的设计与实现[J].洛阳师范学院学报,2014,33(8):67-72.
[13] Jelen B,Syrstad T.Excel 2013 VBA[M].Spain:Engelska,2013.
[14] 伍云辉.精通Excel VBA[M].北京:电子工业出版社,2013.
[15] 陈军民.Excel VBA在Office中的应用案例[J].电脑知识与技术,2013,9(12):2819-2821.
[16] 王象刚,李金凤.用.NET和VBA实现表单动态打印管理的方法[J].价值工程,2013,32(2):183-184.
[17] 潘有思,赵军伟,钟金金.基于Excel VBA开发的电缆号牌套管管理系统[J].科技创新导报,2016,13(3):8-9.