随着信息通讯技术的迅猛发展,软件在医疗器械中的应用日益普遍,作用日趋重要,开发形式灵活多变,新技术层出不穷。但随之而来的质量问题也日益增多,医疗器械召回数据表明软件相关召回数量持续增加,明显高于同期医疗器械整体水平,同时软件失效导致患者死亡或严重伤害的召回事件也屡见不鲜,因此软件质量问题的严重性不容忽视,需要基于软件特性加强软件质量保证工作。
软件特征:
软件没有物理实体,在开发和使用过程中人为因素影响无处不在,软件测试由于时间和成本的限制不能穷尽所有情况,所以软件缺陷无法避免。同时,软件更新频繁且迅速,细微更新可能导致严重后果,并存在累积效应和退化问题(即每修复若干个缺陷就会产生一个新缺陷),所以软件缺陷无法根除。因此,软件缺陷可视为软件的固有属性之一,这也是软件质量问题较为突出的根源所在。
鉴于软件特性,只有综合考虑风险管理、质量管理和软件工程的要求才能保证软件的安全有效性。需基于软件风险程度,采用良好软件工程实践完善质量管理体系,针对算法、接口、更新、异常处理等软件召回主要原因,尽早、重点、全面开展软件质量保证工作。
软件风险等级:
综合考虑软件使用的普遍性、监管资源的有限性和风险分级管理导向,软件风险程度不同,其生存周期质控要求和注册申报资料要求亦不同。
软件风险程度采用软件安全性级别进行表述,软件安全性级别越高,生存周期质控要求越严格,注册申报资料也越详尽。软件安全性级别基于软件风险程度分为轻微、中等、严重三个级别,其中轻微级别即软件不可能产生伤害,中等级别即软件可能直接或间接产生轻微(不严重)伤害,严重级别即软件可能直接或间接产生严重伤害或导致死亡。
轻微级别、中等级别、严重级别分别与YY/T 0664所定义的A级、B级、C级相对应。
软件安全性级别也可根据风险管理所确定的风险等级进行判定,软件安全性级别与风险等级的分级可以不同,但二者存在对应关系,因此可根据风险等级来判定软件安全性级别,但应在采取风险控制措施之前进行判定,后续可通过外部风险控制措施(含软件措施、硬件措施)降低初始软件安全性级别。
软件风险管理:
软件风险管理需要注意:软件本身不是危险,但可能会引发危险情况;软件失效虽表现为随机性失效但实为系统性失效,同时软件失效所致危险的发生概率难以统计,故软件风险程度基于伤害严重度并可结合危险情况所致伤害的概率进行判定;软件组件需与所属医疗器械整体开展风险管理工作。
软件安全等级参考:
软件安全性级别亦可参考已上市同类医疗器械软件的不良事件和召回情况进行判定,即已上市同类医疗器械软件若发生严重不良事件或一级召回属于严重级别,发生不良事件或二级召回属于中等级别,未发生不良事件且仅发生三级召回或无召回属于轻微级别。
软件全生命周期管理:
由于软件本身的复杂性和软件测试的局限性,软件开发过程的质量保证活动不足以保证软件的安全有效性,因此应在医疗器械全生命周期中考虑软件质控要求,并将软件风险管理、软件配置管理、软件缺陷管理、软件可追溯性分析贯穿于医疗器械生命周期全程。
上市前开展充分有效的软件验证与确认活动,识别软件可预见的风险并将其降至可接受水平。上市后继续开展软件质量保证工作,结合用户投诉、不良事件和召回等情况识别前期未预见的风险,并采取必要措施保证软件质量;同时,基于软件更新需求的评估,实施软件更新活动以满足用户新需求,并开展与之相适宜的软件验证与确认活动,以保证软件更新质量;此外,软件停运考虑用户告知与后续服务、数据迁移、患者数据与隐私保护等要求。
最后,对于医疗器械软件,其质量管理主要在设计开发阶段,应制定软件设计开发程序有效的管理企业软件设计开发过程。