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

8.5 KiB
Raw Permalink Blame History

PRD V4.0 - 第二部分:研究方案与筛选模块

版本: 4.0
日期: 2025-10-21

3. 功能需求详述 (续)

3.1. 研究方案生成模块 (V4.0 新增)

本模块是所有研究工作的起点和“唯一事实来源”其配置将指导后续所有模块的AI行为和界面展示。

需求ID 需求描述 优先级
FR-PROT-01 结构化方案定义: 提供一个向导式界面引导用户或由AI辅助定义一个完整的循证研究方案。 极高
FR-PROT-02 PICO 与纳入/排除标准定义: 在方案中提供结构化表单让用户清晰定义研究的PICO以及详细的文本格式的纳入和排除标准。这将是后续筛选模块的“宪法”。 极高
FR-PROT-03 数据提取变量清单配置: 在方案中,提供一个变量清单管理功能。 a) 预设清单: 根据用户选择的研究目的如证据图谱、Meta分析提供通用的、标准的变量提取清单。 b) 自定义清单: 允许用户在预设清单的基础上,自定义(增、删、改)需要提取的数据变量。此清单将作为“数据提取模块”的唯一依据。 极高
FR-PROT-04 方案锁定与版本控制: 研究方案一旦确立并开始用于筛选后,应被锁定或进行版本控制。任何后续的修改都应被记录,以保证科研过程的透明性和严谨性。

3.2. 智能文献检索模块

(原3.2模块,序号调整)

需求ID 需求描述 优先级
FR-SEARCH-01 关键词/主题词检索: 提供输入框支持用户使用标准关键词、MeSH主题词及布尔运算符AND, OR, NOT构建PubMed查询。
FR-SEARCH-02 交互式检索策略与语义排序: 提供一个与AI对话的界面通过多轮交流引导用户明确其核心研究问题。AI根据对话内容帮助用户构建和优化专业的检索策略。在执行检索后系统对返回的文献列表进行二次语义相关度分析并按相关性从高到低进行排序将最匹配的文献呈现在最前面。
FR-SEARCH-03 PubMed API集成: 系统通过API实时连接PubMed数据库执行检索并获取最新文献列表。
FR-SEARCH-04 结果展示与导入: 以列表形式清晰展示检索结果,包括标题、作者、期刊、摘要等。用户可勾选相关文献,一键导入到项目中进行下一步筛选

3.3. 标题摘要初筛模块 (V4.0 重构 - V7原型更新)

本模块是筛选流程的第一阶段,仅基于文献的标题和摘要进行快速筛选。 包含设置与启动、审核工作台、初筛结果三个子视图。

需求ID 需求描述 优先级
FR-TSCR-01 设置与启动视图: a) 标准参考: 页面顶部展示从“研究方案”继承的PICO和入排标准只读并提供“ 调整本次筛选标准 ”入口,允许用户进行仅对本次筛选生效的临时修改。 b) 文献导入: 页面下方提供文献导入功能,**仅支持“上传Excel文件”**方式,并提供模板下载。 c) 启动筛选: 导入文献后激活“开始AI初筛”按钮。
FR-TSCR-02 表格化审核工作台视图: 核心审核界面采用高信息密度的表格化布局。 a) 标准参考: 工作台顶部提供可折叠的“研究方案概览”面板展示PICO与入排标准。若应用了临时调整需有提示。 b) 表格结构: 每一行代表一篇文献,并支持展开显示第二行。 表头采用两行结构第一行合并单元格标示模型区域第二行在各模型下细分P/I/C/S/结论列。 主行 (Row 1): 包含展开/收起按钮, 文献ID (PMID), 研究ID (作者姓+年份), 文献来源 (期刊/DOI链接), DS-P(✓/✗/?), DS-I, DS-C, DS-S, DS-结论(纳入/排除), Q3-P, Q3-I, Q3-C, Q3-S, Q3-结论, 冲突状态, 最终决策(下拉选择框)。 展开行 (Row 2): 默认隐藏点击按钮后展开。仅包含两列分别显示DS 证据: (P/I/C/S对应的关键短语) 和 Q3 证据: (P/I/C/S对应的关键短语)。 c) 交互: 点击主行中的P/I/C/S判断图标(✓/✗/?)弹出“双视图原文审查模态框”,左侧显示摘要,右侧显示双模型对该维度的详细判断、理由和来源引用,原文自动高亮。 极高
FR-TSCR-03 双模型PICS逐项判断: 双模型DS/Q3需基于筛选标准对每篇文献的P/I/C/S四个维度分别进行判断 (✓/✗/?),提取关键证据短语,并给出一个总览的“纳入/排除”建议。 极高
FR-TSCR-04 分级与冲突管理: 系统需自动识别并高亮(如行背景色)两模型判断不一致的文献(冲突项),允许用户优先筛选处理。
FR-TSCR-05 批量操作: 支持对非冲突项进行批量决策。
FR-TSCR-06 初筛结果视图 (V7 新增): 提供独立的页面展示初筛的最终结果。 a) 统计概览: 以卡片形式展示“总计筛选文献数”、“初步纳入文献数”、“排除文献数”。 b) PRISMA式排除总结: 以列表形式展示主要的排除原因及其对应的文献数量非RCT n=X, 非目标人群 n=Y ...)。 c) 结果列表: 提供Tab页切换查看“初步纳入”和“排除”的文献列表。表格需包含列文献ID, 研究ID, 文献来源, 标题, 摘要(可展开), P(内容短语), I, C, S, 结论(纳入/排除), 排除理由。 d) 导出功能: 提供将结果列表导出为Excel的功能。

