Appearance
healthcare-cdss-patterns Skill 为 Claude Code 等 AI 编程助手提供了生产级临床决策支持系统(CDSS)开发模式,涵盖药物交互检查、剂量验证和 NEWS2 临床评分等关键能力。通过纯函数库设计,确保每一次安全校验和评分都可追溯、可测试,极大提升医疗软件的安全性与合规性。本文将结合实际项目场景,手把手讲解如何高效集成与用好该 Skill。
Everything Claude Code Healthcare CDSS Patterns:药物交互检查、剂量验证与 NEWS2 临床评分实现
在医疗软件开发中,临床决策支持系统(CDSS)是保障患者安全的核心模块。传统实现方式往往代码分散、校验逻辑难以复用、误报和漏报风险高,尤其在药物交互、剂量验证和临床评分(如 NEWS2)等场景下,一次疏漏就可能导致严重后果。healthcare-cdss-patterns Skill 正是为了解决这些痛点而设计,帮助开发者以最小成本构建可验证、可维护、零容忍漏检的 CDSS 能力。
本指南将围绕以下问题展开:
- healthcare-cdss-patterns Skill 能解决哪些实际问题?不用它时会遇到哪些坑?
- 什么时候应当激活该 Skill?如何与 EMR/医疗工作流集成?
- 详细的操作流程与代码示例,如何在项目中落地?
- 典型输出长什么样?如何根据输出驱动 UI 和后续流程?
- 常见配套 Agent/Skill 及协作模式
1. Skill 能力概览与应用场景
healthcare-cdss-patterns Skill 提供了三大核心能力:
- 药物交互检查:自动检测新开药物与现有用药、过敏史的相互作用,输出分级告警(critical/major/minor),并给出机制、临床影响与推荐措施。
- 剂量验证:按体重、年龄、肾功能等因素多维校验处方剂量,严格阻断不安全用药,防止因信息缺失导致的误开。
- 临床评分(NEWS2):根据患者生命体征自动计算 NEWS2 分数,输出风险等级和升级处置建议。
这些能力均以纯函数库形式实现,无副作用、易于单元测试,适合集成到任何 EMR/EHR 或医疗 SaaS 系统。Skill 触发场景包括但不限于:
- 医生开具新处方时,自动校验药物交互与剂量
- 护士录入生命体征后,自动生成 NEWS2 分数和风险提示
- 实验室结果回传后,结合临床上下文触发动态告警
- 药师审核订单时,辅助判定高风险组合或剂量异常
2. 操作流程 Step by Step
Step 1:集成 Skill 并配置触发点
在项目中安装并启用 healthcare-cdss-patterns Skill(可参考 Everything Claude Code 安装配置指南)。推荐在以下节点自动触发:
- 处方录入/修改时(药物交互、剂量校验)
- 生命体征录入后(NEWS2 评分)
- 药师/医生审核流程(全量再校验)
Skill 以纯函数暴露接口,便于在任何 Agent、Hook 或 UI 事件中调用。例如:
typescript
import { checkInteractions, validateDose, calculateNEWS2 } from 'healthcare-cdss-patterns';Step 2:药物交互检查
触发条件:医生开具新药物,或修改现有用药列表。
操作流程:
- 收集新药物名、当前用药列表、过敏史。
- 调用
checkInteractions(newDrug, currentMedications, allergyList)。 - 获取按严重程度排序的告警数组,驱动 UI 呈现和后续流程。
示例代码:
typescript
const alerts = checkInteractions('warfarin', ['aspirin', 'metformin'], ['penicillin']);
// 输出示例:
/*
[
{
severity: 'critical',
pair: ['warfarin', 'aspirin'],
message: 'Increased bleeding risk',
recommendation: 'Avoid combination'
}
]
*/实际效果:
- critical 告警必须阻断操作,弹窗+强制填写 override 原因,写入审计日志。
- major/minor 告警以橙色/黄色 banner 或 info note 呈现,需手动确认或仅供知悉。
Step 3:剂量验证
触发条件:录入/修改药物剂量、途径,或患者体重、年龄、肾功能等关键参数变动。
操作流程:
- 收集药物名、剂量、给药途径、体重、年龄、肾功能等参数。
- 调用
validateDose(drug, dose, route, weight, age, renalFunction)。 - 根据返回结果决定是否允许继续、提示建议剂量区间。
示例代码:
typescript
const ok = validateDose('paracetamol', 1000, 'oral', 70, 45);
// { valid: true, suggestedRange: { min: 500, max: 4000, unit: 'mg' } }
const bad = validateDose('paracetamol', 5000, 'oral', 70, 45);
// { valid: false, message: 'Exceeds absolute max 4000mg' }
const noWeight = validateDose('gentamicin', 300, 'iv');
// { valid: false, factors: ['weight_missing'] }注意:
- 对于体重/年龄/肾功能等必填但缺失的情况,Skill 会直接阻断(valid: false, factors: ['weight_missing']),绝不允许“跳过”。
- 所有剂量校验都基于可维护的数据结构,避免 hardcode,便于后续药典升级。
Step 4:NEWS2 临床评分
触发条件:录入或更新患者生命体征。
操作流程:
- 收集 NEWS2 所需的各项生命体征数据。
- 调用
calculateNEWS2(vitals)。 - 获取总分、风险分级、各项评分细节及升级建议。
示例代码:
typescript
const result = calculateNEWS2({
respiratoryRate: 24,
oxygenSaturation: 93,
supplementalOxygen: true,
temperature: 38.5,
systolicBP: 100,
heartRate: 110,
consciousness: 'voice'
});
// { total: 13, risk: 'high', escalation: 'Urgent clinical review. Consider ICU.' }实际效果:
- 高风险(如 total≥7)可自动触发紧急会诊、ICU 预警等后续流程。
- 评分表严格遵循官方规范,保证医疗合规。
Step 5:告警分级与 UI 行为驱动
Skill 输出的告警分为 critical、major、minor 三个等级,需严格映射到 UI 行为:
| Severity | UI 行为 | 操作者要求 |
|---|---|---|
| Critical | 阻断操作,红色不可关闭弹窗 | 必须填写 override 原因并审计 |
| Major | 橙色警告条,需确认 | 必须手动确认后继续 |
| Minor | 黄色提示,仅供知悉 | 可直接继续,无需操作 |
注意:critical 告警绝不能用 toast 或可自动消失的提示实现,合规性和安全性要求极高。
Step 6:自动化测试与零容忍漏检
Skill 提供了可直接用于单元测试的接口,便于实现 100% 覆盖率的安全校验。例如:
typescript
describe('CDSS — Patient Safety', () => {
it('blocks mg/kg drug when weight is missing', () => {
const result = validateDose('gentamicin', 300, 'iv');
expect(result.valid).toBe(false);
expect(result.factors).toContain('weight_missing');
});
// ...更多交互/剂量用例
});一旦出现漏检(如某药物交互未被发现),即为严重安全事件,必须修复。
3. 与其他 Agent/Skill 的协作模式
- 配套 Agent:推荐与 Healthcare Reviewer Agent 协作,实现代码级安全审查、CDSS 逻辑验证与合规性检查。
- 与 Hook 集成:可通过 PreToolUse / PostToolUse Hook 自动在关键节点触发校验,保证所有操作都经过安全把关。
- 与 PHI 合规 Skill 配合:Healthcare PHI Compliance Skill 可协同实现患者隐私数据的合规处理。
- 与自动化验证体系结合:结合 Verification Loop Skill 实现端到端的持续安全验证。
4. 常见问题与注意事项
Q: 如果患者体重、年龄等关键参数缺失,Skill 会怎么处理?
A: Skill 会直接阻断相关校验(如 mg/kg 剂量),返回 valid: false 并提示缺失项,绝不允许跳过或默认通过。
Q: 药物交互数据如何维护?能否动态更新?
A: 交互对采用可维护的数据结构(如 DrugInteractionPair),支持后续药典升级和动态扩展,避免 hardcode。
Q: 如何保证 Skill 输出的告警不会被 UI 误用或自动消失?
A: 严格按分级规范驱动 UI 行为,critical 告警必须阻断且需记录 override,绝不能用 toast 或自动消失提示实现。
通过 healthcare-cdss-patterns Skill,开发者可在 Claude Code 等 AI 编程助手中快速构建高安全性、强合规的医疗决策支持系统。建议结合 Everything Claude Code 完全指南 与 高级技巧 深入理解 Agent/Skill/Hook 的协作模式,打造真正可落地的智能医疗工作流。