ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

医院人流仿真怎么做?SimWalk医疗项目实操指南

医院人流仿真怎么做?SimWalk医疗项目实操指南

做医疗机构人群仿真,和处理火车站、机场的常规行人仿真有一个根本差异:站房里的人状态高度一致,目标是进站、换乘、出站;而医院里同时存在目标明确的患者、来回折返的家属、行动不便的轮椅使用者、转运中的病床,以及大量处于等待状态的人群。SimWalk 这个系列写到第 14 期,我把这款软件用得最费心的场景就是医疗机构仿真,这里的每个细节一旦忽略,结果就会和真实就诊体验完全脱节。

这篇我打算把话说明白:医院人流仿真的痛点到底在哪、建模前要准备哪些参数、完整跑一个项目要经过哪些环节、常见问题怎么排查。适合做医院空间方案的设计师、基建与后勤部门、院感管理或运营优化团队,以及给医疗机构提供咨询和设计服务的同行参考。

1. 医疗机构人群仿真:这跟火车站人流完全不是一回事

1.1 先搞清楚医院里的人到底在“做什么”

很多第一次接触医院项目的人,会下意识把医院空间当成普通公共建筑来建模:入口生成行人、出口吸收行人、路径只连最近的路。这个做法几乎必翻车,因为医院里的大量行为不是“通过型移动”,而是“服务型移动”。

我仔细拆过医院行人的行为构成,大概可以分成五类:

  • 定向移动:挂号后去诊室、缴费后去药房、检查完回候诊区,这部分人目标清晰,但路径经常不是直线。
  • 排队等待:挂号、缴费、取药、候诊、办住院手续,这类行为占的时长比例非常高,往往比走路时间还长。
  • 徘徊寻路:找科室、找检查室、找自助机、找卫生间,特征是走走停停、来回折返。
  • 伴随移动:家属扶着患者、推着轮椅、陪着老人慢慢走,两个人的速度受其中较慢者约束。
  • 紧急转运:病床转运、手术接送、急诊推车,移动速度不高但占道宽,对向行人必须让行。

这意味着不能把一个医院访客建模成“单个行人从A点到B点”。正确做法是把他建模成一个“活动序列”:到达、排队、移动、再排队、再移动、最后离场。仿真模型的参数重心也相应从“走路速度”转向“服务时间、排队规则、路径选择”。

1.2 医院空间的三个“仿真痛点”

医疗机构的人群仿真之所以难,核心不在软件,而在空间组织。我总结了一下,医院建筑反复出现三类问题:

第一类是窗口服务型空间。挂号窗口、收费窗口、药房窗口往往集中在门厅两侧,早高峰时好几条队列同时存在。队列一旦排出护栏区域,就会和门厅的主通道交叉,严重时把整个大厅的横向通行截断。这类问题在图纸上看不见,只有把行人和队列一起放进动态模型里,才能看出冲突的严重程度。

第二类是候诊型空间。候诊区紧挨诊室走廊,叫号系统按顺序放人,但候诊人数超过座位容量后,站着等的人会自然外溢到走廊、楼梯口甚至电梯厅。模型里如果只画了“候诊座椅区”,没有考虑站等区域和溢出路径,仿真结果会比实际情况乐观很多。

第三类是通道型空间。医院走廊同时承载步行人流、轮椅、病床、物流小车。双向通行在直线段没问题,一旦遇到电梯厅、转角、开门位,就会形成瓶颈。用SimWalk做这类分析最合适,因为社会力模型能让行人在瓶颈处自然减速、绕行、等待,而不是按固定路线机械移动。

1.3 医疗机构仿真最适合回答的几类问题

基于上面这些痛点,SimWalk在医疗场景里最常回答的问题大概是以下几类:

  • 门诊楼高峰期,哪个出入口、哪个通道最常见拥堵?
  • 挂号窗口从8个减到6个,对最长排队时间和门厅拥挤度有多大影响?
  • 把缴费窗口换个位置,能不能避开取药队列和主通道的冲突?
  • 新院区方案里,科室布局会不会导致大量患者走“回头路”?
  • 某层病房区发生紧急疏散时,走廊和楼梯的疏散时间能否满足要求?

如果项目关心的是“某个空间改造后到底有没有改善”,那医疗机构仿真比单纯的排队论计算更有说服力。因为它输出的不只是平均排队长度,还包括整条走廊的密度演化、服务水平变化和每一名行人的行程时间分布,这些信息能直接支撑决策。