3.4. 全文复筛模块 (V4.0 新增 - V2原型更新)

本模块是筛选流程的第二阶段,对第一阶段初步纳入的文献,基于全文内容进行更严格的二次筛选。 包含设置与启动、审核工作台、复筛结果三个子视图。

需求ID 需求描述 优先级
FR-FSCR-01 设置与启动视图: a) 标准参考: 与标题摘要阶段类似,提供标准参考区和临时调整入口。 b) 启动路径: 支持两种启动方式1) 流程衔接: 自动加载从“标题摘要初筛”模块传递过来的“初步纳入”文献列表2) 独立启动: 若无传入数据则显示导入选项上传Excel, 从知识库添加)。 c) 全文获取与管理: 以表格形式展示待复筛文献列表包含列文献ID, 文献标题, 获取状态 (需模拟多种状态如获取中/成功/失败)。系统自动尝试获取全文。 d) 手动上传与知识库: 获取失败的文献提供[上传全文]按钮;提供[+ 从知识库添加]按钮入口。 e) 启动复筛: 只有当列表内所有文献状态均为获取成功时,激活“开始全文复筛”按钮(原型中可放宽此限制以方便演示)。
FR-FSCR-02 基于全文的PICS判断: 双模型DS/Q3需读取文献全文并再次基于筛选标准对P/I/C/S四个维度进行判断 (✓/✗/?),提取关键证据短语,并给出结论建议。 极高
FR-FSCR-03 表格化审核工作台视图: 复用与“标题摘要初筛”模块完全一致的表格化审核工作台组件包括表头结构、可展开行、点击弹窗交互确保用户体验的连贯性。区别在于AI判断的数据源是全文弹窗中展示的是PDF全文阅读器。 极高
FR-FSCR-04 产出最终纳入列表: 本模块审核通过的文献,将形成“最终纳入文献列表”,作为下一个“全文解析与数据提取”模块的输入。
FR-FSCR-05 复筛结果视图 (V2 新增): 提供独立的页面展示复筛的最终结果。 a) 统计概览: 展示“总计复筛文献数”、“最终纳入文献数”、“排除文献数”。 b) PRISMA式排除总结: 展示基于全文复筛阶段的排除原因及数量。 c) 结果列表: 提供Tab页切换查看“最终纳入”和“排除”的文献列表。表格需包含列文献ID, 研究ID, 文献来源, 标题, 最终决策, 决策方式, 排除理由。 d) 导出功能: 提供将结果列表导出为Excel的功能。

<!-- ### 3.5. 全文解析与数据提取模块 (V4.0 重构) ... (内容见第三部分文档) ...

3.6. 数据综合分析与报告生成模块

... (内容见第三部分文档) ... -->