3. 排队管理业务建模
排队管理是医院预约与排队系统的“调度中枢”。它要解决的核心问题不是“谁先来谁先看”,而是在有限诊室、有限医生、有限检查设备条件下,让不同来源、不同紧急程度、不同业务类型的患者,按照可解释、可追溯、可干预的规则进入服务。业务建模的目标,是把这些规则从口头约定变成系统可执行的数据结构与算法。
一、队列类型:按业务语义切分,而非按窗口切分
实际系统中,队列不应简单等同于“某个窗口前的队伍”。更合理的建模是按业务语义划分队列,再通过路由规则把患者分配到具体服务点。常见队列类型包括:
- 普通门诊队列:按科室、医生、时段划分,患者凭挂号序号进入。
- 复诊/回诊队列:患者已完成检查,返回同一医生处看结果,通常需要插入原队列。
- 检查/检验队列:如超声、CT、抽血,按设备或检查室划分,存在预约时段与现场排队两种模式。
- 药房取药队列:按窗口或智能药柜划分,通常与处方状态联动。
- 绿色通道队列:面向急危重症、孕产妇、高龄老人等特殊人群,独立于普通队列。
队列建模时,每个队列至少应定义:队列标识、所属科室/设备、服务容量、当前排队序列、平均服务时长、优先级策略、过号策略、是否支持预约插入。这些字段决定了后续叫号与协同行为。
二、优先级:让“紧急”可计算
优先级不能只靠人工判断,而应转化为可计算的权重。常见做法是采用“基础优先级 + 动态调整”的模型。例如,普通门诊患者基础优先级为 0,复诊患者为 1,绿色通道患者为 5;同时根据等待时长进行动态提升,避免低优先级患者无限等待。
一个可参考的排序分值公式为:
排序分值 = 基础优先级 × 10 + 等待时长(分钟) × 0.5 + 预约准时加成
其中预约准时加成用于奖励按预约时段到达的患者,例如提前 10 分钟内到达加 2 分。系统按分值降序叫号,同分时按到达时间升序。这样既保证紧急患者优先,又让普通患者看到“等待越久越靠前”的公平性。
三、叫号规则:从“喊名字”到“状态机驱动”
叫号不是一次广播,而是一个状态迁移过程。每个排队记录应经历:等待中 → 已叫号 → 前往诊室 → 就诊中 → 已完成,异常分支为过号和取消。系统叫号时,从队列头部取出若干条记录,推送到诊室屏、手机端和医生工作站,并启动应答超时计时器。
叫号规则通常包含:每次叫号人数(如 1 人)、重复叫号次数(如 2 次)、叫号间隔(如 30 秒)、应答时限(如 3 分钟)。若患者在时限内未确认到达,则触发过号处理。
四、过号处理:不是删除,而是重新定位
过号处理是排队系统中最容易引发纠纷的环节。合理策略不是直接作废,而是将患者转入“过号池”,并允许其在一定条件下重新插入。常见策略有三种:
- 顺延插入:过号患者回到队列时,插入当前叫号位置后第 N 位(如第 3 位),既不过分插队,也不至于重新排到最后。
- 重新取号:适用于检查类队列,过号后需重新取号,但保留原预约时段优先权。
- 人工干预:由分诊台护士根据现场情况手动调整,系统记录操作人与原因。
无论哪种策略,系统都应记录过号时间、处理方式、操作人和最终就诊时间,便于后续复盘与投诉处理。
五、绿色通道与多队列协同
绿色通道的本质是“跨队列优先权”。当绿色通道患者到达时,系统不应简单插入普通队列头部,而应触发协同机制:通知相关科室预留号源、调整检查设备排程、必要时暂停普通队列叫号。多队列协同则要求系统在多个队列之间共享患者状态,例如患者从门诊队列转入检查队列后,门诊队列应标记为“暂离”,检查完成后自动回到原队列并提升优先级。
六、业务建模的落地结构
把上述规则落到系统里,通常需要一张“队列-规则-状态”关系图。下图展示了一个门诊场景中,普通队列、复诊队列、绿色通道与检查队列之间的协同关系,以及叫号、过号、回诊的状态流转。
图中左侧是患者到达与分诊路由,中间三个队列分别对应普通、复诊和绿色通道,右侧叫号引擎按排序分值统一调度。下方状态机展示了从等待到完成的主路径,以及过号后进入过号池、再顺延插入的异常路径。检查队列以虚线表示“暂离-回诊”协同,绿色通道则以虚线直接触发优先叫号。
七、建模时需要明确的参数与判断依据
为了让规则可执行,建议在配置中明确以下参数:叫号间隔(默认 30 秒)、应答时限(默认 180 秒)、过号顺延位数(默认 3 位)、绿色通道基础优先级(默认 5)、等待时长权重(默认 0.5 分/分钟)、预约准时加成(默认 2 分)。这些参数应支持按科室覆盖,例如急诊科可缩短应答时限至 60 秒,超声科可增大顺延位数至 5 位。
综上,排队管理业务建模的核心是把“队列、优先级、叫号、过号、绿色通道、多队列协同”六个要素转化为可配置、可追踪、可回退的状态与规则。只有规则清晰、状态同步、异常有路径,系统才能在高并发门诊场景下保持秩序与公平。