基于事件驱动的医疗设备管理系统设计

李巍,荆斌,张硌,查玉华,张鹏

解放军第307医院 医学工程科,北京 100071

[摘 要]目的为实现医疗设备全流程管理和事件驱动机制的规划管理,在需求上采用纵向管理,统一规划系统功能,从而实现设备管理全过程信息化管理。方法通过制定全生命周期医疗设备管理体系,基于事件驱动机制,采用Spring框架构建医疗设备综合管理系统。结果系统不仅能够确保系统性管理,实现设备管理的时间序列管理,同时也能够确保各个管理环节的独立性,从而实现降低管理成本、提高设备的管理水平。结论本文在开发中引入事件驱动、全生命周期管理、任务响应机制,实现医疗设备管理的科学化、自动化,为类似系统的开发提供了借鉴。

[关键词]医疗设备;信息系统;事件驱动;全生命周期

 

引言

医疗设备是医院临床、教学、科研的基础,在整个医疗过程中发挥着重要作用[1]。管理的质量直接影响到医院的医疗效果,随着医疗新技术的出现和医院规模的扩大,医疗设备的数量和种类也随之增加,医疗设备也呈现出精密化、自动化、高效化和复杂化的发展趋势。医疗设备管理也由单纯的设备档案管理,逐渐扩展到维修、维护、计量与质量控制等设备动态事件的管理。医院内设备管理缺乏统一标准,导致不同管理系统兼容性存在问题。同时,不同系统往往从对应使用部门的业务出发,难以实现数据同步。本文采用设备全流程管理和事件驱动机制进行规划管理,在需求上采用纵向管理,统一规划系统功能,实现设备管理全过程信息化管理。

1 需求分析

从技术上看,全生命周期管理在人力资源、科学管理、工业生产等领域中应用广泛。医疗设备管理同样作为一种闭环式管理模式[1],不仅需要能够确保系统性管理,实现设备管理的时间序列管理,同时也应确保各个管理环节的独立性,从而实现降低管理成本、提高设备的管理水平。设备管理过程由设备事件组成,当设备事件触发时,在设备事件处理过程形成过程文档和人员工作量。从业务流程上分析,采用事件驱动机制,能够减少模型主题,从而降低系统复杂度,通过将全生命周期管理和信息化手段相结合,能够优化医疗设备、人员、工作量、文档管理流程,从而提高医疗设备整体管理水平,提高设备管理质量,降低故障率[2]

系统开发基于Spring Framework实现,具有如下特点:① 低侵入式设计,代码污染低;② 服务器层面独立;③依赖注入机制降低了业务对象替换的复杂性,提高了组件之间的解耦,为代码重构提供了可能;④ 面向切面编程的特点允许将部分通用任务如事务、日志等进行集中式管理,提高代码利用率;⑤ Spring的ORM和DAO提供了与第三方持久层框架(如MyBatis等)的良好整合,并简化了底层的数据库访问。

本文建立基于事件驱动的管理系统需要实现以下功能:① 如图1所示,整合系统业务及数据流程,将医院医疗设备全生命周期管理理念融入信息系统当中,整合各个独立系统功能,构建综合医疗设备、人员、工作量、文档服务的综合管理系统;② 结合设备管理中的实际需求,制定多元化功能板块[3],实现设备从采购到报废等多流程全流程管理;③ 采用现代软件开发技术实现一套行之有效的标准化管理流程,让流程和模块保持一致[4-5],提高信息系统运作的流畅性和清晰性。

图1 系统UML图

注:a. 系统用例图;b. 系统数据流图。

2 系统实现

系统结构,见图2(a)。系统采用界面层、业务逻辑层、数据访问层三层结构实现。其中,数据访问层主要针对数据库的操作,为业务逻辑层或表示层提供数据服务;业务逻辑层用于操作具体问题,实现数据业务逻辑处理;界面层采用WEB开发方式,实现用户交互。数据层实现数据存储。

业务逻辑以医疗设备全生命周期管理为基础,以周期内事件为驱动,规范文档、设备、人员、工作量管理行为。相关结构,见图2(b)。

2.1 数据层实现

数据层采用MyBatis 3实现,包括:数据表实现、数据映射实现、数据访问对象接口实现。

2.1.1 数据表实现

数据库采用MySQL 5.7实现,如表1~7所示,建立数据表结构,表间关系,见表8。表EQ_EQUIPMENT_DOCUMENT、GLOBAL_DOCS、TASK、WORKER分别用于记录设备、文档、任务、人员等主要业务信息。EQ_EQUIPMENT_PLACE、WORKGROUP、EQ_FUND_SOURCE、EQ_NAME_CODING、EQ_AGENT、COUNTRY_DICT分别作为字典表关联主业务记录。TASK按照任务类别分为:EQ_SERVICE、EQ_RETIREMENT、EQ_MAINTAIN等内容。

图2 系统模块结构

