2. 医疗数据交换的法规与伦理框架

跨机构医疗数据交换的第一道门槛不是接口协议,而是法律授权。同一份病历,在不同法域下可能被归类为受保护健康信息、个人数据或敏感个人信息,其可交换范围、患者权利和机构义务完全不同。工程上如果只按“能连通”设计,往往在合规审计时被判定为越权传输。因此,本节先建立法规到技术约束的映射,再落到 consent 状态机和审计证据链。

三套法规的核心约束差异

HIPAA 以“受保护健康信息(PHI)”为对象,适用于美国境内的 covered entity 与 business associate。它不要求交换前必须取得患者逐次授权,而是通过治疗、支付、运营(TPO)例外允许常规使用;但向非 TPO 目的披露时,需要患者授权。HIPAA 的安全规则要求对电子 PHI 实施访问控制、审计日志、传输加密和完整性校验,最小必要原则贯穿其中。

GDPR 以“个人数据”为对象,医疗数据属于特殊类别数据,原则上禁止处理,除非满足第 9 条例外,如明确同意、重大公共利益或医疗诊断需要。GDPR 强调数据主体权利:访问、更正、删除、可携带和反对自动化决策。跨境传输还需具备充分性认定或标准合同条款。与 HIPAA 不同,GDPR 对同意的撤回、 granularity 和自由给予有更严格的形式要求。

《个人信息保护法》将医疗健康信息列为敏感个人信息,处理需取得单独同意,并告知必要性和影响。跨境提供需通过安全评估、认证或标准合同,且需向个人告知境外接收方信息。三者的共同底线是:目的限定、最小必要、可追溯、可撤回。差异在于授权触发条件、患者权利范围和跨境规则。

医疗数据交换:法规约束 → Consent 状态 → 审计证据链 HIPAA(美国) 对象:PHI 授权:TPO 例外 + 非 TPO 授权 安全规则:访问控制/审计/加密 跨境:无统一充分性机制 患者权利:访问、更正、会计披露 GDPR(欧盟) 对象:特殊类别个人数据 授权:明确同意或第9条例外 权利:访问/删除/可携带/反对 跨境:充分性认定或 SCC 同意:自由给予、可撤回、细化 个人信息保护法(中国) 对象:敏感个人信息 授权:单独同意 + 告知影响 跨境:安全评估/认证/标准合同 权利:查阅/复制/更正/删除 处理:目的限定、最小必要 Consent 状态机(交换前必须校验) 未授权 已授权 交换中 已撤回 撤回后:停止后续交换,已交换数据按协议处理 合规审计证据链:每次交换必须可回答“谁、何时、为何、交换了什么” 身份与角色 发起方/接收方/操作者 授权依据 consent ID / 法律条款 数据范围 最小必要字段集 时间与结果 时间戳/成功/拒绝原因 完整性 哈希/签名/防篡改

Consent 管理:从纸质授权到可计算状态

Consent 不是一张静态扫描件,而应被建模为带版本、范围、有效期和撤回路径的状态对象。工程上通常用 FHIR 的 Consent 资源承载,关键字段包括:status(draft/active/rejected/inactive)、scope(患者隐私、研究、治疗)、category、patient、dateTime、provision(允许/拒绝的动作、数据类别、目的、期限)。交换网关在每次请求前执行一次 consent 校验,只有 active 且 provision 覆盖本次目的与数据类别的请求才放行。

一个可落地的校验逻辑如下:

输入:patient_id, purpose_of_use, data_category, requester_org
1. 查询该患者最新 active consent 版本
2. 若不存在 active consent → 拒绝,记录 reason=NO_CONSENT
3. 若 purpose_of_use 不在 provision.purpose 中 → 拒绝,reason=PURPOSE_MISMATCH
4. 若 data_category 不在 provision.dataCategory 中 → 拒绝,reason=SCOPE_MISMATCH
5. 若当前时间超出 provision.period → 拒绝,reason=EXPIRED
6. 若 requester_org 在 provision.actor 黑名单 → 拒绝,reason=ACTOR_DENIED
7. 全部通过 → 放行,写入审计事件 consent_id + version

注意第 2 步的“最新 active 版本”必须按版本号或生效时间排序,避免旧授权覆盖新撤回。撤回操作不应删除历史记录,而是将旧版本置为 inactive 并生成新版本,审计时才能还原“当时依据的是哪一版”。

合规审计:证据链的最小字段集

审计日志要能独立回答四个问题:谁发起的、依据什么授权、交换了哪些字段、结果如何。建议每条交换事件至少记录:event_id、timestamp(UTC)、source_org、target_org、operator_id、patient_id(或假名化标识)、purpose_of_use、consent_id、consent_version、data_categories、record_count、result、deny_reason、payload_hash。其中 payload_hash 用于事后验证传输内容未被篡改,通常对规范化后的 FHIR Bundle 计算 SHA-256。

审计日志本身也属于敏感数据,应加密存储、限制访问,并设置独立保留期限。GDPR 下日志保留需有明确目的和期限,不能“永久保存以防万一”。

三法差异对交换网关的配置影响

维度HIPAAGDPR个人信息保护法
交换触发TPO 可默认,非 TPO 需授权原则禁止,需例外或同意敏感信息需单独同意
同意粒度较宽,可合并需细化、可区分需单独、明确
撤回处理后续停止使用立即停止,已处理需说明停止处理并删除
跨境BA 协议约束充分性/SCC评估/认证/标准合同
审计重点访问与披露记录处理活动记录(ROPA)处理目的与同意记录

落到网关配置上,若交换双方分属不同法域,应取交集最严者:例如美国机构向欧盟机构传输,需同时满足 HIPAA 的最小必要与 GDPR 的明确同意或例外;中国机构向境外传输,还需额外完成跨境合规路径。工程实现上,可在网关策略引擎中为每条路由配置 jurisdiction_pair,并绑定对应的 consent 校验规则和审计字段模板,避免用一套默认策略覆盖所有路由。

常见错误:把 consent 校验放在业务系统而非交换网关。业务系统可能被绕过或版本不一致,导致已撤回授权仍被用于交换。consent 校验应作为交换链路上的强制前置检查点,并保留拒绝日志。

最后,合规审计不是事后补材料,而是设计时就把“可证明”嵌入数据流。每次交换产生的事件、consent 版本、哈希和拒绝原因,共同构成可复核的证据链。只有这条链完整,跨机构交换才能在监管问询时站得住。