需求规格说明书

Estimated reading: 5 minutes 372 views

版本: 1.0
日期: 2025-10-24
状态: Draft


1. 引言

1.1 文档目的

本文档定义了医疗器械AI辅助质量管理系统(QMS)的功能需求、非功能需求和约束条件,作为系统设计、开发和验证的基础。

1.2 项目背景

医疗器械行业面临日益严格的法规要求(ISO 13485、EU MDR、NMPA等),传统的质量管理流程存在以下痛点:

  • 文档工作繁重,重复劳动多
  • 追溯关系复杂,手工维护易出错
  • 法规文档生成耗时,需要专业人员大量投入
  • 缺乏统一的项目和产品管理平台

本系统旨在通过AI技术与传统QMS结合,提升质量管理效率,降低合规风险。

1.3 项目范围

包含范围:

  • 项目与产品生命周期管理
  • 设计历史文件(DHF)管理
  • 需求与风险管理(含追溯矩阵)
  • AI辅助技术文档生成(EU MDR、NMPA)
  • 临床评价基础管理

不包含范围(Phase 2+):

  • 完整的电子签名系统(21 CFR Part 11)
  • 供应商管理
  • CAPA(纠正预防措施)全流程
  • 生产批次追溯

1.4 部署模式

本系统支持两种部署模式,以适应不同的使用场景:

1.4.1 SaaS试用模式(演示/评估阶段)

  • 用途: 产品演示、功能评估、概念验证
  • 用户注册: ✅ 开放注册,支持外部用户自主注册
  • 多租户: 支持多企业并行试用,数据隔离
  • 功能限制: 可能包含功能或数据量限制
  • 部署方式: 云端统一部署,多企业共享基础设施

1.4.2 独立部署模式(正式生产阶段)

  • 用途: 企业正式使用的QMS系统
  • 用户注册: ❌ 关闭公开注册,仅管理员可创建用户
  • 单租户: 为单一企业提供专属系统实例
  • 数据安全: 企业数据完全隔离,符合合规要求
  • 部署方式:
    • 企业私有云部署
    • 企业本地服务器部署
    • 专属云实例部署

关键差异说明:

  • SaaS模式允许任何人注册试用,适合产品推广
  • 独立部署模式确保数据安全和合规性,适合正式使用
  • 系统应支持配置切换(环境变量控制注册功能开关)

1.5 术语与缩写

术语定义
QMSQuality Management System – 质量管理系统
DHFDesign History File – 设计历史文件
DHRDesign History Record – 设计历史记录
MDRMedical Device Regulation (EU) – 欧盟医疗器械法规
NMPANational Medical Products Administration – 国家药品监督管理局
GSPRGeneral Safety and Performance Requirements – 通用安全与性能要求
CERClinical Evaluation Report – 临床评价报告
V&VVerification & Validation – 验证与确认
LLMLarge Language Model – 大语言模型
SaaSSoftware as a Service – 软件即服务

2. 总体需求

2.1 业务目标

ID目标优先级成功指标
BG-1降低技术文档编写时间平均文档生成时间减少60%
BG-2提升追溯完整性追溯链接遗漏率<5%
BG-3支持多产品并行开发同时管理≥10个产品项目
BG-4符合法规审计要求通过ISO 13485审核

2.2 用户角色

本系统采用分层的角色权限模型,以适应不同部署模式和管理需求:

2.2.1 系统级角色

角色职责权限范围适用场景
Super Admin系统维护与技术支持全局系统管理、远程维护、跨企业访问(SaaS模式)系统开发者/维护人员

Super Admin特殊权限:

  • ✅ 远程登录任何企业实例
  • ✅ 系统配置管理(端口、数据库等)
  • ✅ 软件版本更新和部署
  • ✅ 诊断和故障排查
  • ✅ 数据库备份和恢复管理
  • ✅ 查看系统运行日志和性能指标
  • 不参与企业业务数据的日常管理

安全控制:

  • Super Admin操作需双因素认证
  • 所有Super Admin操作记录在审计日志
  • 企业可查看Super Admin访问记录
  • 敏感操作需企业Admin授权

2.2.2 企业级角色

