第二军医大学  2015, Vol. 36 Issue (6): 649-654   PDF    
基于Stateflow与排队论的应急医疗救援仿真系统的设计
庞剑飞1,2, 蒋俊成1, 潘晓东1    
1. 解放军117医院医学工程科, 杭州 310013;
2. 解放军73232部队卫生队, 舟山 316217
摘要目的 设计并实现一种应急医疗救援仿真系统,通过模拟不同条件下的救援过程,为优化救援策略与医疗资源配置提供参考。方法 利用Stateflow工具构建包括伤员到达、检伤分类(分为"紧急组"和"非紧急组"两类,记为A类和B类)及救治模块的主模拟单元,然后添加相应的事件及响应函数。在Simulink中建立系统参数输入与特性显示单元,最后模拟并分析两种救援策略下的伤员救治过程(策略1:B类伤员进入等待人数最少的救治模块等待救治;策略2:B类伤员进入救治模块工作量最少的救治模块等待救治)。结果 系统能够模拟不同策略的医疗救援过程。两种策略中,A类伤员均能得到及时救治;策略1中B类伤员等待时间短但救治人员工作强度大,策略2中B类伤员等待时间较长但救治人员的工作强度低。结论 通过对实际难以展开的应急医疗救援过程进行模拟,验证了系统的可行性、有效性;不同救援策略在伤员等待时间与救援人员工作强度方面各有优劣,实际救援中指挥人员可将两种策略结合使用,以实现伤员等待时间与救援人员工作强度间的动态平衡。
关键词医疗救援     仿真     Stateflow     排队论    
Stateflow and queuing theory-based design of emergency medical rescue simulation system
PANG Jian-fei1,2, JIANG Jun-cheng1, PAN Xiao-dong1    
1. Department of Medical Engineering, No. 117 Hospital of PLA, Hangzhou 310013, Zhejiang, China;
2. Medical Team of No. 73232 Troops of PLA, Zhoushan 316217, Zhejiang, China
Abstract: Objective To design an emergency medical rescue simulation system, and to provide reference for optimizing rescue strategy and medical resource allocation by simulating different rescue conditions. Methods Firstly, Stateflow was used to build the main simulation unit, which included arrival of the wounded, classification of the wounded (emergent [type A] and non-emergent [type B]), and medical treatment modules, and then the related event and response function were appended. Secondly, the system parameter input unit and character display unit were set up in Simulink. Finally two different medical treatment strategies (strategy 1: type B wounded waiting for treatment in the rescue module with least waiting patients; strategy 2: type B wounded waiting for treatment in the rescue module with least workload) were simulated and the corresponding rescue strategies were analyzed. Results The system could simulate the medical rescue process of different strategies. The type A wounded could be rescued in a timely manner in both strategies. Type B wounded had a shorter waiting time in strategy 1, but the rescuers had a heavy work load; while they had a longer waiting time in strategy 2, and the rescuers had a lighter work load. Conclusion We have successfully designed a simulation system for emergency medical rescue and its feasibility and effectiveness are verified. Different rescue strategies have their respective advantages and disadvantages in the waiting time and work load, and the two strategies can be combined in practice in order to achieve a dynamic balance between the waiting time of the wounded and the work load of the rescuers.
Key words: medical rescue     simulation     Stateflow     queuing theory    

战争或突发性灾难发生时,医疗资源的合理配置与正确、有效的救援策略是降低人员伤残、伤死率的关键因素;野战医院或救援队如何在救援力量有限的情况下,根据伤员到达与受伤特点对人员、装备进行优化配置,是提高伤员的救治成功率面临的难题[1, 2]。目前,针对难以实际展开的应急医疗救援问题常采用计算机仿真技术进行模拟,其具有成本低、可操作性强等优点;学者们研究医疗救援问题大都以排队论为基础,针对特定问题采用代码式编程,系统的可移植性差,很难对不同的救治策略、人员分配方案进行有效验证[3, 4, 5]。有鉴于此,本研究利用Stateflow与Simulink工具[6]设计了一种图形化的应急医疗救援仿真系统,以期在提高系统的可移植性与实用性的同时,为应急医疗救援人员配置、策略制定提供定量依据。

