字段级定义见 API 参考(OpenAPI 自动生成),本页只列契约里强调的业务语义。

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 >= 0end_ms >= start_ms

AI-4 病例资料脱敏与分类

  • results 与请求的 filesupload_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 / femaleage 可能是字符串或数字。
  • 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 病例结构化与质控

  • 成功回调里 summarytimelinemissing_itemsqc_result 四块必然同时存在,可按必然字段解析。
  • qc_result.score 形如 "6/7"分母恒等于 items 数组长度(由代码数出,不是模型生成)。
  • qc_result.items 与请求的 qc_rules 一一对应;present=falsevalue 为 null。qc_rules["all"] 表示跑全部规则。

版本与缓存字段

多数结果带这两个字段:
  • processor_version:产出该结果的提示词 / 模型 / 规则版本组合。审计「这个结果是怎么来的」、版本间 A/B 对比、定位问题版本都靠它,建议随结果一起落库
  • from_cache:结果是否来自缓存。同一输入重发可能命中缓存,true 不代表数据过期。