2. 建模之前的准备:数据、几何、行为参数一个都不能少

2.1 几何图纸的清理是第一步

很多人以为仿真建模的重心在软件操作,实际上医院项目的成败有一半在图纸处理。医院建筑的CAD图纸布局复杂:设备带、家具、屏风、绿植、临时隔断,什么都有。如果直接拿原始图纸导入SimWalk,绘制可行走区域时会非常痛苦,也容易出错。

我的习惯是先用CAD做一次“图纸净化”:

  • 删除家具、医疗设备、装饰性构件,只保留建筑结构、墙体、门窗、柱子、电梯井、楼梯。
  • 把每层的可步行区域边界检查一遍,确保是闭合轮廓,否则仿真时行人会穿墙。
  • 门洞宽度要按实际开启方向确认,急诊通道的门和病床转运区的门宽度差异很大,不能用一个默认值。
  • 无障碍坡道、自动门、电梯、扶梯都要单独标记出来,因为这些对象的通行能力、延误时间都和普通地面不同。
  • 如果有跨楼层场景,必须把楼梯和电梯定义清楚,SimWalk里的垂直通行对象会影响楼层间的换乘时间。

我踩过最典型的一个坑:图纸里有一扇常闭防火门,我在建模时按普通门处理,结果仿真里大量行人从这扇门穿行。后来和院方核对才发现常闭状态根本不通行。图纸呈现的是“设计状态”,而仿真需要的是“实际使用状态”,这两者不一致的时候,必须以实际情况为准。

2.2 行人类型与行为参数:不要只用健康成人的默认值

SimWalk的底层模型比较接近连续空间上的社会力模型,行人有目的地、期望速度和私人空间,每一步运动受目标吸引力、其他行人的排斥力和障碍物的排斥力共同影响。这套机制能自然模拟出绕行、减速、等待、插空等行为,但前提是参数贴合影对象的实际构成。

医院人群和车站乘客最大的区别是:移动能力差异极大。我通常会在模型里配置下面这些行人类型:

行人类型典型期望速度范围占用半径参考行为特点
轻症患者1.0 ~ 1.3 m/s0.25 m目标明确,偶有停顿
老年患者/行动不便者0.6 ~ 0.9 m/s0.30 m步速慢,路径稳定性差
家属/陪护1.2 ~ 1.5 m/s0.25 m常与患者伴行,跟随行为明显
轮椅使用者0.8 ~ 1.2 m/s0.40 m转弯半径大,避让能力弱
病床转运0.5 ~ 0.8 m/s0.50 m占道宽,无法快速避让
医护人员1.0 ~ 1.3 m/s0.25 m路径固定,紧急情况下会加速

注意一个关键点:速度参数是分布,不是固定值。仿真软件里设置“期望速度”之后,每个行人被赋予的速度会在规定范围内随机波动,这样比所有人统一一个速度更贴近真实。默认参数偏向健康成年人,直接套在医院项目上,结果会显著偏乐观。我在医疗项目里通常会把“老年患者+行动不便者”的比例放在15%到25%之间,具体取决于科室类型,老年科和骨科的比例要更高。

轮椅和病床的参数也值得单独处理:它们除了速度慢、占用半径大,还有一个特点是“对向避让不及时”。普通行人面对迎面来人会提前半秒调整方向,而病床推送人员通常要等到很近才会减速喊话。在SimWalk里这种差异不太好直接用固定公式表达,我的变通做法是把轮椅和病床的“个人空间”半径调大,并把它们的碰撞权重提高,让普通行人在模型中会产生更明显的让行行为。

2.3 活动序列与路径逻辑:建模前必须梳理就诊流程

医院人群仿真里,活动序列是整个模型的灵魂。一个完整的门诊流程通常长这样:

到达门厅 → 使用自助机或人工挂号 → 分诊台咨询 → 进入候诊区 → 诊室就诊 → 收费窗口缴费 → 药房取药 → 离场

这套序列里每一步都有对应的空间位置和服务时长。建模时不是给行人一个“起点”和“终点”,而是把整个“任务链”按顺序绑定到空间对象上。路径选择方面,SimWalk会让每个行人根据自己的活动序列,在每一步中选择合理路径。大部分患者会选择最短路径,但也有部分人会受到标识引导、从众习惯的影响绕路,这时候就要给不同活动序列的人设置不同的“路径选择偏好”。