1 理论和方法 1.1 理论概述 1.1.1 Stateflow

Stateflow是有限状态机(finite state machine)的图形实现工具,也称状态流,是利用图形工具实现各个状态间的转换,与Simulink配合使用使其具有事件驱动控制能力,能够解决复杂的逻辑问题[7]。应急医疗救援过程中,救治单元在忙碌与空闲状态间切换,伤员在不同组室间接受治疗、流动,产生到达、接受救治、离开等事件,因此利用Stateflow的状态、转移、事件等对象可迅速搭建仿真模型。

1.1.2 排队论

排队论(queuing theory) 是研究系统随机聚散现象和随机服务系统工作过程的数学理论和方法,又称随机服务系统理论。通过对服务对象到达及服务时间的统计研究,得出等待时间、队长、工作强度等特征参数的统计规律,据此改进服务系统的结构或重新组织被服务对象,使服务系统在满足服务对象需要的同时费用最经济或某些指标最优。

1.2 问题分析

典型的排队系统结构包括顾客总体和服务系统,每一名顾客通过排队系统需经过如下过程:顾客到达、排队等待、接受服务和离去。应急医疗救援系统与之类似,伤员相当于顾客总体,救治单元为伤员提供救治服务,相当于服务机构,由于应急医疗救援系统中伤员接受救治的规则需根据伤员伤情与救治单元实际情况决定,不是简单的先到先服务,重症伤员应该立即给予救治,轻伤员可适当等待,因此应急医疗救援系统属于一种有优先权的等待制多服务台排队系统。 与排队系统类似,应急医疗救助系统主要包括输入过程、救治规则、救治机构3个要素,因此建立应急医疗救援仿真模型就是利用仿真工具对这3个要素进行实现。输入过程包括伤员到达时间间隔、到达类型(单个或批量),本研究假设在时间t内到达伤员数n(t)服从泊松分布,即伤员到达时间间隔服从指数分布[8];救治规则即排队规则,在救治时通常根据伤情首先将伤员分为“紧急组”和“非紧急组”两类,记为A类和B类,A类应立即给予治疗,B类可延后进行救治,因此救治规则属于有优先权等待制;救治机构即服务机构包括救治单元的数目、类型与伤员救治时间的分布规律,本系统中设有多个救治单元并根据救治范围相应地分为A类和B类,同类救治单元配置与功能相同,救治单元救治伤员所需时间服从正态分布。

1.3 系统设计

本系统旨在为模拟战争或突发性灾难发生时某一独立救援单元(野战医院或与之相当规模的救治机构)的救治过程提供平台,伤员通过系统的总流程如下:伤员单个或批量到达系统,之后进行检伤,根据伤情分为A类或B类,并依据预先设计的救治策略分配至各救治模块,伤员救治结束后离开系统,被后送至上级救治机构。

利用离散事件建模的方法在Simulink中建立仿真系统,系统由参数输入、模拟、系统状态显示3部分组成(图 1),其中参数输入包括救治时间矩阵、伤员到达率、A/B类伤员比及基事件;模拟部分由Stateflow工具创建,如图 2所示,包括伤员到达(ARRIVE)、检伤分类(CLASSIFY)与治疗(TREAT_A/B)3种模块,其中A类救治模块设置3个,B类设置2个(可根据实际进行增减),A(B)类救治模块可对A、B类进行救治,由于救治模块功能与配置不同,其救治B(A)类伤员时间大于B(A)类救治模块救治平均时间(表 1),模块间为并行状态,通过仿真时钟、事件及响应函数进行协同。

图 1 系统结构图 Fig 1 System structure chart

