Files
AIclinicalresearch/docs/03-业务模块/IIT Manager Agent/00-系统设计/IIT Manager Agent 项目实施战略与 MVP 路线图.md
HaHafeng 66255368b7 feat(admin): Add user management and upgrade to module permission system
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
2026-01-16 13:42:10 +08:00

3.6 KiB
Raw Blame History

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 演示闭环