还有一个我特别想提醒的细节:医院里有一类典型的“二次折返”路径,比如患者先从诊室去检验科抽血、再回到原诊室给医生看报告,然后去药房。这种路径在空间上表现为一个“回勾”。如果在建模时只把“诊室→药房”作为连续路径,就无法体现折返对走廊的二次压力。解决方式是单独建立一条“诊室→检验→诊室→药房”的活动序列,并估算这类患者的比例。

医院的每日人流高峰也有一些普遍规律:门诊高峰通常在早上8点到10点,伴随的是挂号和候诊的排队压力;下午高峰出现在复诊、取报告和取药的时段,人流分布相对分散但持久。建模前如果医院方有历史数据,包括分时段门急诊量、各楼层主要目的地分布,一定要充分利用。如果没有精确统计,至少也要通过现场观察估计各入口的“高峰小时进入人数”和各服务点的“平均服务时长”,否则后续所有输出都无从谈起。

3. 从CAD到输出报表:一次医疗机构仿真的完整实操

下面我用一个典型场景来做演示:某综合医院的门诊一层大厅,同时包含主入口、自助挂号区、人工挂号窗口、缴费窗口、药房取药窗口、分诊台和通往上层诊室的电梯厅。我要分析的是:早高峰时段,如果把其中两个人工挂号窗口改成自助机,大厅拥堵是否会改善。

3.1 六个主要步骤,从空白图纸到运行结果

第一步是导入底图。把净化后的CAD平面图导入SimWalk,检查尺寸单位。很多图纸是毫米单位,而仿真软件内部习惯用米,不统一单位会出现行人速度诡异、空间尺度完全不对的问题。我最开始在医疗项目里忽略过一次单位设置,跑出来人竟然穿墙,排查半天才发现是图纸尺度差了一千倍。

第二步是绘制通行范围。在底图上划定可步行区域,然后把墙、柱子、服务台、座椅区画成障碍物。注意:医院门厅的临时座椅、自助机点位、宣传栏都会占用人行空间,别漏掉。候诊区的座椅可以按“障碍物+座位容量”的方式来处理,排队的行人会绕过座椅区,候诊行人则可以进入。

第三步是设置行人生成点和吸引点。门厅主入口、急诊连廊、地下车库入口、电梯厅出口都要设定不同的“生成比例”。吸引点就是各服务点、诊室、药房、电梯厅。生成率按高峰小时进楼人数拆到每个入口,比如主入口承担60%、地下车库入口承担25%、连廊承担15%。

第四步是定义活动序列和服务点。这一步花的时间最多。我会把行人按就医类型分成若干类:普通门诊、复诊开药、陪同家属、轮椅患者、推床转运等。每一类都配置一条独立的“活动序列”,并把序列里的“挂号”“缴费”“取药”等服务环节绑定到具体服务对象上。服务对象的参数包括服务台数量、服务时间分布、最大队列容量、溢出规则等。

第五步是设置仿真时长与输出指标。医疗机构仿真最好不要只跑十分钟就结束。我一般让模型先“预热”十分钟,让人群在空间里自然铺开,再统计正式时段的指标。输出指标至少要包含:平均排队时间、最大排队长度、平均密度、服务水平等级、人均行程时间、时段流量曲线。如果项目涉及疏散,还需要额外设置疏散触发条件和安全出口位置。

第六步是试运行和多场景重复。第一次跑出来先别急着分析。打开可视化界面看有没有不合理的穿墙、卡死、逆行、服务点排队溢出等异常,确定模型行为基本合理后,再按不同随机种子重复运行10次左右。同一场景跑多次的意义在于消除随机性对结果的干扰,通常用平均值代表该场景的综合表现,而峰值结果用于评估最不利情况。

3.2 排队区域和服务能力的设置细节

SimWalk排队建模的核心是“服务点+队列空间”的组合。要设置几个参数:

  • 服务台数量:例如人工挂号窗口从目前的8个逐渐改为6个、4个,观察排队指标变化。
  • 服务时间分布:不同业务的服务时间差异很大。我按常见经验值给出一组范围——人工挂号60到140秒,收费120到180秒,药房发药120到240秒,分诊咨询30到60秒,自助机操作45到90秒。这些值用正态分布或三角形分布描述,比固定值更贴近现场。
  • 队列方向与容量:让队列沿护栏方向排列,并设置容量上限。超过上限时,新到达行人无法进入排队区,只能在附近滞留或重新选择路径,这个机制能自然模拟出“排队溢出到主通道”的现象。
  • 服务区与主通道的距离:如果服务台紧贴主通道,队列形成时会把通道完全截断,仿真结果会显示通道服务水平明显下降。

