以下观点仅个人观点,如有冒犯,请指出。
这几年云原生火遍了大江南北,几乎所有行业都会蹭一蹭他的热度,我们今年不讲技术,来讲一讲如何在医疗信息化行业应用云原生技术。
说到医疗信息化,大家首先想到的是什么?是不是肯定是HIS?没错,医疗信息化全都是围绕着HIS展开的,如果没有HIS,周边产品有再多又有什么用呢。那我们今天的问题就变成了,如果在HIS上应用云原生技术,所以后面几个章节的标题就有了。
一、目前的HIS产品
我们先来梳理一下现在的HIS,目前HIS产品大部分都是基于C/S架构的产物,这大概和过去20年的发展有关系,不过我也观察到有部分HIS产商已经开始应用B/S架构去做一个HIS产品了,不过总的来说开始客户端占了主流,客户端有着web页面所不具备的优势,譬如医保读卡,是需要和硬件进行交互的,web页面是没有权限做这个操作的,不过也有曲线救国的办法,例如在电脑上妆一个和硬件交互的客户端,然后使用web网页调用客户端的接口(api/com/socket等)。这个客户端可以很小,但总觉得有点脱裤子放屁的味道。web版的HIS还有很多缺陷,例如:无法在客户端做复杂操作,所有复杂操作必须要在服务器上执行,一旦计算了一点点复杂的玩意儿,浏览器立马崩溃。我在省内某三甲医院看病的时候经常遇到医生操作着操作着,然后系统崩了,病历又要从头写。好在医生也是个好脾气,如果我在写文章的时候系统崩了,我就再也不写了。web版HIS以目前的技术水平来讲,还是难以成为主流。
客户端HIS总的体验上来说,比web版那真是好太多了。首先,客户端程序可使用的系统资源就比web多很多,毕竟东西都是微软自己家的,兼容性肯定强很多。但是限制性因素其实也有很多,比如现在医院里还有很多windows XP系统,这个是无可避免的,包括很多大型三甲医院,也都会遇到这种问题,所以限制了HIS的源码还是只能使用十来年前的技术去编写,我们这里就不考虑java swing,awt这种老旧的技术了,也不用考虑C、C++这类入门难度较高的。(为什么不考虑我想只要是做医疗信息化行业的懂的都懂),所以目前市面上的HIS产品,稍微老一点的,估计是用PB编写的。近几年的,大概率都是.net Framework 3.5/4.0。为什么没有4.5 6的,不就是因为需要兼容XP系统么,如果不兼容XP,大概率是个卖不出去的产品,医院的硬件设备更换是比换一个医疗信息信息更复杂的事情。
二、云原生和HIS
上文说到,主流的HIS产品都是C/S架构。大家也明白,云原生肯定不会在客户端上动手脚,那么基本上也只有在服务端来实现云原生了。那服务端采用云原生