Skip to content
Data
Command

/interaction

药物名称或食物名称(用于检查特定药物的相互作用,可选)

From plugin
wellally-health
91959 skills59 commands
Install
$ npx -y skills add huifer/WellAlly-health --agent claude-code

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/interaction

Context preview

What this command does when you run it.

药物名称或食物名称(用于检查特定药物的相互作用,可选)

Command definition

interaction.md
description: 检查和管理药物相互作用
arguments:
  - name: action
    description: 操作类型:check(检查)/list(列出规则)/add(添加规则)/update(更新规则)/delete(删除规则)/history(查看历史)
    required: true
  - name: drugs
    description: 药物名称或食物名称(用于检查特定药物的相互作用,可选)
    required: false

药物相互作用检查

检测和管理药物相互作用,包括药物-药物、药物-疾病、药物剂量、药物-食物四种类型的相互作用,提供五级严重程度分级(A/B/C/D/X)的专业建议。

操作类型

1. 检查相互作用 - `check`

检查当前用药方案中存在的相互作用。

**参数说明:**

  • `drugs` (可选): 指定要检查的药物,格式:`药物1 药物2`,不指定则检查所有当前用药

**示例:**

/interaction check
/interaction check 华法林 阿司匹林
/interaction check 辛伐他汀 氨氯地平

**检查内容:**

  • 🔄 药物-药物相互作用
  • 🏥 药物-疾病冲突
  • 💊 药物剂量冲突
  • 🍽️ 药物-食物相互作用

2. 列出相互作用规则 - `list`

查看相互作用规则库。

**参数说明:**

  • 无参数:列出所有规则统计
  • 级别筛选:`A`/`B`/`C`/`D`/`X`(列出特定级别的规则)
  • 药物名称:列出特定药物相关的规则

**示例:**

/interaction list
/interaction list X
/interaction list 华法林

3. 添加相互作用规则 - `add`

添加自定义相互作用规则。

**参数说明:**

  • 规则信息(必填),格式:`药物1 药物2 级别(A/B/C/D/X) 风险描述`

**示例:**

/interaction add 阿司匹林 华法林 X 显著增加出血风险
/interaction add 二甲双胍 酒精 C 增加乳酸酸中毒风险

4. 更新相互作用规则 - `update`

更新已有的相互作用规则。

**参数说明:**

  • 规则信息(必填),格式:`药物1 药物2 [字段] [值]`

**示例:**

/interaction update 阿司匹林 华法林 severity B
/interaction update 华法林 维生素K recommendations 保持摄入量稳定

5. 删除相互作用规则 - `delete`

删除自定义的相互作用规则。

**参数说明:**

  • 药物名称(必填),格式:`药物1 药物2`

**示例:**

/interaction delete 阿司匹林 华法林

6. 查看检查历史 - `history`

查看过去的相互作用检查记录。

**示例:**

/interaction history
/interaction history 2025-12

执行步骤

检查相互作用 (check)

1. 加载当前用药列表

从 `data/medications/medications.json` 读取所有活跃药物(`active: true`)。

如果没有用药记录,输出提示:

💡 提示
暂无用药记录,请先使用 /medication add 添加药物

2. 执行四种检测逻辑

2.1 药物-药物相互作用检测

**检测算法:**

// 遍历所有药物组合
for (let i = 0; i < medications.length; i++) {
  for (let j = i + 1; j < medications.length; j++) {
    const drug1 = medications[i];
    const drug2 = medications[j];

    // 检查直接匹配(药物名称)
    const directMatch = findInteraction(drug1.name, drug2.name);
    if (directMatch) {
      interactions.push({
        type: 'drug_drug',
        drugs: [drug1, drug2],
        rule: directMatch
      });
    }

    // 检查类别匹配
    const categoryMatch = findCategoryInteraction(drug1, drug2);
    if (categoryMatch) {
      interactions.push({
        type: 'category',
        drugs: [drug1, drug2],
        rule: categoryMatch
      });
    }
  }
}

**匹配规则优先级:** 1. 直接名称匹配(药物通用名或商品名完全相同) 2. 同义词匹配(考虑药物的别称) 3. 类别匹配(同类药物,如多种NSAIDs) 4. 机制匹配(通过相同代谢酶的药物)

2.2 药物-疾病冲突检测

**数据来源:**

  • `data/profile.json` - 用户档案中的疾病史
  • 出院小结记录中的诊断
  • 症状记录中的慢性病信息

**检测逻辑:**

for (const medication of medications) {
  for (const disease of userDiseases) {
    const conflict = findDrugDiseaseConflict(medication.name, disease.name);
    if (conflict) {
      conflicts.push({
        type: 'drug_disease',
        medication: medication,
        disease: disease,
        rule: conflict
      });
    }
  }
}

2.3 药物剂量冲突检测

**检查项目:** 1. 日剂量是否超过最大剂量 2. 是否接近警告阈值 3. 年龄相关剂量调整(如老年人需减量) 4. 肾功能调整(如肌酐清除率低时需减量)

**检测逻辑:**

