SELECT f.n, ${normalizedContentSql('f')} AS content
FROM (VALUES ${Prisma.join(batch.map((r,n)=>Prisma.sql`(${n}::int,${r.type}::text,${JSON.stringify(r.content)}::jsonb)`))}) f(n,type,content) ORDER BY n`);
| A 契约和盘点 | 确认本稿、补齐所有读取点与支持入口、只读统计历史形态 | 11 类及回访/执行边界定稿;停用类型确无未处理调用;每个字段有来源、消费者、空值规则;医生与到诊口径差异已有样本结论 |
| B 兼容读取 | 先部署能识别新旧格式的消费者,写入仍为旧版;规范化影子读取 | 代表性样本覆盖两宿主及美亚;SQL/TS 结果一致;性能可接受;异常不静默吞数据 |
| C 新写入 | 修宿主映射、类型化 parser、字段校验;按宿主/类型小范围开启 | 入库无新增拒收;重复、乱序、部分失败重试通过;业务差异已审核 |
| D 历史治理 | 仅对可可靠恢复的字段与受影响患者分批处理 | 有断点、恢复演练、并发条件更新、负载边界;变更后的画像/召回解释清楚 |
| E 清理 | 移除已无入口依赖的死实现与重复兼容代码 | 有实际使用统计与覆盖证明;仍需读的历史格式保留解码器,不以截止日期强删 |
本地和测试环境至少覆盖:同日多病历、同名患者、跨来源重复 ID、预约未到/到诊无时间、计划无执行日期、诊断无父关联、影像有片无分析、零发现与未知结果、影像 AI 与医生记录同时存在、金额缺失与真实零金额、旧结构重放、过期/撤销/fulfilled 记录、未知扩展与非法嵌套字段。
回访与执行另覆盖:未来任务不冒认历史联系、过去未完成任务、已回访但结果未接通、缺失实际联系时间、系统负责人、任务负责人不同于专属客服、同患者同日两表记录不误合并、执行后改派不改历史批次、回调重复不增新执行、下次回访不当预约、未知来源状态、任务日期跨 UTC 日界。医生与到诊口径另覆盖只有病历无到诊、同日多医生、同名医生以及病历补录。