老古的博客
首页 / 文章 / 泌尿外科排班系统进化史:从 Excel 到 AI 自动生成
医学 2026年5月28日 · 7 min

泌尿外科排班系统进化史:从 Excel 到 AI 自动生成

7 人轮转 + 3 副马拉松排班,试过 Python 脚本、飞书多维表格、最后用 AI Agent 一句话搞定。

每个科室都有几件”不治病但比治病还头疼”的事,排班绝对是其中之一。在泌尿外科,我们的排班规则设计得相当复杂:

排班规则

我们科室有 7 位医生轮转,基础模式是一个 6 天循环:

[1副, 2副, 门, 白, 夜, 休]

分别对应:一线副班、二线副班、门诊、白班、夜班、休息。

这还不够——还有一个 3 副马拉松模式:每天额外安排一位医生专职做”三线副班”,每人连续 7 天,按固定顺序轮换(古→夏→柏→周→凤→钱→张)。

切换规则也很绕:每次交接时所有人先右移一位,旧马拉松人接管新马拉松人释放的位子。

第一版:Python 脚本

最初我写了一个 Python 脚本,把轮转逻辑写死在代码里。输入上个月的排班表,输出下个月的。

# 伪代码示意
cycle = ['1副', '2副', '门', '白', '夜', '休']
marathon_order = ['古', '夏', '柏', '周', '凤', '钱', '张']

def generate_schedule(last_day_state):
    # ...复杂的轮换逻辑
    pass

好处是灵活,坏处是想调逻辑得改代码,而且排班表出来还是要手动复制粘贴到群里。

第二版:飞书多维表格

后来用飞书多维表格做了一个排班系统,公式字段 + 自动填充 + 日历视图。界面友好多了,改排班规则不用写代码,拖拽公式就行。

但有个问题:飞书 API 写多维表格经常报 403,权限 scope 弄了好几轮,最终还是手动操作。

第三版:AI Agent 一句话排班

最终解决方案来自于 Hermes Agent 的 cron job + skill 组合。我在 skill 里写好了排班规则,然后只需要一句话:

“生成泌尿外科 7 月份的排班表,6 月 30 日末班状态:周(0), 张(1), 凤(2), 夏(3), 古(4), 钱(5)”

Agent 就会:

  1. 从记忆里读取排班规则
  2. 根据末班状态推演整个月
  3. 输出结构化的排班表
  4. 自动发送到科室群
{
  "7月1日": {"古": "夜", "夏": "休", "柏": "1副", "周": "2副", "凤": "门", "钱": "白", "张": "马拉松三线"},
  "7月2日": {"古": "休", "夏": "1副", "柏": "2副", "周": "门", "凤": "白", "钱": "夜", "张": "马拉松三线"},
  ...
}

效果对比

方案生成耗时操作门槛错误率可维护性
手工 Excel30-40 min
Python 脚本5-10 min高(需改代码)⭐⭐
飞书多维表格10-15 min⭐⭐⭐
AI Agent30 秒极低(一句话)极低⭐⭐⭐⭐⭐

数字化的意义

从 Excel 到 AI Agent,表面上是工具升级,本质上是把隐性知识显性化。排班规则本来只存在于科室主任脑子里,现在变成了可复用的 skill 文件。即使换一个人来管排班,也能一键生成。