医疗设备招标供应商管理系统的开发与应用

王晓雷1,王云山1,王威2

1.解放军161医院 药械科,湖北 武汉430010;2.广州军区武汉总医院 医学工程科,湖北 武汉 430070

[摘要]目的为提高设备招标工作效率,设计开发医疗设备招标供应商管理系统。方法 系统基于Access建立数据库系统,使用Visual Basic.NET开发系统软件,并调用Excel及水晶报表实现数据导入导出操作。结果系统在招标过程中初步使用,操作简便、界面美观、功能丰富。结论系统在后续的升级中考虑增加短信呼叫及授权资质和到期提醒等功能,使系统不断完善,满足招标工作需求。

[关键词]医疗设备招标;供应商管理系统;监护仪;医疗设备管理

引言

医院组织设备采购招标时,不同的供应商会根据医院公布的招标内容指派投标人进行报名,并提交报名资料,包括产品品牌型号、厂家、资质、售后服务、联系方式等信息。为了对这些信息进行有效的记录,目前我们依靠电子表格登记的方法,这种方法保证了信息记录的详实可靠[1],但由于缺乏合适的分析汇总工具,不利于后期对报名情况的进一步筛选整理。为此,我们参考相关供应商和招投标管理数据库系统[2-4],开发了一套供应商招标管理软件系统,用于存储、收集、整理供应商、销售、厂家、产品等信息,实现对信息的筛选整理,提高设备招标时对供应商信息的高效管理。

1 系统开发环境

基于Access建立数据库系统,使用Visual Basic.NET开发应用程序,并调用Excel及水晶报表实现数据导入导出操作。

Visual Basic是微软开发的集成开发环境(Integrated De ve-Lopment Environment,IDE),具有可视化开发功能,控件丰富,上手快等优点,且可以使用ADO.NET进行数据访问,统一了Web应用开发和桌面应用开发,还集成了各种辅助编程工具[5-6]。此外,还可以通过调用第三方数据库或组件来扩展功能,如本系统实现的Excel文件导入导出及水晶报表功能。

Access是微软办公软件的重要组件,能方便地配置本地数据库,并可以进行数据库查询、导入导出数据、优化数据库等操作[7]

2 系统功能设计

本软件主要由设备信息管理、供应商信息管理、厂家信息管理、业务员信息管理、用户信息管理5个模块构成:①设备信息管理模块:主要负责维护设备的名称,代理商,业务员,厂家等信息;② 供应商信息模块主要负责维护供应商的名称、业务员、地址、法人、银行账号等信息;③ 厂家信息管理模块:主要负责维护厂家的名称、地址、联系方式等信息;④ 业务员信息管理模块:主要负责维护业务员的姓名、联系电话与身份证等信息;⑤ 用户信息管理模块:可保证具有一定权限的用户登录系统并对各个模块进行操作。本系统通过将设备信息管理模块和各个具体信息管理模块进行交叉查找的方式来节省数据库系统冗余。软件功能模块构成,见图1。

图1 软件构成模块示意图

3 系统实现技术

3.1 数据库开发

本数据库共设计了5个数据表:设备信息(Equipment)表、供应商信息(Agency)表、厂家信息(Factory)表、业务员信息(People)表和用户信息(Manager)表,分别对应于设备管理、供应商管理、厂家管理、业务员管理和用户管理5个模块的功能。其中Equipment表作为本数据库系统的主要部分,按设备招标中一般用到的表征设备的主要参数(如名称、供应商、厂家、业务员等),存储字段设计见表1,并设置了自动编号的ID作为主键,以方便数据库操作。

表1 Equipment表结构

Agency表、Factory表、People表作为辅助信息表,通过和Equipment表的联合实现了更加详细的设备管理信息。其中Agency表主要包括名称、业务员、联系方式、地址、法人、公司账号等内容,见表2。

表2 Agency表结构

Equipment表中的AgencyID字段和Agency表中的AgencyID字段对应,通过使用SQL交叉查询语言[8],可以找到设备对应的代理商信息(图2)。例如要查找供应商名称为“恒健”的所有设备,可采用如下SQL代码:

SELECT a.*

FROM Equipment AS a, Agency AS b

WHERE a. AgencyID = b. AgencyID

AND b. AgencyShortName =“恒健”

ORDER BY b. AgencyShortName;

从Equipment表和Agency信息表中选择具有同样供应商ID,且供应商名称为“恒建”的设备信息项目,并按照供应商简称排序(图2)。

图2 数据表交叉查询示意图

3.2 系统管理程序开发

3.2.1 系统登录界面

在软件启动时,首先进入登录界面(见图3),验证输入的用户名和密码是否和Manager表中的信息匹配,通过后才能进入系统。

