Назад към всички

vaccine

// Vaccination record management with schedule tracking, safety checks, and adverse reaction monitoring

$ git log --oneline --stat
stars:1,933
forks:367
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
namevaccine
descriptionVaccination record management with schedule tracking, safety checks, and adverse reaction monitoring
argument-hint<操作类型,如:add 乙肝疫苗 第一针/record 乙肝疫苗 第2针/schedule/due/check 乙肝疫苗>
allowed-toolsRead, Write
schemavaccine/schema.json

Vaccination Record Management Skill

Manage vaccination records and schedules, support multi-dose vaccine tracking, vaccination plan management, adverse reaction recording, and safety checks.

核心流程

用户输入 -> 识别操作类型 -> 解析信息 -> 接种前安全检查 -> 生成计划/记录 -> 保存数据

步骤 1: 解析用户输入

操作类型识别

Input KeywordsOperation Type
add, 添加Add vaccination plan
record, 记录Record actual vaccination
schedule, 计划View vaccination schedule
due, 待种View pending vaccinations
history, 历史View vaccination history
status, 状态View vaccination statistics
check, 检查Pre-vaccination safety check

疫苗名称识别

疫苗别名
乙肝疫苗HepB, 乙型肝炎疫苗
流感疫苗Flu vaccine, 流行性感冒疫苗
HPV疫苗宫颈癌疫苗, 人乳头瘤病毒疫苗
COVID-19疫苗新冠疫苗, 冠状病毒疫苗
百白破疫苗DPT
麻腮风疫苗MMR
脊髓灰质炎疫苗脊灰疫苗

剂次识别

用户输入标准化
第1针、第一针、第1剂dose_number: 1
第2针、第二针、第2剂dose_number: 2
第3针、第三针、第3剂dose_number: 3

接种程序识别

用户输入标准化总剂次
0-1-6, 016程序0-1-63剂
0-2-6, 026程序0-2-63剂
单次, 1次single1剂

步骤 2: 接种前安全检查

安全检查项目

1. 过敏检查

// 伪代码示例
function checkVaccineAllergies(vaccine) {
  const allergies = loadAllergies('data/allergies.json');
  const warnings = [];

  for (const allergy of allergies.allergies) {
    if (allergy.current_status.status !== 'active') continue;

    const isContraindication = vaccine.contraindications.some(c =>
      c.type === 'allergy' && c.allergen === allergy.allergen.name
    );

    if (isContraindication) {
      warnings.push({
        allergen: allergy.allergen.name,
        severity: allergy.severity.level,
        recommendation: getRecommendation(allergy.severity.level)
      });
    }
  }

  return warnings;
}

2. 年龄适宜性检查

function checkAgeAppropriateness(vaccine, birthDate) {
  const age = calculateAge(birthDate);
  const recommendation = vaccine.age_recommendations;

  if (age < recommendation.min_age) {
    return {
      appropriate: false,
      reason: `年龄不足,建议${recommendation.min_age}后再接种`
    };
  }

  return {
    appropriate: true,
    recommended_age: recommendation.recommended_age
  };
}

3. 药物相互作用检查

function checkVaccineInteractions(vaccine) {
  const medications = loadMedications();
  const interactions = [];

  for (const vaccineInteraction of vaccine.interactions) {
    const matchingMeds = medications.filter(med =>
      med.active && med.category === vaccineInteraction.drug_category
    );

    if (matchingMeds.length > 0) {
      interactions.push({
        drugs: matchingMeds.map(m => m.name),
        interaction: vaccineInteraction
      });
    }
  }

  return interactions;
}

步骤 3: 生成接种计划

接种计划生成算法

function generateVaccineSchedule(vaccine, firstDoseDate) {
  const scheduleTypes = {
    '0-1-6': [
      { dose: 1, offset: 0, unit: 'months' },
      { dose: 2, offset: 1, unit: 'months' },
      { dose: 3, offset: 6, unit: 'months' }
    ],
    '0-2-6': [
      { dose: 1, offset: 0, unit: 'months' },
      { dose: 2, offset: 2, unit: 'months' },
      { dose: 3, offset: 6, unit: 'months' }
    ],
    'annual': [
      { dose: 1, offset: 1, unit: 'years' }
    ],
    'single': [
      { dose: 1, offset: 0, unit: 'days' }
    ]
  };

  const pattern = scheduleTypes[vaccine.standard_schedule];
  const schedule = [];

  for (const doseInfo of pattern) {
    const scheduledDate = addOffset(firstDoseDate, doseInfo.offset, doseInfo.unit);
    const isFirstDose = doseInfo.dose === 1;

    schedule.push({
      dose_number: doseInfo.dose,
      scheduled_date: formatDate(scheduledDate),
      administered_date: isFirstDose && firstDoseDate <= new Date() ? formatDate(firstDoseDate) : null,
      status: isFirstDose && firstDoseDate <= new Date() ? 'completed' : 'scheduled'
    });
  }

  return schedule;
}

步骤 4: 生成 JSON

疫苗接种数据结构