角色职责权限范围关键功能
Admin企业组织管理员本企业用户、项目、基础配置用户管理、角色分配、企业设置
QA Manager整体质量监督本企业质量数据仪表板、审批、审计日志
RA Specialist法规文档编制文档生成和管理文档生成、模板管理、提交
Developer产品设计开发需求和设计文档需求录入、设计文档上传
Risk Engineer风险管理风险数据风险评估、控制措施
Clinical Specialist临床评价临床数据文献检索、CER编写
Viewer只读查看有限查看权限查看报告、追溯矩阵

Admin vs Super Admin区别:

  • Admin: 企业组织管理员,只能管理本企业的用户、项目、产品
  • Super Admin: 系统技术管理员,负责系统维护,不干涉具体业务
  • Admin可以:增删改查本企业用户、分配角色、管理项目
  • Admin不能:访问其他企业数据、修改系统配置、更新软件版本

3. 功能需求

3.1 用户管理与认证 (FM-AUTH)

FM-AUTH-000: 系统国际化支持

优先级: P0(必需)
描述: 系统应从项目开始就支持国际化(i18n),便于在不同语言环境下使用
验收标准:

支持的语言:

  • ✅ 中文(简体)- 主要开发语言
  • ✅ 英文 – 主要开发语言
  • 🔄 其他语言 – 可扩展(如日语、德语、法语等)

国际化范围:

  • 前端界面文本(按钮、标签、提示信息等)
  • 后端错误消息和API响应
  • 系统生成的邮件内容
  • 文档模板中的固定文本
  • 日期、时间、数字格式

技术实现:

  • 前端:使用i18next或react-intl
  • 后端:使用Babel或Flask-Babel
  • 数据库:支持多语言字段(JSON或独立表)
  • 默认语言:根据用户浏览器设置自动检测
  • 用户可手动切换界面语言

语言文件管理:

  • 集中管理翻译文件
  • 支持翻译文件的热更新
  • 翻译缺失时回退到英文
  • 提供翻译管理界面(Super Admin)

特殊考虑:

  • 法规文档内容本身不翻译(保持原始语言)
  • 界面可切换,但文档生成按目标市场语言
  • 支持从右到左(RTL)的语言(未来扩展)

FM-AUTH-001: 用户注册与登录

优先级: P0(必需)
描述: 系统应根据部署模式支持不同的用户注册策略
验收标准:

SaaS试用模式:

  • ✅ 开放用户注册功能(公开注册页面)
  • ✅ 邮箱验证流程(可选)
  • ✅ 新注册用户自动创建企业账户(单用户企业)
  • ✅ 支持企业邀请码(多用户企业)
  • ✅ 试用期限制(如30天免费试用)

独立部署模式:

  • ❌ 关闭公开注册功能
  • ✅ 仅Admin可创建新用户
  • ✅ 首次部署时创建初始Admin账户
  • ✅ Super Admin可通过特殊入口远程登录

通用要求:

  • 密码强度验证(≥8位,含字母+数字+特殊字符)
  • 登录后生成JWT token(有效期30分钟,可刷新)
  • 支持记住登录状态(Refresh Token,有效期7天)
  • 登录失败锁定机制(5次失败锁定15分钟)

配置控制:

  • 环境变量ENABLE_PUBLIC_REGISTRATION控制注册开关
  • 环境变量DEPLOYMENT_MODE设置为saasstandalone

FM-AUTH-002: 角色与权限管理

优先级: P0
描述: 系统应支持分层RBAC(基于角色的访问控制)
验收标准:

角色层级:

  • 系统级: Super Admin(1个角色)
  • 企业级: Admin, QA Manager, RA Specialist, Developer, Risk Engineer, Clinical Specialist, Viewer(7个角色)

权限管理:

  • Super Admin可以:
    • 访问系统管理面板
    • 远程登录任何企业实例(SaaS模式)
    • 查看系统运行状态和日志
    • 执行数据库维护操作
    • ❌ 不能直接修改企业业务数据(需通过Admin授权)
  • Admin可以:
    • 创建、编辑、删除本企业用户
    • 分配和修改用户角色
    • 管理企业设置和配置
    • 查看本企业所有数据
    • ❌ 不能访问其他企业数据
    • ❌ 不能修改系统级配置
  • 其他角色按功能模块分配权限(详见权限矩阵)

