从医院取药看系统架构的生产力

问个问题,架构是计算机系统特有的吗?我认为不是,我觉得架构其实是一个很广泛的概念,我们如果用架构的眼光看待周围的事物,很多东西都是相通的


18年的最后一天,去医院开了几盒药,不知是不是因为马上就到下一年了,需要重新计算门槛费,医院的人真的是多。我这一两年是经常往医院跑,都没见过这次这么多人

最近去医院呢,每次都得开点儿药。这一开药就涉及到取药,以前最让我头疼的就是取药了,大家乌央乌央的挤在一起,等着窗里的大夫一个一个的看条拿药,还老有插队的,再发生点儿口角,更是感觉煎熬了,如果来医院2个小时,一大半的时间都在排队取药

然而我近期常去的医院取药的方式已经完全和以前不一样了,效率明显比以前高了很多,特别是今天,人那么多,取药也只用了半个多小时就搞定了,这要是放以前,那不得奔两个小时去了,为什么会有这么大的差异呢?这其实就是系统架构变化所带来的生产力的提升


那我们就来看看现在这种取药方式和以前相比,架构发生了那些变化(这里不说全自动化)

先说以前的方式,原来医院取药的方式都是来一个病人,医生要看缴费单子,然后起身去配药,配完药返回来给这个病人,然后再接待下一位病人,人多的时候只能多开窗口,但是医院就这么多窗口,一旦出现流感或者什么季节性的病,取药的人立刻就开始堆起来了,越堆越多

现在不一样了,取药被分为了两个部分,一个是前台,一个是后台。前台只负责收单子,把一张张单子和一个个药筐码好放在后台的窗口,再把后台配好药的一摞筐子拿过来挨个叫名字发给病人,通常会5个5个的收单子,然后5个5个的发药。后台负责给每个框子根据单子配好药,通常我们都看不到后台的人员

这是不是听起来似曾相识啊,这跟信息系统的服务拆分解耦好像啊,如果我们用信息系统的架构来简单套一下


那以前的方式就是这样的

搜狗截图20190101033513.png

一个医生干全部的事情

现在变成了这样

搜狗截图20190101034258.png

医生的职能被分割成了两部分,各自负责一摊,中间用队列连起来

对于通常来说,一个取药过程的大概时间分布是这样的

搜狗截图20190101034038.png

配药占据了绝大部分的时间


新的架构使得花费最长时间的工作被从直接面对病人的过程中分割出来了,前台医生专注于收单据创建队列和给药消费队列这两个低时间消耗的过程,使得前台部分的效率(吞吐量)大大的提升。而配药这个过程也变得可以扩容了,后台医生5个不够,再加5个,不够再加5个,不再受到取药窗口数量的限制,直到加到可以与前台的效率相当的地步

是不是很像一套信息系统

那这是不是就很完美了呢,还有没有可以提升的地方呢?答案肯定是有的

这里要说一个原则,架构一定要基于业务和场景

取药这个业务很简单,场景也很清楚,那我们要做的就是要观察还有什么问题


通过排这几次队,发现还有一些问题的,简单列3个

1,有排错队的

2,有插队的

3,有交单子排到了没有药的

简单分析一下这3个问题

排错队:现在是每个取药窗口都有两个队伍,一个是交单子的,一个是等着拿药的,队伍稍微长一点儿,再加上两个邻近窗口的混淆,的确容易排错队,这个是经常发生的

插队:首先我们不讨论素质的问题,我们但看这个系统,什么地方会插队,前台医生面对的两群人,等着拿药的是不会有插队问题的,因为该谁拿药是医生来喊的,控制权在医生手里,插队没用。但交单据的时候医生手里是没有控制权的,是会发生插队的,那么再看什么时候会发生插队,只有当交单据的人多了有了队伍的堆积才会有人插队,如果这个队伍消化的很快,几乎每什么队伍,那也就不会有有人插队了

排到了没有药:我们也不考虑医院的库存机制问题,就当这是无法避免的随机事件,那么要做的就是减少损失,这里的损失主要就是排队时间,这里的排队也有两部分时间,一个是交单子的时候就被告知没药,一个是拿药的时候才被告知没药。如果可以不排队就知道,或者只需要用很少的时间排队,那么这个损失就可以降低

这么分析完再加上前面说的整个取药的时间分布,是不是就有主意了,我们可以把前台按照职能再拆啊

收单子有专门收单子的窗口,取药有专门取药的窗口

收单子窗口的高吞吐量能够保证交单据的队伍可以很短,也就避免了插队和没药时白白排队的时间损失。同时不同窗口的不同职能也很难让人排错队。那么对于避免拿药的时候才能知道没药,药品的库存情况需要即使的反馈给收单据的医生,那么这就需要提供一个库存的看板来降低这个时间浪费的风险,大概就是这个样子

搜狗截图20190101041430.png

是不是更像一套web系统了


这就完了吗?还有没有能够重构优化的点呢?一定是有的,只不过需要接触到更深的业务才能洞察出更多的灵感


qrcode_for_gh_89a7de0c1132_258.jpg

欢迎关注公众号,共同交流,共同进步

猜你喜欢

转载自blog.51cto.com/14157399/2337563