APP下载

基于Python和MySQL的医疗机构药品及耗材信息管理系统的设计与实现*

2019-09-26邹奕轩赵海桐赵紫婷周蕾蕾蒋红兵

中国医学装备 2019年9期
关键词:耗材编码界面

邹奕轩 赵海桐 赵紫婷 周蕾蕾 马 洁 蒋红兵* 赵 蓉

近年来,随着药品及耗材上市后监管工作的重视,各级药品及耗材采购管理部门的工作重心逐渐转移到监督管理各级医疗机构药品及耗材的规范采购、促进医疗机构合理使用药品及耗材上来.在长期的药品及耗材采购监督管理工作中,医务工作者发现普遍存在着管理药品及耗材涉及的各项政策法规数量繁多,且在不断的修改、调整和完善等各类问题;部分省级药品及耗材集中采购平台只对少量特定单位提供查询功能;采购监管部门工作人员较少,缺乏计算机和统计学的相关知识;基层医疗机构人员对药品及耗材的各种政策属性及采购使用规定不熟悉;大量基层医疗机构无专职信息系统工作人员.因此,建立一个对所有相关单位开放的综合的药品及耗材数据查询分析系统,向医疗机构和管理部门提供信息查询、数据分析和报表生成功能将非常必要[1].为此,本研究开发设计医疗机构药品及耗材信息管理系统软件,为加强药品及耗材信息的规范化和数字化管理提供技术支撑.

1 药品及耗材信息管理系统开发管理工具

1.1 MySQL数据库

MySQL是一个关系型数据库管理系统,是常用的关系型数据库管理系统之一,其拥有易于操作、成本低、体积小、效率高、速度快及可移植性强等优势[2].系统可通过NavicatPremiu 12等数据库可视化管理工具进行管理[3].

1.2 Python语言开发优势

Python语言相较于其他编程语言,在数据库开发方面具有开发速度快、代码量少、使用方便及内部类型使用成本低等显著优势[4].Python语言结合MySQL的架构可以充分利用面向对象编程的特点,在数据库处理方面更为便捷稳定.同时Python语言官方规范访问数据库的统一接口规范(Python DB-API),防止在使用不同数据库时,由于底层数据库技术不同造成接口程序紊乱的问题.同时在图形化展示数据、实现统计量计算功能及一些基本统计方法求解时,Python语言拥有许多可供参考的高效数据库[5].

1.3 Python DB-API访问数据库流程

Python访问数据库包括引入应用程序编程接口(application programming interface,API)模块、获取与数据库(database,DB)的连接、执行SQL语句和存储过程和关闭数据库连接4步[6].其中,连接函数connect→使用connect→方法生成connect对象→再使用此对象访问所需要访问的数据库;connect函数包括用户名(username)、密码(password)、主机名(hostname)、数据库名(database name)和数据库来源名称(data source name,DSN)[7].而执行数据库结构化查询语言(structured query language,SQL)语句进行查询和返回结果主要是通过游标(cursor)对数据库进行请求执行execute()和fetch()等命令完成[8].DB-API操作数据库流程见图1.

图1 DB-API操作数据库流程图

2 药品及耗材信息管理系统设计

2.1 系统架构选择

本研究开发系统适用人群主要针对医务工作人员及药品及耗材管理人员,以及广大社会群众,因此本系统的部署需要更加合理化[9].目前,常见的访问架构为客户机与服务器(client/server,C/S)系统结构和浏览器与服务器(browser/server,B/S)系统结构.C/S系统不依赖外网环境,交互层数少且界面和操作简单直接,易于理解和掌控,响应速度较快[10].而B/S架构依托广域网基础,利用浏览器脚本语言,拥有比C/S更强的适应性,但安全控制能力较弱[11].

结合实际工作与药品及耗材管理流程,药品及耗材管理系统应是C/S与B/S同步发展.即C/S与B/S混合模式,利用C/S与B/S模式不同优势来构建系统.利用C/S模式的安全性与可靠性来构架系统应用,完成核心工作;利用B/S模式的适应性和交互性来延伸应用,实现便捷的信息共享,进行简单的浏览和查询工作[12].

2.2 系统功能设计

(1)功能设计.在对药品及耗材数据要求分析的基础之上,进一步设计数据库系统的入库、管理、查询与统计功能.基于系统完整性、安全性及扩展性,根据实际工作需求,配置不同级别,不同权限人员的访问界面菜单,限制各权限内人员的操作行为.用户权限设定控制不同工作人员拥有不同权限:①药品及耗材管理工作人员的登陆界面具有增加、删除、修改和查询所有药品及耗材信息的权限;②访客登录界面仅具有查询部分药品及耗材信息的权限;③系统管理员始终拥有最高权限[13].以药品为例,软件用户管理模块结构见图2.

图2 药品用户管理模块结构图

(2)系统主要功能.①查询功能:所有用户均可通过包装二维码,中标编码、通用名及生产企业等字段查询药品和耗材的通用名、剂型、规格、生产企业、中标价格、医疗保险类型以及批准文号等信息,药品管理工作人员还可以查询到基本药物类型编码、抗菌药物类别、是否为营养性辅助性重点关注药品以及是否通过一致性评价等信息,以上查询均可以使用一个或多个字段查询;②统计功能:按照一定模板导入数据后,系统进行统计,主要的统计项目有各基本药物类别、各抗菌药物类别、营养性辅助性重点关注药品、不同价格区间药品、不同类别药品的采购金额、金额占比及品种数等.

2.3 数据库实体关系表格设计

