Files
AIclinicalresearch/docs/03-业务模块/ASL-AI智能文献/01-需求分析/AI智能文献PRD(3)-提取与分析模块.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

52 lines
5.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# **PRD V4.0 \- 第三部分:提取与分析模块**
版本: 4.0
日期: 2025-10-21
## **3\. 功能需求详述 (续)**
### **3.5. 全文解析与数据提取模块 (V4.0 重构)**
**本模块负责对“全文复筛”阶段最终纳入的文献,根据“研究方案”中定义的变量清单,进行精准的数据提取和质量评价。**
| 需求ID | 需求描述 | 优先级 |
| :---- | :---- | :---- |
| **FR-EXT-01** | **基于方案的批量提取:** 系统根据“研究方案”中配置的“数据提取变量清单”对所有“最终纳入”的文献全文启动双模型如DS, Q3批量数据提取。需提供任务状态监控。 | **极高** |
| **FR-EXT-02** | **表格化数据审查台:** 核心审查界面采用**表格化布局**。 a) **表格结构:** 每一**行**代表一篇文献,每一**列**代表一个在方案中定义的提取变量包括研究特征、PICO要素、结局数据、质量评价项等。 b) **单元格内容:** 每个单元格清晰展示模型A和模型B的提取结果并高亮结果不一致的冲突项“待仲裁”。 | **极高** |
| **FR-EXT-03** | **点击查看原文 (模态框):** 用户点击任何一个需要仲裁(或需要核对)的单元格时,系统**弹出一个“双视图原文审查模态框”**。 a) **左侧:** PDF全文阅读器自动滚动并高亮AI提取该数据点所依据的原文片段。 b) **右侧:** 聚焦展示该数据点,包含双模型结果、理由、来源引用,并提供输入框供用户确认或修正最终值。 | **极高** |
| **FR-EXT-04** | **集成式批判性评价:** 用户在“研究方案”中选择的质量/偏倚风险评估工具如Cochrane RoB 2其评价条目将作为普通变量**一同整合**在表格化审查台的列中,允许用户在提取数据的同时完成质量评价,并为评价结果链接原文证据。 | 高 |
| **FR-EXT-05** | **数据汇总与导出:** 提供“数据汇总”页面将所有已审查确认的数据包括提取的变量和质量评价结果汇总到一个总表中支持筛选、搜索并提供一键导出为Excel的功能。页面应包含模型表现评估如正确率。 | 高 |
### **3.6. 数据综合分析与报告生成模块**
**本模块是一个交互式的分析平台,旨在将“全文解析与数据提取模块”产出的结构化数据,转化为富有洞见的专业分析和报告。**
| 需求ID | 需求描述 | 优先级 |
| :---- | :---- | :---- |
| **FR-ANLS-01** | **统一数据导入:** 模块的入口是“**3.5 全文解析与数据提取模块**”产出的最终结构化数据表。系统自动加载该数据作为分析的数据源。 | 高 |
#### **3.6.1 应用一:证据图谱生成 (Evidence Mapping)**
| 需求ID | 需求描述 | 优先级 |
| :---- | :---- | :---- |
| **FR-ANLS-MAP-01** | **图谱框架配置向导:** 提供一个向导式界面,让用户定义图谱的“坐标轴”和视觉元素: a) **Y轴配置 (干预措施):** 允许用户对提取的“干预措施”数据进行拖拽、分组和重命名。 b) **X轴配置 (结局指标):** 允许用户对提取的“结局指标”数据进行类似的分组和重命名。 c) **气泡含义配置:** 允许用户定义气泡颜色所代表的维度,如“研究质量/偏倚风险”或“研究设计”。气泡大小固定为“研究数量”。 | 高 |
| **FR-ANLS-MAP-02** | **交互式证据图谱生成:** 基于用户配置,生成一个交互式的气泡图矩阵。 a) **可视化展示:** Y轴为干预措施X轴为结局指标。交叉点上的气泡大小代表研究数量颜色代表用户选择的维度。没有气泡的单元格即为“证据空白”。 b) **悬停交互:** 鼠标悬停在气泡上显示总结信息研究数量高质量RCT数量等。 c) **点击交互:** 点击气泡,图表下方应动态展示该气泡包含的所有研究的详细列表。 | **极高** |
| **FR-ANLS-MAP-03** | **动态筛选器:** 在图谱旁边提供一组动态筛选器,允许用户根据“发表年份”、“研究设计”、“样本量”、“国家/地区”、“**特殊人群**”等维度实时过滤数据。图谱和下方的统计数据会随之动态更新。 | 高 |
| **FR-ANLS-MAP-04** | **自动化描述性统计:** 在图谱下方,根据当前筛选的数据,自动生成描述性统计图表和文字摘要,如研究类型分布饼图、研究趋势折线图等。 | 高 |
| **FR-ANLS-MAP-05** | **一键报告生成:** 提供“生成报告”功能,进入一个**智能报告编辑器**。编辑器预载由AI生成的报告初稿含图谱、统计图、AI文字解读、PRISMA流程、方法描述、附录等用户可在线编辑后导出为Word或PDF。 | 高 |
#### **3.6.2 应用二Meta分析数据准备**
| 需求ID | 需求描述 | 优先级 |
| :---- | :---- | :---- |
| **FR-ANLS-META-01** | **数据格式化导出:** 根据用户选择将从“数据提取模块”获取的结局指标数据如均值、标准差、事件数等自动整理并导出为适配主流Meta分析软件如RevMan, Stata格式的数据文件。 | 中 |
| **FR-ANLS-META-02** | **森林图预览:** 对于二分类或连续性变量提供一个基础的森林图Forest Plot预览功能让用户在导出前对数据合并的趋势有一个初步的视觉判断。 | 低 |
#### **3.6.3 应用三:药物综合评价报告**
| 需求ID | 需求描述 | 优先级 |
| :---- | :---- | :---- |
| **FR-ANLS-DRUG-01** | **多维数据整合:** 允许用户选择多个维度(如有效性指标、安全性指标、患者报告结局等),系统自动从数据源中整合相关数据。 | 中 |
| **FR-ANLS-DRUG-02** | **模板化报告生成:** 基于预设的药物综合评价报告模板自动将整合后的数据填充到报告的各个章节中生成包含PICO总结表、有效性-安全性矩阵图、关键研究列表等内容的Word或PDF报告初稿。 | 中 |