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 要求、允许的故障模式以及对应的架构策略。图中颜色越偏红,表示中断后果越严重、容忍度越低。

医疗核心场景 SLA 分级与故障容忍度关系图 颜色越偏红 → 中断后果越严重 → 容忍度越低 → 架构冗余要求越高 场景 SLA 等级 RTO / RPO 允许故障模式 架构策略 手术麻醉 术中监护 急救调度 L1 生命安全级 RTO ≤ 10s RPO ≈ 0 99.999% 单机房断电 单节点故障 网络抖动 双活数据中心 + 同步复制 + 本地缓存续传 终端离线模式 + 自动切换(<5s) 独立供电与网络通道 急诊抢救 分诊叫号 抢救记录 L1 生命安全级 RTO ≤ 30s RPO ≈ 0 99.999% 单机房断电 数据库主库故障 应用节点宕机 同城双活 + 数据库自动主备切换 应用无状态多副本 + 负载均衡 纸质应急流程兜底 住院医嘱 电子病历 药房发药 L2 临床诊疗级 RTO ≤ 5min RPO ≤ 30s 99.99% 单机房故障 主库宕机 单应用节点故障 主备数据中心 + 异步复制 数据库主备自动切换(<60s) 应用多副本 + 只读降级 检验检查 LIS/PACS 结果回传 L2 临床诊疗级 RTO ≤ 10min RPO ≤ 1min 99.99% 单机房故障 存储节点故障 接口服务中断 分布式存储 + 多副本 消息队列削峰 + 结果重传 接口熔断与降级 门诊挂号 收费结算 预约体检 L3 业务支撑级 RTO ≤ 30min RPO ≤ 5min 99.9% 单节点故障 服务重启 短时网络中断 主备模式 + 定时备份 人工窗口应急 + 离线挂号 非核心功能可降级 注:RTO/RPO 为示例目标值,实际需结合医院规模、监管要求与投入预算调整;L4 管理辅助级未在图中展开。

四、故障容忍度的量化方法

故障容忍度可以用“允许失效的组件数”来量化。以手术麻醉系统为例,假设它由应用服务器、数据库、网络链路、终端设备四层组成。如果要求“任意单层故障不影响手术”,则每层至少需要 2 个冗余实例,且切换时间小于 RTO。如果要求“单机房整体故障不影响手术”,则必须跨机房部署,且数据同步延迟小于 RPO。

实际分析时,可以用一个简单的判断表来推导:

故障场景手术麻醉(L1)住院医嘱(L2)门诊挂号(L3)
单应用节点宕机无感知,自动切换无感知,自动切换可接受 30 分钟内恢复
数据库主库故障秒级切换,数据不丢分钟级切换,允许秒级数据丢失可接受人工切换
单机房断电另一机房接管,业务不中断另一机房接管,允许短暂中断可接受停机等待
网络完全中断本地缓存续传,终端可离线操作只读模式,恢复后补录转人工窗口

五、从需求到架构约束

SLA 分级最终要落到具体的架构约束上。L1 场景的 RTO ≤ 10 秒,意味着不能依赖人工发现和手动切换,必须实现自动故障检测与自动切换;RPO ≈ 0 意味着数据必须同步复制,不能接受异步复制带来的秒级数据丢失。L2 场景的 RTO ≤ 5 分钟,可以接受自动切换加短暂服务降级;L3 场景的 RTO ≤ 30 分钟,主备模式加人工介入即可满足。

关键原则:可用性投入应与中断后果成正比。把 L1 的要求套到 L4 上会造成巨大浪费;把 L3 的标准用在 L1 上则可能酿成医疗事故。分级的目的,是让每一分架构成本都花在真正影响患者安全的地方。

在实际项目中,建议先由临床科室、信息科和运维团队共同确认每个场景的等级,再逐项填写 RTO、RPO 和允许故障模式,最后反向检查现有架构是否满足。如果现有架构无法满足 L1 要求,应优先改造手术麻醉、急诊抢救等场景,而不是平均用力。