feat(iit): QC deep fix + V3.1 architecture plan + project member management

QC System Deep Fix:
- HardRuleEngine: add null tolerance + field availability pre-check (skipped status)
- SkillRunner: baseline data merge for follow-up events + field availability check
- QcReportService: record-level pass rate calculation + accurate LLM XML report
- iitBatchController: legacy log cleanup (eventId=null) + upsert RecordSummary
- seed-iit-qc-rules: null/empty string tolerance + applicableEvents config

V3.1 Architecture Design (docs only, no code changes):
- QC engine V3.1 plan: 5-level data structure (CDISC ODM) + D1-D7 dimensions
- Three-batch implementation strategy (A: foundation, B: bubbling, C: new engines)
- Architecture team review: 4 whitepapers reviewed + feedback doc + 4 critical suggestions
- CRA Agent strategy roadmap + CRA 4-tool explanation doc for clinical experts

Project Member Management:
- Cross-tenant member search and assignment (remove tenant restriction)
- IIT project detail page enhancement with tabbed layout (KB + members)
- IitProjectContext for business-side project selection
- System-KB route access control adjustment for project operators

Frontend:
- AdminLayout sidebar menu restructure
- IitLayout with project context provider
- IitMemberManagePage new component
- Business-side pages adapt to project context

Prisma:
- 2 new migrations (user-project RBAC + is_demo flag)
- Schema updates for project member management

Made-with: Cursor
This commit is contained in:
2026-03-01 15:27:05 +08:00
parent c3f7d54fdf
commit 0b29fe88b5
61 changed files with 6877 additions and 524 deletions

View File

