AI-1 & AI-2 发言完整性判定与整理
speech_text永远传全量:被退回补充后重新提交时也是完整发言,不是增量。- 只判要点覆盖,不判医学对错。
covered ∪ missing恒等于请求的points全集;reason=not_applicable(医生明确表示不适用)也算覆盖。 organized在要点未说完时整块为null——此时没有任何整理结果与结语,不要降级解析。is_complete=false时应提示医生补充missing里的要点后,用全量speech_text重发。structured[].voices首版固定为空数组(不是 null);voice_segments请求字段被容忍但忽略,不要依赖。
AI-7 语音转写
voice_url必须为 HTTPS。- 每个分段满足
start_ms >= 0、end_ms >= start_ms。
AI-4 病例资料脱敏与分类
results与请求的files按upload_file_id一一对应。category枚举:medical_record(病历)/examination(检验)/imaging(影像)/pathology(病理)/surgery(手术)/unknown。desensitized_url可为null。对象存储接 COS 时是cos://bucket/key形式(协议允许,后端规范成 HTTPS 使用);本地调试部署可能只是原始 key。
AI-5 病例基本信息 OCR
patient_info的所有字段都允许为 null(识别不到就是 null,不是省略);gender非 null 时为male/female;age可能是字符串或数字。ocr_results覆盖请求里的每一份文件,ocr_result为该文件的 OCR 文本(Markdown)。
AI-3 报告综合建议参考稿
case_summary.diagnosis允许空字符串,key_question必填。- 回调里的
advice_draft去空格后非空、不超过 10,000 字符。 - 后端应把
advice_draft写入consultation_report.ai_advice_ref,不得覆盖主管填写的正式治疗建议。它是「参考稿」,如实并陈各科室意见,不替医生拍板。
AI-6 病例结构化与质控
- 成功回调里
summary、timeline、missing_items、qc_result四块必然同时存在,可按必然字段解析。 qc_result.score形如"6/7",分母恒等于items数组长度(由代码数出,不是模型生成)。qc_result.items与请求的qc_rules一一对应;present=false时value为 null。qc_rules传["all"]表示跑全部规则。
版本与缓存字段
多数结果带这两个字段:processor_version:产出该结果的提示词 / 模型 / 规则版本组合。审计「这个结果是怎么来的」、版本间 A/B 对比、定位问题版本都靠它,建议随结果一起落库。from_cache:结果是否来自缓存。同一输入重发可能命中缓存,true不代表数据过期。