for (const medication of medications) {
  const dosageRule = findDosageLimit(medication.name);
  if (!dosageRule) continue;

  // 计算当前日剂量
  const currentDose = calculateDailyDose(medication);

  // 检查是否超过最大剂量
  if (currentDose > dosageRule.max_daily_dose.value) {
    conflicts.push({
      type: 'exceeds_max_dose',
      medication: medication,
      current: currentDose,
      limit: dosageRule.max_daily_dose
    });
  }

  // 检查年龄相关调整
  if (userAge >= 65 && dosageRule.adjustments?.elderly) {
    if (currentDose > dosageRule.adjustments.elderly.max_dose) {
      conflicts.push({
        type: 'age_specific_exceeds',
        medication: medication,
        age_group: '老年人(>65岁)',
        current: currentDose,
        limit: dosageRule.adjustments.elderly.max_dose
      });
    }
  }
}

2.4 药物-食物相互作用检测

**数据来源:**

  • 从 `diet` 命令获取近期饮食记录(近7天)

**检测逻辑:**

// 获取近期饮食记录
const recentFoods = getRecentDietRecords(days: 7);

for (const medication of medications) {
  // 查找该药物的已知食物相互作用
  const foodInteractions = findFoodInteractions(medication.name);

  for (const interaction of foodInteractions) {
    // 检查用户是否食用了相关食物
    const consumed = checkFoodConsumption(recentFoods, interaction.food.examples);

    if (consumed && consumed.frequency >= 'moderate') {
      interactions.push({
        type: 'drug_food',
        medication: medication,
        food: interaction.food,
        consumed: consumed,
        rule: interaction
      });
    }
  }
}

3. 汇总和排序结果

将所有检测到的相互作用按严重程度排序:

  • 🆘 X类(绝对禁忌)- 优先显示
  • 🔴 D类(禁忌)
  • 🟠 C类(相对禁忌)
  • 🟡 B类(谨慎使用)
  • 🟢 A类(安全)- 通常不显示

4. 输出检查报告

**输出格式:**

无相互作用时:

✅ 药物相互作用检查

检查时间:2025年12月31日 12:34
━━━━━━━━━━━━━━━━━━━━━━━━━━

当前用药(3种):
• 阿司匹林 100mg (每天1次)
• 氨氯地平 5mg (每天1次)
• 二甲双胍 500mg (每天3次)

检查结果:
━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ 未检测到药物相互作用
✅ 未检测到药物-疾病冲突
✅ 未检测到剂量问题
✅ 未检测到饮食冲突

━━━━━━━━━━━━━━━━━━━━━━━━━━
💡 您的用药方案安全性良好,请继续遵医嘱用药
📅 建议每月进行一次相互作用检查

本次检查结果已保存

存在严重相互作用时:

🚨 药物相互作用检查

检查时间:2025年12月31日 12:34
━━━━━━━━━━━━━━━━━━━━━━━━━━

当前用药(4种):
• 华法林 5mg (每天1次)
• 阿司匹林 100mg (每天1次)
• 氨氯地平 5mg (每天1次)
• 辛伐他汀 20mg (每晚1次)

检测到 3 个相互作用:
━━━━━━━━━━━━━━━━━━━━━━━━━━

🆘 绝对禁忌(1个)
━━━━━━━━━━━━━━━━━━━━━━━━━━

1. 华法林 + 阿司匹林
   ━━━━━━━━━━━━━━━━━━━━━━━━━━
   严重程度:🆘 绝对禁忌 (X类)
   风险等级:5/5

   问题描述:
   ━━━━━━━━━━━━━━━━━━━━━━━━━━
   阿司匹林可增强华法林的抗凝作用,显著增加出血风险。
   可能导致严重出血,包括颅内出血、消化道出血等。

   作用机制:
   ━━━━━━━━━━━━━━━━━━━━━━━━━━
   阿司匹林抑制血小板功能,与华法林的抗凝作用产生协同效应

   临床影响:
   ━━━━━━━━━━━━━━━━━━━━━━━━━━
   • 出血风险增加 3-5 倍
   • 严重出血发生率:约 2-5%/年
   • 颅内出血风险增加 50%

   管理建议:
   ━━━━━━━━━━━━━━━━━━━━━━━━━━
   🚫 建议避免合用,除非:
      - 有明确的心血管适应症(如房颤+冠心病)
      - 在专科医生指导下使用
      - 定期监测凝血功能

   ⚠️ 如必须合用:
      • 密切监测 INR 值(目标值 2.0-3.0)
      • 观察出血迹象:瘀斑、牙龈出血、鼻出血、黑便
      • 避免受伤和剧烈运动
      • 定期复查血常规

   👁️ 需要立即就医的情况:
      • 严重头痛
      • 呕血或黑便
      • 严重皮下瘀斑
      • 血尿

   数据来源:FDA药品说明书
   ━━━━━━━━━━━━━━━━━━━━━━━━━━

🔴 禁忌(1个)
━━━━━━━━━━━━━━━━━━━━━━━━━━

2. 辛伐他汀 + 氨氯地平
   ━━━━━━━━━━━━━━━━━━━━━━━━━━
   严重程度:🔴 禁忌 (D类)
   风险等级:4/
Read more
Ships withwellally-health

WellAlly Health is a local-first, AI-powered personal health record (PHR) system.

Get the whole plugin