proposal.md 4.4 KB

Why

当前 HIS 端 HisPopup.tsx 处理预警时复用 02010104 ProcessWarning,每次只能更新单条预警记录。但在实际诊疗中,同一患者在同一天多次触发同类型预警规则会产生多条预警记录(例如反复进入医生站会反复弹出超额提醒)。

业务痛点:

  • HIS 医生处理最新一条后,同一天内该患者同类型的历史预警仍停留在"待处理",下次进入仍会重复弹出,造成骚扰与误判;
  • 处理行为是"针对该患者当日这一类预警"而不仅是"某一条",逐条处理对 HIS 用户不友好;
  • 现有 Center.tsx 监控中心面向医保办/管理员,本需求仅针对 HIS 弹框(HisPopup.tsx)的处理场景。

为此需新增后端批量处理接口,当用户在 HIS 弹框处理某条预警时,自动将当日该同一患者同一种预警类型的所有预警记录一并更新为已处理(确认/忽略)状态。

What Changes

  • 新增后端接口 02010109:BatchProcessWarningByDay,入参携带被处理记录的 warningId、处理方式(processStatus)、处理原因(processRemark);后端以该记录为锚点,读取其 fixmedinsCode / HISAdmID / WarningType / WarningDate,将同一机构、同一就诊、同一预警类型、同一预警日期且状态仍为"待处理(01)"的全部记录,在同一个事务内统一更新为传入的处理状态,并写入处理人/处理日期/处理时间/处理原因。
  • 新增前端 API 封装:在 frontend/src/api/warning.ts 新增 batchProcessWarningByDay(id, processType, processRemark)。
  • 修改 HisPopup.tsx 处理提交逻辑:将侧栏"确定"按钮原来调用的 processWarning(recordId, ...) 改为调用新的 batchProcessWarningByDay(recordId, ...),成功后刷新主表,并提示"已同步处理当日同类 N 条预警"。
  • 扩展 Center.tsx 处理弹框:在"确认预警/忽略预警"弹框中新增「处理方式范围」单选(Radio),让用户选择 单条处理(仅当前记录,走 02010104)或 批量处理(当日同患者同类型,走 02010109)。默认单条;选择批量时弹框内展示将同步影响的当日同类记录条数提示。
  • 新增接口 02010109 注册:按 CB_MapInterface 规范在 IRIS 中注册 src.DRG.Warning.BatchProcessWarningByDay。
  • 开发模式 Mock:在 request.ts 的 getMockResponse 中追加 02010109 分支返回处理成功。

Capabilities

New Capabilities

  • his-warning-same-day-batch-process:HIS 弹框处理预警时,当日同患者同类型预警批量更新能力(后端接口 02010109 + 前端处理入口切换)。

Modified Capabilities

  • his-warning-popup(HIS 弹框):其行内处理提交逻辑由单条 02010104 切换为批量 02010109,处理成功提示与刷新行为保持不变。
  • warning-center(预警监控中心):其"确认预警/忽略预警"弹框新增「处理方式范围」单选(单条/批量),由用户决定走 02010104 还是 02010109;批量时给出将同步影响的当日同类条数提示。

Impact

前端影响:

  • frontend/src/api/warning.ts 新增 batchProcessWarningByDay;
  • frontend/src/pages/Warning/HisPopup.tsx 处理侧栏"确定"提交改用 batchProcessWarningByDay;成功提示增加已同步条数;
  • frontend/src/pages/Warning/Center.tsx 处理弹框新增「处理方式范围」Radio(单条/批量),依据选择调用 processWarning 或 batchProcessWarningByDay;批量时显示将同步的当日同类条数;
  • frontend/src/api/request.ts getMockResponse 追加 02010109。

后端影响:

  • src/src/DRG/Warning.cls 新增 BatchProcessWarningByDay 方法(Code 02010109),复用 02010104 的状态映射与处理字段写库逻辑;
  • src/src/DRG/Warning/1.int 同步新增 INT 路由;
  • CB_MapInterface 表新增 02010109 接口映射记录。

数据影响:

  • 复用现有 BS_DRGWarningRecord 表,表结构不变;
  • 仅更新匹配条件的"待处理"记录,已处理记录不受影响;
  • 批量更新在同一 %SYS.Transaction 事务内完成,保证一致性。

集成影响:

  • HIS 端调用方无感知(仍通过 HisPopup 前端提交),底层由单条改为批量;
  • 不影响 Center.tsx 及 02010104 接口既有行为(保留给监控中心使用)。