数据隔离:

  • 企业级用户只能访问本企业数据
  • 项目级权限:项目成员可见性控制
  • Super Admin访问需记录审计日志

3.2 项目与产品管理 (FM-PROJ)

FM-PROJ-001: 项目创建与管理

优先级: P0
描述: 用户应能创建和管理医疗器械开发项目
验收标准:

  • 创建项目时录入:项目名称、代码、描述、所有者
  • 支持项目状态跟踪(规划、开发中、验证、提交等)
  • 支持项目归档和恢复
  • 每个项目有独立的团队成员管理

FM-PROJ-002: 产品注册

优先级: P0
描述: 在项目下注册医疗器械产品
验收标准:

  • 录入产品基本信息(名称、型号、UDI-DI)
  • 选择风险分类(I/IIa/IIb/III)
  • 填写预期用途、禁忌症
  • 支持产品特性标签(有源、无菌、植入等)

FM-PROJ-003: 版本控制

优先级: P1
描述: 所有核心实体支持版本管理
验收标准:

  • 每次修改自动创建新版本
  • 记录版本变更说明
  • 支持版本对比
  • 可回滚到历史版本

3.3 需求管理 (FM-REQ)

FM-REQ-001: 需求录入

优先级: P0
描述: 录入和管理产品需求
验收标准:

  • 支持需求分类(用户需求、设计输入、功能、性能、安全、法规)
  • 录入需求编号、标题、描述、依据
  • 定义验收标准
  • 设置优先级(1-5)

FM-REQ-002: 需求状态管理

优先级: P0
描述: 跟踪需求生命周期
验收标准:

  • 支持状态:草稿、评审中、已批准、已实现、已验证
  • 状态变更需记录操作人和时间
  • 特定状态变更需审批(可配置)

FM-REQ-003: 需求导入导出

优先级: P1
描述: 批量导入导出需求
验收标准:

  • 支持Excel模板导入
  • 支持导出为Excel/CSV
  • 导入时数据验证和错误提示

3.4 风险管理 (FM-RISK)

FM-RISK-001: 风险识别与录入

优先级: P0
描述: 符合ISO 14971的风险管理
验收标准:

  • 录入危害、危害情境、潜在伤害
  • 评估初始严重程度(1-5级)
  • 评估初始概率(1-5级)
  • 自动计算风险值(严重程度×概率)

FM-RISK-002: 风险控制

优先级: P0
描述: 记录风险控制措施
验收标准:

  • 描述风险控制措施
  • 选择控制类型(固有安全设计、防护措施、警告)
  • 评估残余风险
  • 判定风险可接受性

FM-RISK-003: AI辅助风险建议

优先级: P2
描述: 基于历史数据提供风险建议
验收标准:

  • 输入产品特征后,推荐潜在风险项
  • 推荐相似产品的风险控制措施
  • 显示建议来源和置信度

3.5 追溯矩阵 (FM-TRACE)

FM-TRACE-001: 追溯链接创建

优先级: P0
描述: 在不同实体间建立追溯关系
验收标准:

  • 支持需求↔风险、需求↔设计、设计↔验证等多种链接
  • 定义链接类型(来源于、地址、控制、验证等)
  • 支持批量建立链接
  • 记录创建人和时间

FM-TRACE-002: 追溯矩阵可视化

优先级: P1
描述: 以图形化方式展示追溯关系
验收标准:

  • 使用网络图展示实体间关系
  • 支持缩放、拖拽、高亮
  • 点击节点查看详情
  • 导出为PNG/PDF

FM-TRACE-003: 追溯完整性检查

优先级: P1
描述: 自动检查追溯链缺失
验收标准:

  • 识别未追溯的需求
  • 识别未验证的设计输出
  • 生成追溯缺失报告
  • 提供修复建议

3.6 AI服务配置与管理 (FM-AI-CONFIG)

FM-AI-CONFIG-001: 动态AI模型管理

优先级: P0(必需)
描述: 系统应支持动态配置和管理AI模型,而非硬编码模型版本
验收标准:

Super Admin模型管理界面:

  • ✅ 配置OneAPI连接信息(Base URL, API Key)
  • ✅ 测试连接按钮 – 验证API Key有效性
  • ✅ 获取可用模型列表 – 从OneAPI动态获取
  • ✅ 查看模型详情(上下文长度、定价、性能等)
  • ✅ 标记模型状态(可用/不可用/维护中)

任务-模型映射配置:

  • ✅ 为不同任务类型分配模型:
    • 文档生成任务(EU MDR, NMPA等)
    • 快速问答任务
    • 代码辅助任务
    • 翻译任务
    • 批量处理任务
  • ✅ 配置主模型和备用模型列表
  • ✅ 设置模型优先级
  • ✅ 配置模型参数(temperature, max_tokens等)

模型测试功能:

  • ✅ 在线测试模型响应
  • ✅ 比较不同模型的输出质量
  • ✅ 查看模型响应时间
  • ✅ 估算成本

模型使用监控:

  • ✅ 查看各模型的使用统计
  • ✅ Token消耗追踪
  • ✅ 成本分析报告
  • ✅ 性能指标(响应时间、成功率)
  • ✅ 自动告警(成本超限、失败率高)

配置管理:

  • ✅ 配置版本历史
  • ✅ 配置导出/导入
  • ✅ 配置回滚功能
  • ✅ 配置变更审计日志

安全控制:

  • ✅ 仅Super Admin可访问模型配置
  • ✅ API Key加密存储
  • ✅ 敏感信息脱敏显示(仅显示部分)
  • ✅ 配置变更需要审批(可选)

系统行为:

  • ❌ 不在代码中硬编码模型名称和版本
  • ✅ 从数据库读取模型配置
  • ✅ 配置变更立即生效(无需重启)
  • ✅ 模型不可用时自动切换到备用模型
  • ✅ 提供降级方案(如缓存结果)

实现方式:

# 错误示例 - 硬编码(不应该这样)
DEFAULT_MODEL = "claude-3-5-sonnet-20241022"  # ❌

# 正确示例 - 动态配置
class AIModelConfig:
    def get_model_for_task(self, task_type: str):
        # 从数据库查询配置
        config = db.query(ModelTaskMapping).filter_by(
            task_type=task_type
        ).first()
        return config.primary_model if config else self.fallback_model

API端点:

  • GET /api/v1/admin/ai/models – 获取可用模型列表
  • POST /api/v1/admin/ai/models/test – 测试模型连接
  • GET /api/v1/admin/ai/models/{model_id}/stats – 查看模型统计
  • PUT /api/v1/admin/ai/tasks/{task_type}/model – 配置任务模型
  • GET /api/v1/admin/ai/config/export – 导出配置
  • POST /api/v1/admin/ai/config/import – 导入配置

FM-AI-CONFIG-002: AI服务降级与容错

优先级: P1
描述: 当AI服务不可用时,系统应有降级方案
验收标准:

  • 自动切换到备用模型
  • 使用缓存的历史结果
  • 降级到人工填写模式
  • 显示友好的错误提示
  • 记录故障信息供分析

FM-AI-CONFIG-003: 动态提示词管理 ⭐ 新增

优先级: P0(必需)
描述: 系统中所有AI功能的提示词不应硬编码,而应通过数据库管理,Super Admin可以在线编辑
验收标准:

提示词存储:

  • ✅ 所有提示词存储在数据库中
  • ✅ 支持变量占位符(如 {{product_name}})
  • ✅ 支持系统消息(System Message)配置
  • ✅ 支持多语言提示词
  • ❌ 不允许在代码中硬编码提示词内容

提示词分类:

  • 文档生成(document_generation)
  • 风险管理(risk_management)
  • 需求分析(requirement_analysis)
  • 设计评审(design_review)
  • 文献检索(literature_review)
  • 临床评价(clinical_evaluation)
  • 项目管理(project_management)
  • 质量保证(quality_assurance)
  • 法规合规(regulatory_compliance)
  • 通用助手(general_assistant)

版本管理:

  • ✅ 支持提示词版本控制(Major.Minor.Patch)
  • ✅ 可以激活/停用特定版本
  • ✅ 支持版本回滚
  • ✅ 版本继承和变更追踪
  • ✅ A/B测试不同版本的效果