这里有个值得注意的逻辑:排队拥堵不一定源于服务时间长,也可能是队列空间不够。门诊大厅如果想通过减少人工窗口来推动患者使用自助机,仿真中光改窗口数量还不够,要把自助机的点位和服务时长、引导标识带来的路径选择概率都一起改,否则患者仍然会固执地挤到剩余的人工窗口前面。

3.3 密度、流量、服务水平:仿真结果应该怎么看

仿真跑完之后,输出内容很多,但真正用于决策的就那几项。密度云图最直观,能一眼看出哪个区域在几点几分变成红色;排队长度的时间序列能判断“最大排队发生在什么时候、持续多久”;总行程时间和延误时间是改造前后对比的硬指标。

服务水平的判定常用行人空间标准。以走廊类通道为例,通行能力从自由流到严重拥堵大致可以分成六档:

服务水平人均占用面积通行状态感受
A级大于3.2平方米/人自由行走,几乎互不影响
B级2.3 ~ 3.2平方米/人基本自由,少数绕行
C级1.4 ~ 2.3平方米/人正常行走,相遇时需避让
D级0.9 ~ 1.4平方米/人接近饱和,速度开始受限
E级0.5 ~ 0.9平方米/人拥挤,行走受限,大量停顿
F级小于0.5平方米/人严重拥堵,基本停滞

注意:密度不等于“单位面积站着几个人”,它对应的是包括身体间距、肩宽、随身物品在内的空间占用。医院里轮椅、病床、陪护行李都会放大单个行人的空间需求,所以同一个面积在医疗机构里的实际服务水平会比一般公共建筑更低。

在对比不同方案时,我建议至少把两个指标放一起看:最长排队时间反映最差时刻的体验;平均行程时间反映整体效率。有时候一个方案平均行程时间下降,但最长排队时间翻倍,说明它只是把压力从分散区域集中到某个点上,这种方案并不能算真正改善。

3.4 多场景对比:算出来的结果怎么汇报

仿真的价值最终要落到“对比”上。我给甲方出报告时习惯做一张改造前后对比表:

指标现状方案改造方案A改造方案B
早高峰门厅平均密度1.8平方米/人(D级)2.5平方米/人(C级)2.9平方米/人(B级)
挂号最长排队时间18分钟9分钟7分钟
缴费最长排队时间12分钟10分钟11分钟
药房取药最长排队时间21分钟6分钟8分钟
人均总行程时间26分钟19分钟18分钟
到达电梯厅平均用时4.8分钟3.2分钟3.5分钟

这张表能直接回答“改完之后到底哪里变好、哪里变差、哪个方案总体最优”的问题。密度云图作为附件展示“瓶颈位置如何转移”,比单独堆砌数据更有说服力。

提示:医院项目的汇报,最重要的不是讲模型原理,而是把每个指标翻译成“患者会多等几分钟”“走廊会不会堵”“要派几个引导员”这类听得懂的语言。

4. 常见问题与踩坑记录:医疗项目仿真最容易翻车的几个地方

4.1 仿真运行中的典型问题排查

我在这里把医疗仿真项目里反复出现的问题整理成一份速查表,每次跑模型卡壳时对照着查,比翻说明书高效得多。

现象可能原因解决建议
行人从墙壁穿过去可行走区域轮廓未闭合,或障碍物属性丢失回到几何层检查墙体闭合性,逐一补全边界
某区域密度远超直觉生成率设太高,或入口分配比例不合理核对高峰小时进楼人数是否合理拆分到各入口
排队人数无限增长服务时间设置过长,或行人持续被某种活动吸引到同一服务点检查服务分布的均值和标准差,确认活动序列逻辑是否会导致重复排队
轮椅与普通行人频繁重叠占用半径和避让参数没生效给轮椅和病床单独增加个人空间半径,降低它们的避让权重
仿真结果单次波动太大随机种子太少同一场景至少运行10次,取平均结果
大厅流量持续偏低行人找路困难或活动序列不完整检查是否存在“无法到达的目的地”,给行人增加路径选择提示