注:a. 系统架构图;b. 系统业务逻辑结构。

表1 global_docs表部分字段描述

表2 eq_equipment表部分字段描述

表3 eq_service表部分字段描述

表4 eq_service_ fitting_use表部分字段描述

表5 eq_service_section表部分字段描述

表6 task_worker表部分字段描述

表7 eq_retirement表字段描述

表8 表功能说明

2.1.2 数据映射实现

数据映射采用MyBatis 3实现,该框架支持定制化SQL、存储过程以及高级映射。从而避免了JDBC代码和手动设置参数以及获取结果集。系统采用XML配置和映射原生信息,将Java的简单洁净Java对象(Plain Old Java Objects,POJOs)映射为记录集。

2.1.3 数据访问对象接口实现

根据业务逻辑功能需要编制数据访问接口,通过接口调用数据映射方法实现数据操作及数据集合组装等功能,为业务逻辑提供支持。

2.2 业务逻辑层

2.2.1 用户管理

实现用户与系统交互,接收用户请求,功能包括:新用户建立、用户权限更改、用户登录、用户报表、用户角色管理、用户命令交互等功能。

2.2.2 设备管理

2.2.2.1 设备基本信息

设备信息多维查询(图3)。设备信息多维查询采用Apache Kylin实现多维数据查询控件设计,Apache Kyli提供Hadoop之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据。能够支持在秒级别延迟的情况下同Hadoop进行交互式查询;用户能够定义数据模型[6-11],并且通过Apache Kylin预建原始数据记录的数据模型并提供了JDBC及ODBC接口。

图3 系统多维查询界面

注:a. 多维查询条件设置;b. 多维查询结果。

设备档案显示。包含内容:设备档案基本信息显示、设备事件循环控件、设备事件列表等内容。

2.2.2.2 设备事件

(1)设备事件循环(图4)。采用设备事件时间轴控件显示设备事件信息,反映设备动态信息。

图4 设备事件时间轴控件

(2)采购事件。采购事件出现后触发以下功能:采购事件申请、采购事件批准。

(3)验收事件。验收事件出现后触发以下功能:新建现场验收报告、建立现场验收视图、上传现场验收照片、验收照片上传、数据库更新。

(4)维修事件(图5)。维修事件由维修节事件组成,分别记录对应维修事件中出现的状态变化信息。出现后触发以下功能:系统发出维修申请、临床使用者发出维修申请、生成维修任务、维修任务进入任务池、维修者领取维修任务、设备管理人员领取维修任务、维修者维修、修改维修列表、维修任务完成。

图5 设备维修事件结构

(5)维护事件。周期维护事件出现后触发以下功能:生成维护任务、维护任务进入任务池、维修者领取维护任务、维修者维护、修改维护列表、维护任务完成。

(6)报废事件。报废事件出现后触发以下功能:生成报废任务、报废任务进入任务池、维修者领取报废任务、维修者维护、修改报废列表、报废任务完成。

(7)计量/质量控制事件。计量/质量控制维护触发以下功能:生成计量/质量控制任务、计量/质量控制任务进入任务池、维修者领取计量/质量控制任务、维修者维护、修改计量/质量控制列表、计量/质量控制任务完成[12]

2.2.2.3 周转设备管理

(1)周转设备显示功能:根据eq_equipment_document.EQUIP_CYCLE_MARK判断是否为周转设备、周转设备显示(数据表显示、周转设备借入/出管理)。

(2)周转设备借出功能:临床使用者发出借入申请、借入申请进入任务池、维修者领取借出任务、完成借出后填写周转设备借出信息、生成借出设备记录、将周转设备eq_equipment_document.EQUIP_USE更新为借出状态。

(3)周转设备归还:临床使用者发出归还申请、归还申请进入任务池、维修者领取归还任务、完成归还后补充周转设备借出信息中归还信息、生成归还设备记录、将周转设备eq_equipment_document.EQUIP_USE更新为未借出状态。

(4)周转设备费用管理:采用周转设备费用结算功能,根据周转设备字典库及借出设备日期计算周转设备费用。

2.2.3 文档管理

实现任务、人员、事件相关文档创建、修改、权限管理、删除[13]等功能。

(1)多维文档查询。多维文档查询显示包括:① 数据表显示;② 文档缩略图显示。

(2) 文档上传(图6)。采用 fileLoad实现文档上传管理。

(3)全部文档管理图表显示。文档管理采用多维数据查询实现。

图6 文档上传界面

2.2.4 任务管理

实现医疗设备事件触发任务创建、修改、权限管理、删除等功能。

2.2.5 人员管理

(1)人员基本信息。由人员静态信息及动态信息组成,其中静态信息包括:人员权限、科室、分组、账号信息等信息;动态信息包括:人员任务、工作日历等信息。

(2)工作量。通过统计人员完成设备管理事件对应任务量实现。

(3)请休假。实现人员请休假数据记录管理功能。

2.2.6 任务管理

