Everything Claude Code 的医疗 Skill 组合为开发者提供了一套从架构到合规的完整解决方案,用于构建安全、高效的医疗软件。该体系核心包括四个协同的 Skill:healthcare-emr-patterns 规范了单页纵向接诊与签署锁定架构;healthcare-cdss-patterns 提供药物交互、剂量验证等决策支持的纯函数库;healthcare-phi-compliance 通过 RLS 行级安全与不可篡改审计日志保障数据隐私;healthcare-eval-harness 则以五大测试门槛与 CI 阻断机制,确保每一次变更都满足临床安全底线。
医疗软件开发:EMR/EHR 架构、CDSS 决策支持、PHI 合规与安全评估
构建医疗软件容不得半点马虎,患者安全、临床准确性、数据合规是必须坚守的底线。利用 Everything Claude Code 的专业医疗 Skill 集合,开发者可以系统性地将生产级医院的最佳实践,转化为可由 AI 编程助手执行的开发模式。本文将串联四个核心 Skill,引导你完成从 EMR 架构设计到上线前安全评估的完整闭环。
1. EMR 架构:单页纵向接诊与签署锁定
传统 EMR 的 Tab 页切换容易导致医生在不同信息间迷失,healthcare-emr-patterns Skill 强制采用单页纵向滚动流程,确保临床思维连贯。
设计单页接诊流程
Skill 会输出以下结构蓝图,所有关键模块按序纵向排列,Patient Header 始终可见:
Patient Header(姓名、年龄、过敏史、现用药)
├── 1. 主诉(结构化模板 + 自由文本)
├── 2. 现病史
├── 3. 体格检查(按系统)
├── 4. 生命体征(自动计算 NEWS2)
├── 5. 诊断(ICD-10/SNOMED 检索)
├── 6. 用药(集成 CDSS 检查)
├── 7. 检查申请
├── 8. 诊疗计划与随访
└── 9. 签署/锁定/打印
实现智能临床模板与红旗警示
使用 ClinicalTemplate 接口结构化病历数据。其中 redFlags 字段是关键,一旦触发,UI 必须弹出不可关闭的警示弹窗,强制医生正视风险。
interface ClinicalTemplate {
id: string;
name: string; // 例如:“胸痛”
chips: string[]; // 可点选症状标签
requiredFields: string[]; // 必填数据项
redFlags: string[]; // 触发强制警示
icdSuggestions: string[]; // 预设诊断编码
}
签署与锁定机制
病历一旦签署,所有字段即被锁定,禁止直接编辑。后续记录只能通过“补充说明”追加,原文与补充记录在患者时间线上清晰可见。签署人、时间及所有补充内容均自动写入审计日志,满足合规追溯要求。
2. CDSS 决策支持:纯函数库实现药物与评分安全
healthcare-cdss-patterns Skill 将临床决策支持逻辑封装为纯函数,确保每一次安全校验都可测试、可追溯。
药物交互检查
触发点:医生开具新药或修改用药列表时。
- 输入:新药物名、当前用药列表、过敏史。
- 调用:
checkInteractions(newDrug, currentMedications, allergyList)。 - 输出:按严重程度(
critical,major,minor)排序的告警数组。 - 关键行为:
critical级别告警必须阻断处方,要求填写覆盖理由并记录审计。
剂量验证
触发点:录入/修改剂量、给药途径,或患者体重、年龄等参数变动时。
- 调用:
validateDose(drug, dose, route, weight, age, renalFunction)。 - 输出:包含
valid布尔值和具体原因的校验结果。 - 关键原则:对于按体重(mg/kg)计算的药物,若体重缺失,系统必须返回
valid: false并指明factors: ['weight_missing'],绝不允许跳过校验。
NEWS2 临床评分
触发点:录入或更新患者生命体征后。
- 调用:
calculateNEWS2(vitals),传入呼吸频率、血氧饱和度、体温等数据。 - 输出:总分、风险等级(如
high)、以及具体的升级处置建议(如 “Urgent clinical review. Consider ICU.”)。 - 自动化:高风险评分可直接触发后续紧急会诊或预警流程。
所有 CDSS 函数输出必须严格映射到 UI 行为,特别是 critical 告警,绝不能使用可自动消失的 toast 提示。
3. PHI 合规:行级安全与不可篡改审计
healthcare-phi-compliance Skill 提供从数据分类到防护的全链路合规方案。
实施行级安全策略(RLS)
在数据库层面为患者表启用 RLS,确保用户只能访问其所属机构的数据。
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')
));
建立不可篡改的审计日志
定义结构化的审计日志,并通过 RLS 策略确保其只可新增、不可修改或删除。
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;
}
防止常见信息泄漏
Skill 会自动检测并建议修复高风险代码模式:
- 错误信息:禁止包含患者姓名等 PHI,应返回通用错误并记录内部 UUID。
- 日志输出:禁止
console.log打印完整患者对象。 - 前端存储:禁止在
localStorage中存储 PHI。
4. 安全评估:五大门槛与 CI 阻断机制
healthcare-eval-harness Skill 是上线前的最后一道安全闸门,确保任何变更都不会破坏核心安全。
五大测试门槛
评估体系分为两级:
CRITICAL 门槛(100% 通过,否则立即阻断):
- CDSS 准确性:测试药物交互、剂量验证、临床评分等,确保零假阴性。
- PHI 泄漏:扫描 API 响应、日志、URL 中的敏感信息。
- 数据完整性:验证病历锁定、审计追踪、级联删除等逻辑。
HIGH 门槛(要求 ≥95% 通过率,低于阈值发出警告): 4. 临床工作流:测试完整的接诊、模板、诊断流程。 5. 集成合规:验证与 HL7/FHIR 等外部系统的数据交互。
集成到 CI/CD 流水线
将测试门槛直接写入 CI 配置(如 GitHub Actions)。以下为关键步骤示例:
# CRITICAL 门槛步骤
- name: CDSS Accuracy
run: npx jest --testPathPattern='tests/cdss' --bail --ci --coverage --coverageThreshold='{"global":{"branches":80}}'
# 任何 CRITICAL 步骤失败,流水线将自动终止。
评估报告输出
每次评估都会生成清晰的报告,指示是否可安全部署:
## Healthcare Eval: 2026-03-27
| Category | Status |
|------------------|------------|
| CDSS Accuracy | PASS (39/39) |
| PHI Exposure | PASS (8/8) |
| Data Integrity | PASS (12/12) |
| Clinical Workflow| PASS (21/22, 95.5%) |
### Verdict: SAFE TO DEPLOY
通过组合使用这四个 Skill,你能在 Claude Code 等 AI 编程助手的协助下,高效构建出符合生产要求的医疗软件。它们共同构成了一个从架构设计到安全落地的工程化保障体系。
FAQ
Q: 在剂量验证中,如果患者体重等关键参数缺失,Skill 会如何处理?
A: Skill 会直接阻断相关校验,返回 valid: false 并在 factors 数组中明确指明缺失项(如 weight_missing),绝不允许系统跳过或使用默认值。
Q: Eval Harness 中的 CRITICAL 门槛和 HIGH 门槛有什么区别? A: CRITICAL 门槛(CDSS 准确性、PHI 泄漏、数据完整性)要求 100% 通过,任何一项失败都会自动阻断部署。HIGH 门槛(临床工作流、集成合规)要求通过率 ≥95%,若低于此阈值系统会发出警告,但允许在人工复核后决定是否上线。