Super Admin管理界面:

  • ✅ 提示词列表和搜索
  • ✅ 在线编辑器(支持Markdown)
  • ✅ 变量定义界面
  • ✅ 实时预览和测试
  • ✅ 版本历史查看和对比
  • ✅ 使用统计和质量评分
  • ✅ 导入/导出提示词

使用追踪:

  • ✅ 记录每次提示词使用
  • ✅ 追踪Token消耗和成本
  • ✅ 收集用户质量评分(1-5星)
  • ✅ 收集用户反馈
  • ✅ 生成使用报告和分析

代码使用方式:

# ✅ 正确方式:从数据库读取
result = await AIAssistant.run(
    prompt_code="risk_identification",
    variables={"product_name": "..."},
    user_id=current_user.id
)

# ❌ 错误方式:硬编码
prompt = "请识别以下产品的风险..."  # 不允许

FM-AI-CONFIG-004: AI上下文感知系统 ⭐ 新增

优先级: P0(必需)
描述: AI应能够全局获取产品/项目信息、QMS文档、文献数据等,提供智能化的上下文感知辅助
验收标准:

上下文类型:

  • ✅ 产品信息(基本信息、规格、风险列表)
  • ✅ 项目状态(阶段、进展、待办、问题)
  • ✅ QMS文档(SOP、WI、记录模板)
  • ✅ 文献检索结果(SOTA数据)
  • ✅ 风险评估数据
  • ✅ 临床数据
  • ✅ 法规要求
  • ✅ 历史记录

上下文收集策略:

  • ✅ 主动收集:特定事件触发自动收集
  • ✅ 按需检索:用户请求时动态检索
  • ✅ RAG检索:基于语义相似度的智能检索
  • ✅ 优先级排序:根据相关性排序上下文
  • ✅ Token限制:智能截断以适应模型限制

RAG检索功能:

  • ✅ 文本向量化(Embedding)
  • ✅ 向量相似度搜索
  • ✅ 结果排序和过滤
  • ✅ 支持混合检索(关键词+语义)

上下文更新机制:

  • ✅ 实时更新:数据变更时自动更新上下文
  • ✅ 定期同步:批量更新上下文索引
  • ✅ 过期处理:自动清理过期上下文
  • ✅ 增量更新:仅更新变化部分

API设计:

GET  /api/v1/contexts                     # 获取上下文列表
POST /api/v1/contexts/search              # 语义搜索
GET  /api/v1/contexts/product/{id}        # 产品上下文
GET  /api/v1/contexts/project/{id}        # 项目上下文

FM-AI-CONFIG-005: AI会话管理 ⭐ 新增

优先级: P1
描述: 完整追踪AI辅助过程,支持多轮对话,记录会话历史
验收标准:

会话功能:

  • ✅ 创建会话(关联用户、产品、项目)
  • ✅ 多轮对话支持
  • ✅ 对话历史保存
  • ✅ 会话状态管理(进行中/完成/取消)
  • ✅ 会话恢复(断点续传)

会话追踪:

  • ✅ 使用的提示词记录
  • ✅ 使用的上下文记录
  • ✅ Token消耗统计
  • ✅ 成本计算
  • ✅ 响应时间记录

用户反馈:

  • ✅ 满意度评分(1-5星)
  • ✅ 文本反馈
  • ✅ 结果采纳情况
  • ✅ 后续修改记录

3.7 AI智能辅助功能 (FM-AI-ASSIST) ⭐ 新增

FM-AI-ASSIST-001: 全生命周期AI辅助

优先级: P0(必需)
描述: 在产品全生命周期各阶段提供AI智能辅助
验收标准:

需求分析阶段:

  • ✅ 用户需求提取和转换
  • ✅ 法规需求识别
  • ✅ 需求分类和优先级建议
  • ✅ 需求冲突检测

风险管理阶段:

  • ✅ 风险识别(基于产品信息+SOTA数据)
  • ✅ 自动生成风险项到系统
  • ✅ FMEA分析辅助
  • ✅ 风险控制措施建议
  • ✅ 剩余风险评估
  • ✅ 风险验证计划建议

