## Why 当前 `DRG分组工作台`(`frontend/src/pages/DRG/Workbench.tsx`)使用前端 mock API(`/api/medicalRecord/list`)展示病案列表,并未真正对接 HIS 就诊、DRG 分组与病案首页三套业务数据,导致工作台无法反映真实分组进展,也无法按医院、分组阶段(事前/事中/事后)进行下钻分析。 现需以 `BS_HISPatAdm`(HIS 就诊主表)、`BS_DRGGroupRecord`(DRG 分组记录,含多阶段)、`BS_DRGMedInsuMedicalRecord`(病案首页)三张表为基础,重构分组工作台:新增整合三表数据的后端接口服务,并改造前端页面,使工作台基于真实数据、支持按登录医院筛选与按分组阶段下钻。 ## What Changes - **新增后端接口服务(编码取自 02010004–02010009 可用池,按需新增 2 个,连续使用 02010004/02010005)**,统一注册在 `src.DRG.Interface`,实现类落地于 `src.DRG` 包(新建 `src.DRG.Workbench`): - `02010004` 分组工作台列表查询:以 `BS_HISPatAdm` 为主表,按 `fixmedinsCode`(取自前端登录 session 的 `hospYBCode`)过滤,关联 `BS_DRGGroupRecord` 汇总出**事前/事中/事后**三阶段 DRG 分组结果(编码、状态、权重等)成列展示,支持分页并返回统计汇总(总数、已/未分组等)。 - `02010005` 按 `AdmID` 查询**患者全量整合视图**(HIS 就诊 + 病案首页 + 所有分组记录合并返回),供"分组详情"下钻使用;其中 `medicalRecord` 字段的数据形态与现有 `02010027`(病案首页详情)保持一致。 - **病案首页详情复用现有接口 `02010027`**(`src.DRG.HISData.Interface` → 前端已封装 `queryMedicalRecords`,`frontend/src/pages/HIS/MedicalRecords.tsx` 已按 Tabs(基本信息/诊断手术/费用/分组/病案首页图片)展示其返回内容,本次直接复用其布局与数据形态,不再新建 02010005 病案首页详情接口)。 - **分组记录历史复用现有接口 `02010036`**(`src.DRG.Interface` → `src.DRG.GroupDevice.QueryDRGGroupRecord`),该接口已支持按 `admID`/`medcasNo` 等条件查询 `BS_DRGGroupRecord`,本次不再新建分组历史接口(原拟编号已腾出)。 - **改造前端 DRG 分组工作台页面**(`frontend/src/pages/DRG/Workbench.tsx`):移除 mock API,接入上述接口;列表**一行一患者**,将事前/事中/事后三阶段分组结果成列展示,并新增**"分组详情"操作列按钮**点击下钻查询。 - **医院筛选由前端传入**:调用接口时从登录 `session.hospYBCode` 取当前登录医院的医保机构代码作为 `fixmedinsCode` 入参,后端按该值过滤。 ## Capabilities ### New Capabilities - `drg-grouping-workbench`: DRG 分组工作台——基于 `BS_HISPatAdm`/`BS_DRGGroupRecord`/`BS_DRGMedInsuMedicalRecord` 三表整合的查询与下钻工作台,包含后端整合接口服务(连续编号 02010004、02010005)与前端工作台页面改造,复用现有 02010027 查询病案首页详情、复用现有 02010036 查询分组历史,支持按医院筛选、三阶段分组成列与"分组详情"下钻。 ### Modified Capabilities ## Impact - **后端**:`src/DRG/Interface.cls` 新增 2 个 ClassMethod(02010004、02010005);新增后端实现类 `src.DRG.Workbench`;复用既有 `02010027`(`src.DRG.HISData.Interface` 病案首页详情)与 `02010036`(`src.DRG.GroupDevice.QueryDRGGroupRecord` 分组历史);依赖已存在的数据表 `BS_HISPatAdm`、`BS_DRGGroupRecord`、`BS_DRGMedInsuMedicalRecord`。 - **前端**: - `frontend/src/pages/DRG/Workbench.tsx` 重写数据源与列表结构(三阶段列 + "分组详情"按钮 + 下钻弹窗)。 - 新增 API 封装(建议 `frontend/src/api/drgWorkbench.ts`):`queryWorkbenchList`(02010004)、`queryPatientFullView`(02010005),并复用/轻封装 `02010027`(病案首页,参考 `DRG/MedicalRecords.tsx` 的调用方式)与 `02010036` 查询分组历史(参考现有 `DRG/Results.tsx` 的调用方式)。 - 调用接口时从 `getSession().hospYBCode` 取医院代码作为 `fixmedinsCode`。 - **数据/接口**:不改变三张表结构;新增接口为只读查询(列表/整合视图),病案首页复用 02010027、分组历史复用 02010036,分组动作仍复用现有 `02010001`(分组器)与 `02010035`(保存分组记录)。 - **依赖系统**:IRIS 数据库(SQL 关联查询)、前端 React + Ant Design。