50 lines
3.4 KiB
Markdown
50 lines
3.4 KiB
Markdown
# AI 全量患者上下文与处方闭环(2026-08-21)
|
|
|
|
## 范围
|
|
|
|
本次改造覆盖 `app` 医生工作台实际调用的患者级 AI 入口:AI 问诊助手(普通与流式)、AI 智能分析、诊断报告生成、患者纵向报告,以及新增的 AI 处方草稿。客户端不再自行拼装或截断患者资料,统一由服务端在完成诊单权限校验后聚合。
|
|
|
|
## 全量上下文覆盖矩阵
|
|
|
|
| 必须资料 | 权威数据源 | 发给 AI 的内容 |
|
|
| --- | --- | --- |
|
|
| 当前信息、现病史、病例/病历 | `tcm_diagnosis`(同一稳定患者全部未删除诊单) | 结构化字段与完整纵向记录 |
|
|
| 医生备注 | `tcm_doctor_note` | 备注正文、分类、时间及附件 |
|
|
| 舌苔/舌象 | `tcm_doctor_note.tongue_images` 等附件字段 | 文字描述与原图文件 |
|
|
| 报告信息 | 医生备注、诊单等记录中的报告附件 | 元数据与报告原文件 |
|
|
| 每日视频面诊文字 | `tcm_call_record`、`tcm_call_transcript_segment` | 完整转写文本;有录像地址时同时发送视频文件 |
|
|
| 日常记录 | `tcm_blood_record`、`patient_diet_record`、`patient_exercise_record` | 血糖/血压/用药、饮食、运动等完整明细 |
|
|
| 聊天与随访 | IM/微信消息与关联随访记录 | 可用的完整文本和附件 |
|
|
| 正式处方与记录病历 | `tcm_prescription` | 处方药味、剂量、用法、处方病历、审核状态 |
|
|
|
|
聚合结果不再使用客户端 320/500 字符截断,也不再只取当前诊单。超长纵向报告仍可分段送入模型,但不会在分段前丢弃资料。图片、文档、音频和视频通过上游文件参数发送;无法读取的附件要求模型明确说明,不能臆测其内容。
|
|
|
|
## AI 处方闭环
|
|
|
|
1. 医生在 AI 问诊助手选择“AI 生成处方”。
|
|
2. 服务端使用同一份全量纵向上下文生成严格 JSON 处方草稿。
|
|
3. 客户端只接受诊断、药味剂量、用法、辨证与风险说明;患者身份、诊单、预约、医生身份不得由模型覆盖。
|
|
4. 草稿必须进入现有处方编辑器,由医生复核并签名。
|
|
5. 保存后始终进入 `audit_status = 0` 的待审核状态,沿用现有审核发布流程;AI 不能伪造签名或绕过审核直接生效。
|
|
|
|
## 权限与数据完整性
|
|
|
|
- 服务端先按“我的患者”权限校验入口诊单,再按稳定患者 ID 聚合同一患者历史。
|
|
- 处方新增时再次校验诊单归属,并由服务端回填患者、预约、医生和病例字段,忽略客户端对权威身份字段的伪造。
|
|
- 处方编辑仅允许创建者,诊单关联不可被改写。
|
|
- 关键处方写接口在菜单配置缺失时不再默认放行。
|
|
- 含文档/音视频的请求不会静默降级为不带附件的文本请求。
|
|
|
|
## 验证结果
|
|
|
|
- 桌面端 AI/处方相关回归:244 passed。
|
|
- 桌面端重点 AI/仓储/处方回归:116 passed。
|
|
- 服务端 AI 上下文、权限、流式、快照、处方、安全与配置契约测试:通过。
|
|
- 所有本次涉及的 PHP 与 Python 文件语法检查:通过。
|
|
|
|
## 部署验收
|
|
|
|
- 配置可接收文件输入的 Dify 工作流,并确保模型/工作流能够读取所需附件类型。
|
|
- 使用包含舌象、报告、转写、日常记录和历史处方的真实患者,检查 Dify 调用日志中的文本上下文和 `files`。
|
|
- 让 AI 生成处方,确认医生签名不可省略、保存后为待审核、患者身份不能被请求参数篡改。
|