设计开发阶段:

  • ✅ 设计输入审查
  • ✅ 设计输出评审
  • ✅ 设计缺陷识别
  • ✅ 设计改进建议

验证确认阶段:

  • ✅ 测试计划生成
  • ✅ 测试用例建议
  • ✅ 测试结果分析

技术文档阶段:

  • ✅ EU MDR文档生成
  • ✅ FDA 510(k)生成
  • ✅ NMPA注册申报资料生成
  • ✅ 自动引用相关记录

上市后监督:

  • ✅ 不良事件分析
  • ✅ 根本原因识别
  • ✅ CAPA建议
  • ✅ 风险文件更新建议

示例:风险识别流程:

1. 用户点击"AI辅助风险识别"
2. 系统自动收集上下文:
   - 产品完整信息
   - SOTA文献数据(安全性和有效性)
   - 已有风险列表
   - 相关QMS文档(ISO 14971指南)
3. 调用风险识别提示词
4. AI返回识别的风险列表
5. 系统自动创建风险项记录
6. 为每个风险创建待办任务
7. 通知风险管理负责人

FM-AI-ASSIST-002: 智能推荐和预警

优先级: P1
描述: 基于历史数据和当前状态的智能推荐
验收标准:

  • 项目进度预警
  • 风险趋势分析
  • 法规变更提醒
  • 最佳实践推荐
  • 类似产品经验借鉴

3.8 AI文档生成 (FM-DOC)

FM-DOC-001: EU MDR文档生成

优先级: P0
描述: 生成符合EU MDR Annex II要求的技术文档
验收标准:

  • 支持Cover Letter生成
  • 支持Section 01-07模板
  • 从数据库自动填充产品信息
  • 生成HTML预览和DOCX下载

FM-DOC-002: NMPA文档生成

优先级: P1
描述: 生成NMPA进口备案/注册文档
验收标准:

  • 支持变更登记表
  • 支持产品技术要求
  • 根据变更类型条件渲染
  • 批量生成多个文档

FM-DOC-003: 文档版本管理

优先级: P1
描述: 管理生成文档的版本
验收标准:

  • 每次生成自动编号
  • 保存生成时的数据快照
  • 支持重新生成历史版本
  • 关联到DHF

FM-DOC-004: 人工审核与修订

优先级: P1
描述: AI生成后支持人工审核和修改
验收标准:

  • 在线编辑HTML内容
  • 标注AI生成部分和人工修改部分
  • 修改后重新生成DOCX
  • 审核批准流程(可选)

3.7 临床评价 (FM-CER)

FM-CER-001: 文献检索协议

优先级: P2
描述: 管理临床文献检索策略
验收标准:

  • 录入检索词和布尔逻辑
  • 定义纳入排除标准
  • 记录检索数据库和日期
  • AI辅助生成检索词

FM-CER-002: 文献筛选

优先级: P2
描述: 支持文献筛选工作流
验收标准:

  • 导入文献列表(Endnote/CSV)
  • 标题摘要筛选
  • 全文筛选
  • AI辅助初筛建议

4. 非功能需求

4.1 性能需求 (NFR-PERF)

ID需求目标值
NFR-PERF-001API响应时间(简单查询)<200ms (P95)
NFR-PERF-002API响应时间(复杂查询)<1s (P95)
NFR-PERF-003前端首屏加载<2s
NFR-PERF-004AI文档生成<30s (Cover Letter)
NFR-PERF-005并发用户支持≥20人同时在线

4.2 可用性需求 (NFR-USAB)

ID需求目标值
NFR-USAB-001系统可用性≥99% (排除维护窗口)
NFR-USAB-002新用户培训时间<2小时即可基本操作
NFR-USAB-003任务完成率>90% (用户测试)
NFR-USAB-004界面响应性支持桌面端和平板

4.3 安全需求 (NFR-SEC)

ID需求说明
NFR-SEC-001数据传输加密HTTPS/TLS 1.2+
NFR-SEC-002密码加密bcrypt加密存储
NFR-SEC-003审计日志记录所有关键操作
NFR-SEC-004会话管理30分钟无操作自动登出
NFR-SEC-005数据备份每日自动备份

4.4 兼容性需求 (NFR-COMPAT)

