给配药室写一个交接班脚本
交接班是配药室最脆弱的时刻。上一班的人急着走,下一班的人还没进入状态,信息在两杯没喝完的茶之间蒸发。手写交接单丢过三次关键信息之后——其中一次差点造成给药延误——我决定把它变成程序的事。
问题拆解
信息在哪里丢失
交接内容分三类:待完成的配制任务、库存告警、设备状态。手写单的问题是三类混写在同一张纸上,读的人要自己重新分类。
已有系统为什么不够
医院的药房管理系统有任务队列,但它不知道“哪些事是这一班的人答应了下一班的”。这种承诺性的信息只存在于口头和便签上。
方案
脚本做的事很简单:从系统导出当班任务,按三类重排,附上手动输入的备注栏,生成一页 A5 清单。
def build_handover(tasks, alerts, notes):
sections = {
"PENDING": [t for t in tasks if not t.done],
"STOCK": [a for a in alerts if a.level >= 2],
"NOTES": notes,
}
return render_a5(sections)
效果
| 指标 | 之前 | 之后 |
|---|---|---|
| 交接遗漏(月均) | 2.7 次 | 0.3 次 |
| 交接耗时 | 约 15 分钟 | 约 6 分钟 |
| 纸张 | 随手撕的 | 固定 A5 |
三个月后回头看,效果最大的不是自动化本身,而是分类的强制性:程序不允许“顺便说一句”式的信息存在,所有事必须归进三类之一。
附录为什么不直接用系统的任务队列打印
系统打印出来的任务单有四十多列字段,是给审计看的,不是给凌晨两点接班的人看的。 信息设计的第一课:为读者的状态设计,而不是为数据的完整性设计。
下一步
01 编号的这套 h2 用在复盘文里刚好——每一节是一个明确的阶段。接下来想把库存告警的阈值做成按季节浮动的,冬天的生理盐水消耗和夏天完全是两条曲线。
注 · NOTES