Consultation 工程参考
更新:2026-09-21;定位代码基线为 STG
835c55d0。本页仅维护工程入口、聚合边界、排障与验证定位,不再另写一套问诊
PRD。业务、角色、状态和验收口径以 Consultation、Documents、Pharmacy、Cashier 和 Platform 为准。
原 866 行重构稿及 10 份早期任务规格已退出日常正文;独有字段建议、原验收编号、历史截图说明和未决来源可从来源清单的 archived_sources 恢复。保存来源不表示旧建议仍然有效;它们不是实施授权或当前状态。
工作区与状态入口
| 工程责任 | 当前定位 | 核查时关注 |
|---|---|---|
| 问诊工作区组合 | ClinicalWorkspaceApp.vue | 当前 Visit、患者/诊所上下文、模块切换、迟到响应清理 |
| 队列服务 | consultation_queue.py | 当前有效身份与就诊归属;队列只显示经授权的记录 |
| 访问判定 | auth_context.py | 真实操作者、模拟对象、有效任职与角色权限分开;旧 unrestricted 名称不授予管理员能力 |
| 共享前端状态规则 | clinicalWorkspaceRules.mjs | 保存、完成与错误表现;前端不能替代服务端资格校验 |
| 布局持久化 | desktop_layouts.py | 非临床偏好与用户/诊所隔离;不得将临床草稿存入布局对象 |
业务模式、布局/响应式和共享控件分别引用 Consultation §1、§8 与 UI 指南。旧“本地布局、不支持跨设备”是早期阶段限制,不作为现在的能力结论。具体配置版本、上下限和兼容行为从上述代码及布局测试读取,避免维护第二份易漂移常量表。
Note、转录与结构化诊断
- consultation_notes.py:病历模板、Note 与结构化诊断的持久化入口。
- consultation_note_draft.py:独立草稿处理;consultation_note_algorithm.py承接病历辅助生成。
- icd_mapping.py和 ICD 工程契约保留算法输入、编码体系、候选及映射关系。
- Note 保存与临床完成是不同动作;AI/ICD 候选不自动成为正式记录。主诊断能否为空、模板字段与 Consent 门禁只在 Consultation §3 维护,旧任务中的固定四字段、必须一项 Main 等说法不再作为并行要求。
- 重放/排障应记录 Visit、模板快照/版本、请求和响应状态;保留现有医生文字,避免用历史范例填充缺值。真实语音/模型配置与合成契约测试分别计证。
Prescription 与药房交接
规范处方服务承接草稿、签署版本及交接;处方前端规则只负责输入和显示。eMMS 集成及工程参考保留第三方数据与错误处理边界。
| 对象/事实 | 工程上需要区分 |
|---|---|
| Prescription Draft | 本次处方草稿;保存不等于医生签署 |
| Signed Version | 生成时的内容/价格/来源快照;更正须保留前后关系 |
| Handoff/Outbox | 可靠交接标识、重试与对方确认;不能由发送请求成功推断药房已收到 |
| eMMS 输入与结果 | 对应输入版本/哈希、映射覆盖和上游状态;不能把 Fixture 当作 Live Smoke |
| 药房履行及库存 | 审方、预留、结算、备药、复核、发药另循 Pharmacy 业务契约 |
具体数量限制、枚举、幂等键、Ack 身份和迁移映射从服务及 API 测试核对。旧任务已完成声明或早期“签署后并行收费”不覆盖现行 Pharmacy/Cashier 交接条件。
Service Selection 与 Lab
service_selections.py维护问诊服务选择;它与目录项目、供应方案、执行订单、结算费用组和报告是不同对象。当前跨模块流程见 Consultation §5、Lab及Lab 工程设计。
旧阶段“不创建 Investigation Order/未建设执行台”不再作为当前限制。排障须沿实际选择、签署/提交、费用组、执行单与报告引用检查;不要把某一阶段的保存成功当作下游执行完成。Lab 与外部 Vendor 的业务范围不由本工程参考扩展。
Clinical Documents
| 工程入口 | 保留的独有职责 |
|---|---|
| letters.py | 文档聚合、版本、模板/收件机构快照、签署及打印服务 |
| clinical_document_model.py | 文档结构、模型与内容规范化 |
| clinical_document_algorithm.py | 模型请求、最小上下文及结果约束 |
| 工作台规格 | 活动编辑工作台、页签、自动保存及版本契约 |
| 模板工程规格 | 合并字段、AI 区域、模板元数据与正文分离 |
| 算法接口 | 当前算法协议、字段与错误约束 |
模板说明、本次 AI 要求和区域指引是不同输入;模板起始内容与患者草稿正文分开。Document、不可变 Version、Signed 和 Print 是不同事实。正式签发/作废/重发的业务目标、当前实现及待确认项只在 Documents PRD 和对应证据中维护。
Billing Draft 与 Review Complete
路由负责协议适配,billing_finish.py维护可信来源、金额、版本、签署与事务编排。
- 工程对象包括 Billing Draft、来源行、Signed Charge Snapshot 和幂等请求;收费草稿不等于 Invoice、收款或结算完成。
- 来源由已保存临床对象和有效目录派生;价格快照、调整原因、版本和请求摘要用于定位冲突,不能信任客户端身份/原价。
stale_version、idempotency_conflict、定价或状态失败应按现有服务的实际错误处理,不能统一当作可安全重试的网络错误。- 原子提交与下游交接结果分别检查;零金额、复诊、退款和更正的行为按 Consultation §7 与 Cashier 维护。本页删除旧 No Cashier Required、独立 Send to Cashier 和手工 Other Service 等并行目标,不将旧建议推广为新规则。
代改内容与访问授权
delegated_edits.py及差异比较处理内容提交和医生决定;访问申请/grant 属于另一条链路。护士获草稿授权不等于获得医生全部动作资格。模块范围和门禁由 Consultation §2.2–2.3 决定。
近期差异展示规格保留尚需验证的工程细节;不据此推断业务 UAT。已有审计历史不得因只展示最新提交而删除。
验证入口及仍需核对的事项
| 专题 | 可执行测试入口 |
|---|---|
| Note/诊断 | test_consultation_note_api.py |
| 处方及交接 | test_prescription_api.py |
| Service Selection | test_service_selection_api.py |
| 文档 | test_clinical_documents_api.py、访问控制 |
| 收费与完成 | test_billing_finish_api.py |
| 布局 | test_desktop_layouts.py |
| 代改 | test_delegated_edits_api.py |
测试文件存在不表示已执行。最新结果经测试索引查找;验收按根 AGENTS 要求运行本地完整链路与 Docker 官方 Chrome。旧规格中的“不运行浏览器/只做纯函数测试”是已过期的阶段安排,不再保留为操作要求。
仍须逐项查证:其他问诊类型/Day Procedure/Physical Examination 的后续作业设计;草稿保留与并发恢复;正式文档生命周期;下游更正与失败补偿;生产语音/模型/隐私配置;移动端、真实数据迁移与 UAT。它们是待核领域,不表示全部未开发,也不因清理旧稿而视为关闭。范围与未决细则分别进入对应 canonical PRD 与交付说明,本页不再复制旧的“待确认负责人”清单。