ID需求支持范围
NFR-COMPAT-001浏览器支持Chrome 90+, Edge 90+, Firefox 88+
NFR-COMPAT-002操作系统Windows 10+, macOS 11+, Ubuntu 20.04+
NFR-COMPAT-003数据库PostgreSQL 15+
NFR-COMPAT-004Python版本3.11+
NFR-COMPAT-005Node.js版本18+

4.5 可维护性需求 (NFR-MAINT)

ID需求目标
NFR-MAINT-001代码测试覆盖率≥70%
NFR-MAINT-002API文档完整性100%端点有文档
NFR-MAINT-003日志级别支持DEBUG/INFO/WARNING/ERROR
NFR-MAINT-004部署时间<15分钟(完整部署)

5. 数据需求

5.1 数据模型关键实体

实体关键字段关系
Useremail, username, role1:N → Project
Projectname, code, status1:N → Product
Productname, risk_class, uudi1:N → Requirement, RiskItem
Requirementreq_number, type, statusM:N → RiskItem, DesignOutput
RiskItemrisk_number, severity, probabilityM:N → Requirement
TraceabilityLinksource_id, target_id, link_type
Documentdoc_type, version, contentN:1 → Product

5.2 数据量估算(3年)

实体预估数量
Projects50-100
Products200-500
Requirements10,000-50,000
Risk Items5,000-20,000
Documents1,000-5,000
Users20-50

6. 接口需求

6.1 外部接口

接口类型用途说明
OneAPI (多模型代理)RESTAI文档生成与智能辅助主要AI接入方式
SeaweedFS S3 APIREST文件存储文档、附件存储

6.1.1 OneAPI集成详细说明

接入方式: 通过OneAPI统一接口访问多种LLM模型

OneAPI配置:

  • Base URL: https://xxxx/v1
  • API兼容性: OpenAI API格式兼容
  • 认证方式: API Key (Bearer Token)
  • 支持的模型: 动态从OneAPI获取,典型模型包括:
    • Anthropic Claude系列(Sonnet, Opus, Haiku)
    • OpenAI GPT系列(GPT-4, GPT-3.5等)
    • Google Gemini系列
    • DeepSeek系列
    • 国产模型:文心一言、通义千问、讯飞星火、智谱AI等

重要: 具体可用的模型和版本由OneAPI配置决定,系统通过API动态获取,不在代码中硬编码。

OneAPI优势:

  1. 多模型支持: 统一接口访问不同厂商的LLM
  2. 负载均衡: 自动在多个模型间分配请求
  3. 成本优化: 根据任务复杂度选择合适的模型
  4. 高可用性: 主模型故障时自动切换到备用模型
  5. API密钥管理: 集中管理多个API密钥
  6. 使用统计: 跟踪各模型的使用量和成本

集成架构:

QMS Backend
    ↓ (HTTP Request)
