Features - User Management (Phase 4.1): - Database: Add user_modules table for fine-grained module permissions - Database: Add 4 user permissions (view/create/edit/delete) to role_permissions - Backend: UserService (780 lines) - CRUD with tenant isolation - Backend: UserController + UserRoutes (648 lines) - 13 API endpoints - Backend: Batch import users from Excel - Frontend: UserListPage (412 lines) - list/filter/search/pagination - Frontend: UserFormPage (341 lines) - create/edit with module config - Frontend: UserDetailPage (393 lines) - details/tenant/module management - Frontend: 3 modal components (592 lines) - import/assign/configure - API: GET/POST/PUT/DELETE /api/admin/users/* endpoints Architecture Upgrade - Module Permission System: - Backend: Add getUserModules() method in auth.service - Backend: Login API returns modules array in user object - Frontend: AuthContext adds hasModule() method - Frontend: Navigation filters modules based on user.modules - Frontend: RouteGuard checks requiredModule instead of requiredVersion - Frontend: Remove deprecated version-based permission system - UX: Only show accessible modules in navigation (clean UI) - UX: Smart redirect after login (avoid 403 for regular users) Fixes: - Fix UTF-8 encoding corruption in ~100 docs files - Fix pageSize type conversion in userService (String to Number) - Fix authUser undefined error in TopNavigation - Fix login redirect logic with role-based access check - Update Git commit guidelines v1.2 with UTF-8 safety rules Database Changes: - CREATE TABLE user_modules (user_id, tenant_id, module_code, is_enabled) - ADD UNIQUE CONSTRAINT (user_id, tenant_id, module_code) - INSERT 4 permissions + role assignments - UPDATE PUBLIC tenant with 8 module subscriptions Technical: - Backend: 5 new files (~2400 lines) - Frontend: 10 new files (~2500 lines) - Docs: 1 development record + 2 status updates + 1 guideline update - Total: ~4900 lines of code Status: User management 100% complete, module permission system operational
72 lines
3.6 KiB
Markdown
72 lines
3.6 KiB
Markdown
# **IIT Manager Agent 项目实施战略与 MVP 路线图**
|
||
|
||
## **1\. 核心战略:以“感知”驱动“信任”**
|
||
|
||
在 Phase 1,我们不急于实现“全自动数据搬运”,因为“写”的合规风险和技术门槛最高。我们应优先实现\*\*“智能感知与主动预警”\*\*。
|
||
|
||
**MVP 的定义:**
|
||
|
||
能够实时监听 REDCap 录入,利用 Dify RAG 发现逻辑偏差,并推送到 PI 的微信端进行预警。
|
||
|
||
## **2\. 三大里程碑 (Milestones)**
|
||
|
||
### **里程碑 1:通路搭建(“路要通”)**
|
||
|
||
* **目标**:建立 REDCap \-\> Node.js \-\> 微信的闭环。
|
||
* **关键任务**:
|
||
* **环境初始化**:SAE 部署后端,RDS 初始化 iit\_schema。
|
||
* **EDC 适配器**:完成 REDCap External Module (EM) 基础开发,实现保存记录时的 Webhook 触发。
|
||
* **微信联通**:完成企业微信应用创建与消息推送接口对接。
|
||
|
||
### **里程碑 2:智能注入(“脑要灵”)**
|
||
|
||
* **目标**:实现 AI 对临床方案的深度理解。
|
||
* **关键任务**:
|
||
* **Dify 知识库**:上传 1-2 份标准临床协议,调试 RAG 检索参数。
|
||
* **Prompt 调优**:编写并测试“数据质控 Agent”提示词,确保其输出符合我们的 JSON 协议。
|
||
* **影子生成**:实现后端自动生成 PendingAction 记录。
|
||
|
||
### **里程碑 3:闭环协同(“活要细”)**
|
||
|
||
* **目标**:上线 PC Workbench 和 PI 小程序,实现人机确认。
|
||
* **关键任务**:
|
||
* **Workbench 骨架**:基于 Ant Design X 实现任务列表与证据对比区。
|
||
* **PI 小程序**:实现品牌化报表展示与移动端一键审批。
|
||
* **回写闭环**:实现 APPROVED 状态后的 REDCap API 自动回写。
|
||
|
||
## **3\. 当前最重要的技术攻坚点 (Technical Hard Rocks)**
|
||
|
||
### **3.1 REDCap EM 的非侵入式“侧挂” (P0)**
|
||
|
||
* **挑战**:如何在不破坏医院既有 REDCap 环境的前提下,稳定地把数据“钩”出来。
|
||
* **对策**:利用 REDCap 官方的 External Module 框架,只做数据转发,不做业务处理。
|
||
|
||
### **3.2 证据链的“精准定位” (P0)**
|
||
|
||
* **挑战**:Dify 返回的文字片段如何转化成前端 PDF 预览的高亮坐标。
|
||
* **对策**:在 Dify 侧配置支持返回 metadata(含页码),前端实现一个轻量级的 PDF.js 高亮层。
|
||
|
||
### **3.3 任务引擎的“长周期调度” (P1)**
|
||
|
||
* **挑战**:临床研究持续数月甚至数年,如何保证任务不丢失、不重复。
|
||
* **对策**:利用 pg-boss 的持久化队列,结合 Postgres 事务保证状态一致性。
|
||
|
||
## **4\. MVP 版本功能清单 (Scope for MVP)**
|
||
|
||
为了让用户快速见到东西,MVP 建议仅包含以下功能:
|
||
|
||
1. **项目初始化**:手动输入 5 个关键变量映射(暂不做全量自动映射)。
|
||
2. **实时质控预警**:针对“年龄、性别、核心入排标准”进行 AI 检查。
|
||
3. **微信消息推送**:当录入违背方案时,PI 收到企微卡片。
|
||
4. **PC 简易工作站**:查看违背详情和 AI 给出的证据片段。
|
||
|
||
## **5\. 建议的行动顺序 (Next Steps)**
|
||
|
||
1. **立刻执行 (Day 1-3)**:
|
||
* 注册并认证企业微信开发者主体。
|
||
* 在阿里云 SAE 搭建第一个 Node.js Hello World,并调通企业微信推送 API。
|
||
2. **同步推进 (Day 1-7)**:
|
||
* 由一位前端工程师基于我们的 HTML 原生开始搭建 React 版本的 Workbench 骨架。
|
||
* 由一位后端工程师开始编写 REDCap EM 插件的 PHP 代码。
|
||
|
||
**当前阶段**:Ready to Code | **目标日期**:2 周内完成 MVP 演示闭环 |