来源:HIT专家网 作者:李崇铭
“基于全栈国产化平台的医院应用软件全场景适配改造,最重要的一点是以结果为导向,确保医院应用软件可以正常使用就成功了。对于实在无法解决或不清楚原因的少数问题,可先绕过它寻找其他解决方案,保障软件功能要求和应用效果即可。”
2024年8月10日,在医疗信创“成功模式”现场交流会暨2024年“医疗信创九州行”(厦门)活动上,厦门大学附属成功医院信息科软件研发工程师董家凡介绍了医院信息科基于医疗全栈国产化平台的应用软件适配改造工作成果。董家凡临时决定抛开提前准备的讲稿,激情满满地分享了医院全面信创进程中的应用软件适配工作步骤和方法。
第一步,摸清“家底”
完整统计医院应用软件数量,并进行梳理评估,是开展医院信创适配改造的第一步。2022年7月,厦门大学附属成功医院对医院应用软件系统进行整体“摸底”发现,共有应用软件109个,其中涉及数据库适配的业务软件89个。截至现场交流会议时,软件数量已增至138个,其中涉及数据库适配的业务软件108个。这些软件按类别可分为门诊业务、住院临床业务、医技检查、收费、电子病历、医院管理、体检以及其他软件。
“列出软件清单,这项工作很重要,有助于进一步摸清应用软件架构。”董家凡谈到,在应用软件适配改造工作中,各软件的测试顺序有先有后,但相同架构、相同开发语言的软件遇到的问题可能是相通的,同类问题可以彼此借鉴,解决方法可以复用,从而提高适配效率。
从软件架构看,厦门大学附属成功医院采用C/S架构的应用软件占比62%,B/S架构占比38%。
从软件开发语言看,以PB为开发语言的应用软件占比61%,Java占比28%,C#和其他开发语言分别占比8%和3%。基于PB开发的应用软件大多沿用了原来的军卫一号版本,如医生工作站、护士工作站等,此前医院信息科在此基础上进行了大量个性化改动。而以Java为开发语言的软件主要以B/S架构为主,跨平台性能较为稳定。
从软件来源看,在当时的89个业务软件中,上级配发的软件5个,采购软件23个,自研(含掌握源码)软件61个。“由于医院自研软件占比较高,应用软件的适配工作自主可控程度较高,工作进度更容易控制。”董家凡说。
第二步,明确适配思路
在摸清医院应用软件实际情况的基础上,厦门大学附属成功医院信息科明确了应用软件适配思路:一是确定适配工作的目标,即解决应用软件在国产化核心组件环境运行时的问题,保证功能正常、运行稳定;二是注意选对方法,经过多轮测试确定问题,和厂商协商解决,并通过验证测试。最重要的一点,是以结果为导向,满足软件功能和应用效果要求即可。
医院信息科为不同来源的业务应用软件制定了相应的适配项目管理方案:对于自研软件,由开发工程师或开发团队中对软件情况更熟悉的工程师作为负责人;对于外购软件,由该项目的院方负责工程师与软件厂商沟通适配要求及协同计划,要求各软件公司明确具体适配负责人;对于上级下发且并未提供源代码的应用软件,信息科与上级机关汇报适配计划,争取最大程度的技术支持。
“个别软件若确实无法适配,则需要单独处理。”例如,后台划价软件的适配难度大且对业务流程影响较深,信息科工程师重写了代码,以保证自动划价功能正常。“这也体现了梳理软件清单的重要性,如果没有提前摸底,出现问题时就很难及时处理,会拖累后续适配工作。”董家凡说。
第三步,分类制定适配的技术策略
“在实际适配工作中,要有针对性地采取不同的技术实现策略。”董家凡介绍了医院在应用软件适配国产操作系统和国产数据库方面的主要做法。
在应用软件适配国产操作系统方面,医院信息科采取“先测试后解决”的方法,在功能点测试完成后,统一梳理出现的问题,与国产操作系统公司的工程师协同分析解决。在梳理问题时,应注意区分问题类别,如界面显示问题、动态库问题、驱动问题等。凡是厂商能解决的问题,均交给厂商解决;如果是用户界面或软件个性化问题,则由应用软件工程师通过修改软件代码解决。在问题解决后,需再进行几轮测试验证,直至使用时不再出现该问题。
董家凡展示了应用软件适配操作系统的进度清单和问题清单,对“适配中”、“适配完成未验证”、“适配验证通过”的软件使用不同颜色进行标注,大部分软件在2023年9月已经通过适配与验证。适配中每一个Bug的描述、相关应用名称、复现步骤、系统截图等信息,都在表格中有详细的记录。
在应用软件适配国产数据库方面,医院信息科采取“边测试边解决”的方法。董家凡解释:“在适配国产数据库过程中,出现的问题大多对软件的影响面较广,类似的语句、语法可能用在很多个功能模块。其次,许多问题常常只有一个报错,无法直接找出原因,需与数据库厂商工程师合作排查。”在数据库厂商找出问题发生原因后,有时也需要应用软件厂商配合修改代码以解决问题。因此,应用软件适配国产数据库工作,发现问题需要及时处置。
同样的,厦门大学附属医院信息科也建立了应用软件国产数据库适配进度清单和问题清单。董家凡介绍,2023年10月末,医院信息科已完成大多数应用软件与国产数据库的适配验证;11月初,门诊医生工作站、住院医生工作站、护士工作站等业务核心应用完成适配,为12月切换至全栈国产平台做好了准备。
第四步,逐一攻克具体问题
应用软件的适配过程,需要医院信息科工程师与基础软硬件、应用软件企业技术团队之间紧密沟通协作,保持专业定力,对遇到的问题各个击破。董家凡分别介绍了医院应用软件与国产操作系统、数据库适配过程中的常见问题及处置方法。
在应用软件适配国产操作系统过程中,常见问题包括:界面显示类问题,如按钮位置、字体显示异常等;软件功能异常,需要排查功能点是否调用相关动态库、Office等Windows操作系统自带资源;打印问题,应重点排查驱动情况;其他问题,如发现较难处理的情况,可考虑多功能模块进行停用或重新设计。
例如,在自助取药确认系统适配国产操作系统时,医院信息科发现:用户使用医保码扫码取药时,会出现字符丢失情况,导致无法进行取药确认。董家凡介绍:“我们排查发现,在系统输入法的XIM协议(X Input Method,X-Window系统下的符合国际化标准的输入法协议)中,客户端和服务器之间使用窗口属性(window property)进行通信,这些属性的名称的轮换周期是20,即在20个不同的名称间循环使用。因此,当客户端发送事件太快,可能导致属性在读取之前被覆盖的问题。”为此,信息科在国产操作系统中增加了一个更大的缓冲区,避免因属性名称轮换导致的数据丢失。
在应用软件适配国产数据库过程中,需关注国产数据库与原Oracle数据库的差异,如关键字格式、时间/日期字段、数据库链路、数据库连接、数据库驱动等。
例如,在护士工作站适配国产数据库过程中,医院信息科发现在运行部分查询功能时,多次连续操作会卡死并闪退。经排查发现,系PB调用ODBC驱动连接时,会调用对应Windows动态库,在查询时间较久、数据较大时会出现动态库崩溃并报错。若改用JDBC驱动连接,数据窗口控件在写入多行数字型字段时,在前几条数据行对应字段为空的时候,即使该列数据有数值,也会被误写为空值,导致数据丢失。董家凡介绍:“针对上述情况,信息科采取数据库‘双驱动模式’,以JDBC驱动为主连接,解决闪退问题,以ODBC驱动为辅连接,解决数据丢失问题。”
在应用软件适配国产数据库从验证到上线的过程中,医院信息科持续进行性能调优工作,如使用人工干预优化器(HINT)、优化正则表达式、优化函数条件等。
以查询临床医嘱执行计划为例,返回数据量较大,需要优化响应速度。董家凡介绍:“我们设置该查询优化参数,在WHERE后有OR条件的情形使用,可以将多个条件过滤合并成一次过滤,减少分支数从而降低表扫描行数,将查询时间从4.520秒缩短至0.395秒。”
回顾基于医疗全栈国产化平台的应用软件适配改造工作,董家凡总结了五点经验:一是要因地制宜,结合医院应用软件情况,选择合适的方法开展适配工作。二是结果导向,采用工程思维,协同解决适配中遇到的问题。三是明确分工,减少沟通成本、提高效率。四是善于借鉴,参考已完成信创工作的落地案例,缩短适配时间。五是保持对信创工作的信心。“信心比黄金更珍贵!我们在一年内完成了各应用系统的适配并实现全场景应用,相信在其他医院乃至整个医疗行业的信创工作同样能够成功。”
【医疗信创资源对接小调查】
医疗信创是HIT行业面临的“时代课题”。2023年,医疗行业开启信创元年。2024年,HIT专家网联合多家信息技术企业发起的“医疗信息技术(HIT)共创营”(简称:HIT共创营)正式成立。HIT共创营将通过会议交流、系列报道等多种形式,持续关注分享医疗信创的最新进展,帮助医疗行业开展信创资源对接。
如果您身边有最新的医疗信创实践案例、医疗信创产品技术与解决方案,或希望与我们系列报道中的信创企业取得联系,请花大约1分钟填写此问卷,我们将尽快与您取得联系。同时也欢迎更多同行加入HIT共创营。
【责任编辑:陈曦】
评论前必须登录!
注册