专业咨询
致力推进中国医疗卫生信息化

【冯火专栏】低代码开发平台,医疗行业应该怎么用?

来源:HIT专家网        作者:冯火

【开栏语】

本文作者冯火是一名资深医信工程师、系统架构设计师。作为2020年“联空医加杯”HIT专家网“年度新锐作者”,冯火受邀在HIT专家网开设专栏,敬请关注。

作为一名软件开发者,我之前一直不太关注低代码开发平台,有点“瞧不起,看不上”,觉得没有什么技术含量,做出的功能有限。最近,我学习、接触了一些低代码开发平台,改变了原来的看法,不仅不觉得low,而且觉得很有必要。

什么是低代码开发平台

所谓低代码开发平台,就是只用写很少的代码,甚至不写代码,通过已封装好的组件,拖拉配置,即可搭建业务系统,达到快速开发的目的。

在我的印象中,这种快速开发平台主要针对企业用户,费用方面少则十几万元,多则几十万元都有可能。由于这种快速开发平台存在一定的学习成本,价格昂贵,普通“码农”只能望而却步,一般直接使用JAVA、PHP、Python、Power Builder等来开发。

最近我无意中接触了“无远开发平台”(英文名:Enhancer),看法发生了变化。虽然Enhancer后端采用的是node.js,但对于大部分中小型信息系统而言已经足够了。Enhancer具有上手快、文档齐全、价格亲民(收费主要针对企业版、社区版是免费的)、运行速度快、支持PC/移动端设计等特点。

HIT公司为什么需要低代码开发平台

在HIT行业,针对某个业务进行专门的软件开发,所需费用从十几万元到几百万元不等。站在客户角度,通常花了钱不说,还不一定获得满意的效果。站在软件公司的角度,需要投入大量的人力、物力,很多系统依靠“人肉运维”,赚取的不过是辛苦费。

笔者认为,决定一个HIT软件质量是否经得住岁月考验,取决于几大因素:第一个因素,优秀的IT人才。然而现实世界中的优秀人才总是像“大熊猫”一样稀缺。第二个因素,严格遵循ISO质量管理体系,从需求把控、代码开发、文档管理、代码评审等多个环节把控软件质量。

大部分HIT软件的开发都是粗犷式的。这也是有原因的:首先,由于现实客观环境限制,有些项目未能遵循事物发展的客观规律,今天提出的需求,恨不得明天就上线,导致软件一边上线、一边出bug、一边修改,一路跌跌撞撞,只能靠着“人肉运维”熬出头。这就好比让原本需要怀胎十月的婴儿,在2个月时间内提前生产,后果可想而知。其次,HIT企业的发展空间、薪资待遇相对有限,难以招聘到一流的IT人才,一流IT人才通常都跑去BAT等“大厂”了。第三,HIT企业往往很难做到严格遵循ISO质量体系进行规范生产,至于熟练运用设计模式、优化算法、要做Code Review、进行代码重构等,前提是有这样的“牛人”存在,并且愿意去做,否则就是“竹篮打水一场空”。

HIT公司在初创阶段,由于业务量不大,基本上软件质量是可控的。业务量扩大后,为了快速完成开发,最简单的方式就是在原来的基础上进行代码堆彻,导致新人不敢改前人的代码,你不敢改我的代码。由于未能严格遵循ISO质量生产规范,“无限膨胀”后的软件缺乏迭代优化,速度变慢,开始走向失控,有时出现的bug难以解决,如果“擅自”修改前人留下的代码,可能会出现“代码一改,地动山摇”的局面。因此,HIT公司一般只有在实在忍无可忍的情况下才会重构整个产品。

低代码开发平台对于HIT公司而言是否切实可行,目前来说没有成熟案例,不好判断。笔者在此仅谈一下个人理解。

通过研究Enhancer,我认为它的基本思想是“软件系统必须由组件构成”。这样做有什么好处?能写组件的人,通常是工作很多年的“老司机”,他们事先封装好角色控制菜单组件、报表组件、打印组件、日历组件等;而普通的开发人员一般只能通过事先封装好的组件去组装完成开发应用。Enhancer的这种要求表面上看上去不太灵活,实际上对于保证软件质量、避免软件失控起着积极作用。

具体而言,使用组件进行开发具有几大优势。

