疫苗时间表

国家免疫规划 + 推荐疫苗

419 次访问

疫苗接种追踪(2024 国家免疫规划 + 自费推荐)

进度总览

接种计划表(勾选已接种)

月龄应接种日疫苗剂次预防状态

关于本工具

了解工具定位 · 使用场景 · 对比优势

使用场景

👶

新手爸妈规划

宝宝出生后,面对国家免疫规划内密密麻麻的疫苗种类和接种时间,新手父母容易漏种或错过最佳接种窗口。本工具根据出生日期自动生成 0-6 岁完整接种时间表,区分免费必打与自费推荐疫苗,并标注各疫苗的接种间隔要求,让家长按表执行、不再焦虑。

🏫

入学入托查验

幼儿园、小学入学前必须提交《预防接种证》查验证明,缺针或漏种会被暂缓入学。本工具输入孩子当前月龄和已接种记录,自动比对国家免疫规划要求,列出缺种疫苗名称、补种截止日期及建议接种门诊,帮助家长在报名前完成补种、顺利入学。

🩺

补种方案制定

因生病、搬家或遗忘导致疫苗漏种超过 6 个月,家长不清楚该从哪针补起、是否需要重新全程接种。本工具根据漏种疫苗种类和当前年龄,按《国家免疫规划疫苗补种原则》生成补种计划,明确每针补种时间、与后续疫苗的间隔要求,避免盲目补种造成免疫效果打折扣。

🌍

异地接种衔接

跨省搬家后,原接种点档案无法同步到新城市,社区医生不清楚孩子已打过的疫苗种类和厂家。本工具提供标准化的接种记录导出功能,家长可打印或保存为电子档案,在新接种点出示后医生能快速续种,避免重复接种或漏种关键疫苗。

🧑‍⚕️

自费疫苗决策

面对五联、13 价肺炎、轮状病毒等自费疫苗,家长不清楚哪些值得打、与免费疫苗的接种时间是否冲突。本工具在基础免疫规划时间表上叠加自费疫苗选项,自动检测时间冲突并给出调整建议,同时标注各疫苗的疾病预防范围和价格参考,辅助家长做出知情选择。

对比矩阵本工具 vs 竞品 vs 传统方法

维度本工具竞品 A(约苗)传统方法
数据隐私纯浏览器计算,零上传需注册账号,接种数据存储于服务器依赖社区医院纸质/电子档案,需线下查询
处理速度1 秒内生成3-5 秒页面加载+手动筛选数小时至数天(预约/查询/等待)
离线可用完全离线可用需联网需前往接种点
覆盖范围国家免疫规划+推荐疫苗仅显示已签约/可预约的接种点疫苗仅限本社区医院记录,跨区需转档
数据更新基于国家卫健委最新方案自动更新依赖各地接种点手动维护,存在滞后依赖工作人员通知,可能遗漏
使用门槛无需注册,打开即用需手机号注册+绑定儿童信息需携带接种本到现场或电话咨询

使用指南

上手步骤 · 输入输出 · 避坑提示

输入输出示例8 个典型场景,覆盖常规、边界与易错

