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日起施行。 |