4. 平台总体架构设计

健康档案平台承载的是居民全生命周期健康数据,既要支撑院内诊疗、公卫随访、体检、免疫接种等多源数据的汇聚,又要满足高并发查询、跨机构调阅、隐私合规与长期演进。因此总体架构不能只回答“用什么技术”,而要回答“哪些能力放在哪一层、哪些服务独立部署、哪些组件依赖云原生能力弹性伸缩”。本节围绕分层架构、微服务拆分与云原生基础设施三条主线,说明它们在健康档案平台中的落地方式与选型依据。

一、分层架构:把“数据、服务、接入、渠道”分开

健康档案平台推荐采用五层结构:基础设施层、数据资源层、服务能力层、应用接入层与渠道展现层。分层的核心价值是依赖单向、职责收敛:上层只能调用下层暴露的接口,同层之间尽量不直接互调,避免“档案服务直接读体检库”这类跨层耦合。

基础设施层提供容器编排、服务网格、配置中心、日志与监控;数据资源层负责主索引(EMPI)、档案主库、临床文档库(CDR)、对象存储与检索索引;服务能力层是微服务的集中地,包括患者主索引服务、档案聚合服务、文档解析服务、授权与同意服务、审计服务等;应用接入层提供统一 API 网关、鉴权、限流与协议转换;渠道展现层面向医生工作站、居民端、公卫系统与第三方调阅。这样划分后,新增一个“慢病随访档案视图”只需在服务能力层增加聚合逻辑,不必改动数据层与渠道层。

健康档案平台五层架构与调用方向 渠道展现层 医生工作站 · 居民健康App · 公卫随访端 · 第三方调阅门户 应用接入层 API网关 · 统一鉴权 · 限流熔断 · HL7/FHIR协议转换 · 路由分发 服务能力层(微服务集群) 患者主索引 EMPI 档案聚合 CDR组装 文档解析 CDA/PDF 授权与同意 Consent 审计 Audit 数据资源层 档案主库 · 临床文档库CDR · 对象存储 · 检索索引 · 主数据 · 数据质量规则 基础设施层(云原生底座) 容器编排K8s · 服务网格 · 配置中心 · 日志监控 · CI/CD · 密钥管理 调用 调用 读写 部署

二、微服务拆分:按“业务能力”而非“技术分层”切

微服务拆分最容易犯的错误是按技术分层切,例如“查询服务、写入服务、缓存服务”,结果每个业务变更都要改多个服务。健康档案平台应按业务能力拆分,并遵循“高内聚、低耦合、数据自治”原则。以下是一组可落地的服务边界示例:

服务核心职责数据归属典型接口
患者主索引服务身份匹配、合并、交叉索引EMPI库POST /empi/match
档案聚合服务按时间轴组装居民档案视图只读CDR+缓存GET /archive/{id}
文档解析服务CDA/PDF解析、结构化抽取对象存储+解析结果POST /doc/parse
授权与同意服务调阅授权、患者同意书管理Consent库POST /consent/check
审计服务全量调阅行为留痕审计库(只写)POST /audit/log

拆分后要处理两个关键问题。其一是分布式事务:档案聚合服务需要同时读取多个来源,不应使用强事务,而应采用最终一致性——通过消息队列接收各业务系统的档案变更事件,异步更新CDR,聚合服务只读本地视图。其二是服务粒度:初期不宜拆得过细,建议先按上述5~8个服务落地,待团队与运维能力成熟后再细分。例如“文档解析”与“结构化抽取”可先合并,避免跨服务调用链过长。

三、云原生选型:弹性、可观测与可迁移

云原生不是“上Kubernetes”这么简单,健康档案平台需要重点评估四类能力:

  • 容器编排:Kubernetes 负责服务部署、滚动升级与故障自愈。档案查询服务在上午门诊高峰QPS可达平峰的5~8倍,通过HPA按CPU与自定义指标(如请求队列长度)自动扩缩容。
  • 服务网格:Istio或Linkerd提供mTLS、流量灰度与熔断。跨机构调阅涉及外部网络,网格层可统一做双向认证,避免每个服务重复实现。
  • 可观测性:Prometheus采集指标、Loki收集日志、Jaeger做链路追踪。健康档案调阅链路长,必须能定位“是网关慢、聚合服务慢,还是CDR查询慢”。
  • 配置与密钥:配置中心管理不同院区的差异化参数,密钥管理服务托管数据库口令与接口证书,禁止硬编码。
选型建议:若平台部署在政务云且运维团队规模有限,可优先选择托管Kubernetes(如ACK、TKE)加托管中间件,把控制面运维交给云厂商;若涉及多院区私有化部署,则需评估服务网格与CI/CD的落地成本,避免“为了云原生而云原生”。

四、选型决策:什么情况下用哪种组合

架构选型要结合建设阶段与约束条件。以下给出三种典型场景的判断依据:

场景推荐架构组合关键理由
区域级平台,多机构接入,高并发五层分层 + 微服务 + 托管K8s + 服务网格需要弹性伸缩、跨机构安全通信与统一治理
单体医院院内档案,规模中等分层架构 + 模块化单体 + 容器化部署微服务收益不足以抵消运维复杂度,先保证交付
已有多个业务系统,需快速整合分层 + API网关 + 少量核心微服务以集成和协议转换为主,避免大规模重构

无论选择哪种组合,都应坚持三条底线:数据分层不跨层直连、服务接口版本化、所有调阅行为可审计。健康档案涉及个人敏感信息,架构设计必须把授权、同意与审计作为一等公民,而不是事后补丁。只有把分层边界、服务边界与云原生治理能力同时设计清楚,平台才能在数据量增长、机构接入增多和合规要求变化时保持可演进。