2. 医疗系统可用性需求分析
医疗信息系统的可用性需求不能用一个统一的“99.9%”来概括。门诊挂号停摆十分钟,患者可以转人工窗口;手术麻醉系统中断十秒,可能直接影响患者生命安全。因此,可用性需求分析的第一步,是把业务按“中断后果”重新分类,再为每一类场景定义可量化的 SLA 指标与故障容忍度。
一、从业务后果出发划分场景等级
医疗场景的可用性分级,核心依据不是系统规模,而是中断对患者安全、临床决策和医疗秩序的影响程度。可以按后果严重性划分为四个等级:
- L1 生命安全级:手术麻醉、ICU 监护、急诊抢救、呼吸机管理、急救调度。中断直接威胁生命,容忍度以秒计。
- L2 临床诊疗级:住院医嘱、电子病历、检验检查结果回传、影像调阅、药房发药。中断影响诊疗连续性,容忍度以分钟计。
- L3 业务支撑级:门诊挂号、收费、预约、医保结算、体检登记。中断影响就医体验与收入,容忍度以十分钟到小时计。
- L4 管理辅助级:报表统计、科研数据、办公 OA、满意度调查。中断可延后处理,容忍度以小时到天计。
分级不是给系统贴标签,而是决定后续所有架构投入的分配依据。L1 场景必须做到“故障不中断”,L2 要做到“故障快恢复”,L3 要做到“故障可降级”,L4 可以接受“故障后补”。
二、SLA 指标不能只看可用性百分比
“99.99% 可用性”听起来很高,但换算下来一年仍有约 52 分钟不可用。对 L1 场景来说,这 52 分钟如果落在手术过程中,是不可接受的。因此 SLA 必须拆成三个维度:
| 维度 | 含义 | L1 示例 | L3 示例 |
|---|---|---|---|
| 可用性 | 服务可用的时间比例 | ≥99.999% | ≥99.9% |
| 恢复时间目标 RTO | 故障后恢复服务的最长时间 | ≤10 秒 | ≤30 分钟 |
| 恢复点目标 RPO | 可容忍丢失的数据时间窗口 | ≈0(同步复制) | ≤5 分钟 |
此外还要定义故障容忍度:允许同时失效的组件数量。例如 L1 要求“单机房断电不影响手术”,意味着必须跨机房双活;L3 允许“单节点故障后 30 分钟内恢复”,则主备模式即可。
三、场景化 SLA 分级与故障容忍度对照
下图把门诊、住院、急诊、手术、检验检查五类核心场景放在同一张关系图中,横向对比它们的 SLA 等级、RTO/RPO 要求、允许的故障模式以及对应的架构策略。图中颜色越偏红,表示中断后果越严重、容忍度越低。
四、故障容忍度的量化方法
故障容忍度可以用“允许失效的组件数”来量化。以手术麻醉系统为例,假设它由应用服务器、数据库、网络链路、终端设备四层组成。如果要求“任意单层故障不影响手术”,则每层至少需要 2 个冗余实例,且切换时间小于 RTO。如果要求“单机房整体故障不影响手术”,则必须跨机房部署,且数据同步延迟小于 RPO。
实际分析时,可以用一个简单的判断表来推导:
| 故障场景 | 手术麻醉(L1) | 住院医嘱(L2) | 门诊挂号(L3) |
|---|---|---|---|
| 单应用节点宕机 | 无感知,自动切换 | 无感知,自动切换 | 可接受 30 分钟内恢复 |
| 数据库主库故障 | 秒级切换,数据不丢 | 分钟级切换,允许秒级数据丢失 | 可接受人工切换 |
| 单机房断电 | 另一机房接管,业务不中断 | 另一机房接管,允许短暂中断 | 可接受停机等待 |
| 网络完全中断 | 本地缓存续传,终端可离线操作 | 只读模式,恢复后补录 | 转人工窗口 |
五、从需求到架构约束
SLA 分级最终要落到具体的架构约束上。L1 场景的 RTO ≤ 10 秒,意味着不能依赖人工发现和手动切换,必须实现自动故障检测与自动切换;RPO ≈ 0 意味着数据必须同步复制,不能接受异步复制带来的秒级数据丢失。L2 场景的 RTO ≤ 5 分钟,可以接受自动切换加短暂服务降级;L3 场景的 RTO ≤ 30 分钟,主备模式加人工介入即可满足。
在实际项目中,建议先由临床科室、信息科和运维团队共同确认每个场景的等级,再逐项填写 RTO、RPO 和允许故障模式,最后反向检查现有架构是否满足。如果现有架构无法满足 L1 要求,应优先改造手术麻醉、急诊抢救等场景,而不是平均用力。