基于FineReport 的医疗设备采购管理系统的设计与实现

2021-01-21 09:02查晓俊杨玉志徐志扬
医疗卫生装备 2021年1期
关键词:登记表工程师供应商

查晓俊,杨玉志,成 刚,徐 燕,徐志扬

(南京大学医学院附属鼓楼医院,南京 210008)

0 引言

近年来,随着我国国民经济的持续快速发展,人民群众物质生活水平日益提高,使作为人们生活基础需求之一的医疗卫生需求也在不断提升。为了满足人民群众在医疗卫生方面的迫切需求,国家和各级地方政府在政策与财政上的扶持力度和资金投入逐年增加。医疗信息化建设作为医院现代化建设的重要环节之一,成为政府和医院重点关注和发展的方向。据中国产业信息网统计,自2010 年起,我国医院信息化市场规模始终保持15%以上的高速增长趋势,其中2017 年我国医疗信息化市场规模达到375.2亿元[1]。然而现阶段医院信息化建设主要集中在医疗、护理、影像等临床科室,对作为现代化医院重要支柱之一的医疗设备的信息化投入相对薄弱。市面上可供选择的医疗设备管理软件较少且价格昂贵,更重要的是外购成品软件存在设计功能固化的问题,不同品牌的软件功能大同小异,对各医院不同的管理理念、管理流程和管理特色很难做到统筹兼顾。以笔者所在医院为例,随着医疗设备采购量的逐年增加,医院对医疗设备的采购愈发重视,要求实现采购的流程化管理,数字化存储全流程文件资料及相关节点信息并可追溯。现有的成品软件大多难以完全满足我院工作需要,若后期再根据医院需求进行开发又存在研发周期长、收费高、bug 多等一系列问题。

为了顺应医院现代化发展的必然趋势,扩大学科影响力,广大医工人员运用自身所学,利用Visual Studio[2-3]、Power-Builder、Access、SQLite[4]、微信公众号[5-6]和小程序[7]等工具开发出了一系列适合自己医院工作管理需要的医疗设备管理系统。但是此类软件在实际开发过程中往往涉及多种编程语言和工具,对开发人员的编程技能要求高,非计算机专业的医工人员需进行长时间摸索,且技术上存在诸多需要攻克的难关。

FineReport 是一款基于Java 开发的、采用类似Excel 的设计及操作界面、零编码、支持开发中国式的复杂报表软件,提供丰富的数据可视化图表,支持JavaScript 脚本的二次开发,为快速开发Web 医疗设备管理系统提供了可能。因此本文使用FineReport作为开发平台,设计了一套医疗设备采购管理系统,不仅实现了医疗设备采购项目、招标谈判、资料存档、采购状态等全流程节点的填报与查询,还实现了供应商资质等信息的管理和来访登记等功能。本系统能有效减少人力资源的浪费,避免手工登记等环节产生的人因错误,降低医院采购工程师的工作强度。

1 系统设计

1.1 架构设计

医疗设备采购管理系统采用浏览器/服务器(Browser/Server,B/S)3 层架构模式,实现了数据间的交互访问(如图1 所示)。其中,数据层采用MySQL关系型数据库存储数据,可根据业务逻辑层的数据请求进行数据的查询、编辑等读写操作。业务逻辑层负责接收表现层的数据操作请求,对数据层数据进行查询、编辑、保存等操作,并将操作结果依照报表模板内容进行编译处理后发送给表现层。业务逻辑层的设计是本次开发的核心内容,决定了系统的功能,其开发重点是不同报表间的数据关系及逻辑,并根据采购工作的流程进行权限设计和结构优化。表现层中用户通过Web 浏览器或手机App 访问本系统并发出操作请求,表现层接收并解析业务逻辑层回传的数据,并以各类图表的形式向用户展示,实现采购数据的查询、填报等操作。本系统服务器架设在医院内部,通过端口映射的方式允许系统用户在内、外网不同环境下,通过计算机、智能移动终端上的浏览器及手机App 访问。