还有一个容易被忽略的问题:仿真时长不够。有些模型只跑了5分钟就做统计,而医院排队的随机性很强,5分钟样本往往不具代表性。我通常会把正式统计时长设在30分钟到1小时,至少覆盖一个完整的早高峰。

4.2 校准与验证:如何让模型贴近真实人流

仿真模型做得再精细,如果结果和真实人流对不上,就只能算“自洽的猜测”。我一般在建模完成后的第一轮运行就做校准,流程如下:

  • 用出入口计数数据或视频观察,统计早高峰各入口的实际进入人数和分时段流量曲线。
  • 在现场记录关键排队点的“队列实时长度”,特别是挂号和药房窗口的峰值队列长度。
  • 跑一轮仿真,把仿真的进门流量、排队人数、走廊密度和实测数据对比。
  • 如果仿真值相差超过10%到15%,先从生成率和服务时间两个环节排查。不要同时调七八个参数,那样会找不到因果关系。
  • 逐步调整入口生成比例、服务时间均值、行人速度分布,直到模型稳定在实测数据附近。

我曾经遇到过一个很典型的偏差:仿真显示门厅终点区域的密度一直偏低,实测则很拥堵。后来发现原因是模型里的门诊科室楼层比例设反了,大量行人被错误分配到低楼层的诊室,电梯厅的堆积量远低于实际。这类错误用肉眼很难发现,必须靠实测数据反推才能暴露。

4.3 医疗项目里最容易踩的四个坑

第一个坑是低估行动不便者的比例。医院里的人不是写字楼里的上班族,健康成年人的期望速度参数不能全局使用。早高峰时段,门厅里有相当比例的老人、孕妇、术后患者、推轮椅家属,他们的速度区间明显偏低。不混入低速行人,仿真出来的走廊密度和排队溢出都会失真。

第二个坑是忽略“成对”行为。医院里大量行人不是独立个体,而是“一患一陪”甚至“一患多陪”。如果按单个行人随机生成,大厅和走廊里看似人数相同,实际的空间占用和交互行为却差很多。医学里常说“陪伴者会放大患者的行动半径”,仿真建筑空间时,最好把陪伴关系通过“同步速度”或“低间距跟随”的方式体现出来。

第三个坑是电梯和扶梯建模不到位。医院垂直交通的重要性远大于普通办公建筑。电梯厅前排队的人会占用走廊空间,如果没有把等候区域单独建模,仿真结果会低估电梯厅对相邻通道的挤压。扶梯的速度、方向、满载率也直接影响楼层间的人流到达速率,这些对象建模一定要单独处理。

第四个坑是把“设计状态”当“使用状态”。规划图纸上的门可能常闭,图纸上的通道可能摆了一排导诊台,这些实际状态都会改变通行条件。做医院仿真项目,纸上推演不如现场走一圈。保持“模型服务于真实运营”的思维,比执着于参数精确性更重要。

4.4 医疗机构仿真的最终价值

聊了这么多技术细节,最后说点实话。医疗机构人群仿真做到最后,最有价值的产出往往不是那张漂亮的密度云图,而是帮决策者做“减法”:

  • 发现某个入口实际只需要现在的三分之二宽度,省下的面积可以还给候诊区。
  • 发现某条走廊就算再拓宽一两米,瓶颈还是在尽头的电梯厅,那这个拓宽预算就可以砍掉。
  • 发现把自助机挪到门厅侧边,比在门厅中间增设引导台更有效,运营调整的成本几乎为零。

我手里做过几个项目,仿真结论推动的都是很小的调整:调整几个窗口功能、挪一下自助机位置、把排队护栏换一个朝向。这些改动在图纸上不值一提,但现场感受天差地别。

我个人在这个场景里最深的一点体会是:做医疗机构人流仿真,先研究“人怎么生病”,再研究“人怎么走路”。没有把分诊流程、陪护关系、候诊等待、折返问路这些行为算进去,模型输出的数字再漂亮,也只是技术上的“标准答案”,跟现实不发生关系。下次你们要做医院项目,我建议先花几天去门诊大厅站一站,看那些真实的排队、伴随和反复问路,再回来建模。你会发现原来SimWalk里要填的那些复杂参数,现场早就给了你答案。

这个系列后面还会继续往下写,接下来我打算聊聊体育场馆和赛事人群的仿真思路,那是另一个更刺激的挑战:瞬时大流量、多入口散场、不同观众群体的情绪状态差异,都对模型提出了完全不同的要求。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进