输入输出说明
2024-01-15出生日期:2024-01-15 国家免疫规划疫苗(免费): - 乙肝疫苗:第1剂(出生后24小时内) - 卡介苗:1剂(出生后尽早接种) 推荐接种时间:出生时典型场景:新生儿出生后首次接种
2023-06-01出生日期:2023-06-01 当前月龄:8个月 国家免疫规划疫苗(免费): - 乙肝疫苗:第3剂(6月龄) - 麻腮风疫苗:第1剂(8月龄) - 乙脑减毒活疫苗:第1剂(8月龄) 推荐接种时间:8月龄(当前月龄)典型场景:8月龄婴儿,多种疫苗需同时接种
2019-09-01出生日期:2019-09-01 当前年龄:4岁 国家免疫规划疫苗(免费): - 脊髓灰质炎疫苗:第4剂(4岁) - 麻腮风疫苗:第2剂(4岁) 推荐接种时间:4岁(当前年龄)典型场景:学龄前儿童,完成基础免疫加强
2010-01-01出生日期:2010-01-01 当前年龄:14岁 国家免疫规划疫苗(免费): - 白破疫苗:1剂(6岁已接种,无需补种) 推荐疫苗(自费): - HPV疫苗:9-14岁为最佳接种年龄 - 流感疫苗:每年秋季接种边界 case:青春期,免费疫苗基本完成,进入自费疫苗推荐阶段
2005-03-15出生日期:2005-03-15 当前年龄:19岁 国家免疫规划疫苗(免费): - 所有国家免疫规划疫苗已完成(18岁前) 推荐疫苗(自费): - 流感疫苗:每年秋季接种 - 肺炎球菌疫苗:如有慢性病建议接种边界 case:成年后,免费疫苗已全部完成
2024-02-29出生日期:2024-02-29 国家免疫规划疫苗(免费): - 乙肝疫苗:第1剂(出生后24小时内) - 卡介苗:1剂(出生后尽早接种) 推荐接种时间:出生时 注意:2月29日出生,后续疫苗月龄计算以每月最后一天为基准边界 case:闰年2月29日出生,月龄计算特殊
2020-01-01出生日期:2020-01-01 当前年龄:4岁 国家免疫规划疫苗(免费): - 脊髓灰质炎疫苗:第4剂(4岁) - 麻腮风疫苗:第2剂(4岁) 提示:如已接种过IPV(灭活脊灰),第4剂可接种bOPV(减毒活疫苗)易错 case:脊灰疫苗有灭活/减毒两种,需确认已接种类型
2021-08-15出生日期:2021-08-15 当前月龄:2岁5个月 国家免疫规划疫苗(免费): - 甲肝减毒活疫苗:第1剂(18月龄) - 百白破疫苗:第4剂(18月龄) - 麻腮风疫苗:第1剂(8月龄) 提示:部分疫苗可能已超期,建议尽快补种易错 case:用户输入日期较晚,部分疫苗已错过推荐接种时间

常见错误对照7 个常踩的坑 · 错误 → 修复

1. 把非疫苗类接种记录(如狂犬病免疫球蛋白)也输入进去

错误
2024-03-01 狂犬病免疫球蛋白 200IU
修复
只输入疫苗名称(如:狂犬病疫苗、乙肝疫苗、卡介苗)

免疫球蛋白是抗体,不是抗原疫苗;本工具只处理疫苗类生物制品,混入会导致接种史分析错误

2. 把「百白破」和「白破」当成同一种疫苗

错误
2020-06-15 百白破(DTaP) → 2024-09-01 白破(DT) 也写成百白破
修复
分开记录:2020-06-15 DTaP / 2024-09-01 DT

百白破(DTaP)含百日咳抗原,白破(DT)不含;6 岁后不再接种含百日咳成分的疫苗,混淆会导致程序错误推荐补种

3. 把「二价 HPV」和「九价 HPV」的接种程序混用

错误
二价 HPV 按 0-2-6 月打三针,但输入时选了九价的 0-2-6 方案
修复
二价 HPV(Cervarix):0-1-6 月;九价 HPV(Gardasil 9):0-2-6 月

不同价型 HPV 疫苗的间隔方案不同,混用会导致程序计算出错(如推荐了错误的第三针时间)

4. 把「减毒活疫苗」和「灭活疫苗」的禁忌症混为一谈

错误
免疫缺陷儿童输入了「麻腮风减毒活疫苗」且未标注禁忌
修复
在备注栏标注「免疫缺陷,禁用减毒活疫苗」或只输入灭活疫苗(如 IPV)

减毒活疫苗对免疫缺陷者可能致病(如麻腮风疫苗导致麻疹脑炎);工具依赖用户标注禁忌来过滤推荐

5. 把「流感疫苗」的年度批号当作通用名称输入

