Appearance
Everything Claude Code Healthcare PHI Compliance Skill 是医疗应用开发中保护患者隐私和敏感数据的核心合规组件。它系统性覆盖 PHI/PII 数据分类、行级访问控制(RLS)、审计追踪、数据库加密与常见泄漏防护等实践,适用于 HIPAA、GDPR、DISHA 等主流法规场景。通过集成本 Skill,开发者可在 Claude Code、Codex、Cursor 等 AI 编程助手环境下,快速实现医疗数据安全合规的全链路自动化与验证。
Everything Claude Code Healthcare PHI Compliance Skill:PHI/PII 数据分类、访问控制、审计追踪与加密模式
在医疗应用开发中,如何确保患者隐私(PHI)和个人身份信息(PII)不被泄漏,是合规和安全的底线。传统做法往往依赖开发者手动梳理敏感字段、零散添加权限控制、事后补充日志,容易遗漏,且难以持续验证。Healthcare PHI Compliance Skill 针对这些痛点,提供了一套标准化、可自动触发的合规模式,涵盖数据分类、访问控制、审计追踪、数据库加密与常见泄漏防护,支持 HIPAA(美国)、GDPR(欧盟)、DISHA(印度)等主流法规。
本指南将结合实际项目场景,详细讲解如何在 Claude Code 等 AI 编程助手下用好本 Skill,提升医疗数据安全合规能力。
1. 适用场景与触发条件
Healthcare PHI Compliance Skill 适用于以下典型场景:
- 开发涉及患者记录、医生信息、财务数据的任何功能
- 实现临床系统的访问控制、权限认证
- 设计医疗数据库 Schema
- 构建返回患者/医生数据的 API
- 实现或审计数据访问日志(Audit Trail)
- 代码安全审查、敏感数据泄漏检测
- 多租户医疗系统的行级隔离(Row-Level Security, RLS)
Skill 触发方式:
- 在 Agent/Skill 配置中声明
healthcare-phi-compliance,或在相关代码审查、Schema 设计、API 实现等环节自动激活。 - 可与 Healthcare Reviewer Agent、Database Reviewer Agent、Security Reviewer Agent 等协同,自动检测和修复合规缺口。
2. 使用流程 Step by Step
Step 1:数据分类——识别 PHI/PII 字段
- PHI(受保护健康信息):能唯一标识患者且与健康相关的数据,如姓名、出生日期、地址、联系方式、身份证号、病历号、诊断、处方、化验、保险信息、就诊记录等。
- PII(个人身份信息):如医生/员工个人信息、工资、银行账户、供应商付款等。
操作方法:
在数据库 Schema 设计时,标注每个字段的敏感级别。例如:
sql
COMMENT ON COLUMN patients.name IS 'PHI: patient_name';
COMMENT ON COLUMN doctor_payouts.amount IS 'PII: financial';Skill 会自动识别并跟踪这些标注,后续所有访问、修改、日志等操作均受控。
Step 2:访问控制——行级安全策略(RLS)
为防止越权访问,Skill 推荐并自动生成 Row-Level Security 策略。例如:
sql
ALTER TABLE patients ENABLE ROW LEVEL SECURITY;
CREATE POLICY "staff_read_own_facility"
ON patients FOR SELECT TO authenticated
USING (facility_id IN (
SELECT facility_id FROM staff_assignments
WHERE user_id = auth.uid() AND role IN ('doctor','nurse','lab_tech','admin')
));实际效果:
- 医生 A 只能访问自己所在机构的患者数据,无法越权查询其他机构。
- Skill 会在 API 层和数据库层双重校验,防止误用 service_role 等高权限密钥。
Step 3:审计追踪——不可篡改的访问日志
每一次 PHI/PII 数据的访问、修改、导出、打印等操作,Skill 都会自动生成审计日志,结构如下:
typescript
interface AuditEntry {
timestamp: string;
user_id: string;
patient_id: string;
action: 'create' | 'read' | 'update' | 'delete' | 'print' | 'export';
resource_type: string;
resource_id: string;
changes?: { before: object; after: object };
ip_address: string;
session_id: string;
}通过只允许插入、禁止修改和删除的 RLS 策略,确保日志不可篡改:
sql
CREATE POLICY "audit_insert_only" ON audit_log FOR INSERT
TO authenticated WITH CHECK (user_id = auth.uid());
CREATE POLICY "audit_no_modify" ON audit_log FOR UPDATE USING (false);
CREATE POLICY "audit_no_delete" ON audit_log FOR DELETE USING (false);Step 4:常见敏感信息泄漏防护
Skill 内置多项自动检测与修复机制,防止以下高风险操作:
- 错误信息:禁止在客户端错误信息中包含患者姓名、ID、病历号等。仅允许返回通用错误,详细信息仅在服务器日志记录且使用 UUID。typescript
// 错误示例(泄漏 PHI) throw new Error(`Patient ${patient.name} not found`); // 推荐做法 logger.error('Patient lookup failed', { recordId: patient.id }); throw new Error('Record not found'); - 日志输出:禁止
console.log打印完整患者对象,仅允许打印内部 UUID。 - URL 参数:禁止将患者敏感信息放入 URL 查询参数或路径,仅用 UUID。
- 浏览器存储:禁止将 PHI 存储在 localStorage/sessionStorage,仅内存临时持有。
- 密钥管理:禁止在前端代码中使用 service_role 密钥,所有敏感操作由后端 API 代理并受 RLS 限制。
Step 5:上线前自动化合规检查
Skill 集成部署前自动检查清单,包括:
- 错误信息、日志、URL、前端存储是否有 PHI 泄漏
- 所有 PHI/PII 表是否启用 RLS
- 所有敏感操作是否有审计追踪
- API 是否强制认证
- Session 超时与跨机构数据隔离
3. 输出示例
示例 1:安全与不安全的错误处理
typescript
// BAD — 泄漏患者信息
throw new Error(`Patient ${patient.name} not found in ${patient.facility}`);
// GOOD — 仅记录内部 ID,前端无敏感信息
logger.error('Patient lookup failed', { recordId: patient.id, facilityId });
throw new Error('Record not found');示例 2:多机构行级隔离策略
sql
CREATE POLICY "facility_isolation"
ON patients FOR SELECT TO authenticated
USING (facility_id IN (
SELECT facility_id FROM staff_assignments WHERE user_id = auth.uid()
));登录为 A 机构医生,查询 B 机构患者,结果应为 0 行。
示例 3:安全日志输出
typescript
// BAD
console.log('Processing patient:', patient);
// GOOD
console.log('Processing record:', patient.id); // patient.id 必须为 UUID4. 与其他 Agent/Skill 的协作
- 与 Healthcare Reviewer Agent 配合,自动审查医疗业务代码的合规性。
- 与 Database Reviewer Agent 协同,确保数据库 Schema 敏感字段标注与 RLS 策略无遗漏。
- 可结合 Security Reviewer Agent 做全链路安全检测。
- 支持自动化 Hook,在 PreToolUse / PostToolUse 事件 触发合规校验,防止上线前遗漏。
更多 ECC 组件体系介绍,详见 Everything Claude Code 完全指南。
FAQ
Q: Skill 是否支持多地法规(如 HIPAA、GDPR、DISHA)?
A: 是,Skill 按照国际主流医疗数据保护标准设计,支持美国、欧盟、印度等多地法规合规场景。
Q: 如何防止开发过程中遗漏 PHI/PII 字段?
A: Skill 支持数据库 Schema 标注与自动检测,配合 Agent 可在代码审查、上线前自动发现未标记字段。
Q: Skill 能否自动修复常见的 PHI 泄漏问题?
A: 能,Skill 可自动检测错误信息、日志、URL、前端存储等泄漏风险,并给出修复建议或自动修复。