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 Keywords | Operation 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-6 | 3剂 |
| 0-2-6, 026程序 | 0-2-6 | 3剂 |
| 单次, 1次 | single | 1剂 |
步骤 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: 保存数据
- 生成唯一ID:
vax_YYYYMMDDHHmmssSSS - 保存到
data/vaccinations.json - 更新统计信息
安全警示级别
| 严重程度 | 建议 |
|---|---|
| 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分钟
- 所有数据仅保存在本地