Back to Skills
antigravityAI & Agents

emergency-card

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

Documentation

紧急医疗信息卡生成器

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

核心功能

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 = readF