尘土与星辰 -1992|第303章|边界与掩码|中文
屏幕右下角的进度条停在百分之四十二。机房里的工业风扇发出低沉的嗡鸣,热风裹着臭氧和灰尘的味道,贴在皮肤上。林尘的左脚已经完全失去知觉,像一块不属于身体的木头,但膝盖以下的肌肉仍在不受控地细微抽搐。他把手掌压在左腿外侧,用力往下按,直到痛觉神经被物理压迫暂时麻痹
第303章 边界与掩码
屏幕右下角的进度条停在百分之四十二。机房里的工业风扇发出低沉的嗡鸣,热风裹着臭氧和灰尘的味道,贴在皮肤上。林尘的左脚已经完全失去知觉,像一块不属于身体的木头,但膝盖以下的肌肉仍在不受控地细微抽搐。他把手掌压在左腿外侧,用力往下按,直到痛觉神经被物理压迫暂时麻痹,才松开手。
终端窗口里,日志正在滚动。
INFO: 预处理模块启动。动态掩码加载。缺失字段:血压(收缩压/舒张压分离)、既往史(手写体识别置信度0.61)、用药记录(单位非标:mg/dl → mmol/L)。
WARNING: 字段“肝功ALT”单位缺失,按1998年省标默认转换。已标记置信度降级。
INFO: 沙箱隔离环境校验通过。外网请求拦截率100%。本地知识库加载完毕。
林尘盯着那些跳动的字符。十年前的病历,纸张泛黄,字迹潦草,医生当年的笔误和简写全成了算法的陷阱。V2.0时期他靠手动清洗,现在靠规则兜底。他敲下回车,触发推理指令。
进度条开始缓慢爬升。百分之四十五,五十一,六十八。
机房的玻璃门被轻轻推开。周振站在门口,没进来,只是隔着玻璃看屏幕。他手里拿着那份手写的病历摘要,指腹摩挲着边缘的磨损处。苏曼跟在他身后,手里拿着记录板,神色平静。
“林总。”周振的声音透过玻璃门传进来,有些闷,“模型在跑什么?”
“在补全缺失维度的概率分布。”林尘没回头,手指悬在键盘上方,“病历里缺了肾功能指标和过敏史。模型不会瞎编,它会用同类病例的统计先验值做填充,但会把填充部分的权重降到最低。最终输出的不是诊断结论,是风险排序和鉴别诊断建议。”
“如果先验值错了呢?”
“所以有置信度区间。”林尘调出可视化面板。屏幕上出现三条曲线,分别代表不同病理假设的概率分布。峰值落在百分之七十一的位置,旁边标注着CONFIDENCE: 0.71 [RANGE: 0.64-0.78]。“低于百分之七十五,系统强制标记为‘需人工复核’。不越界,不抢医生的判断权。这是底线。”
周振沉默了几秒。他推开门走进来,把病历放在控制台边缘。“卫健委的检查清单里,有一条叫‘算法可解释性’。你们这个掩码机制,能追溯吗?”
“能。”林尘点开日志模块的审计视图。本地SQLite数据库里,三百二十条记录按时间戳排列,每一条数据访问、每一次权重调整、每一个字段跳过,都生成了独立的哈希值。链条完整,不可篡改。“所有决策路径都有迹可循。如果未来出现医疗纠纷,我们可以把推理过程的原始快照完整导出,供第三方复核。不黑盒,不推诿。”
周振俯下身,仔细看那些哈希链。他的目光在“置信度降级”和“人工复核”两个标签上停留了很久。机房里的温度还在上升,林尘的短袖后背已经被汗浸透,贴在脊椎上。他呼吸很轻,尽量不让胸腔的起伏干扰到操作台的稳定。
进度条走到百分之九十九。
INFO: 推理完成。输出报告已生成。未知字段跳过率4.3%。置信度峰值0.71。建议转人工复核。
SUCCESS: 沙箱闭环测试通过。无越权,无外泄,无中断。
林尘按下导出键。一份PDF文件落在桌面。他打印出来,递给周振。
周振接过报告,翻到最后一页。上面没有“确诊”两个字,只有“疑似慢性肝病伴代谢异常,建议完善腹部超声及肾功能复查,排除药物性肝损伤”。格式标准,措辞克制,完全符合临床辅助决策的规范。
“技术层面,过了。”周振把报告合上,从文件夹里抽出一张检查表,在“离线推理合规”和“审计追溯”两栏打了勾。“但林总,我要提醒你一句。算法跑通,只是拿到了入场券。省二院的伦理委员会下周上会,你们的系统要进临床试点,必须补一份连续三十天的真实世界脱敏数据回溯报告。没有这个,批文下不来。卫健委不养只会跑沙箱的实验室产品。”
林尘点了点头。“明白。数据清洗和脱敏流程已经就绪,今晚开始跑历史库。”
“不是跑历史库。”周振看着他,语气平淡,“是跑省二院过去三年的门诊日志。脱敏标准按国标三级走。你们只有七天时间。周五下午五点前,报告交到我桌上。逾期,试点名额顺延。”
周振转身离开。玻璃门关上,机房里重新只剩下风扇的嗡鸣。
苏曼长出一口气,靠在控制台边缘。“三十天真实世界数据,七天出报告。他这是在卡我们的交付节奏。”
“不是卡节奏。”林尘关掉终端窗口,保存日志,“是测我们的工程能力。沙箱能跑,说明算法没问题。但能不能在七天内把三年门诊日志清洗、脱敏、对齐、生成报告,决定我们能不能拿到批文。资本看对赌,卫健委看落地。两边都要交卷。”
他站起身。左脚落地的瞬间,麻木感像潮水一样退去,取而代之的是尖锐的刺痛。他踉跄了一下,扶住桌沿,没出声。苏曼伸手想扶他,他摆摆手,自己站稳。
“你去对接省二院信息科,申请历史数据导出权限。权限批下来,立刻启动清洗流水线。”林尘走到饮水机旁,接了一杯冷水,慢慢喝完,“我写脱敏脚本。国标三级的字段映射规则,今晚必须定稿。”
“你的腿撑不住通宵。”苏曼皱眉。
“撑得住。”林尘把水杯放下,走回工位。屏幕冷光再次亮起,照亮他眼下的青黑。“对赌周期二十四个月,卫健委的窗口期只有七天。时间不等人。我去写代码,你去跑流程。七天后,拿报告换批文。”
苏曼看了他两秒,没再劝。她拿起记录板,转身走出机房。
林尘坐下,打开一个新的代码编辑器。键盘敲击声重新响起,密集,稳定,没有停顿。他调出国标三级脱敏规范文档,逐条拆解字段。姓名、身份证号、住址、联系方式、就诊时间、诊断编码。每一个字段都需要不同的掩码策略:哈希替换、泛化处理、区间模糊、完全剔除。他建了一个新的类,命名为DataAnonymizerV1。
医院的旧HIS系统用的是GB2312编码,时间戳格式混乱,有的带毫秒,有的只有年月日。医生的诊断缩写更是五花八门,“慢支”“冠心”“糖耐”全得映射到ICD-10标准码。林尘没有急着写主逻辑。他先建了一个异常捕获层。任何解析失败的行,不中断流水线,直接写入隔离队列,打上PARSE_ERROR标签,附带原始字节快照。他太清楚这种脏数据的破坏力。三年前在县城网吧接外包,甲方一个全角逗号就能让整段脚本崩溃。现在他不再赌运气,只留退路。
屏幕右下角的时间跳到十一点四十分。
手机在桌面上震动了一下。林尘瞥了一眼。是老赵发来的微信,只有一行字:“省人民医院的竞品方案已提交伦理初审。你们的批文,别拖。”
林尘没回。他手指继续敲击,把DataAnonymizerV1的初始化参数写进配置文件。他知道,沙箱只是第一关。真正的战场,在数据,在流程,在七天后的那张批文上。
他翻开错题本,在新的一页写下:真实世界数据回溯。七天。脱敏流水线。竞品压力。
光标在命令行闪烁。他敲下回车。
流水线开始启动。日志滚动。窗外的天光彻底亮透,照进机房,落在键盘上。林尘盯着屏幕,呼吸平稳。左脚依然刺痛,但他没动。
代码在跑。时间也在跑。下一步,是拿数据说话。
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