错误
2024-10-01 流感疫苗(2024-2025 北半球批号)
修复
输入「流感疫苗(三价灭活)」或「流感疫苗(四价灭活)」

流感疫苗每年更新毒株株型,但工具只关心疫苗类型(三价/四价/减毒活),不关心批号;批号无助于接种史分析

6. 把「卡介苗」的接种部位(左上臂)当作疫苗名称

错误
左上臂卡介苗
修复
卡介苗(BCG)

卡介苗通常接种在左上臂皮内,但工具只识别疫苗名称,不解析部位描述;部位信息对接种史无意义

7. 把「乙肝疫苗」的剂量单位(μg)写成国际单位(IU)

错误
乙肝疫苗 10IU
修复
乙肝疫苗 10μg(或 20μg)

乙肝疫苗剂量用微克(μg)表示,不是国际单位(IU);IU 用于破伤风、白喉等类毒素疫苗,混用会导致剂量判断错误

工作原理

公式推导 · 流程图解 · 依据出处

核心公式

D = max(0, min(365, T - B))

变量说明

  • D — 距出生日的天数(0-365)
  • T — 当前日期(自出生年1月1日起算的天数)
  • B — 出生日期(自出生年1月1日起算的天数)

示例

宝宝出生于2024年3月1日,当前日期为2024年9月15日。则 B = 60(1月31天+2月29天),T = 258(1-8月累计天数+15)。D = 258 - 60 = 198 天。系统据此在198天对应的疫苗栏位显示:应接种乙肝疫苗第3剂、脊灰疫苗第3剂、百白破疫苗第2剂。

适用范围

适用于国家免疫规划(0-6岁儿童)及推荐疫苗(如13价肺炎、轮状病毒)的接种时间推算。不适用于成人疫苗(如HPV、流感)及非日龄驱动的接种计划(如狂犬病暴露后接种)。数据来源:《国家免疫规划疫苗儿童免疫程序及说明(2021年版)》。

原理图

选择出生日期(月龄计算基准)匹配免疫程序国家免疫规划+ 推荐疫苗时间生成时间表疫苗名称 + 月龄+ 接种剂次数据来源国家免疫规划疫苗儿童免疫程序(2021版)非免疫规划疫苗推荐接种方案(中国疾控中心)所有计算在浏览器本地完成,出生日期不会上传至服务器
用户输入 本地处理 输出结果

开发者集成

3 种主流语言 · 复制即用

import json
from datetime import date, timedelta

# 国家免疫规划疫苗时间表(简化版)
# 数据来源:国家卫健委《国家免疫规划疫苗儿童免疫程序及说明(2021年版)》
VACCINE_SCHEDULE = {
    "乙肝疫苗":  [{"dose": 1, "age_days": 0},   {"dose": 2, "age_days": 30},  {"dose": 3, "age_days": 180}],
    "卡介苗":   [{"dose": 1, "age_days": 0}],
    "脊灰灭活疫苗": [{"dose": 1, "age_days": 60},  {"dose": 2, "age_days": 90}],
    "百白破疫苗": [{"dose": 1, "age_days": 90},  {"dose": 2, "age_days": 120}, {"dose": 3, "age_days": 150}, {"dose": 4, "age_days": 540}],
    "麻腮风疫苗": [{"dose": 1, "age_days": 540}],
    "乙脑减毒活疫苗": [{"dose": 1, "age_days": 480}],
    "A群流脑多糖疫苗": [{"dose": 1, "age_days": 180}, {"dose": 2, "age_days": 270}],
    "甲肝减毒活疫苗": [{"dose": 1, "age_days": 540}],
}

def get_vaccination_schedule(birth_date: date) -> list:
    """根据出生日期计算所有疫苗的接种日期"""
    schedule = []
    for vaccine, doses in VACCINE_SCHEDULE.items():
        for dose in doses:
            vaccination_date = birth_date + timedelta(days=dose["age_days"])
            schedule.append({
                "vaccine": vaccine,
                "dose": dose["dose"],
                "age_days": dose["age_days"],
                "vaccination_date": vaccination_date.isoformat()
            })
    # 按接种日期排序
    schedule.sort(key=lambda x: x["vaccination_date"])
    return schedule