包括设备事件生成对应任务新建、属性修改、删除以及任务池管理等功能。

2.2.7 其它功能

包括消息管理、生成提醒消息(针对登录用户生成对应的提醒消息)、通知、统计分析、字典管理、文档分享等功能。

3 结果与讨论

系统基于事件驱动机制,以医疗设备全周期管理为主线。以设备事件为核心,将文档管理、人员管理、工作量管理等功能有机结合在一起,提高了系统集成度,实现了设备管理全面信息化覆盖。规范了设备验收采购、维护保养、计量质控以及退役报废过程,实现了全程文档记录,有据可查,同时也进一步降低了设备档案收集、管理、查询的难度,实现了人员与设备事件、人员与文档、设备与档案的有机关联,降低了工作强度,为进一步宏观分析、故障诊断、使用率分析、采购选型、供应商资质管理提供了借鉴。系统运行界面,见图7。

图7 系统运行界面图

4 总结

本文通过制定全生命周期医疗设备管理体系[14],基于事件驱动机制构建医疗设备综合管理系统,为不同设备相关业务部门提供一个统一的医疗设备管理平台及对应的医疗设备管理模块,实现设备、人员、工作量、文档等的综合管理,成为医院业务管理系统的有机组成,真正实现医疗设备的综合信息化管理。本研究尝试在工作中引入事件驱动、全生命周期管理[15]、任务响应机制,实现医疗设备管理的科学化、自动化,为类似系统的开发提供了借鉴。

[参考文献]

[1] 王天鹰,顾伟,王莉杨.基于闭环管理思想设计的医疗设备维修管理系统[J].生物医学工程学进展,2014,35(1):40-42.

[2] 闫伟.医疗设备全生命周期的质量控制与风险防范[J].医疗装备,2017,30(9):70-71.

[3] 孙晓明,范启明,刘健强,等.医疗设备全生命周期信息管理系统的应用[J].医疗装备,2017,30(14):78-79.

[4] 郝俊飞,陈天友.大型医疗设备全生命周期管理[J].经济研究导刊,2017,(23):175-176.

[5] 董华,江珍珍,杨雪莹.Ⅲ类医疗器械研发项目全生命周期管理研究[J].项目管理技术,2017,15(6):48-52.

[6] 赵涛.医院信息系统维护对医疗设备管理的重要性[J].世界最新医学信息文摘,2017,17(19):251.

[7] 陈一君,沈晓明,李相宗,等.智慧化医疗设备管理系统的研究与应用[J].中国医院管理,2013,33(10):61-62.

[8] 周进.医疗设备信息化管理的应用研究与展望[J].中国卫生产业,2017,14(36):170-171.

[9] 张玉清.可靠性维修理论在医疗设备维修管理中的应用[J].医疗装备,2017,30(4):79-80.

[10] 刘佳佳,蒋秉梁.医疗设备信息化管理的应用[J].医疗装备,2017,30(12):88-89.

[11] 邱文海,姜立福.医疗设备信息管理系统的设计与实现[J].医学信息,2015,(30):1-2.

[12] 杨雅琴,邹佩琳,王勇,等.医院设备全生命周期管理系统的设计与应用[J].中国卫生质量管理,2017,24(2):124-126.

[13] 吴秀杰.闭环管理在医用耗材供应链管理平台建设中的应用[J].医疗装备,2016,29(11):95-97.

[14] 张翰林.医疗设备物资动态管理系统的构建[J].医疗装备,2017,30(23):114-115.

[15] 肖阳.基于大数据基础的设备全生命周期管理系统研究[J].信息通信,2017,(6):163-164.

 

Design of Medical Equipment Management System Based on Event-Driven

LI Wei, JING Bin, ZHANG Luo, ZHA Yuhua, ZHANG Peng
Department of Medical Engineering, The 307thHospital of PLA, Beijing 100071, China

Abstract:ObjectiveTo achieve the whole process management of medical equipment and planning management of event-driven mechanism, vertical management on demand was adopted and the system functions in a unified way was planned. Thereby, the information management of the whole process of equipment management could realized.MethodsThrough the establishment of a full life cycle medical equipment management system, medical equipment management system was built by Spring framework based on the event-driven mechanism.ResultsThe system could not only ensure systematic management, realize time series management of equipment management, but also ensure the independence of each management link. In this way, the management cost could be reduced and the management level of equipment could be improved.ConclusionThis scientific and automated management of medical equipment was realized by introducing event-driven, full life-cycle management and task response mechanisms in development. It could provide reference for the development of similar systems.

Key words:medical equipment; information system; event drive; full life cycle

作者邮箱:13260463706@163.com

修回日期:2018-06-01

收稿日期:2018-04-17

[文章编号]1674-1633(2018)11-0127-05

doi:10.3969/j.issn.1674-1633.2018.11.037

[文献标识码]C

[中图分类号]R197.39;TP311.1

本文编辑 李美松