图1 医疗设备采购管理系统技术构架

1.2 开发环境及相关开发工具

操作系统:Microsoft Windows 10;数据库管理软件:MySQL 社区版,版本8.0.16;开发软件:帆软Fine-Report,版本 10.0 免费版;服务器软件:Apache Tomcat,版本 8.5.27;开发语言:SQL 和 JavaScript。

(1)MySQL 数据库管理软件。

MySQL 是一种关系型数据库管理系统,其社区版为免费开源软件,具有体积小、占用资源少、速度快、功能全、运行稳定等优势,特别适合Web 网站及Web App 的开发。且FineReport 支持通过JDBC、JNDI 等多种方式与MySQL 数据库连接,具有良好的兼容性。

(2)JavaScript。

JavaScript 是一种基于对象和事件驱动的动态、弱类型客户端脚本语言,主要用于客户端的Web 开发,其与操作系统无关,在支持JavaScript 的浏览器中即可正确执行。在FineReport 中调用JavaScript 可对程序进行二次开发,完成API 接口、网页效果及用户事件响应等操作。FineReport 软件在接收到用户请求后,将JavaScript 脚本嵌入在HTML 代码中发送给客户端,并在用户浏览器中运行,降低了采购管理系统对服务器资源的依赖程度和占用率,从而降低了系统的维护及升级成本。

(3)Apache Tomcat 服务器软件。

Apache Tomcat 是一款小型、开源的轻量级Web应用服务器软件,性能相对稳定,深受中小型企业青睐。FineReport 不仅支持Apache Tomcat 的独立和嵌入式部署,且帆软官网还提供了配置完整的Apache Tomcat 部署包供用户下载,解压即可使用,使用户无需配置安装环境[8]即可迅速部署自己的FineReport Web 报表服务器。

1.3 数据库设计

医疗设备采购管理系统是一个以解决信息孤岛问题、提高工作效率为目的,利用计算机技术、网络技术对医疗设备的采购信息进行收集、传输、加工、存储、更新、分析,供用户进行分析决策的计算机软件。其核心是数据,而管理这些数据的最佳方式就是设计符合自身需求的数据库。为了建立冗余较小、结构合理稳定的数据库,设计数据库时必须遵循一定的范式。本系统的数据库建立时以“计划申请清单”和“全院设备库”为核心表,根据工作流程设置其他必要数据表。各表格的主键为通用唯一识别码(universally unique identifier,UUID),根据其实际辅以自增ID 主键,避免了不同用户同时填报数据时的冲突。同时,不同表格间以设备申请的计划编号相关联(外键),减少数据的重复记录,确保数据库最小冗余度。当需要跨数据表查询时,可通过SQL 语句来完成相关业务与逻辑,不关联的表则通过FineReport承担一部分逻辑判断任务,从而减少用户在填报、更新数据时的工作量,提高工作效率。

2 系统实现

2.1 计划编号

为方便采购工程师对设备采购项目进行登记、查询,医疗设备采购管理系统采用11 位计划编号对每项采购申请进行唯一性编码,如图2 所示。编码的前4位为年度代码;第 5~6 位表示计划来源,如年度计划用“JH”表示;第7 位为院区代码,用于区别不同院区的采购计划;第8 位为批次代码,表示医院官网上采购公示的批次信息;第9~11位为顺序号,用于统计设备采购的申请总数。

图2 计划编号组成示意

同时,采用计划编号标识医疗设备采购项目便于投标厂商投标,可有效避免因不同科室采购相同设备造成的投标资料混乱等潜在问题。且采用计划编号对采购项目进行唯一编码也是医疗设备全生命周期管理的一部分,符合医疗设备档案化管理需求,方便采购工程师对设备采购资料有条不紊、分门别类地归档,以保证设备台账的齐全、完整和准确。

2.2 功能分析