# 示例:2024年1月1日出生的婴儿
birth = date(2024, 1, 1)
schedule = get_vaccination_schedule(birth)
print(json.dumps(schedule, indent=2, ensure_ascii=False))
# 输出示例(部分):
# [
#   {"vaccine": "乙肝疫苗", "dose": 1, "age_days": 0, "vaccination_date": "2024-01-01"},
#   {"vaccine": "卡介苗", "dose": 1, "age_days": 0, "vaccination_date": "2024-01-01"},
#   {"vaccine": "乙肝疫苗", "dose": 2, "age_days": 30, "vaccination_date": "2024-01-31"},
#   ...
# ]
// 国家免疫规划疫苗时间表(简化版)
// 数据来源:国家卫健委《国家免疫规划疫苗儿童免疫程序及说明(2021年版)》
const VACCINE_SCHEDULE = {
  "乙肝疫苗":  [{ dose: 1, ageDays: 0 },   { dose: 2, ageDays: 30 },  { dose: 3, ageDays: 180 }],
  "卡介苗":   [{ dose: 1, ageDays: 0 }],
  "脊灰灭活疫苗": [{ dose: 1, ageDays: 60 },  { dose: 2, ageDays: 90 }],
  "百白破疫苗": [{ dose: 1, ageDays: 90 },  { dose: 2, ageDays: 120 }, { dose: 3, ageDays: 150 }, { dose: 4, ageDays: 540 }],
  "麻腮风疫苗": [{ dose: 1, ageDays: 540 }],
  "乙脑减毒活疫苗": [{ dose: 1, ageDays: 480 }],
  "A群流脑多糖疫苗": [{ dose: 1, ageDays: 180 }, { dose: 2, ageDays: 270 }],
  "甲肝减毒活疫苗": [{ dose: 1, ageDays: 540 }],
};

/**
 * 根据出生日期计算所有疫苗的接种日期
 * @param {Date} birthDate - 出生日期
 * @returns {Array} 排序后的疫苗接种计划
 */
function getVaccinationSchedule(birthDate) {
  const schedule = [];
  for (const [vaccine, doses] of Object.entries(VACCINE_SCHEDULE)) {
    for (const dose of doses) {
      const vaccinationDate = new Date(birthDate);
      vaccinationDate.setDate(vaccinationDate.getDate() + dose.ageDays);
      schedule.push({
        vaccine,
        dose: dose.dose,
        ageDays: dose.ageDays,
        vaccinationDate: vaccinationDate.toISOString().split('T')[0]
      });
    }
  }
  // 按接种日期排序
  schedule.sort((a, b) => a.vaccinationDate.localeCompare(b.vaccinationDate));
  return schedule;
}

// 示例:2024年1月1日出生的婴儿
const birth = new Date('2024-01-01');
const schedule = getVaccinationSchedule(birth);
console.log(JSON.stringify(schedule, null, 2));
// 输出示例(部分):
// [
//   {"vaccine": "乙肝疫苗", "dose": 1, "ageDays": 0, "vaccinationDate": "2024-01-01"},
//   {"vaccine": "卡介苗", "dose": 1, "ageDays": 0, "vaccinationDate": "2024-01-01"},
//   {"vaccine": "乙肝疫苗", "dose": 2, "ageDays": 30, "vaccinationDate": "2024-01-31"},
//   ...
// ]
package main

import (
	"encoding/json"
	"fmt"
	"sort"
	"time"
)

// Dose 表示单次接种
type Dose struct {
	Dose    int `json:"dose"`
	AgeDays int `json:"ageDays"`
}

// Vaccination 表示一次疫苗接种事件
type Vaccination struct {
	Vaccine          string `json:"vaccine"`
	Dose             int    `json:"dose"`
	AgeDays          int    `json:"ageDays"`
	VaccinationDate  string `json:"vaccinationDate"`
}