图3 系统登录界面

3.2.2 设备信息管理

成功登录后,首先进入设备管理界面(见图4)。

图4 设备信息管理界面

在该模块中,可实现对设备信息的查询、修改、添加、删除等操作。查询时可采用组合查询的方式,分别选取“名称”、“供应商”、“业务员”等字段中的一个或多个作为查询条件进行查询。添加或修改操作时,对“供应商”、“业务员”等字段通过下拉列表进行了限制,保证是供应商信息Agency表或业务员信息People表中的项目。选中上方表格中的某一行,点击“删除”键即可在Equipment表中删除该项信息。此外,为了方便操作,还扩展了导入导出及图像操作,以实现对Excel文件的导入导出、水晶报表的查看打印以及图像的储存查看等操作。

3.2.3 供应商信息管理

该模块提供了设备对应的供应商信息,通过操作Agency表实现,其管理界面见图5。

图5 厂家信息管理界面

由于Agency表中AgencyID项和Equipment表中AgencyID对应,因此对Agency表的某一项删除操作时,如果Equipment表中存在供应商信息和删除的供应商信息对应,程序会提示用户先修改设备信息才能删除该供应商信息。验证信息代码如下:

Dim SQLString1 As String’定义字符串变量

StrItemID = ListView1.Items(j).Name’获取条目ID

SQLString1 = “SELECT * FROM Equipment Where AgencyID=” & StrItemID’生成SQL查询语句

Dim Table As DataTable’定义数据表

Table = DBOperation.DBOperate(SQLString1)’执行SQL语句,得到数据表

If Table.Rows.Count <> 0 Then

MsgBox(设备表中含有选定的供应商信息,请先修改设备表方能删除,MsgBoxStyle.Critical,删除供应商信息)如果没有查询结果,弹出提示对话框

Return’返回

End If

同样,若在Agency表中修改了供应商信息,Equipment表中对应的供应商信息会同步更改。

3.2.4 Excel导入导出

为了方便导入科室前期已有的投标信息,系统实现了Excel文件的导入功能,该模块程序流程见图6。

实现导出功能的主要代码如下:Dim xlApp As Excel.Application

Dim xlWorkBook As Excel.Workbook Dim xlWorkSheet As Excel.Worksheet Dim misValue As Object = System.Reflection.Missing. Value’定义Excel文件操作需要的变量

xlApp = New Excel.Application

xlApp.Visible = False’不显示Excel界面

xlWorkBook = xlApp.Workbooks.Add’添加Excel文件

xlWorkSheet = xlWorkBook.Sheets(“sheet1”)’Excel工作表

Dim i As Integer

Dim itemCount As Integer = ListView1.Items.Count - 1

Dim j As Integer’定义循环变量

For i = 0 To itemCount

For j = 0 To 5

xlWorkSheet.Cells(i + 2, j + 1).Value = ListView1.Items(i). SubItems(j).Text’将ListView中的数据保存在Excel文件中

Next

Next

xlWorkSheet.SaveAs(FileFullName)’保存Excel文件

xlWorkBook.Close()’关闭Excel

xlApp.Quit()’退出Excel

图6 Excel文件导入流程图

3.2.5 报表功能

水晶报表是Visual Studio中的标准报表创建工具,简单易用,可连接到多种数据源,可通过代码实现多种操作,也可以导出Excel文件并实现数据的打印[9]。借助水晶报表,系统实现了对Equipment表中主要信息的导出及打印功能(见图7)。

该功能的实现可通过如下4个步骤完成:① 建立一个数据集,该数据集包含需要在报表中显示的所有字段;② 建立一个水晶报表模板,在模板上放置数据集的字段;③ 建立一个Windows窗体,放置一个水晶报表视图控件,该控件的报表模板为前述建立的模板;④ 在程序中对数据集赋值,并显示报表窗体。

图7 报表功能

3.2.6 图片的存储与显示

在附加功能中,软件还提供了图像的数据库操作[10-11]

其储存图像的代码如下:

Dim Stream As New IO.MemoryStream’定义数据流

PictureBox1.Image.Save(Stream, System.Drawing. Imaging.ImageFormat.Bmp)’保存图片

Stream.Flush()

Dim Bytes As Byte()’定义字节变量

Bytes = Stream.ToArray

String1 = String1 & “@bytes )”

command.CommandText = String1’定义数据库操作命令

command.Parameters.AddWithValue(“@bytes”, SqlDbType.Binary).Value = Bytes’添加数据库操作变量

其打开图像的代码如下:

Dim Bytes As Byte() = oledbdr.Item(“Pic”)’获取图像数据

Dim mStream As New IO.MemoryStream’定义数据流