我院医疗设备采购的大体流程:采购工程师在OA 系统上收到科室的设备采购申请后,登记采购申请并在医院官网予以公示后启动调研;设备采购申请在医院批准后采购工程师安排招标谈判;招标结束后根据结果签订合同,通知厂家送货并对设备进行安装验收,合格后新设备方可入库并付款,如果涉及财政或科研经费,需要科室提交经费请款单。上述流程需要不同采购工程师的参与和配合。通过2 a 多的梳理与调整,各个环节的工作流程已经基本通畅,各采购工程师的紧密配合大大地提高了医疗设备引进入院的速度。因此,以遵循现有采购工作流程为主旨,结合FineReport 的功能设计了医疗设备采购管理系统的功能,如图3 所示。

图3 医疗设备采购管理系统功能结构图

2.3 功能实现

医疗设备采购管理系统分为采购工程师使用的数据查询模块、数据填报模块和字典库模块以及供应商使用的供应商登记模块。

2.3.1 字典库模块

字典库模块主要包括科室及联系人字典、设备通用名称字典、医疗设备资料及供应商字典4 个部分,设置字典库的主要目的是将采购信息的录入做到规范统一。在以往的采购过程中,临床递交的申请中各科室名称、设备名称往往存在前后顺序颠倒、称谓口语化等表述问题,如脉氧仪就存在氧脉仪、血氧脉搏仪等不同名称。字典库的建立能最大程度地减少因科室、设备等名称不同为后期统计带来的困难,降低后期的维护成本。同时,在医疗设备资料中涵盖了医疗设备的分类、设备通用名称、注册证/备案证相关信息、品牌、型号、安装场地需求、培训资料等信息,方便设备的验收及后期购置的场地准备。且字典库的建立可减少信息录入时的重复操作,节省工作时间。

2.3.2 数据填报模块

按照我院医疗设备的申请流程,数据填报模块包含新设备申请登记表、设备申请状态查询表、每周招标安排登记表、新合同登记录入表、科研经费请款登记表和新设备入库登记表6 个填报表。

(1)新设备申请登记表。

新设备申请登记表应用界面如图4 所示。采购工程师在接到临床OA 采购申请后,需在本功能中登记相关信息。该登记表将常用信息以下拉菜单的方式供用户选择,以减少人工输入次数、节约填报时间;科室、部门等信息则以下拉菜单二级联动的方式进行选择,避免因称谓不一造成后期统计困难。

图4 新设备申请登记表应用界面

在新设备申请登记表中,计划编号通过JavaScript脚本自动生成,避免了因人工编码造成的编号重复或空缺等问题。登记申请信息时,在点击责任工程师后触发自动生成计划编号的JavaScript 脚本,根据用户的选择(计划来源、院区等信息)自动运行生成对应的计划编号并填入相应单元格。生成计划编号的部分关键代码如下:

(2)设备申请状态查询表。

医疗设备采购信息除记录科室申购信息外,还包含申请采购进展状态、各采购环节时间节点、中标结果等内容,这需要不同的采购工程师共同完成。为了方便用户搜索、填报申购项目,设备申请状态查询表支持多参数查询及模糊查询,如图5 所示。实现多参数查询及模糊查询的部分关键代码如下:

设备申请状态查询表中如申购状态、部门科室等常用信息采用下拉列表形式输入,列表字段与字典库绑定,减少了录入工作量,保证了输入信息的统一性和完整性。

图5 多条件查询及模糊查询应用界面

(3)每周招标安排登记表。

每周招标安排登记表主要由采购工程师根据项目的采购安排填写。本表采用主子报表形式,主表为项目的采购信息,子表为投标供应商信息。采购工程师不仅需要填报投标产品品牌、型号等信息,还需上传投标文件的PDF 文件,以保证整个招标流程的数字化、档案化,方便后期信息追溯。

(4)新合同登记录入表。

与每周招标安排登记表类似,新合同登记录入表也采用主子报表形式,主表为合同主体信息,子表为中标设备的品牌、型号、注册证号等具体信息。合同编号的生成采用与计划编号类似的JavaScript 脚本代码自动生成。

(5)科研经费请款登记表和新设备入库登记表。

