Smithery Logo
MCPsSkillsDocsPricing
Login
Smithery Logo

Accelerating the Agent Economy

Resources

DocumentationPrivacy PolicySystem Status

Company

PricingAboutBlog

Connect

© 2026 Smithery. All rights reserved.

    huifer

    emergency-card

    huifer/emergency-card
    Data & Analytics
    674
    4 installs

    About

    SKILL.md

    Install

    Install via Skills CLI

    or add to your agent
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    ├─
    ├─
    └─

    About

    生成紧急情况下快速访问的医疗信息摘要卡片。当用户需要旅行、就诊准备、紧急情况或询问"紧急信息"、"医疗卡片"、"急救信息"时使用此技能。提取关键信息(过敏、用药、急症、植入物),支持多格式输出(JSON、文本、二维码),用于急救或快速就医。

    SKILL.md

    紧急医疗信息卡生成器

    生成紧急情况下快速访问的医疗信息摘要,用于急救或就医。

    核心功能

    1. 紧急信息提取

    从用户的健康数据中提取最关键的信息:

    • 严重过敏:优先提取4级(过敏性休克)和3级过敏
    • 当前用药:活跃药物的名称、剂量、频率
    • 急症情况:需要紧急处理的医疗状况
    • 植入物:心脏起搏器、支架等(影响检查和治疗)
    • 紧急联系人:快速联系的家属信息

    2. 信息优先级排序

    按照医疗紧急程度对信息排序:

    1. P0 - 危急信息:过敏性休克、严重药物过敏、危及生命的疾病
    2. P1 - 重要信息:当前用药、慢性病、植入物
    3. P2 - 一般信息:血型、年龄、体重、最近检查

    3. 多格式输出

    支持多种输出格式以适应不同场景:

    • HTML格式:可打印网页,使用Tailwind CSS和Lucide图标(推荐)
    • JSON格式:结构化数据,便于系统集成
    • 文本格式:简洁可读,适合打印携带
    • PDF格式:专业打印,适合长期保存

    HTML格式(新增)

    生成独立的HTML文件,包含:

    • Tailwind CSS样式(通过CDN)
    • Lucide图标(通过CDN)
    • 响应式设计
    • 打印优化
    • 多种尺寸变体(A4、钱包卡、大字版)
    • 自动卡片类型检测(标准、儿童、老年、严重过敏)

    使用方式:

    # 生成标准卡片
    python scripts/generate_emergency_card.py
    
    # 指定卡片类型
    python scripts/generate_emergency_card.py standard
    python scripts/generate_emergency_card.py child
    python scripts/generate_emergency_card.py elderly
    python scripts/generate_emergency_card.py severe
    
    # 指定打印尺寸
    python scripts/generate_emergency_card.py standard a4       # A4标准
    python scripts/generate_emergency_card.py standard wallet   # 钱包卡
    python scripts/generate_emergency_card.py standard large    # 大字版(老年)
    

    输出文件:emergency-cards/emergency-card-{variant}-{YYYY-MM-DD}.html

    4. 离线可用

    • 支持手机保存(相册、文件)
    • 支持打印携带(钱包、包)
    • 支持云端备份(可选)

    使用说明

    触发条件

    当用户提到以下场景时,使用此技能:

    • ✅ "生成紧急医疗信息卡"
    • ✅ "我需要旅行,如何快速提供医疗信息"
    • ✅ "把我的过敏信息整理成卡片"
    • ✅ "紧急情况急救信息"
    • ✅ "就医准备资料"
    • ✅ "医疗信息摘要"

    执行步骤

    步骤 1: 读取用户基础数据

    从以下数据源读取信息:

    // 1. 用户档案
    const profile = readFile('data/profile.json');
    
    // 2. 过敏史
    const allergies = readFile('data/allergies.json');
    
    // 3. 当前用药
    const medications = readFile('data/medications/medications.json');
    
    // 4. 辐射记录
    const radiation = readFile('data/radiation-records.json');
    
    // 5. 手术记录(查找植入物)
    const surgeries = glob('data/手术记录/**/*.json');
    
    // 6. 出院小结(查找急症)
    const dischargeSummaries = glob('data/出院小结/**/*.json');
    

    步骤 2: 提取关键信息

    2.1 基础信息
    const basicInfo = {
      name: profile.basic_info?.name || "未设置",
      age: calculateAge(profile.basic_info?.birth_date),
      gender: profile.basic_info?.gender || "未设置",
      blood_type: profile.basic_info?.blood_type || "未知",
      weight: `${profile.basic_info?.weight} ${profile.basic_info?.weight_unit}`,
      height: `${profile.basic_info?.height} ${profile.basic_info?.height_unit}`,
      bmi: profile.calculated?.bmi,
      emergency_contacts: profile.emergency_contacts || []
    };
    

    2.2 严重过敏

    // 过滤出3-4级严重过敏
    const criticalAllergies = allergies.allergies
      .filter(a => a.severity_level >= 3 && a.current_status.status === 'active')
      .map(a => ({
        allergen: a.allergen.name,
        severity: `过敏${getSeverityLabel(a.severity_level)}(${a.severity_level}级)`,
        reaction: a.reaction_description,
        diagnosed_date: a.diagnosis_date
      }));
    

    2.3 慢性疾病诊断(新增)

    // 从慢性病管理数据中提取诊断信息
    const chronicConditions = [];
    
    // 高血压
    try {
      const hypertensionData = readFile('data/hypertension-tracker.json');
      if (hypertensionData.hypertension_management?.diagnosis_date) {
        chronicConditions.push({
          condition: '高血压',
          diagnosis_date: hypertensionData.hypertension_management.diagnosis_date,
          classification: hypertensionData.hypertension_management.classification,
          current_bp: hypertensionData.hypertension_management.average_bp,
          risk_level: hypertensionData.hypertension_management.cardiovascular_risk?.risk_level
        });
      }
    } catch (e) {
      // 文件不存在或读取失败,跳过
    }
    
    // 糖尿病
    try {
      const diabetesData = readFile('data/diabetes-tracker.json');
      if (diabetesData.diabetes_management?.diagnosis_date) {
        chronicConditions.push({
          condition: diabetesData.diabetes_management.type === 'type_1' ? '1型糖尿病' : '2型糖尿病',
          diagnosis_date: diabetesData.diabetes_management.diagnosis_date,
          duration_years: diabetesData.diabetes_management.duration_years,
          hba1c: diabetesData.diabetes_management.hba1c?.history?.[0]?.value,
          control_status: diabetesData.diabetes_management.hba1c?.achievement ? '控制良好' : '需改善'
        });
      }
    } catch (e) {
      // 文件不存在或读取失败,跳过
    }
    
    // COPD
    try {
      const copdData = readFile('data/copd-tracker.json');
      if (copdData.copd_management?.diagnosis_date) {
        chronicConditions.push({
          condition: '慢阻肺(COPD)',
          diagnosis_date: copdData.copd_management.diagnosis_date,
          gold_grade: `GOLD ${copdData.copd_management.gold_grade}级`,
          cat_score: copdData.copd_management.symptom_assessment?.cat_score?.total_score,
          exacerbations_last_year: copdData.copd_management.exacerbations?.last_year
        });
      }
    } catch (e) {
      // 文件不存在或读取失败,跳过
    }
    

    2.4 当前用药

    // 只包含活跃的药物
    const currentMedications = medications.medications
      .filter(m => m.active === true)
      .map(m => ({
        name: m.name,
        dosage: `${m.dosage.value}${m.dosage.unit}`,
        frequency: getFrequencyLabel(m.frequency),
        instructions: m.instructions,
        warnings: m.warnings || []
      }));
    
    2.4 医疗状况

    从出院小结中提取诊断信息:

    const medicalConditions = dischargeSummaries
      .flatMap(ds => {
        const data = readFile(ds.file_path);
        return data.diagnoses || [];
      })
      .map(d => ({
        condition: d.condition,
        diagnosis_date: d.date,
        status: d.status || "随访中"
      }));
    
    2.5 植入物

    从手术记录中提取植入物信息:

    const implants = surgeries
      .flatMap(s => {
        const data = readFile(s.file_path);
        return data.procedure?.implants || [];
      })
      .map(i => ({
        type: i.type,
        implant_date: i.date,
        hospital: i.hospital,
        notes: i.notes
      }));
    
    2.6 近期辐射暴露
    const recentRadiation = {
      total_dose_last_year: calculateTotalDose(radiation.records, 'last_year'),
      last_exam: radiation.records[radiation.records.length - 1]
    };
    

    步骤 3: 生成信息卡片

    按照优先级组织信息:

    const emergencyCard = {
      version: "1.0",
      generated_at: new Date().toISOString(),
      basic_info: basicInfo,
      critical_allergies: criticalAllergies.sort(bySeverityDesc),
      current_medications: currentMedications,
      medical_conditions: [...medicalConditions, ...chronicConditions], // 合并急症和慢性病
      implants: implants,
      recent_radiation_exposure: recentRadiation,
      disclaimer: "此信息卡仅供参考,不替代专业医疗诊断",
      data_source: "my-his个人健康信息系统",
      chronic_conditions: chronicConditions // 单独字段便于访问
    };
    

    步骤 4: 格式化输出

    JSON格式

    直接输出结构化JSON数据。

    文本格式

    生成易读的文本卡片:

    ╔═══════════════════════════════════════════════════════════╗
    ║                  紧急医疗信息卡                          ║
    ╠═══════════════════════════════════════════════════════════╣
    ║ 姓名:张三                      年龄:35岁               ║
    ║ 血型:A+                       体重:70kg                ║
    ╠═══════════════════════════════════════════════════════════╣
    ║ 🆘 严重过敏                                              ║
    ║ ─────────────────────────────────────────────────────── ║
    ║ • 青霉素 - 过敏性休克(4级)🆘                          ║
    ║   反应:呼吸困难、喉头水肿、意识丧失                     ║
    ╠═══════════════════════════════════════════════════════════╣
    ║ 💊 当前用药                                              ║
    ║ ─────────────────────────────────────────────────────── ║
    ║ • 氨氯地平 5mg - 每日1次(高血压)                      ║
    ║ • 二甲双胍 1000mg - 每日2次(糖尿病)                    ║
    ╠═══════════════════════════════════════════════════════════╣
    ║ 🏥 慢性疾病                                              ║
    ║ ─────────────────────────────────────────────────────── ║
    ║ • 高血压(2023-01-01诊断,1级,控制中)                 ║
    ║   平均血压:132/82 mmHg                                 ║
    ║ • 2型糖尿病(2022-05-10诊断,HbA1c 6.8%)              ║
    ║   控制状态:良好                                        ║
    ║ • 慢阻肺(2020-03-15诊断,GOLD 2级)                    ║
    ║   CAT评分:18分                                        ║
    ╠═══════════════════════════════════════════════════════════╣
    ║ 🏥 其他疾病                                              ║
    ║ ─────────────────────────────────────────────────────── ║
    ║ (其他急症或手术诊断,如有)                            ║
    ╠═══════════════════════════════════════════════════════════╣
    ║ 📿 植入物                                                ║
    ║ ─────────────────────────────────────────────────────── ║
    ║ • 心脏起搏器(2022-06-10植入)                           ║
    ║   医院:XX医院                                           ║
    ║   注意:定期复查,避免MRI检查                            ║
    ╠═══════════════════════════════════════════════════════════╣
    ║ 📞 紧急联系人                                            ║
    ║ ─────────────────────────────────────────────────────── ║
    ║ • 李四(配偶)- 138****1234                              ║
    ╠═══════════════════════════════════════════════════════════╣
    ║ ⚠️  免责声明                                            ║
    ║ 此信息卡仅供参考,不替代专业医疗诊断                     ║
    ║ 生成时间:2025-12-31 12:34:56                            ║
    ╚═══════════════════════════════════════════════════════════╝
    
    二维码格式

    将JSON数据转换为二维码图片:

    const qrCode = generateQRCode(JSON.stringify(emergencyCard));
    emergencyCard.qr_code = qrCode;
    

    步骤 5: 保存文件

    根据用户选择的格式保存文件:

    // JSON格式
    saveFile('emergency-card.json', JSON.stringify(emergencyCard, null, 2));
    
    // 文本格式
    saveFile('emergency-card.txt', generateTextCard(emergencyCard));
    
    // 二维码格式
    saveFile('emergency-card-qr.png', emergencyCard.qr_code);
    

    步骤 6: 输出确认信息

    ✅ 紧急医疗信息卡已生成
    
    文件位置:data/emergency-cards/emergency-card-2025-12-31.json
    生成时间:2025-12-31 12:34:56
    
    包含信息:
    ━━━━━━━━━━━━━━━━━━━━━━━━━━
    ✓ 基础信息(姓名、年龄、血型)
    ✓ 严重过敏(1项4级过敏)
    ✓ 当前用药(2种药物)
    ✓ 医疗状况(2种疾病)
    ✓ 植入物(1项)
    ✓ 紧急联系人(1人)
    
    💡 使用建议:
    ━━━━━━━━━━━━━━━━━━━━━━━━━━
    • 将JSON文件保存到手机云盘
    • 将二维码保存到手机相册
    • 打印文本版随身携带
    • 旅行前更新信息
    
    ⚠️  注意事项:
    ━━━━━━━━━━━━━━━━━━━━━━━━━━
    • 此信息卡仅供参考,不替代专业医疗诊断
    • 定期更新(建议每3个月或健康信息变化后)
    • 如有严重过敏,请随身携带过敏急救卡
    

    数据源

    主要数据源

    • data/profile.json:用户基础信息、血型、紧急联系人
    • data/allergies.json:过敏史和严重程度分级
    • data/medications/medications.json:当前用药计划和剂量

    慢性病数据源(新增)

    • data/hypertension-tracker.json:高血压管理数据(诊断日期、分级、血压控制、靶器官损害、心血管风险)
    • data/diabetes-tracker.json:糖尿病管理数据(类型、HbA1c、血糖控制、并发症筛查)
    • data/copd-tracker.json:COPD管理数据(GOLD分级、CAT评分、急性加重史、肺功能)

    辅助数据源

    • data/radiation-records.json:近期辐射暴露记录
    • data/手术记录//.json*:手术植入物信息
    • data/出院小结//.json*:医疗诊断信息

    可选数据源

    • data/index.json:全局数据索引

    安全性原则

    必须遵循

    • ❌ 不添加用药建议(仅列出当前用药)
    • ❌ 不提供诊断结论(仅列出已知诊断)
    • ❌ 不给出治疗建议(不替代医生)
    • ❌ 标注免责声明(仅供参考)

    信息准确度

    • ✅ 仅提取已记录的信息(不推测或推断)
    • ✅ 标注信息来源和更新时间
    • ✅ 建议定期更新信息

    隐私保护

    • ✅ 敏感信息可选隐藏
    • ✅ 电话号码部分隐藏(如:138****1234)
    • ✅ 所有数据仅保存在本地

    错误处理

    数据缺失

    • 过敏数据缺失:输出"未记录过敏史"
    • 用药数据缺失:输出"未记录当前用药"
    • 植入物数据缺失:输出"无植入物"

    文件读取失败

    • 无法读取profile.json:使用默认值(姓名:未设置)
    • 无法读取allergies.json:跳过过敏信息
    • 继续生成其他信息:不因单个文件失败而中断

    二维码生成失败

    • 降级为文本格式输出
    • 提示用户手动记录信息

    示例输出

    完整示例请参考 examples.md。

    测试数据

    测试数据文件位于 test-data/emergency-example.json。

    格式说明

    详细的输出格式说明请参考 formats.md。

    Recommended Servers
    Bright Data
    Bright Data
    EasyWeek
    EasyWeek
    AurelianFlo
    AurelianFlo
    Repository
    huifer/wellally-health
    Files