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
4.4 KiB
4.4 KiB
PRD V4.0 - 第一部分:产品概述与核心流程
版本: 4.0
日期: 2025-10-21
1. 引言
1.1. 项目背景
当前,医学科研人员在进行系统性文献回顾、Meta分析或新药研发等工作时,面临着海量文献带来的巨大挑战。传统的文献处理流程,包括检索、筛选、数据提取和分析,是高度劳动密集型的工作,不仅耗时巨大,而且容易引入人为偏见和错误,直接影响科研结论的质量和时效性。本项目旨在开发一个基于人工智能的医学文献应用系统,通过自动化和智能化的方式赋能科研人员,将他们从繁琐的重复性工作中解放出来,聚焦于更高层次的科学洞见和创新。
1.2. 产品目标
- 效率提升: 将传统需要数月完成的系统性文献回顾流程,缩短至数天或数周。
- 质量保障: 通过先进的AI模型和校验机制,提升文献筛选和数据提取的准确性与一致性,降低人为偏见。
- 深度洞察: 在精准提取的数据基础上,提供多维度的综合分析和可视化工具,帮助用户快速生成高质量的证据图谱、综合评价报告等应用。
- 全程可溯: 确保AI处理的每一个环节(筛选、提取、分析)都有据可查,所有结论均可追溯至原文,满足科研的严谨性要求。
1.3. 目标用户
- 医学科研人员(高校、研究所)
- 临床医生与医学专家
- 制药公司及CRO(合同研究组织)的研发、医学和市场准入部门人员
- 循证医学与卫生技术评估(HTA)机构的研究员
- 高等院校的医学/药学专业学生及教员
1.4. 名词解释
- PRD: Product Requirement Document,产品需求文档。
- PICO(S): 系统评价中用于确定文献纳入排除标准的研究要素框架,包括:
- P (Patient/Population): 研究对象
- I (Intervention): 干预措施
- C (Comparison): 对照措施
- O (Outcome): 结局指标
- S (Study Design): 研究设计
- 证据图谱 (Evidence Mapping): 一种系统性地识别、描述和分类特定健康领域现有研究证据的方法,通常以可视化的方式呈现。
- Meta分析: 对相同研究问题的多个独立研究结果进行定量合并分析的统计方法。
2. 产品概述
2.1. 产品定位
一个遵循循证医学标准、专业、高效、可信赖的AI医学科研工具箱。它以研究方案为核心,驱动从文献检索到深度分析报告生成的全流程解决方案。
2.2. 核心价值
- 自动化: 自动执行文献筛选、数据提取等繁重任务。
- 精准化: 深度理解医学语言和PICO,保障筛选和提取的准确性。
- 结构化: 将非结构化的文献全文转化为结构化的数据资产。
- 智能化: 基于结构化数据,提供多样的下游分析应用和报告。
2.3. 功能总览图 (V4.0 更新)
graph TD
A[用户管理] --> B(项目管理)
B --> C[1. 研究方案生成]
C -- "指导后续所有流程" --> D
subgraph D\[研究执行流程\]
D1\[2. 智能文献检索\]
D2\[3. 标题摘要初筛\]
D3\[4. 全文复筛\]
D4\[5. 全文解析与数据提取\]
D5\[6. 数据综合分析与报告生成\]
end
D1 \--\> D2
D2 \--\> D3
D3 \--\> D4
D4 \--\> D5
D5 \--\> E1\[证据图谱\]
D5 \--\> E2\[Meta分析数据集\]
D5 \--\> E3\[药物综合评价报告\]
subgraph "产出应用"
E1
E2
E3
end
2.4. 设计哲学:集成化与模块化
本产品的核心设计哲学是“集成化与模块化并存”。
- 集成化: 六大核心功能模块(研究方案、智能检索、标题摘要初筛、全文复筛、全文提取、综合分析)无缝衔接,为用户提供一个从课题构想到报告产出的端到端、流畅连贯的系统性文献研究工作流。
- 模块化: 每个核心功能模块都可以作为一个独立的工具来解决特定的科研痛点。用户无需遵循完整的流程,可以根据自己的实际需求,从任意环节(如仅使用检索、或仅上传Excel进行筛选)切入,使用相应的功能模块。
这种设计旨在最大化产品的灵活性和适用性,服务于不同需求层次的广大科研用户。