采用与上述表格相同的方式,使采购工程师在熟悉相关报表的填报后,可快速完成其他填报表的填报工作。

2.3.3 数据查询模块

本模块主要实现对各类数据的查询及展示,可根据用户的习惯和需求,通过Excel 表格、自由表格等多种样式将设备采购信息呈现给用户。同时,数据查询模块可根据设备采购状态为每条采购记录自动添加单元格背景色,使各设备的采购状态一目了然。图6 展示了医疗设备采购管理系统中设备采购的汇总信息。右侧展示区上部设有顶部工具栏,点击相关按钮即可实现数据表的提交、导出、打印等操作。同时,FineReport 不仅支持动态格间运算,可满足开发者复杂的统计或对比需求,还内嵌了功能丰富的HTML5 可视化图表样式,优秀的动态效果和强大的交互体验方便了采购工程师统计设备采购整体进度,为后续的工作安排提供了信息支持。

2.3.4 供应商登记模块

本模块主要由供应商填写,包含供应商信息登记和供应商来访登记2 个部分。为方便供应商登记,本系统开发了用户注册功能,新用户注册新账号后,账号信息由FineReport 自建的用户数据同步功能导入数据库,以实现对本系统的访问。新用户注册的默认权限仅支持部分数据的查询,管理员核实身份后方可使用填报、编辑、汇总等更多高级功能。

图6 可视化图表展示界面

(1)供应商信息登记:除要求供应商提供公司三证信息、地址、销售、维修人员及联系方式外,还要求供应商提供其代理的产品信息。对供应商信息的完善有益于采购工程师的产品调研,在遇到新设备时可通过查询供应商信息登记表搜索类似产品,解决了以往电话调研耗时问题,大大提高了工作效率。

(2)供应商来访登记(如图7 所示):由供应商销售人员在拜访采购工程师前根据拟交流内容填写,做到采购活动的有记录可查,实现了采购流程的闭环管理。

3 应用效果

图7 供应商来访登记(移动端登录)

医疗设备采购管理系统可同时兼顾内、外网2种登录模式,操作人员可在不同环境下登录并访问数据。医疗设备采购管理系统经过近1 a 的使用、调整与磨合,功能逐渐成熟,对采购工程师的操作均能及时、准确地响应。截至2020 年8 月,本系统日均访问量已经突破110 次(如图8 所示),采购工程师均通过本系统登记、处理采购相关工作。相较于以往使用共享Excel 文件的设备采购管理模式,使用本系统可显著减少不同文件间多次登记行为,减少如遗漏、重复、不完整等人因失误造成的数据统计错误。

同时,本系统还解决了以往Excel 文件共享同时存在的用户编辑冲突、文件锁死等问题,将采购工程师从繁重的文字、档案工作中解放出来,使其能专心于技术调研,提高了工作效率。随着系统的使用,采购信息登记操作更加统一化、规范化,方便了数据的查阅及统计,为医院设备采购提供了有力的数据支持。

图8 系统活跃度统计

4 结语

本文基于FineReport 开发了一套医疗设备采购管理系统,针对我院的采购流程对系统的各功能模块进行了设计与完善,大大减少了采购数据填报过程中的冗余环节,使采购数据的管理流程更为简便、合理。目前,本系统主要用于医疗设备的采购,后期通过技术、数据的积累,系统功能将向医疗设备全生命周期管理领域深入发展,使我院的医疗设备管理更加信息化、档案化、流程化、智能化,让数据真正为医疗设备高质量管理服务,从而进一步提高我院医疗设备的现代化、信息化管理水平。

猜你喜欢
登记表工程师供应商
《机械工程师》征订启事
Kenoteq的工程师研发环保砖块
2021年山西省对口升学考试奖励照顾考生登记表
山西省成人高校招生录取照顾对象登记表
青年工程师
2020年山西省对口升学考试奖励照顾考生登记表
2019年山西省普通高校专升本选拔考试获奖考生照顾加分登记表
供应商汇总
供应商汇总
供应商汇总