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
52 lines
5.9 KiB
Markdown
52 lines
5.9 KiB
Markdown
# **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报告初稿。 | 中 |
|
||
|