《医疗器械生产质量管理规范附录独立软件(征求意见稿)》现公开征求意见
国家药监局综合司公开征求医疗器械生产质量管理规范附录独立软件(征求意见稿)意见
为强化软件类医疗器械产品质量管理,国家药品监督管理局组织编写了《医疗器械生产质量管理规范附录独立软件(征求意见稿)》,现公开征求意见。请将相关建议和意见于2019年1月30日前以传真和电子邮件形式反馈。
1.3 本附录遵循软件生存周期过程和网络安全的根本原则和通用要求,涵盖软件需求分析、软件设计、软件编码、验证与确认、软件部署、软件更新、软件停运等活动。
2.1.1 软件开发、测试、维护人员应当具备与岗位工作职责要求相适宜的软件专业相关知识、软件开发和测试经验以及软件质量管理能力。
2.1.3 用户测试人员应当具备适宜的软件产品使用经验,或经过培训具备适宜的软件产品使用技能。
2.2.1 应当在软件生存周期过程持续提供充分、适宜、有效的软件开发和测试环境,包括软硬件设备、开发测试工具、网络等资源以及病毒防护、数据安全等保证措施。
2.2.2 软件开发和测试环境维护应当形成文件,确定软件开发和测试环境定期验证、更新升级、病毒防护等活动要求,保持相关记录。
2.3.1 应当结合软件生存周期模型特点建立软件生存周期过程控制程序并形成文件,确定软件需求分析、软件设计、软件编码、验证与确认、软件更新、风险管理、缺陷管理、可追溯性分析、配置管理、文件与记录控制、现成软件使用、网络安全保证、软件发行、软件部署、软件停运等活动要求。
2.3.2 软件生存周期过程质量保证活动要求应当与软件安全性级别相适宜。软件安全性级别应当在采取风险控制措施之前,结合软件的预期用途、使用环境和核心功能做综合判定,并仅可通过外部风险控制措施降低级别。
2.3.3 应当依据风险管理控制程序实施软件风险管理活动,结合产品识别、分析、评价、控制和监测软件功能、接口、用户界面、现成软件、网络安全等风险,并贯穿于软件生存周期全过程。
2.3.4 软件配置管理应当建立控制程序并形成文件,规范软件版本、源代码、文件、工具、现成软件等控制要求,确定配置标识、变更控制、配置状态记录等活动要求。使用配置管理工具保证软件质量,并贯穿于软件生存周期全过程。
2.3.5 软件版本控制应当基于合规性要求确定软件版本命名规则,涵盖软件、现成软件、网络安全的全部软件更新类型,各字段含义应当明确且无歧义无矛盾。软件版本变更应当符合软件版本命名规则的要求。
2.3.6 软件可追溯性分析应当建立控制程序并形成文件,涵盖现成软件、网络安全的控制要求,形成软件可追溯性分析报告以供评审。使用可追溯性分析工具保证软件开发、软件更新过程满足可追溯性要求,并贯穿于软件生存周期全过程。
2.3.7 现成软件使用应当形成文件,确定风险管理、验证与确认、缺陷管理、可追溯性分析、软件更新、配置管理、文件与记录控制、网络安全保证等活动要求。遗留软件还应当确定现有文件、上市后临床使用情况、用户投诉、不良事件、召回情况等评估活动要求。使用开源软件应当遵循适宜的开源许可协议。
2.3.8 软件开发策划应当确定软件需求分析、软件设计、软件编码、验证与确认、风险管理、缺陷管理、可追溯性分析、配置管理、文件与记录控制、现成软件使用、网络安全保证、评审等活动计划,形成相关文件和记录,并适时更新。软件开发策划应当保证软件开发和测试的人员及环境与软件开发要求相适宜。
2.3.9 软件需求分析应当综合分析法规、标准、用户、产品、功能、性能、接口、用户界面、网络安全等软件需求,确定现成软件使用评估、风险管理、可追溯性分析(软件需求与风险管理、软件需求与产品需求)、软件确认测试(用户测试)计划创建、评审等活动要求,形成软件需求规范和评审记录并经批准,适时更新并经批准。
2.3.10 软件设计应当依据软件需求规范实施软件体系架构、功能、性能、算法、接口、用户界面、单元、网络安全等设计,确定现成软件使用评估、风险管理、可追溯性分析(软件设计与软件需求)、软件验证测试(单元测试、集成测试、系统测试)计划创建、评审等活动要求,形成软件设计规范和评审记录并经批准,适时更新并经批准。
2.3.11 软件编码应当依据软件设计规范实施,确定源代码编写与注释、现成软件使用、可追溯性分析(源代码与软件设计、源代码与测试用例)、各级测试用例创建、评审等活动要求,形成评审记录,并适时更新。源代码编写与注释应当符合软件编码规则文件的要求。
2.3.12 软件验证应当确定源代码检查、源代码走查、静态分析、动态分析、单元测试、集成测试、系统测试、评审等活动要求,涵盖现成软件、网络安全的验证要求。白盒测试应当确定语句、判定、条件、路径等测试覆盖率要求,并与软件安全性级别相适宜。
2.3.13 单元测试、集成测试、系统测试应当依据相应测试计划实施,涵盖现成软件、网络安全的测试要求,确定缺陷管理、风险管理、可追溯性分析(各级测试用例与软件设计、系统测试与软件需求、系统测试与风险管理)、评审等活动要求,形成相应软件测试记录、测试报告以及评审记录,并适时更新。
2.3.14 软件确认应当确定用户测试、临床评价、评审等活动要求,涵盖现成软件、网络安全的确认要求,保证软件使用户得到满足需求和预期目的,且软件已知剩余缺陷的风险均可接受。
2.3.15 用户测试应当依据用户测试计划在真实使用环境或模拟使用环境下实施,涵盖现成软件、网络安全的测试要求,确定缺陷管理、风险管理、可追溯性分析(用户测试与客户的真实需求、用户测试与风险管理)、评审等活动要求,形成用户测试记录、测试报告以及评审记录并经批准,适时更新并经批准。
2.3.16 软件更新应当形成文件,涵盖现成软件、网络安全的变更控制要求,确定软件更新请求评估、软件更新策划、软件更新实施、风险管理、验证与确认、缺陷管理、可追溯性分析、配置管理、文件与记录控制、评审、用户告知等活动要求,形成相关文件和记录并经批准,适时更新并经批准。软件版本变更应当与软件更新情况相匹配。验证与确认应该依据软件更新的类型、内容和程度实施相适宜的回归测试、用户测试等活动。
2.4.1 现成软件采购应当形成文件,根据现成软件的类型(成品软件、外包软件)、使用方式(部分使用、全部使用)、对产品质量影响程度,确定分类管理、质量控制、供应商审核等活动要求。
2.4.2 应当与供应商签订外包软件质量协议,明确外包软件需求分析、交付形式、验收方式与准则、设计开发文件交付、知识产权归属、维护等要求及双方质量责任承担要求。
2.4.3 云计算服务协议应当明确网络安全保证、患者数据与隐私保护等责任承担要求。
2.5.1 软件发布应当形成文件,确定软件产品文件创建、软件产品与文件归档备份、软件版本识别与标记、交付形式评估与验证、病毒防护等活动要求,保证软件发布的可重复性。
2.5.2 物理交付方式应当确定软件产品复制、许可授权以及存储媒介包装、标记、防护等要求,网络交付方式应当确定软件产品标记、许可授权、网络安全保证等要求。
2.6.1 软件产品放行应当形成文件,确定软件版本识别、安装卸载测试、产品完整性检查、放行批准等活动要求,保持相关记录。
2.7.1 软件部署应当形成文件,确定交付、安装、设置、配置、用户培训等活动要求,保持相关记录。
2.7.2 软件停运应当形成文件,确定停运后续用户服务、数据迁移、患者数据与隐私保护、用户告知等活动要求,保持相关记录。
2.8.1 软件缺陷管理应当形成文件,确定软件缺陷评估、软件缺陷修复、回归测试、风险管理、配置管理、评审等活动要求,形成软件缺陷分析报告以供评审。使用缺陷管理工具保证软件质量,并贯穿于软件生存周期全过程。
2.9.2 应当建立网络安全应急响应控制程序并形成文件,确定网络突发事件风险管理、应急响应措施验证、用户告知等活动要求,保持相关记录。
独立软件:具有一个或多个医疗目的,无需医疗器械硬件就可以完成自身预期目的,运行于通用计算平台的软件。
软件组件:具有一个或多个医疗目的,控制(驱动)医疗器械硬件或运行于专用(医用)计算平台的软件。
软件验证:通过提供客观证据认定软件开发、软件更新某一阶段的输出满足输入要求。
软件可追溯性分析:追踪软件需求、软件设计、源代码、软件测试、软件风险管理之间的关系,分析已识别关系的正确性、一致性、完整性和准确性。
软件更新:生产企业在软件生存周期全过程对软件所做的任一修改,亦称软件变更或软件维护。
软件停运:生产企业在软件生存周期过程末期终止对软件的售后服务和销售,亦称软件退役。
现成软件:生产企业未进行完整生存周期控制的软件,包括遗留软件、成品软件、外包软件。
成品软件:已开发且通常可得到的,但生产企业未进行完整生存周期控制的软件。
保密性:数据不能被未授权的个人、实体利用或知悉的特性,即医疗器械有关数据仅可由授权用户在授权时间以授权方式来进行访问。
完整性:保护数据准确和完整的特性,即医疗器械有关数据是准确和完整的,且未被篡改。
可得性:根据授权个人、实体的要求可访问和使用的特性,即医疗器械有关数据能以预期方式适时进行访问和使用。
上一篇:生成式人工智能如何改变软件开发?