佐伊终于让他们开始碰数据了——不是病人的生命体征数据,是床位周转数据。她把过去三个月的入院和转出记录导出来,说:“你们现在开始做预测模型。用这些数据训练,预测明天上午十点的空床数。”
Natilim和Ale坐在护士站的角落里,两台笔记本电脑并排亮着。他们花了三个小时做数据清洗、特征工程、模型训练。佐伊走过来的看了一眼,说:“特征少了。你们只用了时间,没有用科室转出规律、急诊负荷、手术室排期。还有,你们应该去问护士长‘明天早上有没有预定的转出’——不是所有信息都在数据库里,有一部分在人的脑子里。”
他们去问了护士长。护士长说:“明天上午,三床转去心内,五床转去普外,十一床家属今天下午签了转院——哦对了,十二床家属签了放弃,明天上午会把病人带回家。所以明天上午至少空四张床。”Natilim和Ale对视了一眼。他们在那天晚上把护士长的“脑子里的数据”也写进了模型——在模型里留了个手动修正的端口。
打杂的第八天,还是个夜班,也是他们在ICU的“打杂”的最后一天。
佐伊说:“今天你们自己做一次护士分配方案。根据明天上午的预测空床数和急诊预计转入量,做一个推荐排班表。做完了给我看。”
第二天下午,周五,他们回到19楼,佐伊工作室里亮着灯,她下了夜班补了觉,这会儿正站在白板前面,面前写满了新的公式和逻辑图。
佐伊听见Natilim和Ale推门进来,没有回头。她把马克笔的盖子盖上,放在笔托里,然后转过身来看他们。她看了他们几秒钟,没有说话。
Natilim和Ale站在那里,像两个等着被老师批评的小朋友。
过了好一会儿,佐伊说:“护士长跟我说了。你们做得还行。”她伸出手,把桌上那罐糖罐子往他们方向推了推,“你们的代码我看了。逻辑框架是对的,排班约束条件也列得差不多了。但床位分配算法里,优先级的判断还不够细——你用的是线性加权,但实际场景里权重会随病人状态变化。要把权重做成动态的。”她停了一下,“我不急。一周内改完就行。不用今晚就改。”
她又拿起马克笔,转回白板前面,“另外,护士长跟我说,你们对每一个人都很认真——护士、清洁工、病人、家属。这样的品质请继续保持。”
她说完之后开始在白板上写下一行推导。Natilim和Ale站在白板前面,发现她最后那句话的结尾没有加“但是”。
佐伊没有回头。“行了,去吃饭,去休息,今天下午不上课。糖罐子里有巧克力,自己拿。”
Debug跳上工作室的沙发,大大咧咧的伸了个毫不收敛的懒腰。把自己的身体伸得很长很长。
两个小家伙像是不敢相信佐伊放过了他们,站着没动。佐伊回过头看着他们。表情没有变,“代码可以慢慢改,逻辑可以慢慢优化,接口可以慢慢接。”
她停了一下,又补了一句:“我没那么快死,不急。”
Natilim和Ale对视了一眼,两双眼睛对在一起,像被人按了暂停键的画面。他们有点被吓到了。
外面走廊里传来Vital的脚步声——听起来像是在小跑着——越来越近。Vital推开门的时候,手里拎着帆布袋,看见Natilim和Ale站在佐伊的办公室里,大眼瞪小眼,又看了一眼躺在沙发上的debug,以及站在白板面前的佐伊,然后他说了一句:“你俩站着干嘛?佐伊说啥了,脑子卡住了?”
佐伊轻轻笑了笑,把一条公式写完,然后回头把巧克力抛进了面前三个人的手里,然后自己也拿了一颗,剥开糖纸,塞进嘴里。佐伊其实对自己身边的人从不吝啬表扬和糖果,只是她说话的语速很快,所以看起来,她只是冷漠的扔了两句话出来而已。
“他们这两周在ICU里干的还行,护士长跟我说如果他们想去继续打杂,给他俩留位置。”佐伊一边嚼巧克力,一边含含糊糊的补充,“vital,你那两个带的怎么样,等这个小作业做完,我们要换学生了。”
“第一阶段差不多了,是可以轮了。”vital把手冲壶从帆布袋里掏出来,然后在沙发上坐下。抬头看了看两个带教对象,“喝一杯?”
两个被佐伊的“表扬”震惊到的小家伙拿着巧克力球,忙不迭的告别,转身就走。
等走廊里的脚步声安静下去,vital已经在烫滤杯了,“你说啥了,他们俩这一脸见鬼了的表情。”
佐伊把白板笔的笔帽盖好,退了半步看了看被写满的白板,拿起手机拍了张照,“我说我没那么快死。”
vital笑了笑,脸上的表情看起来是那种——我已经习惯了这家伙语不惊人死不休。
“今天是瑰夏。标准四六。”
“好。”佐伊坐到沙发上,把debug一把捞过来。等着喝今天的第一杯咖啡。