// 国家免疫规划疫苗时间表(简化版)
// 数据来源:国家卫健委《国家免疫规划疫苗儿童免疫程序及说明(2021年版)》
var vaccineSchedule = map[string][]Dose{
	"乙肝疫苗":       {{1, 0}, {2, 30}, {3, 180}},
	"卡介苗":        {{1, 0}},
	"脊灰灭活疫苗":    {{1, 60}, {2, 90}},
	"百白破疫苗":     {{1, 90}, {2, 120}, {3, 150}, {4, 540}},
	"麻腮风疫苗":     {{1, 540}},
	"乙脑减毒活疫苗":  {{1, 480}},
	"A群流脑多糖疫苗": {{1, 180}, {2, 270}},
	"甲肝减毒活疫苗":  {{1, 540}},
}

// getVaccinationSchedule 根据出生日期计算所有疫苗的接种日期
func getVaccinationSchedule(birthDate time.Time) []Vaccination {
	var schedule []Vaccination
	for vaccine, doses := range vaccineSchedule {
		for _, dose := range doses {
			vaccinationDate := birthDate.AddDate(0, 0, dose.AgeDays)
			schedule = append(schedule, Vaccination{
				Vaccine:         vaccine,
				Dose:            dose.Dose,
				AgeDays:         dose.AgeDays,
				VaccinationDate: vaccinationDate.Format("2006-01-02"),
			})
		}
	}
	// 按接种日期排序
	sort.Slice(schedule, func(i, j int) bool {
		return schedule[i].VaccinationDate < schedule[j].VaccinationDate
	})
	return schedule
}

func main() {
	// 示例:2024年1月1日出生的婴儿
	birth := time.Date(2024, 1, 1, 0, 0, 0, 0, time.UTC)
	schedule := getVaccinationSchedule(birth)
	
	jsonBytes, _ := json.MarshalIndent(schedule, "", "  ")
	fmt.Println(string(jsonBytes))
	// 输出示例(部分):
	// [
	//   {"vaccine": "乙肝疫苗", "dose": 1, "ageDays": 0, "vaccinationDate": "2024-01-01"},
	//   {"vaccine": "卡介苗", "dose": 1, "ageDays": 0, "vaccinationDate": "2024-01-01"},
	//   {"vaccine": "乙肝疫苗", "dose": 2, "ageDays": 30, "vaccinationDate": "2024-01-31"},
	//   ...
	// ]
}

常见问题

9 个高频疑问

