一、医疗器械软件术语及定义
二、医疗器械软件类型及架构
三、医疗器械软件设计开发
请查阅昨日文章:《医疗器械软件设计验证和过程确认(上)》
四、医疗器械软件设计验证及确认
1、通过提供客观证据来认定软件某开发阶段的输出符合该阶段全部输入要求
注:包括正式技术评审、可追溯性分析、单元测试、集成测试、系统测试、回归测试等活动医疗器械软件设计确认;
2、通过提供客观证据来认定软件符合用户需求和预期用途;
注:主要指用户测试(真实或模拟使用环境测试),也包括质量管理、风险管理和软件工程等活动;
A级:系统测试、用户测试的测试计划和报告摘要;
B级:系统测试、用户测试的测试计划和报告摘要,概要介绍开发各阶段的验证活动,其中单元测试应描述覆盖率,集成测试应描述集成策略;
C级:在B级基础上提供系统测试、用户测试的测试计划和报告全文。
注意:
①验证活动可与生存周期合并描述;
②如必要应提供可追溯性分析报告;
③软件维护升级只有回归测试报告。
3、软件的测试贯穿于软件的生存周期(见图7),按阶段可分为单元测试、集成测试、配置项测试、系统测试和验收测试,企业可根据软件的规模、类型、完整性和安全性级别来选择执行的测试类别。软件测试过程一般包括测试策划、测试设计、测试执行和测试总结四项活动。GB/T 15532 标准规定了软件的测试方法、过程和准则,GB/T 9386 标准规定了软件测试文档的格式和要求,企业在进行软件测试时,应符合标准的要求。
4、医疗器械软件测试
1)单元测试
a)静态测试:代码检查、结构分析;
b)动态测试:逻辑覆盖(语句、判定、条件、多条件等)
2) 集成测试
a)自顶向下、自底向上、混合方式;
3) 系统测试
a)安装测试、配置测试;
b)功能测试;
c)性能测试、负载测试、压力测试、并发性测试、兼容性测试、接口测试、可靠性测试、恢复性测试;
d)界面测试、可用性测试;
e)安全性测试。
4)回归测试
a) 用于确定软件更改没有产生不良影响或没有引入新缺陷;
b) 软件如有变更均需进行适当且足够的回归测试。
5、 软件验证与确认
验证是指通过提供客观证据认定软件某开发阶段的输出满足输入要求,包括代码检查、设计评审、测试等质量保证活动。确认是指通过提供客观证据认定软件满足用户需求和预期用途,通常是指在真实或模拟使用环境进行的用户测试。可追溯性分析是指追踪需求规范、设计规范、源代码、测试、风险管理之间的关系,分析已识别关系的正确性、一致性、完整性和准确性。
A级提供系统测试、用户测试的计划和报告摘要,描述测试的条件、工具、方法、通过准则和结果。
B级提供系统测试、用户测试的计划和报告,概述开发各阶段的验证活动,描述所用的工具、方法和任务。
C级在B级基础上提供可追溯性分析报告(追溯需求规范、设计规范、测试、风险管理的关系表)。
系统测试和用户测试的计划和报告另附原始文件。测试报告关于测试记录的内容可以提供一个测试记录样例和完整的测试记录清单。验证活动也可提交制造商软件质量保证计划文件,用于替代相应描述。
6、生存周期:开发各阶段的质控措施与安全性级别是否匹配,可参考YY/T 0664-2008中附录A系统测试报告:首先关注需求规格是否经过全部测试,其次关注核心功能的测试情况用户测试报告:用户反馈的问题,软件可用性可追溯性分析报告:关注需求、设计、测试、风险是否匹配且完整。
图7 医疗器械软件生存周期过程图
7、软件质控原则
① 过程质控与产品质控相结合;
② 尽早质控与重点质控相结合;
③ 变更管理与缺陷管理相结合。
8、软件工程
① 生存周期:需求、设计、编码、测试、维护(见图7);
② 阶段审评:正式评审、测试、可追溯性分析(见图8);
③ 产品控制:配置管理、缺陷管理、风险管理(见图9)。
图8 可追溯性分析
图9 软件管理缺陷流程图
9、医疗器械设备(软件组件)验证
医疗器械软件组件类验证主要包括三个重要部分:Installation Qualification(安装确认)、Operation Qualification(运行确认)、Performance Qualification(性能确认)
1)安装确认(IQ)。
所有设备确认都始于安装确认,安装确认保证加工组件或器械的设备被正确安装,并符合工厂电气和环境控制的要求。安装确认要求在适合的地点下必须正确安装设备,适合的地点条件包括齐全的水电供应以及足够设备操作的空间,同时附属条件还包括设备对所在的环境的适应能力、设备操作人员的专业技术水平、设备验证是否确认更新、设备验证参数是否完成校准等等。当逐项完成检查后,则说明安装确认已经完成。同时,必须在安装确认的后部分工作时,给出一份含有设备参数检验的信息表的培训表给到操作人员。
2)运行确认(OQ)。
设备安装完成后,下一步就是运行确认,安装确认后所进行的运行确认要求必须在验证过程中找到参数区间,其必须是连续、稳定地符合检验的目标产品的预定参数区间(不能采用参数点。因为对于一般所使用的设备,其时间、温度、压力及其它因素都对设备运行结果产生影响,故运行确认是包装验证的核心环节。
3)性能确认(PQ)。
性能确认通常要求运行3个批次。性能确认应采用运行确认(OQ)所确定的参数,这些参数经过100%验证性能确认对Design Of Experiment所选用的参数区间的要求是:Design Of Experiment必须保证其在大规模的生产医疗器械时能够连续且稳定地生产出合格的产品。从另一层意义上来说,性能确认就像是一个专门控制目产品的质量稳定的部分。通常工作人员是将连续生产出来的前3个批次的产品,按照预定的样品量和AQL取出样本并按照运行确认的检测方法以及检测项目进行监测工作,得出性能确认报告,最后为整个设备的验证是否合格提供了判断依据。
五、软件风险管理
1、软件安全性级别:
A级:不可能对健康有伤害或损害;
B级:可能有不严重的伤害;
C级:可能死亡或严重伤亡;
2、软件安全性级别应结合软件的预期用途、使用环境和核心功能(软件在预期使用环境完成预期用途所必需的功能)进行判定。其中预期用途主要考虑软件的临床用途(如诊断、治疗、监护、筛查等)和重要程度(如重要作用、辅助作用、补充作用等),使用环境主要考虑软件的使用场所(如医院、家庭等)、疾病类型(如严重性、紧迫性、传染性等)、患者人群(如成人、儿童、老年、女性等)和用户类型(如专业用户、普通用户、患者等),核心功能主要考虑软件的功能类型(如控制驱动、处理分析等)、实现方法(如CT图像重建采用滤波反投影算法还是迭代算法,异常识别采用常规图像处理算法还是人工智能算法等)和复杂程度(如算法规模、参数数量、运算速度等)。
3、软件安全性级别也可根据风险管理所确定的风险等级进行判定,软件安全性级别与风险等级的分级可以不同,但二者存在对应关系,因此可根据风险等级来判定软件安全性级别。
制造商应在采取风险缓解措施之前判定软件安全性级别,并结合质量管理体系要求,建立与软件安全性级别相匹配的软件生存周期过程,包括软件开发过程、软件维护过程、配置管理过程、风险管理过程和问题解决过程。同时,制造商可采用良好软件工程实践完善质量管理体系要求,保证软件质量。另外,制造商应保证软件自身的信息安全,确保健康数据的保密性、完整性和可得性。
图10 软件安全性级别
1)风险分析
软件本身不是危害,但会引发危害处境;
软件表现为随机失效,但实为系统性失效;
软件失效概率难以计算,通常基于损害严重度分析(假定失效概率为100%)。
2)风险管理要求
软件风险管理进行孤立分析是不合适的;
软件风险管理过程始终贯穿开发生存周期;
可预见的风险越大,风险分析的要求越严格,风险控制措施的完整性要求越高;
风险控制依次通过固有安全设计(主动)、保护措施(被动)和用户警告来实现。
参考法规:
1、GB/T 25000.51-2010《软件工程 软件产品质量要求与评价(SQuaRE) 商业现货(COTS)软件产品的质量要求与测试细则》
2、GB/T9386-2008 计算机软件测试文档编制规范
3、YY/T 0664-2008《医疗器械软件 软件生存周期过程》
4、YY/T 0708-2009《医用电气设备 第1-4部分:安全通用要求 并列标准 可编程医用电气系统》
5、YY 0709-2009《医用电气设备 第1-8部分:安全通用要求 并列标准 医用电气设备和医用电气系统中报警系统的测试和指南》
6、YY 0316-2008 《医疗器械 风险管理对医疗器械的应用》
7、医疗器械软件注册技术指导原则
来源:弗锐达医疗器械资讯微信公众号