图 2 Stateflow构建的救治单元 Fig 2 Rescue units in Stateflow

表 1 不同救治单元救治时间 Tab 1 Rescue time of different rescue units
1.3.1 伤员到达

伤员到达模块如图 3所示,在初始状态GENERATOR中利用随机数发生器产生服从指数分布的伤员到达间隔与伤员类别随机数,通过与阈值GT进行比较,以确定产生A类或B类伤员,之后通过节点分别连接临时状态tempA与tempB并产生事件C_A(A类伤员到达)与C_B(B类伤员到达),timmer为基事件,作为系统的仿真时钟,通过外部参数输入。

图 3 伤员到达模块结构图 Fig 3 Arrival structure chart of the wounded
1.3.2 检伤分类与救治策略

检伤分类模块如图 4所示,主要处理伤员到达、离开、仿真钟推进事件。系统中设有5个伤员救治模块,每个模块有a、b两个等待队列,对应A类与B类伤员,其中a队列为重症伤员需优先救治,当每个模块a队列中无等待伤员时则救治b队列中等待的伤员。A类伤员到达时产生C_A事件,由响应函数ca处理:选择当前各救治模块中A类伤员等待人数最少的模块进入,当有多个模块A类等待人数相同时随机选择其中某一模块,以保证A类伤员到达后第一时间得到救治。B类伤员到达后产生C_B事件,由响应函数cb处理:根据各救治模块已救治人数与等待人数进行决策,本研究设定两种救治策略并进行模拟:(1)B类伤员进入等待人数(a、b队列等待人数总和)最少的救治模块等待救治; (2) B类伤员进入救治模块工作量(各模块已救治伤员数)最少的救治模块等待救治,当有多个模块B类等待人数相同时随机选择其中某一模块,具体由伤员分配函数detec完成。函数length1(2)对各模块的队长进行更新,当A(B)类伤员救治完成后,利用响应函数soa(sob)对相应队列中伤员等待数、已救治人数、队长、等待时间进行更新。

图 4 检伤分类模块 Fig 4 Structure chart of triage unit
1.3.3 伤员救治

A(或B)类救治模块如图 5所示,分为空闲(idle)与工作(work)两种状态。其中空闲为初始状态,当对伤员进行救治时切换到工作状态,工作状态分为救治A类伤员与救治B类伤员两种,当模块对应的等待队列(a或b)中有伤员时切换至工作状态,同时随机产生服从正态分布的救治时间(可根据时间情况修改),之后触发伤员救治完成事件,包括S_OAA(A类救治单元救治A类伤员完成)、S_OAB(A类救治单元救治B类伤员完成)、S_OBA(B类救治单元救治A类伤员完成)、S_OBB(B类救治单元救治B类伤员完成)4种,当前救治模块等待队列中无伤员等待救治时,返回空闲状态,否则继续救治。

图 5 伤员救治(左图为A类伤员救治模块,右图为B类伤员救治模块) Fig 5 Rescue of the wounded: left is for type A wounded and right is for type B wounded
1.3.4 Simulink模块添加

在利用Stateflow构建了模拟部分之后,还需在Simulink中添加参数输入(伤员到达率、A/B伤员比、救治时间矩阵与模拟时钟)与显示部分(等待队长、停留队长、等待时间、停留时间与空闲率)。

1.4 系统仿真实验

利用设计的模拟系统对两种救治策略进行仿真,设置伤员到达率为0.08人/min,即伤员到达的平均间隔为1/0.08=12.5 min,A类伤员比例为0.6,各模块救治时间如表 1所示,仿真时间设为72 h,每种救治策略仿真10次,分析结果。

2 结 果