第一个优势,提升整体开发质量。对于那些每个系统都会用到的重要基础功能,由一个普通程序员开发,或是一个工作十年的老手开发,效果有着天壤之别。因此,按照组件功能的价值排序分配工作,可以将好钢用在好刃上。而且组件总是掌控在“老司机”手上,软件质量得到保证,避免因代码盲目堆彻导致系统的膨胀失控。

第二个优势,有效避免重复开发。HIT公司经常出现重复“造轮子”的现象,是因为开发人员在不知道公司已经存在某个组件的情况下,只能选择自己手工实现功能。我曾经看过某个公司在多个产品中重复实现了好几遍“角色控制菜单”功能。而如果严格遵循“组件构建程序”的原则与流程,则能有效避免这种资源浪费的情况。

第三个优势,促进团队人员成长。在让应届毕业生或新手开发程序时,通过组件配置方式,再经过少量代码即可完成开发,这种方式能保证软件质量,尽量避免写出“低质量、多bug”的软件。而且普通开发人员可以逐步成长为组件开发人员,摆脱低水平重复劳作的CURD困局(指Create、Update、Read、Delete四种操作),提升技术水平,增加职业信心。

第四个优势,降低开发难度,缩短工期,降低开发成本这点不再赘述。

我认为Enhancer还有一个很大的亮点,在每个页面都有一个操作流程图(如图1所示)。在这个操作流程图中,可以清晰地看到各个模块之间的交互逻辑。比起硬读代码,开发人员了解掌握各个模块之间的交互关系,要省时省力许多。

图1

另外,Enhancer平台还有一种商业模式,允许用户开发组件后上传平台,未来可能会获得一定报酬。这样的正向激励,会引来所谓的“高手在民间”,创造无限可能!

医院信息科为什么需要低代码开发平台

如果在医院来一个“街头采访”,问:“医院信息科是做什么的?”官方回答:“负责医院信息化建设的主要部门”,但民间可能默认为“就是经常去修电脑、打印机的那帮人”。

信息科具有天生的幕后属性,要想将“隐身”变成“在线”状态,需要做一些提升“逼格”的事情。怎么提升?光靠喊口号是不行的,必须有自己的独门秘技:开发软件,并且勇于行动!

试想一下,当别人跟你谈起他需要一个什么样的系统时,你轻声告诉他:“给我两个星期,就可以开发出来。”他带着怀疑眼神看着你:“行吗?”“要不,我试一下?”当你熬了两个星期做出样品,带到他面前展示成果时,他惊喜地说:“这小伙子,真厉害!”这就是你提升“逼格”的光辉时刻!

不过,医院信息科想进行自主开发固然好,但普遍存在以下几个问题:第一,没有足够的时间,信息科大多人少、事多杂,不可能为工程师提供专门脱产一年的学习时间,等你学成归来;第二,一般信息科没有设置专门的开发队伍,开发软件只是少数人的单打独斗,孤木难成林;第三,有时得不到应有的合理回报,比如自主开发一个医保控费系统,开发人员付出很大代价,但即使单位给了一些奖励,相比市场合理报酬而言,也基本上属于“免费劳动”。

所以,目前大多数医院信息科的自主开发,主要针对一些边缘系统来展开,需求不复杂,而且研发时间周期短,比如投诉管理系统、排班管理、交班系统等。笔者认为,在这种情况下,低代码开发平台就可以派上用场了!

最后小结一下:为什么需要引入低代码开发平台?因为软件质量通常由人来决定,而人往往是不可靠的,有水平高低的问题,有未能严格遵循开发流程导致代码质量失控问题,有人力成本问题。而低代码开发平台正是解决这些问题的一种产物,应该大有可为。

不过目前在HIT行业,笔者还没有看到成熟的应用案例,这种方式是否可行,还有待大家继续探索实践。笔者使用过的无远开发平台(Enhancer),可以看作Web版的Power Builder,笔者曾看到有个别医院信息科利用Enhancer开发出多个HIT软件。如果你想尝试,可以访问官网,对照教程进行操作,相信你一定学得会。

【作者简介】

冯火,资深医信工程师、系统架构设计师。

关注HIT专家网微信订阅号
精彩不容错过!

【责任编辑:秦勉】

赞(14)

评论 抢沙发

评论前必须登录!

 


未经允许不得转载:HIT专家网 » 【冯火专栏】低代码开发平台,医疗行业应该怎么用?
分享到: 更多 (0)