设计一个60T数据仓库及大数据分析平台,医院数字化该怎么做?

文 | 商业智能BI相关文章 阅读次数:774 次浏览
2023-09-13 14:41:08

入行不久的程序员,最容易对自己和技术产生怀疑。整天担心学不到技术,不能在日活1亿的好项目里锻炼。其实完全没必要。项目一旦成为项目,它的新奇感也就没有了。剩下的就是苦的活儿,码字。

如何获取更多项目经验?看论文,看同行分享。拆解他们如何将需求分析到落地,如何来做技术选型,从中理清细节。

数字化医院,数字化医院建设,信息系统架构,业务系统架构,数字医院

我在看《维度建模》的时候,也曾经懵逼。书上讲的知识是一回事,但没有看到实际的应用之前,觉得书本东西就是一层膜,朦朦胧胧,也云里雾里,不知道怎么用,哪里该用ODS,怎么分层,数据集市该怎么分类。

这一系列的概念,在我看到真正的案例时,才豁然开朗。

哪里才能看到真正的案例呢?最常见的做法,就是去看期刊论文。通常2-4页的论文,完整地介绍了一个实战项目的始终,有需求分析,也有架构实现,还有工具选型。资料丰富,内容精简,绝对好上手。

唯一缺少的是技术细节的剖析,但有价值的事情,不就是自己去实现嘛,你说没有项目经验,自己7周弄7个项目,不是项目经验是什么?

不废话了,今天闲逛期刊网时,看到一篇极好的论文,医院数据仓库项目及其OLAP分析系统,分享给大家。相信看完这个案例后,你一定会对传统行业,生产制造,医院学校,电信银行等数据仓库及其BI应用有所了解。

数字化医院,数字化医院建设,信息系统架构,业务系统架构,数字医院

看病的经历,大家都有。挂号,等待,问诊,检查,确诊,拿药,回家。就是这么个流程,中间涉及到的每一步,现代化的医院都会替你如实地记录下来。

做业务系统的朋友,脑袋里肯定在琢磨的是,用的什么前端架构,是Vue,Angular,还是JQuery?服务端用的是c#还是Java Spring Boot?

做数据库的朋友,想法不一样了,除了问采用Oracle还是SQL Server,心里最大的疑问,莫过于他们需要用BI吗,会有哪些主题,驾驶舱怎么玩的,大屏怎么实现的,医生的字儿那么有个性,这些病症的全文检索怎么办?

这样一琢磨,整个医院的软件体系结构也就出来了。两大块内容,业务系统与分析系统。

业务系统,通常指那些记录病人与医生之间每一次交互的行为信息记录系统。有正常门诊急诊使用的问诊系统,身体各部分检查的影像系统,还有各类体液检测系统,等等。

分析系统,通常是院方用来分析经营利润,医疗评判和医护人员效率的工具。大家看病,通常都会调侃,现在看病贵,看个小病就要好几百。那么事实上,医院真的就很赚钱吗,看下他们的医院经营分析利润报表就可以知道了。

我没做过医院类的数仓也不好说,如果读者们有这个经验,不妨与我们分享下。对于医院来说,一个好名声,可能比利润更重要,所以依靠死亡率,重返率及手术并发率等指标,凸显院方医术先进,更是需要分析系统的保障。

所以,用简单的二分法来归类医院的信息系统,就非常简单的架构:

数字化医院,数字化医院建设,信息系统架构,业务系统架构,数字医院

业务系统(OLTP)负责记录看病日志,而分析系统(OLAP)用来提供管理决策依据。

而具体而看决策分析系统,就有很多说法了:

数字化医院,数字化医院建设,信息系统架构,业务系统架构,数字医院

几大配件:

元数据管理

ETL

数据模型

数据可视化

应用服务层

管理运维层

上面的架构图看上去简单,分层也很清晰,所有的数据仓库及其BI数据分析平台,几乎都可以套用它。唯一不同的是实现方法。

在ETL方面,传统行业使用Batch方式多一些,比如SSIS, Informatica, DataStage 等等,走T+1的增量更新,今天的数据,明天才能反映在报表或者分析系统中。

数字化医院,数字化医院建设,信息系统架构,业务系统架构,数字医院

在数据仓库和Cube方向,传统的企业使用Oracle, SQL Server, DB2的居多,大量的SQL Girl & Body 都会在这个方向上努力。而互联网行业,会加入Hadoop, Hive, Spark 等,来做分布式存储与计算。

数字化医院,数字化医院建设,信息系统架构,业务系统架构,数字医院

Cube方面,曾经的SSAS红极一时,yahoo号称有4000台的Cube,现在也逐渐被Kyligence所取代。

应用服务层,大家可能不常见,尤其对于传统行业的设计人员,利用BO,Hyperion,SSRS等封装好的产品,直接开发与分发报表,所以看不到单独开来的服务层模块。这一层,主要是承接可视化的需求,按照用户角色权限,设计,分发和响应报表请求。

BO,Hyperion,SSRS的产品够好,但唯一的缺陷,是缺少定制化,比如角色权限控制,定时或实时发送警告等。这块我也正在发力,准备做得更深入些,前两天在我的知识星球里,开玩笑说最近开了很多坑,这块算一个。

比如 Web API 可以用NodeJS来完成,对于各类数据响应,使用Docker化部署的NodeJS API,可以线性扩展报表的响应性能。比如使用 Ado.net/Adomd.net 可以将数据库与Cube的访问同时写进一个Web Service里面,这样拉取数据的效率会高很多。

可视化,大家多少都了解些,Excel的Pivot就是简单的例子,各类报表工具,Tableau,FineBI,FineReport也是层出不穷。

当然还有完全可定制化的图表库,比如使用 Angular, D3.js等javascript库,可以开发出更人性化的报表和分析界面。

现在流行的大屏,驾驶舱等等,都是这样衍生出来的,功能上还是在提供数据可视化的表达窗口而已。

差不多了,对于一个基础入门来说,看懂这个框架图,详细地扣一扣技术细节,一个完整的项目经验,应该就算是有了。

很显然在目前的信息时代,借助类似于FineBI的这些工具,可以让企业加速融入企业数据分析平台的趋势。备受市场认可的软件其实有很多,选择时必须要结合实际的情况。一般的情况下,都建议选择市面上较主流的产品,比较容易达到好的效果,目前企业数据分析BI软件市场占有率前列的,就是帆软BI软件——FineBI。

数字化医院,数字化医院建设,信息系统架构,业务系统架构,数字医院

帆软医院大数据平台解决方案: https://www.fanruan.com/solutions/hospital

相关内容

立即咨询 立即咨询

返回顶部