尘土与星辰 -1992|第290章|留痕|中文
屏幕右下角的时间跳到10:14。终端窗口里,聚类脚本的进度条卡在37%。林尘盯着那行报错:`[WARN] Ambiguous match: '复方甘草片' vs '甘草片'。` 他揉了揉眉心,指尖沾着键盘缝隙里积落的微尘。旧HIS的用药记录像一本被水泡过的账本
第290章 留痕
屏幕右下角的时间跳到10:14。终端窗口里,聚类脚本的进度条卡在37%。林尘盯着那行报错:[WARN] Ambiguous match: '复方甘草片' vs '甘草片'。 他揉了揉眉心,指尖沾着键盘缝隙里积落的微尘。旧HIS的用药记录像一本被水泡过的账本,字迹洇开,剂量单位混杂着“瓶/盒/支/袋”,厂家名称缩写更是千奇百怪。2005年以前的老院区,录入全靠护士和药房手敲,错字、漏字、同音替代是常态。系统不认“大概”,只认精确的字符。
他不能依赖现成的国家药典字典。那太干净,装不下这些带着岁月包浆的历史。他新建了一个临时映射表,把通用名、剂型、规格拆成三个独立字段。用正则表达式做模糊匹配,阈值设在0.85。低于阈值的,进人工复核队列。高于阈值的,自动打标。他敲下回车,脚本继续滚动。日志文件以每秒十几条的速度膨胀,终端风扇发出低沉的嗡鸣。
苏曼推门进来,放下一杯温水。杯壁凝结的水珠滴在桌面上,洇开一小圈暗色。“医务处刚发邮件,”她说,声音压得很平,“检查组提前了。一点半到信息科机房。刘科长让你把脱敏日志和映射对照表打包,单独建个只读目录。审计公司的人带了溯源工具,要现场跑一遍回放。”
林尘点头,没停手。一点半。比原定时间早了半小时。他快速估算剩余数据量,大约九百条。如果按现在的处理速度,加上人工复核的二十条异常,勉强能赶上。但风险在于,一旦聚类算法把两种不同药理作用的药归到同一类,临床用药追溯就会出漏洞。等保审计不认“逻辑自洽”,只认“逐条可查”。
他调出错题本,翻到空白页。笔尖快速划过:10:20 调整阈值至0.88。增加剂型权重。复核队列优先处理抗生素与心血管类。注:中成药按拼音首字母反查,需人工介入。 他合上本子,手指重新落回键盘。修改参数,重载脚本,清空缓存。进度条重新从37%起步。这一次,滚动得更稳,但更慢。
11:05。进度条突破60%。左脚膝盖的麻木感开始向上蔓延,小腿肌肉不受控地轻微抽搐。他站起身,扶着桌沿慢慢踱步。办公室的空调开得很低,吹在汗湿的后颈上,激起一阵细密的战栗。他走到窗边,拉开一条缝。楼下的银杏树叶子已经泛黄,风一过,簌簌地往下掉。停车场里,两辆黑色的公务车正缓缓驶入,车牌被阳光照得发亮。检查组的先遣车。
“咖啡没了。”苏曼的声音从身后传来。她正在整理打印出来的日志清单,纸张摞成厚厚一叠,用长尾夹固定。“刘科长说,检查组重点看数据溯源链。我们的离线脚本日志,必须能对应到每一条原始记录的修改时间戳和操作人。他们不关心你怎么洗的,只关心洗完之后,能不能倒推回去。”
“时间戳是自动生成的。”林尘走回座位,坐下时尽量让左脚悬空,减轻膝盖的承重。“操作人写‘系统自动映射’。审计要的是留痕,不是追责。只要逻辑闭环,能复现,就合规。”
苏曼看了他一眼,没反驳。她知道林尘的底线:不碰灰色地带,不伪造数据。所有清洗规则都写在明面上,所有兜底逻辑都记录在案。这是一种笨功夫,但在医疗数据迁移这种容错率为零的领域,笨功夫往往是最硬的护城河。资本喜欢讲“一键清洗”“云端直连”,但医院的老系统里,藏着的都是人命和纠纷。
12:40。进度条停在98%。最后三十条数据卡在“中成药”分类上。旧系统里,中成药的字段名是拼音首字母,比如“XYKJ”对应“血府逐瘀胶囊”。但同一厂家在不同年份的批号写法不同,有的带“国药准字”,有的只有内部流水号。脚本无法自动对齐。
林尘深吸一口气。他手动打开原始数据预览,逐条核对。血府逐瘀胶囊、复方丹参滴丸、脑心通胶囊……他凭着大学时在图书馆翻过的《中药学》教材记忆,结合剂型和规格,一条条建立临时映射。手指在键盘上敲击的节奏越来越快,像一场无声的短跑。屏幕的冷光映在他眼下的青黑里,呼吸逐渐变浅。13:15。最后一条映射完成。他按下回车。
[INFO] Mapping complete. 1398/1400 records processed. 2 queued for manual review.
置信度:99.86%。假阳性拦截率:100%。
他导出日志,生成只读目录,打包压缩。文件名:HIS_Legacy_Mapping_2005_Audit_Log_v3.zip。上传至内网指定路径。时间显示13:28。距离检查组到达,还有两分钟。
他靠在椅背上,闭上眼睛。耳边的空调嗡鸣声突然变得清晰。左脚已经完全失去知觉,像一块不属于身体的木头。但他没有动。他在等。
13:30。走廊传来脚步声。皮鞋底敲击水磨石地面,节奏整齐。刘科长的声音在门外响起:“林工在吗?检查组到了。”
林尘睁开眼,站起身。左脚落地时,他微微踉跄了一下,但很快稳住重心。他拿起桌上的错题本,塞进抽屉。整理了一下衬衫下摆,推门出去。
会议室里已经坐满了人。白大褂、深色西装、审计公司的工牌。空气里弥漫着消毒水和旧纸张混合的味道。林尘没有坐主位,他站在投影幕布旁,把U盘递给刘科长。屏幕亮起,映射对照表逐页展开。审计专家戴着老花镜,逐行核对。时间戳、操作逻辑、兜底规则、异常队列处理记录。一页,又一页。
“这条‘阿莫西林0.25g’,原始记录是‘阿莫0.25’,你们怎么判定是同一规格?”专家指着屏幕问。
“结合剂型字段‘胶囊’和厂家代码‘0412’。”林尘声音不高,语速平稳,“旧系统录入习惯省略通用名后缀。我们通过历史处方频次交叉验证,匹配度0.91。已加入人工复核白名单,不阻塞主流程。”
专家点了点头,在笔记本上划了一笔。“逻辑清晰,留痕完整。自定义映射池的合规性说明,补充一份院内盖章的备案文件,下周交上来就行。”他顿了顿,看向刘科长,“历史数据迁移的底层架构,比预想的扎实。智脑那边的云端直连方案,确实不适合老院区。数据不是流水,是账。账得一笔一笔对。”
刘科长松了口气,转头看向林尘,眼神里多了几分郑重。
林尘微微点头,没说话。他退回信息科的办公室,关上门。背靠着门板,慢慢滑坐在椅子上。冷汗这才后知后觉地浸透内衣。他摸出手机,屏幕亮起。三条未读消息。
第一条是苏曼:“临床主任签字了。试点通过。下一步是全院推广。”
第二条是财务系统自动提醒:“本月服务器租赁费用已扣款。账户余额:12,400.00元。”
第三条,来自赵启明。只有短短一行字:“下午三点,老地方见。聊聊A轮对赌的补充协议。智脑退出了,但资本不会等。”
林尘盯着最后一条消息。屏幕的光映在他眼底,没有波澜。他锁上手机,拉开抽屉,重新翻开错题本。在新的一页,他写下:14:15 试点通过。遗留:全院推广需扩容算力,预算缺口约80万。赵启明约谈。
笔尖停顿。他补上最后一句:注:不签对赌。找替代方案。
窗外的风停了。银杏叶落在窗台上,边缘已经卷曲。林尘合上本子,手指轻轻敲了敲桌面。下一场硬仗,才刚刚开始。
More from WayDigital
Continue through other published articles from the same publisher.
Comments
0 public responses
All visitors can read comments. Sign in to join the discussion.
Log in to comment