遵循数据库搭建的域完整性、实体完整性和参照完整性的要求设计数据库实体关系(entityrelationship,E-R)表[14].设计主要入组表格内容包括药品及耗材基本信息表、医疗保险信息表、药品及耗材说明书表、生产企业信息表、基本药物类型表以及抗菌药物细分表等.其中主表药品及耗材基本信息表包含药品及耗材的通用名、剂型、规格、中标价格、采购编码、营养关注性以及一致性评价等基本信息.E-R表见图3.

图3 数据库E-R表格设计图

3 药品及耗材信息管理系统关键模块及应用

药品及耗材信息管理系统关键模块使用Python3.6作为开发平台,后台数据库为MySQL,使用Pyinstaller库将脚本打包为可执行程序,并在目标文件夹中生成依赖文件,在日后长期维护工作中更加方便,整个软件占用空间小,可以实现Windows10、Windows8和Windows7等多平台不同系统环境下的运行,并保证了良好的兼容性[15].

3.1 信息登录模块

用户入口界面实现用户登陆、注册及找回密码等功能.用户输入正确的账号密码后,点击"登陆"按钮,软件将自动通过预设权限编码选择相应的用户操作界面,出于系统安全性考虑,连续输入5次密码错误时,账号将会冻结24 h.注册新用户时,需输入注册用户名、密码及确认密码,当用户名不与数据库中已有的用户名冲突且两次输入密码一致时方可注册成功.找回密码选项可通过注册邮箱接收验证信息的方式找回密码[16].信息登陆界面见图4.

图4 信息登陆界面图

3.2 信息检索模块

信息检索可通过关键字进行检索,关键字包括中标编码、通用名、生产企业以及价格区间等.检索模块使用正则表达式查询,用户点击文本框并键入需要查询的关键字,多个关键字需用"|"符号隔开.当文本框内容为空时,自动忽略该查询条件,当所有文本框内容为空时,显示整张数据表.用户亦可通过拍扫条形码的方式查询某个药品及耗材的信息,点击"拍扫条码"选项,等待扫码枪扫描条形码,通过串口通讯读取编码,并通过与预先输入的编码进行查询操作以获取药品及耗材信息[17].信息查询界面见图5.

图5 信息查询界面图

查询到所需药品及耗材信息后可以进行导出和打印,此模块利用xlwt第三方库的函数直接完成,药品及耗材信息通过MySQL写入Excel并以默认格式保存到默认路径下.

3.3 信息管理模块

药品及耗材信息管理模块主要用于药品及耗材信息的增删修改,管理工作人员只需在录入选项信息空白处添加正确的药品及耗材信息,并可在下拉菜单中选择药品剂型、医疗保险类型与基本药物类别选项,录入完成后单击"确认录入"按钮即可完成药品及耗材信息的录入工作.录入的信息将实时在Treeview表格界面显示,同时也将数据以string字符串的形式存入MySQL数据库中.在执行过程中,保持主键和关键信息的唯一性,其中"中标编码"信息必须唯一,由前两位大写字母与后8位数字组成.由药品及耗材采购时自动生成并由工作人员事先录入,当"中标编码"冲突时,后一次记录直接覆盖前一次记录,否则由自增长主键生成一条新记录.在药品及耗材信息中"中标编码"与"批文编号"有相对应的标准格式,软件对这些字段设置字符串格式校验功能,当输入格式与预存格式类型不匹配时,软件将提示"输入错误,请查证后重新输入".药品及耗材信息录入界面见图6.

图6 药品及耗材信息录入界面图

3.4 统计与图表模块

药品及耗材管理机构工作中经常需要将同类或同属性药品及耗材按照不同需求进行分组、比较和统计操作.本模块运用开源数据可视化JS库Echarts绘制统计图,并用第三方可视化绘图库Pyecharts与Python对接,实现数据库的统计与制图功能,在"图表"选项中按需求选择统计项目,并选择绘制图形,包括柱状图、折线图、饼状图及散点图等,即可完成金额、金额占比、品种数及数量等数据的统计,鼠标掠过相应色块即可查看明细[18].选择饼状图后生成统计见图7.

图7 饼状统计图

4 药品及耗材信息管理系统应用效果

系统经测试及试运行显示鲁棒性强,运行良好.系统提供的药品及耗材信息录入、修改、删除、查询、统计、筛选及绘制图表等功能,使得原本需要耗费大量人力及时间的药品及耗材信息管理工作变得简单便捷,免去不必要的学习和整理时间.同时此系统界面友好简洁,操作方便,所需功能一目了然.相较于以往使用Excel等软件管理药品及耗材信息的方式,药品及耗材信息更新与查询统计等操作相当繁琐复杂,且因为数据量过大常常造成卡顿.使用该系统后,对于不具备专业计算机、统计学及药理学(医用耗材)相关知识的工作人员,面对庞大繁杂的采购数据与使用记录也能轻松应对,工作时间减少近60%,可有效提高工作效率.

5 结语

医疗机构药品及耗材信息查询分析管理系统是医疗卫生数字化管理的重要环节,该系统不仅为药品及耗材采购与管理工作者提供工作上的辅助,更使得医务工作者能便捷全面了解药品及耗材的各类信息,同时也可快速查询到药品及耗材使用和医疗保险说明,极大促进医疗机构药品及耗材的规范采购,提高管理部门的监督管理力度.

猜你喜欢

耗材编码界面
贝昂 无耗材空气净化器
贝昂 无耗材空气净化器
贝昂 无耗材空气净化器
贝昂 无耗材空气净化器
生活中的编码
微重力下两相控温型储液器内气液界面仿真分析
国企党委前置研究的“四个界面”
《全元诗》未编码疑难字考辨十五则
一种可用于潮湿界面碳纤维加固配套用底胶的研究
子带编码在图像压缩编码中的应用