1. 医院排班与资源调度工程导论

医院排班与资源调度工程,是研究如何在有限的人力、床位、设备与时间约束下,把正确的资源在正确的时间分配到正确的岗位与患者身上的交叉学科。它既不是单纯的“排班表制作”,也不是纯粹的运筹学理论,而是把临床业务规则、劳动法规、运营指标与算法模型结合起来的工程实践。理解这门课,首先要理解它要解决的真实问题:医院里最贵的资源是人,最稀缺的资源是时间,而患者的需求在一天之内、一周之内、一年之内都呈现强烈的波动。

课程定位:从“排班”到“资源调度工程”

传统排班往往停留在“把班次填满”的层面:护士长用 Excel 拉一张表,保证每个班次有人、尽量公平、避免连续夜班。但现代医院运营要求更高——急诊高峰时抢救室需要更多护士,手术日需要麻醉与器械护士同步到位,门诊高峰需要挂号、导医、诊室、检验窗口协同扩容。这些问题的本质是多资源、多约束、多目标的联合调度,因此本课程把它上升为“工程”问题:有输入、有约束、有目标函数、有可验证的输出。

本课程的定位可以概括为三层:业务层理解临床与运营规则;模型层把规则转化为可计算的约束与目标;工程层把模型落地为可运行、可维护、可评估的排班与调度系统。三者缺一不可:只懂业务会停留在手工经验,只懂模型会脱离临床实际,只懂工程会做出“能跑但没人用”的系统。

核心问题:四个必须同时回答的问题

无论排班对象是护士、医生、麻醉师、检验技师还是床位与手术间,核心问题都可以归结为四个:

  • 需求预测:未来一个周期内,各时段、各岗位需要多少资源?例如急诊科周一上午 9:00–11:00 的接诊量通常是夜间的 2~3 倍。
  • 约束建模:哪些规则不可违反?如护士连续夜班不超过 2 天、每人每周工时不超过 40 小时、手术间消毒周转不少于 30 分钟。
  • 分配优化:在满足约束的前提下,如何让公平性、覆盖率、成本、患者等待时间等目标尽量好?
  • 动态调整:当出现临时请假、急诊激增、设备故障时,如何快速重排并控制扰动范围?

这四个问题构成了本课程的主线。它们不是线性步骤,而是相互反馈的闭环:预测偏差会导致约束紧张,约束过紧会压缩优化空间,优化结果又会影响下一周期的需求与人员疲劳状态。

典型场景:从病房到手术室

医院排班的典型场景差异很大,但共享相似的工程结构。下面用一张关系图展示主要场景与资源、约束、目标之间的对应关系。

医院排班与资源调度:场景—资源—约束—目标关系图 典型场景 病房护理排班 急诊/门诊排班 手术室排程 医技科室排班 床位与入院调度 应急人力调配 调度资源 医生/护士/技师 床位/诊室/手术间 设备与耗材 时间窗口 技能与资质 预算与成本 关键约束 劳动法与工时上限 连续夜班与休息 资质与授权范围 设备消毒周转 公平性与偏好 突发应急响应 工程目标 覆盖率 最大化 等待时间 最小化 公平性 可接受 成本 可控 消耗 受限于 优化

这张图说明:场景决定资源需求,资源受约束限制,约束又反过来定义优化目标。工程实践中最常见的失败,是只盯着“目标”而忽略“约束”的真实来源——例如为了覆盖率最大化而安排护士连续夜班,短期指标好看,长期却导致离职率上升。

工程目标:可量化、可验证、可权衡

排班与调度工程的目标必须可量化,否则无法判断方案好坏。常用的目标包括:

目标维度典型指标示例目标值(示例假设)
需求覆盖岗位覆盖率、班次缺口数覆盖率 ≥ 98%,缺口 ≤ 2 班次/周
患者体验平均等待时间、超时接诊率门诊平均等待 ≤ 25 分钟
员工公平夜班次数标准差、周末班差异夜班次数极差 ≤ 2 次/月
运营成本加班工时、外聘人力成本加班占比 ≤ 5%
鲁棒性临时缺勤下的可调整空间单点缺勤可 30 分钟内补位

这些目标之间往往互相冲突:提高覆盖率可能增加加班,追求公平可能降低高峰时段的响应速度。因此工程上不追求“唯一最优解”,而是寻找帕累托改进——在不使任何关键指标恶化的前提下,改善至少一个指标。实际落地时,通常先设定硬约束(不可违反),再在软约束上做加权优化,权重由科室管理者与排班委员会共同确定。

整体知识地图

本课程后续内容围绕“需求—约束—优化—落地—评估”五个环节展开,但并非线性流程,而是持续迭代的闭环。需求预测为约束建模提供输入,约束建模决定优化模型的可行域,优化结果通过排班系统落地,运行数据又反馈回需求预测。下图给出课程的整体知识地图,帮助建立全局视角。

需求预测 ──→ 约束建模 ──→ 优化求解 ──→ 系统落地 ──→ 运行评估
   ↑                                                      │
   └────────────────── 数据反馈与迭代 ────────────────────┘

关键方法:
  需求预测:时间序列、排队论、机器学习
  约束建模:整数规划、约束满足、规则引擎
  优化求解:启发式、元启发式、列生成
  系统落地:排班系统、接口集成、权限与审计
  运行评估:KPI 看板、公平性分析、鲁棒性测试
学习本课程时,建议始终带着一个真实科室的排班问题:它的需求波动来自哪里?最硬的约束是什么?当前方案在哪个指标上最痛?把每章方法套用到这个问题上,比单纯记忆算法名称更有效。

从导论到实践:一个最小示例

假设某病房有 12 名护士,需要排一周的班,每天分早班(7:00–15:00)、中班(15:00–23:00)、夜班(23:00–7:00),每班至少 3 人。硬约束包括:每人每周至少休息 2 天、连续夜班不超过 2 天、夜班后必须休息至少 1 天。软目标包括:夜班次数尽量均衡、周末班尽量均衡。这个规模的问题用整数规划可以精确求解,但实际科室往往有 30~80 人、多技能等级、多班次类型,精确求解时间不可接受,因此需要启发式或分阶段求解。本课程后续会逐步展开这些方法,并给出可运行的示例代码与参数配置。

理解这门课的关键,是把它看作一个持续运行的工程系统,而不是一次性的表格制作。排班表只是输出,背后的需求预测、约束管理、优化算法、系统集成与效果评估,才是真正决定医院运营效率的部分。