{
  "id": "vax_20251231123456789",
  "vaccine_info": {
    "name": "乙型肝炎疫苗",
    "type": "recombinant",
    "manufacturer": "北京生物制品研究所",
    "batch_number": "202512001",
    "dose_volume": {
      "value": 0.5,
      "unit": "ml"
    },
    "route": "intramuscular"
  },
  "series_info": {
    "is_series": true,
    "series_type": "primary",
    "total_doses": 3,
    "current_dose": 2,
    "schedule_type": "0-1-6"
  },
  "doses": [
    {
      "dose_number": 1,
      "scheduled_date": "2025-11-15",
      "administered_date": "2025-11-15",
      "site": "left_arm",
      "facility": "社区卫生服务中心",
      "status": "completed"
    },
    {
      "dose_number": 2,
      "scheduled_date": "2025-12-15",
      "administered_date": "2025-12-16",
      "site": "right_arm",
      "status": "completed"
    },
    {
      "dose_number": 3,
      "scheduled_date": "2026-05-15",
      "administered_date": null,
      "status": "scheduled"
    }
  ],
  "adverse_reactions": [],
  "safety_checks": {
    "allergy_warnings": [],
    "drug_interactions": [],
    "age_appropriate": true,
    "contraindications": []
  },
  "status": {
    "series_status": "in_progress",
    "completion_percentage": 66.7,
    "next_dose_due": "2026-05-15",
    "is_overdue": false
  }
}

完整 Schema 定义参见 schema.json

步骤 5: 保存数据

  1. 生成唯一ID: vax_YYYYMMDDHHmmssSSS
  2. 保存到 data/vaccinations.json
  3. 更新统计信息

安全警示级别

严重程度建议
mild可接种,需观察
moderate谨慎接种,建议咨询医生
severe不建议接种,或咨询专科医生
anaphylaxis绝对禁忌,禁止接种

执行指令

1. 识别操作类型
2. 解析输入参数,提取疫苗信息
3. 从疫苗数据库匹配疫苗信息
4. 执行接种前安全检查:
   - 过敏检查
   - 年龄适宜性检查
   - 药物相互作用检查
   - 禁忌症检查
5. 生成接种计划
6. 生成符合 schema.json 的 JSON
7. 保存到数据文件
8. 向用户确认保存成功,并显示摘要和建议

示例交互

示例 1: 添加乙肝疫苗接种计划

用户: 添加疫苗 乙肝疫苗 0-1-6程序 第一针已打昨天
AI: 🔍 疫苗接种前安全检查

    1️⃣ 过敏史检查: ✅ 通过
    2️⃣ 年龄适宜性检查: ✅ 通过
    3️⃣ 当前健康状况检查: ✅ 通过
    4️⃣ 药物相互作用检查: ⚠️ 无影响
    5️⃣ 疫苗接种史检查: 📋 无既往记录

    ✅ 综合评估: 可以接种

    ✅ 疫苗接种计划已添加

    乙肝疫苗 0-1-6月程序:
    第1针: 2025-01-07 ✅ 已接种
    第2针: 2025-02-07 (计划中)
    第3针: 2025-07-07 (计划中)

    进度: 1/3 (33.3%)

    💡 提示: 第2针可在2025-01-24至2025-03-07之间完成

示例 2: 查看待接种疫苗

用户: 待接种疫苗
AI: ⚠️ 待接种提醒

    🔴 紧急(已逾期)
    1. 乙肝疫苗第3针
       逾期: 11天(应种: 2025-12-20)
       💡 建议尽快补种

    ⏰ 近期待种(30天内)
    1. HPV疫苗第2针 - 还有15天
    2. 流感疫苗 - 还有30天

    行动建议:
    • 立即联系接种点补种逾期疫苗
    • 为即将到期的疫苗预约接种时间

示例 3: 接种前安全检查

用户: 疫苗检查 乙肝疫苗
AI: 🔍 疫苗接种前安全检查

    疫苗: 乙型肝炎疫苗(重组)

    1️⃣ 过敏史检查: ✅ 通过
       检查结果: 无相关过敏史

    2️⃣ 年龄适宜性检查: ✅ 通过
       当前年龄: 35岁
       推荐年龄: 任何年龄均可接种

    3️⃣ 当前健康状况检查: ✅ 通过
       无发热或急性疾病

    4️⃣ 药物相互作用检查: ⚠️ 发现1项
       当前用药: 环孢素 100mg 每日2次
       影响: 可能降低疫苗免疫效果
       建议: 接种后2-3个月检测抗体滴度

    ━━━━━━━━━━━━━━━━━━━━━━━━━
    综合评估: ✅ 可以接种
    ━━━━━━━━━━━━━━━━━━━━━━━━━

    注意事项:
    • 接种后留观30分钟
    • 如出现不良反应,及时记录
    • 建议接种后2个月检测抗体

    是否继续添加疫苗计划?
    A. 继续添加
    B. 取消

重要提示

  • 本系统仅供个人疫苗接种记录,不能替代专业医疗建议
  • 接种前请咨询医生或接种点工作人员
  • 如有严重过敏史,必须告知接种人员
  • 接种后留观30分钟
  • 所有数据仅保存在本地