Files
HealthCarePregnant/5-compliance-PCM.md
T
2026-06-18 09:48:05 +08:00

7.1 KiB
Raw Blame History

5-compliance-PCM · 安全与合规验收清单(T-9.3)

项目缩写:PCM 上游:0-req-PCM.mdNFR/约束)、1-prd-PCM.md(§8 合规)、4-arch-PCM.md 用途:上线前安全与合规基线核查。逐项标注现状、证据(代码位置)与上线前必办事项。 状态图例: 已实现 ⚠️ 部分(V1 占位/待补强)  待办 🔴 外部阻塞(待运营方/法务/医生)

⚠️ 说明:本清单为工程自检基线,不替代法务/DPO 的正式合规评审与(如适用)监管注册评估。


1. 监管定位声明(NFR-2 / C-1

  • 产品定位:健康管理 / 临床决策支持非诊断、非急救替代、非处方
  • 工程体现:
    • AI 决策建议对中/高风险 requiresHumanConfirmation=true,系统不自动执行临床决策(人工兜底)。
    • 知识问答强制 RAG + 溯源,无依据明确告知并建议就医,不超纲生成。
    • 红旗急症仅给"立即就医"提示并通知医护,不下诊断结论。
    • 孕妇端/家属端知情同意文案明示"提供健康陪伴与信息参考,不替代医生的诊断与治疗"。
  • 🔴 上线前必办:监管定位与合规边界的最终确认(C-1,待运营方/法务);若功能演进触及 SaMD 边界须重新评估 NMPA 注册。

2. 合规核对清单

NFR-1 安全合规(PIPL / 数据安全法)—— 拆分逐项

要求 现状 证据 / 说明
1.1 知情同意 使用前签署,留存可审计 auth.service.ts:孕妇/家属未签 consent 拒绝注册;consentSigned 留存;前端登录页含同意勾选 + 隐私政策页
1.2 身份认证 会话安全、令牌校验 全局 JwtAuthGuard 校验签名令牌 + 过期;token.ts HMAC + 过期;8h TTL
1.3 分级权限 按角色访问控制 ⚠️ 能力级:CapabilitiesGuard + rbac.ts 矩阵,越权 403。记录级(仅本人/负责个案/绑定孕妇)待补(无用户↔孕妇关联表)
1.4 口令保护 不明文存储 password.tsscrypt + 16B 随机盐 + timingSafeEqual;最短 8 位。生产建议 argon2/bcrypt
1.5 传输加密 TLS 应用层未含 TLS;须在入口(nginx/ingress/网关)终止 TLS。上线前必办
1.6 存储加密 敏感字段加密、最小化 PostgreSQL 持久化(auth/audit/patient/observationDATABASE_URL 门控);敏感 PII/PHI 字段级加密已落地——patient(姓名/孕产史/日期/风险因素)、observation(测量值) 经 AES-256-GCM 入 enc 列(field-sealer.ts/field-crypto.ts),实跑验证库内为密文、不含明文。非敏感元数据留明文列以供检索。生产经 KMS 注入 FIELD_ENCRYPTION_KEY 并轮换
1.7 数据最小化 仅采所需 ⚠️ 建档/录入 DTO 仅收必要字段;代码示例/日志未回显敏感值。缺正式数据分级清单
1.8 留存与删除 留存策略 + 删除权 未实现数据留存期与删除/导出(PIPL 主体权利)。上线前必办
1.9 审计日志 关键操作留痕 audit.service.ts 记录注册/登录/越权(access:deny)audit.controller.tsaudit:readadmin)可查。持久化可用PG audit_logDATABASE_URL 门控),已实跑入库+重启存活验证。生产再加防篡改/WORM 与归档

NFR-2 监管定位 / C-1

现状 证据
非诊断定位的工程约束 人工兜底 + RAG 不超纲 + 红旗仅就医提示(见 §1)
监管定位最终确认 🔴 外部 C-1,待运营方/法务确认

NFR-3 可解释性

现状 证据
风险/预警可追溯 AlertruleIds+messages+observationIdscenarios.spec.ts S1 断言可追溯
AI 建议可解释 Recommendation.rationale 溯源到预警说明
问答溯源 QaAnswer.citations(标题/来源/权威级别)

NFR-4 临床安全 / C-4

现状 证据
红旗人工兜底 redflag.service.ts 即时就医 + 通知管理师/医生 + 升级高风险;S3 测试
高风险 AI 必须人工确认 recommendation.ts 中/高风险 requiresHumanConfirmation=true;工作台"确认采纳"门控
误报/漏报责任边界与处置 SLA 责任边界与 SLA 为运营/医疗制度,未在系统固化。上线前必办(制度+配置)

NFR-9 可观测/审计

现状 证据
全链路审计 ⚠️ 已覆盖鉴权/越权;处置/配置类操作的审计点待逐步补全;存储须持久化

约束核查

约束 现状 证据 / 说明
C-1 监管定位(🔴最高) 🔴 外部 待最终确认
C-2 设备指标清单(🔴最高) 🔴 外部 待运营方;V1 以手动录入兜底,不阻塞上线核心闭环
C-3 数据合规隐私(🔴最高) ⚠️ 同意/审计/口令已实现;传输/存储加密、留存删除待办(见 1.5/1.6/1.8
C-4 红旗+人工兜底(🟠高) 见 NFR-4
C-5 低质量数据不驱动高风险(🟠高) quality-control.ts 拒绝不可信值,rejected 不进入分析;S1 测试断言
C-6 RAG 溯源不超纲 + 高风险人工确认(🟡中) 见 NFR-3 / NFR-4

3. 上线前必办(阻塞项)

  1. 传输加密 TLS(1.5):入口层 TLS 终止 + HSTS。
  2. 存储加密与持久化(1.6 / T-1.2):全部领域仓储已迁移 PostgreSQLauth/audit/patient/observation/analysis/caseflow/reminder/knowledge+ 敏感字段 AES-256-GCM 加密入库,本地 PG 全闭环 + 重启存活验证。:生产 KMS 密钥管理与轮换。
  3. 数据留存与删除/导出(1.8):留存期策略 + 主体删除/导出(PIPL 权利)。
  4. ⚠️ 审计持久化1.9):PG audit_log 持久化已落地; 生产防篡改/WORM 存储与归档策略。
  5. ⚠️ 记录级授权(1.3):用户↔孕妇关联,强制"仅本人/负责个案/绑定孕妇"。
  6. 误报/漏报责任边界与处置 SLA(NFR-4):制度化并在系统配置/留痕。
  7. 🔴 监管定位最终确认(C-1)+ 医学阈值/红旗规则由医生确认(外部)。
  8. 🔁 密钥与配置AUTH_SECRET 强随机 + 轮换;密钥管理(KMS/Secrets);勿用默认值。

4. 验收结论

  • V1 工程层面已落地:知情同意、认证、能力级 RBAC、口令哈希、可解释/可追溯、人工兜底、RAG 不超纲、数据质控、审计(内存)。
  • 不满足"无条件上线":传输/存储加密、数据留存删除、审计持久化、记录级授权、监管定位确认为阻塞项(§3)。
  • 建议:完成 §3 阻塞项(多数依赖 PostgreSQL 持久化与部署层 TLS)后,由法务/DPO 正式评审再灰度上线(T-9.4)。

变更记录

日期 变更 说明
T-9.3 创建 基于代码现状的安全与合规验收基线;映射 NFR-1/2/3/4/9 与 C-1~C-6