OneAPI Gateway (https://xxxxx/v1)
    ↓ (路由与负载均衡)
┌──────────────┬──────────────┬──────────────┐
│ Anthropic    │  OpenAI      │  国产模型     │
│ Claude API   │  GPT API     │  APIs        │
└──────────────┴──────────────┴──────────────┘

使用场景与模型选择策略:

使用场景推荐模型类型选择标准
EU MDR技术文档生成大上下文、高质量模型长文本理解,专业性强
NMPA文档生成多语言支持模型中英文能力强
快速问答辅助快速响应模型响应快,成本低
代码生成辅助代码优化模型代码能力强
翻译任务多语言模型中文优化,成本低
批量数据处理高性价比模型大批量处理,成本优化

说明: 具体模型由Super Admin在系统管理界面配置,根据实际可用的模型和业务需求动态选择。

配置参数:

AI_PROVIDER: oneapi
ONEAPI_BASE_URL: https://xxxxx/v1
ONEAPI_API_KEY: ${ONEAPI_API_KEY}  # 从环境变量读取
ONEAPI_TIMEOUT: 120  # 秒
ONEAPI_MAX_RETRIES: 3

# 注意:以下模型配置应通过Super Admin界面管理,而非硬编码
# 这里仅作为初始化示例(首次部署时使用)
ONEAPI_INIT_DEFAULT_MODEL: ""  # 留空,首次启动时提示配置

错误处理:

  • 单个模型失败时自动切换到备用模型
  • 记录模型切换日志用于分析
  • 达到速率限制时使用队列机制
  • 提供降级方案(缓存历史结果)

6.1.2 SeaweedFS S3存储

说明: 采用SeaweedFS替代MinIO(MinIO已于2025年10月停止提供Docker镜像)

用途:

  • 生成的DOCX/PDF文档存储
  • 用户上传的附件存储
  • 系统备份存储

访问控制:

  • 私有存储,需签名URL访问
  • 链接有效期配置(默认24小时)

6.2 内部接口

所有后端API遵循RESTful规范:

  • 基础路径: /api/v1
  • 认证方式: Bearer Token (JWT)
  • 数据格式: JSON
  • 错误码: 标准HTTP状态码

API版本化策略:

  • 当前版本:v1
  • 重大变更时增加新版本(v2)
  • 旧版本保持6个月兼容期

7. 约束条件

7.1 技术约束

  • 必须使用Python 3.11+和Node.js 18+
  • 数据库必须为PostgreSQL
  • 前端必须支持主流浏览器最新两个版本
  • 端口范围限定在6000-6300

7.2 法规约束

本系统设计需符合以下法规框架,以确保生成的文档和管理流程满足全球医疗器械监管要求:

7.2.1 核心法规标准

标准/法规适用范围符合性要求
ISO 13485:2016质量管理体系系统设计遵循QMS原则
MDSAP多国审核程序支持MDSAP 7章节结构
ISO 14971:2019风险管理风险管理模块符合标准
EU MDR 2017/745欧盟市场文档符合Annex II要求
FDA 21 CFR Part 820美国市场设计控制、追溯性
NMPA法规中国市场支持NMPA文档格式

7.2.2 QMS框架符合性

参考框架: INT-001_QMS整体框架结构说明

本系统的开发和使用应参考已建立的QMS整体框架:

  • ✅ 90个SOP涵盖ISO 13485所有条款
  • ✅ 100%覆盖MDSAP 90个审核任务
  • ✅ 支持MDSAP 7个章节的文档组织
  • ✅ 四层文档结构(质量手册→SOP→WI→表单)
  • ✅ 模块化设计(9个主要模块)

系统在QMS中的定位:

  • 属于SOP-PRO-015(QMS软件确认)管理范围
  • 生成的文档支持SOP-MAN-012(医疗器械档案管理)
  • 开发过程遵循SOP-DEV-009(软件开发生命周期)

7.2.3 特定法规要求

数据保留:

  • 质量记录需保留≥10年(ISO 13485要求)
  • 设计历史文件(DHF)永久保留
  • 审计日志保留≥3年
  • 支持数据导出和归档

追溯性:

  • 需求→设计→验证完整追溯链
  • 产品追溯至组件和供应商
  • 文档版本追溯
  • 变更历史记录

电子签名(未来):

  • 计划支持21 CFR Part 11(Phase 2)
  • 审计追踪和不可抵赖性
  • 访问控制和身份认证

7.3 项目约束

  • MVP开发周期≤12周
  • 初期团队 1人
  • 初期Anthropic API预算≤$1000/月

8. 验收标准

8.1 MVP验收标准

  • [ ] 所有P0功能100%完成
  • [ ] 至少1个完整的文档生成流程可用
  • [ ] 追溯矩阵可视化演示
  • [ ] 5个内部用户完成UAT测试
  • [ ] 系统性能满足NFR-PERF所有指标
  • [ ] 通过安全扫描(无高危漏洞)

8.2 后续阶段验收

Phase 2验收标准将在MVP完成后制定。


9. 附录

9.1 参考文档

  • ISO 13485:2016 – Medical devices — Quality management systems
  • EU MDR 2017/745 – Medical Device Regulation
  • ISO 14971:2019 – Application of risk management to medical devices
  • IEC 62366-1:2015 – Usability engineering

9.2 需求变更记录

日期版本变更内容责任人
2025-10-241.0初始版本Michael

文档状态: Draft
下次评审: 2025-11-01

分享此文档

需求规格说明书

或复制链接

目录