@@ -1,23 +1,25 @@
# IIT Manager Agent模块 - 当前状态与开发指南
> **文档版本:** v3.0
> **文档版本:** v3.1
> **创建日期:** 2026-01-01
> **维护者:** IIT Manager开发团队
> **最后更新:** 2026-02-26 **前端架构调整 + Web Chat 上线**
> **最后更新:** 2026-03-01 **质控引擎 V3.1 架构升级计划定稿(五级数据结构 + 多维报告)**
> **重大里程碑:**
> - **2026-03-01质控引擎 V3.1 架构设计完成!** 五级数据结构CDISC ODM+ D1-D7 多维报告 + 三批次落地计划
> - **2026-03-01架构团队评审完成** 采纳 InstanceID/规则分类/状态冒泡/LLM 三不原则,暂缓 SDV/自动映射/GCP 全量报表
> - **2026-02-26前端架构调整完成** 运营管理端恢复 IIT 项目管理 + 业务端精简为日常使用 + Web AI 对话页面上线
> - **2026-02-26CRA Agent V3.0 P0+P1 全部完成!** 自驱动质控流水线 + ChatOrchestrator + LLM Function Calling + E2E 54/54 通过
> - **2026-02-25CRA Agent V3.0 开发计划定稿**(替代 CRA 定位 + 报告驱动架构 + 4 语义化工具 + 统一驾驶舱
> - 2026-02-25QC 系统深度修复null tolerance + baseline merge + record-level pass rate
> - ✅ 2026-02-08事件级质控架构 V3.1 完成record+event 独立质控 + 规则动态过滤 + 报告去重)
> - ✅ 2026-02-08质控驾驶舱 UI 开发完成(驾驶舱页面 + 热力图 + 详情抽屉)
> - ✅ 2026-02-07实时质控系统开发完成pg-boss防抖 + 质控日志 + 录入汇总 + 管理端批量操作)
> - ✅ 2026-02-02REDCap 生产环境部署完成ECS + RDS + HTTPS
> - ✅ 2026-01-04混合检索架构实现REDCap实时数据 + Dify文档知识库
> **文档目的:** 反映模块真实状态,记录开发历程
> **V3.0 核心文档:**
> - [CRA Agent V3.0 开发计划](./04-开发计划/V3.0全新开发计划/V3.0全新开发计划.md)
> - [统一数字 CRA 质控平台 PRD](./04-开发计划/V3.0全新开发计划/统一数字%20CRA%20质控平台产品需求文档(PRD).md)
> - [UI 原型](./04-开发计划/V3.0全新开发计划/Final%20CRA质控平台V3.html)
> **V3.1 核心文档(质控引擎架构升级)**
> - [质控引擎 V3.1 开发计划(唯一开发文档)](./04-开发计划/V3.0全新开发计划/质控引擎V3.1架构升级-五级数据结构与多维报告开发计划.md)
> - [CRA Agent 质控体系全景技术路径(策略评审稿)](./00-系统设计/CRA%20Agent%20质控体系全景技术路径策略评审稿.md)
> - [五层数据架构方案评审反馈](./09-技术评审报告/五层数据架构方案评审反馈.md)
> - [CRA 四大工具工作原理说明](./08-对外输出报告/CRA智能质控Agent-四大工具工作原理说明.md)
---
@@ -53,24 +55,22 @@ CRA Agent 是一个**替代 CRA 岗位的自主 AI Agent**,而非辅助 CRA
- AI能力DeepSeek/Qwen + 自研 RAGpgvector+ LLM Tool Use
### 当前状态
- **开发阶段****V3.0 P0 + P1 已完成E2E 测试 54/54 通过**
- **P0 已完成**(自驱动质控流水线)
- 变量清单导入 + 可视化
- 规则配置增强4 类规则 + AI 辅助建议
- 定时质控 + 报告生成 + eQuery 闭环 + 重大事件归档
- 统一质控驾驶舱(健康分 + 趋势图 + 风险热力图)+ AI Stream Timeline
- **P1 已完成**(对话层 Tool Use 改造):
- LLM Adapter 原生 Function CallingDeepSeek / GPT-5 / Claude-4.5
- 4 语义化工具:`read_report` / `look_up_data` / `check_quality` / `search_knowledge`
- ChatOrchestrator 轻量 ReActmax 3 轮 Function Calling loop
- ChatService (1,442行) 已废弃,替换为 ChatOrchestrator (~160行)
- **前端架构调整已完成**2026-02-26
- 运营管理端:恢复 IIT 项目管理(项目列表 + 配置 + 驾驶舱),供运营团队使用
- 业务端 CRA 质控:精简为 5 个日常页面(驾驶舱 / 报告 / AI 工作流水 / AI 对话 / eQuery供 PI/CRC 使用
- 新增 Web AI 对话页面(`/iit/chat`+ 后端 `POST /api/v1/iit/chat` 端点
- **开发阶段****V3.0 P0 + P1 已完成 → 正在规划 V3.1 质控引擎架构升级**
- **V3.0 已完成**
- P0 自驱动质控流水线 + P1 对话层 Tool Use 改造 + E2E 54/54 通过
- QC 系统深度修复null tolerance + baseline merge + record-level pass rate + LLM 报告修正
- 前端架构调整(运营管理端 + 业务端 + Web AI 对话)
- 项目成员管理(跨租户添加成员 + 项目知识库)
- CRA 四大工具工作原理文档输出
- **V3.1 规划中**(质控引擎架构升级):
- **核心升级**:三级数据结构 → CDISC ODM 五级结构Record → Event → Form → Instance → Field
- **报告维度**:从单一通过率 → D1-D7 七维质控报告(入排/完整性/准确性/Query/安全性/方案偏离/药物管理
- **触发模式**:手动 + 定时 Cron + REDCap DET 实时触发
- **关键机制**:状态冒泡 + eQuery 自动闭环 + Record-Level Context + Event-Aware 完整性
- **落地策略**三批次落地A 数据地基 → B 聚合冒泡 → C 新维度引擎)
- **开发计划文档**[质控引擎 V3.1 开发计划](./04-开发计划/V3.0全新开发计划/质控引擎V3.1架构升级-五级数据结构与多维报告开发计划.md)
- **产品定位明确**:运营团队配置项目(白手套服务) → 终端用户使用质控平台
- **待开发**P1-2 对话体验优化 / P2 可选功能
- **代码规模**:后端 ~14,000+ 行(净减 ~1,100 行)/ 20 张表iit_schema
- **代码规模**:后端 ~14,000+ 行 / 20 张表iit_schema
#### ✅ 已完成功能(基础设施)
- ✅ 数据库Schema创建iit_schema20个表 = 原5个 + 4质控表 + 2新增(equery/critical_events) + 9其他
@@ -108,6 +108,17 @@ CRA Agent 是一个**替代 CRA 岗位的自主 AI Agent**,而非辅助 CRA
- 运营管理端(`/admin/iit-projects`)→ 运营团队:创建项目、配置 REDCap、设规则
- 业务端(`/iit/`)→ PI/CRC驾驶舱、报告、AI 工作流水、AI 对话、eQuery
#### ✅ 已完成功能QC 系统深度修复 + 架构评审 - 2026-02-25 ~ 03-01
-**QC 规则修复**seed-iit-qc-rules.tsnull/空字符串容忍 + applicableEvents 配置)
-**HardRuleEngine 增强**(字段可用性预检查 + skipped 状态)
-**SkillRunner 基线数据合并**(随访事件自动合并基线数据)
-**QcReportService 修正**Record-Level 通过率计算 + LLM XML 报告准确性)
-**批量质控修复**iitBatchControllerlegacy log 清理 + upsert RecordSummary
-**CRA 四大工具原理文档**(面向临床专家的工具工作原理说明文档)
-**质控引擎 V3.1 架构设计**(五级数据结构 + D1-D7 维度 + 三批次落地计划)
-**架构团队评审完成**4 份白皮书评审 + 评审反馈文档 + 4 条关键落地建议采纳)
-**V3.0 → V3.1 计划迁移**V3.1 为唯一开发文档V3.0 存档供参考)
#### ✅ 已完成功能(实时质控系统 - 2026-02-07
-**质控数据库表**iit_qc_logs + iit_record_summary + iit_qc_project_stats + iit_field_metadata
-**pg-boss 防抖机制**WebhookController + singletonKey
@@ -145,18 +156,37 @@ CRA Agent 是一个**替代 CRA 岗位的自主 AI Agent**,而非辅助 CRA
-**AI 意图识别增强**(支持"严重违规有几项"等自然语言查询)
-**Bug 修复**formatPatientData 500 错误 + 记录数统计 + 报告限制移除)
#### V3.0 开发计划(2026-02-25 定稿
#### V3.0 开发计划(已完成
> 详见:[CRA Agent V3.0 开发计划](./04-开发计划/V3.0全新开发计划/V3.0全新开发计划.md)
| 阶段 | 内容 | 预估 | 状态 |
| 阶段 | 内容 | 状态 |
|------|------|------|
| **P0-1** | ChatOrchestrator + ToolsService 重构 | ✅ 已完成 |
| **P0-2** | read_report + search_knowledge 实现 | ✅ 已完成 |
| **P0-3** | 定时质控 + 报告生成 + eQuery 闭环 | ✅ 已完成 |
| **P0-4** | 统一质控驾驶舱 | ✅ 已完成 |
| **P1** | 对话层 Tool Use + E2E 测试 54/54 | ✅ 已完成 |
#### ✅ QC 系统深度修复2026-02-25
| 修复项 | 说明 |
|--------|------|
| Null Tolerance | 质控规则增加 null/空字符串容忍,未填数据不再误判为 FAIL |
| Baseline Data Merge | SkillRunner 合并基线事件数据,解决随访期规则缺字段问题 |
| Record-Level Pass Rate | QcReportService 改为按受试者最严重状态计算通过率 |
| Legacy Log Cleanup | 批量质控前清理 eventId 为 null 的历史脏数据 |
| LLM 报告修正 | XML 报告准确反映真实质控结果(从 0% → 92.9% |
#### ⏳ V3.1 质控引擎架构升级(规划中)
> 详见:[质控引擎 V3.1 开发计划(唯一开发文档)](./04-开发计划/V3.0全新开发计划/质控引擎V3.1架构升级-五级数据结构与多维报告开发计划.md)
| 批次 | 内容 | 预估 | 状态 |
|------|------|------|------|
| **P0-1** | ChatOrchestrator + ToolsService 重构4 语义化工具 + LLM Tool Use | 2 天 | 待开始 |
| **P0-2** | report 工具补全read_report + search_knowledge 实现 | 1.5 天 | 待开始 |
| **P0-3** | 定时质控 + 报告生成 + eQuery 闭环pg-boss cron + 全量/增量报告 + eQuery 状态机 | 3.5 天 | 待开始 |
| **P0-4** | 统一质控驾驶舱(概览 + AI Stream + eQuery 管理 + 报告归档 + 重大事件库) | 2.5 天 | 待开始 |
| **P1-1** | 企业微信主动推送(日报/告警/eQuery 通知) | 2 天 | 待开始 |
| **P1-2** | 管理端配置增强(规则模板 + 多项目切换) | 2 天 | 待开始 |
| **Batch A** | 数据地基(五级状态表 DDL + QcExecutor + InstanceID 标准化 + D1/D3 迁移 | ~5 天 | 待开始 |
| **Batch B** | 聚合冒泡(状态冒泡 + 多维报告 + Cron 灵活配置 + 驾驶舱升级 | ~5 天 | 待开始(依赖 A |
| **Batch C** | 新维度引擎D2 完整性 + D5 安全性 + D6 方案偏离 + 沙盒测试 | ~5 天 | 待开始(依赖 B + 临床专家确认) |
| **P2** | 长期可选PII 脱敏 / SDV 视觉核对 / AutoMapper / 数据响应质量评级) | - | 待开始 |
**P0 合计:约 9.5 天 / P0+P1 合计:约 13.5 天1 人)**