mStream.Write(Bytes, 0, Bytes.Length)

mStream.Flush()’保存图像数据

Dim Img As New Bitmap(mStream)

PictureBox1.Image = Img’显示图像

4 实际应用

本系统在医院实际设备招标过程中已应用,方便了对供应商投标信息的录入、修改等操作,实现了信息的集成。同时系统提供的导入功能,可以将科室之前收集的供应商信息方便的导入,免去了重复输入。导出及报表功能可以方便的将数据导出或打印,便于在其他设备上查看信息。提供的图像的存储及查看功能可以对设备的外观进行保存,方便区分不同的设备。总之,通过本软件的使用,提高了科室对供应商投标信息管理的效率[12-14]

5 结语

为了在设备招标时提高对供应商提供信息处理的效率,我们利用Access建立了数据库,并通过Visual Basic开发了该数据库系统。该系统具有操作简便、界面美观、功能丰富的特点。在今后的系统升级中,还考虑增加短信呼叫通知以及授权资质到期提醒等,进一步丰富功能,提高效率[15-16]

[参考文献]

[1] 谭丹华.EXCEL电子表格在医疗设备管理中的应用[J].中国医疗设备器械信息,2010,16(3):69-72.

[2] 程广斌,黄金清,马承华.基于智能手机的医疗设备供应维护查询数据库的建立[J].医疗卫生装备,2013,34(11):33-34.

[3] 林锐铭,周健煖,叶淼盛.基于VB&SQL Server开发的临床药械信息服务系统设计[J].计算机光盘软件与应用,2012, (11):177-178.

[4] 徐浩然,冯自立,王文涛,等.医疗器械流通现状分析与医疗机构的对策[J].中国医疗设备,2015,30(2):140-141.

[5] 石志国,刘冀伟,张维存.VB.NET数据库编程[M].北京:清华大学出版社,2009.

[6] 刘珊.Visual Basic.NET 2005数据库编程技术与实例[M].北京:人民邮电出版社,2007.

[7] 杨继萍,孙岩,梁文新,等.Access2007数据库应用与开发从新手到高手[M].北京:清华大学出版社,2008.

[8] Stephens R,Plew R,Jones AD.SQL入门经典[M].井中月,郝记生, 译.5版.北京:人民邮电出版社,2011.

[9] 欧阳艳阶.Net平台下水晶报表的应用研究[J].软件工程师, 2012,(7):38-40.

[10] 赵国俊.用ADO模型的记录流对象存取数据库图片技术[J].电脑编程技巧与维护,2011,(5):36-40.

[11] 姚国红,吴豪,刘运成,等.基于互联网+技术医疗设备招标采购管理系统的构建[J].人民军医,2015,(10):1239-1240.

[12] 杜昱铿,刘月月.互联网时代的医疗设备管理新方式探讨[J].医学信息旬刊,2010,23,(11):21.

[13] 徐恒,许锋,田金.医院医疗设备维护管理新策略的探讨[J].中国医学装备,2012,9(7):46-48.

[14] 刘宇静,朝洛蒙,龙建成,等.医疗设备采购管理信息系统的研发[J].中国医学装备,2016,13(10):105-107.

[15] 黄晓萍.大型医疗设备招标采购审计实践[J].现代医院,2011, 11(5):89-90.

[16] 张臣舜,李继,张涛.浅析医疗设备招标采购中存在的问题[J].医疗装备,2012,25(7):41-43.

本文编辑 韩淑英

Development and Application of Supplier Management System of Medical Equipment Bidding

WANG Xiao-lei1, WANG Yun-shan1, WANG Wei2
1. Department of Drug and Equipment, the 161stHospital of PLA, Wuhan Hubei 430010, China; 2. Department of Medical Engineering, Wuhan General Hospital of Guangzhou Military, Wuhan Hubei 430070, China

Abstract:ObjectiveTo design and develop supplier management system of medical equipment bidding so as to improve work efficiency of medical equipment bidding. Methods Database system was built based on Access, then developed system software with Visual Basic.NET, and transferred Excel and crystal reports to realize data import and export operation.ResultsThis system was primarily used in bidding process, which is simple to operate with beautiful interface and rich functions.ConclusionThis system will be added functions like message call, authorized certificate due remind, etc in the subsequent upgrade. Constant improvement of system will meet the bidding needs.

Key words:medical equipment bidding; supplier management system; monitor; medical equipment ma na ge ment

[中图分类号]TP311.52

[文献标志码]A

doi:10.3969/j.issn.1674-1633.2017.01.030

[文章编号]1674-1633(2017)01-0112-04

收稿日期:2016-06-16

修回日期:2016-06-30