郭扬帆:HIS系统上线宝典|需求版本,一日三变

发布时间:2023-03-22
浏览次数:

  HIS上线的幕后英雄是一帮日夜奋斗在信息科办公室(或公司研发中心)的“程序猿”们,所有来自一线的需求和压力,都是由他们在键盘上用一行行代码来解决的。虽然听不到医生们的牢骚和病人的抱怨,但实施“攻城狮”们着急的表述,不断催促“搞好了没有?”“还不行啦?”“下面顶不住啦!” 他们真的连喝口水的时间都没有。

  20年前上HIS系统,再大的三甲医院,可能就只有一个或几个实施工程师在现场,程序开发人员只在公司进行远程支持。现在,稍有规模的医院换HIS系统,程序员都要派驻医院现场,至少3人以上,分别负责门诊、住院、药剂系统,还要加上1名测试工程师。我们医院日常驻场的程序员都有5人,实施工程师20多人。上线时第一周,公司安排人员达到50人,也算是较大兵团作战。

  实施项目经理,负责收集、汇总、分析一线实施人员提交的需求,主要来源有:微信群、电话、现场收集等。上线第一周,一线出现的问题,原则上都由区域网格内的工程师负责现场勘察和反馈,共性问题的解决方法,我们都会通过微信群及时公告处理的方法,暂时无法通过程序解决的,也告知注意的要点或临时解决的办法。

  亦有公司比较教条,在上线初期,要求严格登记需求,上线第一周每天可能产生几百条需求,问题都解决不过来,哪有时间按规范的格式一条条登记?我们采用最简单的EXCEL表格,按不同的子系统进行登记,需求就是一句话,最多配上出错的截图,后面有几项内容明确后再补填写,如:解决方案,完成人,完成时限等。但再简单每条需求都应有编号,相同的需求会在后面备注排在前面的编号,合并的需求,会备注合并后的编号。

  刚开始需求会比较混乱,没有关系。有解决了没有登记的,有登记漏的,我们也常听到医生们抱怨,需求提了好久都没有解决,一查,需求登记表上没有。有可能是医生与现场工程师沟通后提出来的,也可能是在会议上、吃饭期间、路上碰到,随口一提的。真想解决问题的医生,会再次提出来,只想吐槽的医生,就会到处抱怨,甚至会跟领导投诉,说提了很多问题信息科都不解决,现在不提了。领导一听又很着急,质问信息科为什么不解决临床的需求,我说我们每天都解决几十个,现在已经解决了几百个需求呀,哪个医生提的?请领导让他直接来信息科,我来亲自解决,真实情况没有一个医生过来找过,这些在领导面前吐槽的医生可能只是为了表达自己的不满或表现个人在信息化方面的“能力”,这是阻碍信息化项目上线的小撮人,他们不是真正想解决问题的。当然,我们的信息系统一定会存在他说的某个问题,但这些问题都可以通过协商的方式解决,IT技术也不是万能的,人想到的电脑不一定都能做到,要综合考虑时间成本、开发成本、实现的风险、真正的价值等等。很多时候需要换位思考,医疗也不是万能的,大多数人不是死于意外就是死在医院,是药都有三分毒;手术都有风险,还让病人签一堆的知情同意书。我们HIS上线这个“超级大手术”有让临床签过知情同意书吗?

  以上内容仅是吐槽,并不能让临床来理解我们做信息化人的苦衷!

  版本升级是有技巧的。医院一般上午的病人比较多且集中,不适宜更新版本,但一些出错性的、重要的、影响操作流程的,还是会更新后让对应的科室重启系统进行升级,无需升级的如:存储过程、报表等,则随时进行修正。下午病人较少,我们一般在3:30或4:00进行版本更新,因为有些需求还需要一定数量的病人进行验证,这时升级的版本可能是多个相关联的子系统同步修改的内容。门诊系统,晚上只有急诊科和发热门诊上班,这是修改需求升级版本的最佳时间,只有这顿晚饭,程序员们可以稍慢一点吃,还可以边吃边讨论一些技术实现的细节。一些需要增加字段改变数据结构的需求,最好在晚上进行,白天还累积了一大堆的需求,这时需要逐条梳理,确定修改方案、完成时限、任务分工后,又开始在键盘上忙碌了。出错性的、重要的、严重影响第二天操作的需求,我们在当晚一定要完成,以保证第二天医生们的体验感好一些,他们的问题我们已收到并快速解决了。复杂的、重要但不紧急的、改动太大且会引发更多问题的、还未找到更好解决方案的、临床各科室尚有争议的、易操作性但修改较为麻烦的、极个性化的需求等,我们先记录下来,后面再慢慢来收拾。

  传统HIS,无论是C/S还是B/S架构,最好有一个专项升级工具,能够方便退出HIS或重启电脑,再登录时就可以自动完成版本更新,也可以自主回退到之前某个版本。上线期间,为了解决某个问题,而引发出更大的问题,这在外行看来不可思议,但在应用软件行业可谓是司空见惯的事情,回退版本是常规稳妥的做法。现在HIS软件进入新一代技术开发,采用微服务架构的产品,可以进行灰度发布,让一部人先用起来,如果出现问题则立即撤回,这是技术发展的先进性,但本质上仍不可避免每个版本发布均没有错误。跟测试不全面有关,跟测试环境与正式环境存在差异有关,跟多个子系统子模块紧密关联有关,其实HIS系统就是一套精密复杂的不能间断运行的系统,牵一发则动全身。而在临床要求又十分紧迫的情况下,往往只能做到功能性测试,再多就是对波及的子系统做流程测试,达到需求的目的,就向外发布版本。对于隐藏的规则、反向操作、极值测试、压力测试等,往往无法兼顾或考虑不到。升级后真正使用时,才发现还有漏洞,有些漏洞可以再打一个补丁版本进行升级解决,有些影响较为严重的,则只能回退版本,保证当前的医疗流程还可以继续。

  需求版本,一日三变。是指上线初期,版本升级比较频繁,一切只是为了更快地解决问题。我们HIS的稳定期只用了一周时间,每天都有多次版本升级;后面每天会升级一次,一般放在下午或晚上;三个月后,一周升级两次,一般不会在周一和周五升级,周一病人太多,周五大家都想好好休息一下;再后来每月根据需要升级若干次,且不会在国家法定节假日前一天做版本升级;春节前一周和元宵节前禁止版本升级。记住一点:在保证基本医疗流程运作正常的情况下,升级操作尽量在合适的条件下进行。

  作者简介

微信图片_20230321163943.gif

  郭扬帆,软件工程硕士,高级工程师,南方医科大学顺德医院信息科主任。广东省首席信息官协会医疗分会副会长,广东省卫生经济学会信息分会专家,广东省医疗信息安全专业委员会副主委,顺德医学会医学信息学分会主委等。主编著作二部《医疗卫生信息化项目管理实务》、《医院网络安全建设指引》,担任多部著作编委。1997年从事医院信息化工作,先后经历过多次甲方、乙方角色换位,积累了丰富的项目管理经验。