系统仿真结果如表 2~4所示。由于救治策略为A类伤员优先治疗,可以看到同一救治模块中平均等待队长、平均停留队长、平均等待时间及平均停留时间各项指标队列A均优于队列B,其中,A类伤员平均等待时间小于3 min,平均停留队长在0.5左右。从各模块的工作强度来看,策略2中是根据已救治人数分配新到的B类伤员,一定程度上增加了B类伤员的等待时间,但各模块空闲率除B1基本不变外,其余均有所增加,即策略2在保证A类伤员及时救治的情况下,救治人员的工作强度减小,但同时B类伤员的等待时间明显增加。

表 2 平均等待队长与平均停留队长仿真结果 Tab 2 Simulation result of average waiting queue length and average queue stay length

表 3 平均等待时间与平均停留时间仿真结果 Tab 3 Simulation result of average waiting time and average stay time of the queue

表 4 空闲率仿真结果 Tab 4 Simulation result of idleness rate
3 讨 论

本研究建立了基于排队论与Stateflow的应急医疗救援仿真系统并对两种救治策略进行了仿真实验,验证了模型的可行性、实用性。系统采用Stateflow建立伤员到达、检伤分类、救治模块并与Simulink结合应用,能够方便地增减救治模块、改变救治策略及系统参数。利用计算机仿真技术模拟伤员救治过程能够对各种救治策略及医疗资源配置方案进行多方位研究,帮助卫勤指挥人员进行决策,弥补实际演练在设备、人员、资金等方面的不足[9]

本研究模拟了在伤员到达率与救治模块数量、类型一定的情况下,两种伤员救治策略的救治过程,可以看到两种策略在B类伤员等待时间与救治人员空闲率方面各有优劣。应用本系统对应急医疗救援过程进行模拟研究时,需首先对伤员到达规律即到达时间间隔与轻重伤员比例进行分析测算,之后可固定救治策略,通过增减救治模块的数目以确定最优救治机构力量配置;通过固定救治模块数目,改变救治策略,可分析不同策略的优缺点;此外,还可固定救治机构力量配置与救治策略,通过改变伤员到达规律,如增加伤员到达速率、改变类别伤员比例,从而分析救治机构应对不同伤员流的救援情况。

本研究的不足之处是系统模拟时未考虑伤员等待过程中伤势加重或等待时间过长而导致伤员类别的转换、人员在救治模块间流动等情况,忽略了检伤分类时间,下一步可通过对上述问题进行分析,进一步完善模拟系统。通过增加伤员种类与等待队列,系统可进一步应用到其他救援过程如医院船救治、医院门诊救治等的模拟。

参考文献
[1] 席 梅,侯建盛,刘爱兵.国际地震救援行动中的医疗力量配置分析[J].灾害学,2007,22:138-142.
[2] 卜寒奇,汪文生.军队卫生装备优化编配建模方法研究[J].第二军医大学学报,2011,32:532-536. Bu H Q, Wang W S. Modeling method for allocation optimization of military medical equipments[J]. Acad J Sec Mil Med Univ, 2011,32:532-536.
[3] 罗 晶,钱阳明,田丽丽,王海威,徐海琴,杨 颖,等. 基于排队论的医院船医疗救治仿真研究[J].解放军医院管理杂志,2010,17:933-935.
[4] 谢 峻.批量伤病员救治排队系统的建模与仿真[J].医疗设备信息,2006,21:8-10.
[5] 邹志康,刘巽明. 战时医院船床位利用排队系统研究[J].海军医学杂志,2003,24:139-143.
[6] 张 威. Stateflow逻辑系统建模[M]. 西安:西安电子科技大学出版社,2007:13-55.
[7] 吕学志, 任 帆, 于永利. 基于Stateflow的排队系统仿真方法[J]. 军械工程学院学报,2009,21:65-68.
[8] 胡丹丹,王国利,杨 超.考虑服务数量和服务时间的紧急救援站选址[J].公路交通科技,2012,29:133-136.
[9] 王 杨,范植华. 地震救援演练仿真系统的研究[J].计算机仿真,2013,30:404-408.