这个疫苗时间表上的日期,是按什么标准定的?我孩子出生时间不一样,也能用吗?
时间表按国家免疫规划(NIP)2021 版标准制定,接种年龄以出生日期为基准计算。对于早产儿、出生体重低于 2.5kg 等特殊情况,多数疫苗需按实际月龄(出生后满 X 月)而非矫正月龄接种,具体以儿科医生评估为准。工具给出的日期是通用建议,乙肝疫苗第一针应在出生后 24 小时内接种,卡介苗在出生后尽早接种,这些固定节点不受出生时间偏差影响。
工具里的“推荐疫苗”和“国家免疫规划”有什么区别?是不是必须打?
「国家免疫规划」是免费、强制接种的疫苗(如乙肝、卡介苗、脊灰、百白破等),入托入学必须查验接种记录,漏种需补种。「推荐疫苗」是自费、自愿接种的非免疫规划疫苗(如五联、13 价肺炎、轮状病毒、流感等),工具仅展示建议接种月龄作为参考,是否接种由家长自行决定。注意:推荐疫苗的接种时间与免疫规划疫苗可能有冲突(如五联与百白破),实际接种前需咨询接种点医生调整间隔。
为什么有的疫苗要打好几针?时间表上间隔一个月,晚几天打行不行?
多剂次疫苗(如脊灰、百白破、乙肝)需要完成基础免疫和加强免疫,才能建立持久免疫力。时间表上的间隔是最短间隔(通常为 28 天),晚几天接种不影响效果,但不要提前(可能降低免疫应答)。如果因生病、外出等原因错过,尽快补种即可,不需要重新开始整个程序。工具默认按标准间隔排期,实际接种日期以接种点医生预约的为准。
工具支持查询成人疫苗吗?比如 HPV、带状疱疹、流感?
本工具主要按国家免疫规划 0-6 岁儿童时间表设计,成人疫苗(HPV、带状疱疹、23 价肺炎、流感等)不在默认时间表内。但工具底部提供「自定义添加」功能,可以手动输入疫苗名称、剂次和计划接种日期,作为个人备忘录使用。流感疫苗每年秋冬季接种,建议在 9-11 月完成,工具不会自动提醒季节性疫苗,需自行关注当地疾控通知。
输入出生日期后,看到的时间表和我去社区医院拿的不一样,是工具错了还是医院错了?
两者都可能对,差异通常来自两个原因:一是国家免疫规划在 2020 年、2022 年有过调整(如脊灰疫苗从全 IPV 改为 IPV+bOPV 序贯程序),不同年份出生适用不同版本;二是各地疾控中心对部分疫苗的接种年龄有细微差异(如 A 群流脑多糖疫苗,有的地区要求满 6 月龄,有的要求满 3 月龄)。工具采用国家疾控中心 2023 年版通用指南,如果与接种点通知单不一致,以接种点医生安排为准,因为接种点需对接本地免疫规划信息系统。
工具上显示的疫苗名称,和我在接种本上看到的对不上号,是同一种吗?
常见对应关系:卡介苗(BCG)、乙肝疫苗(HepB)、脊灰灭活疫苗(IPV,接种本上可能写“脊灰针剂”)、百白破疫苗(DTaP,接种本上写“百白破”)、麻腮风疫苗(MMR,接种本上写“麻腮风”或“麻风腮”)、乙脑减毒活疫苗(JE-L,接种本上写“乙脑”)、A 群流脑多糖疫苗(MPSV-A,接种本上写“流脑 A”)。工具同时标注了通用简称和全称,可在接种本上按全称查找。如果完全对不上,建议拍照发给接种点医生确认。
工具会保存我孩子的接种数据吗?换手机或清缓存后数据还在吗?
工具完全运行在浏览器本地(localStorage),数据只保存在当前设备上,不会上传到任何服务器。换手机、清缓存、使用无痕模式或不同浏览器,都会丢失之前输入的数据。建议定期将时间表截图保存,或导出为 PDF(浏览器打印功能)。如果需要多设备同步或长期备份,可以手动将接种日期复制到手机备忘录或云笔记中。
我输入了出生日期,但时间表上显示“已过期”的疫苗,还需要补打吗?
工具将当前日期超过推荐接种月龄 3 个月以上的疫苗标记为「已过期」,仅表示超过了最佳接种窗口期,不等于不能补种。大多数疫苗(如乙肝、脊灰、百白破)在 18 岁前都可以补种,只需按补种程序(剂次间隔缩短)完成即可。少数疫苗有年龄上限(如轮状病毒疫苗最晚 32 周龄、13 价肺炎疫苗最晚 15 月龄),超过年龄限制则无法补种。建议带上接种本去社区医院,由医生评估需要补种哪些疫苗。
工具能同时管理两个孩子的接种时间表吗?
工具默认只显示一个出生日期对应的时间表。如果需要为多个孩子管理,有两种方式:一是每次切换时重新输入另一个孩子的出生日期(数据不会自动保存);二是使用浏览器的多用户功能(Chrome 个人资料 / Edge 配置文件)或不同浏览器,分别打开工具并输入不同孩子的信息,这样各自的数据保存在各自的浏览器环境中。未来版本可能会加入多儿童管理功能,目前建议用截图或笔记辅助记录。
选择 打开 +新窗口 esc关闭