质量管理体系/生产管理规范 医疗器械生产质量管理规范附录 – 独立软件 Estimated reading: 1 minute 984 views 第一部 分范围和原则 1.1 本附录适用于独立软件,软件组件参照执行。 1.2 本附录遵循软件生存周期过程和网络安全的基本原则和通用要求,是对独立软件生产质量管理规范的特殊要求。 第二部分 特殊要求 2.1 人员 2.1.1 软件开发、测试、维护人员应当具备与岗位职责要求相适宜的专业知识、实践经验和工作能力。 2.1.2 黑盒测试应当保证同一软件项的开发人员和测试人员不得互相兼任。 2.1.3 用户测试人员应当具备适宜的软件产品使用经验,或经过培训具备适宜的软件产品使用技能。 2.2 设备 2.2.1 应当在软件生存周期过程持续提供充分、适宜、有效的软件开发和测试环境,包括软硬件设备、开发测试工具、网络等资源以及病毒防护、数据备份与恢复等保证措施。 2.2.2 软件开发和测试环境维护应当形成文件,确定软件开发和测试环境定期验证、更新升级、病毒防护等活动要求,保持相关记录。 2.3 设计开发 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.3.17 软件缺陷管理应当形成文件,确定软件缺陷评估、软件缺陷修复、回归测试、风险管理、配置管理、评审等活动要求,形成软件缺陷分析报告以供评审。使用缺陷管理工具保证软件质量,并贯穿于软件生存周期全过程。 2.4 采购 2.4.1 现成软件采购应当形成文件,根据现成软件的类型、使用方式、对产品质量影响程度,确定分类管理、质量控制、供应商审核等活动要求。 2.4.2 应当与供应商签订外包软件质量协议,明确外包软件需求分析、交付形式、验收方式与准则、设计开发文件交付、知识产权归属、维护等要求以及双方质量责任承担要求。 2.4.3 云计算服务协议应当明确网络安全保证、患者数据与隐私保护等责任承担要求。 2.5 生产管理 2.5.1 软件发布应当形成文件,确定软件产品文件创建、软件产品与文件归档备份、软件版本识别与标记、交付形式评估与验证、病毒防护等活动要求,保证软件发布的可重复性。 2.5.2 物理交付方式应当确定软件产品复制、许可授权以及存储媒介包装、标记、防护等要求,网络交付方式应当确定软件产品标记、许可授权、网络安全保证等要求。 2.6 质量控制 2.6.1 软件产品放行应当形成文件,确定软件版本识别、安装卸载测试、产品完整性检查、放行批准等活动要求,保持相关记录。 2.7 销售和售后服务 2.7.1 软件部署应当形成文件,确定交付、安装、设置、配置、用户培训等活动要求,保持相关记录。 2.7.2 软件停运应当形成文件,确定停运后续用户服务、数据迁移、患者数据与隐私保护、用户告知等活动要求,保持相关记录。 2.8 不良事件监测、分析和改进 2.8.1 数据分析控制程序应当涵盖软件缺陷、网络安全事件要求。 2.8.2 网络安全事件应急响应应当形成文件,确定网络安全事件风险管理、应急响应措施验证、用户告知、召回等活动要求,保持相关记录。 第三部分 术语 3.1 下列术语的含义是: 独立软件:具有一个或多个医疗目的,无需医疗器械硬件即可完成自身预期目的,运行于通用计算平台的软件。 软件组件:具有一个或多个医疗目的,控制、驱动医疗器械硬件或运行于医用计算平台的软件。 软件安全性级别:基于软件风险程度分为轻微、中等和严重,其中轻微即软件不可能产生伤害,中等即软件可能直接或间接产生轻微伤害,严重即软件可能直接或间接产生严重伤害或导致死亡。 软件验证:通过提供客观证据认定软件开发、软件更新某一阶段的输出满足输入要求。 软件确认:通过提供客观证据认定软件满足用户需求和预期目的。 软件可追溯性分析:追踪软件需求、软件设计、源代码、软件测试、软件风险管理之间的关系,分析已识别关系的正确性、一致性、完整性和准确性。 软件更新:生产企业在软件生存周期全过程对软件所做的任一修改,亦称软件变更或软件维护。 软件停运:生产企业在软件生存周期过程末期终止对软件的售后服务和销售,亦称软件退市。 现成软件:生产企业未进行完整生存周期控制的软件,包括遗留软件、成品软件、外包软件。 遗留软件:生产企业以前开发但现在不能得到足够开发记录的软件。 成品软件:已开发且通常可得到的,但生产企业未进行完整生存周期控制的软件。 外包软件:生产企业委托第三方开发的软件。 网络安全:保持医疗器械相关数据的保密性、完整性和可得性。 第四部分 附 则 4.1 本附录由国家药品监督管理局负责解释。 4.2 本附录自2020年7月1日起施行。