news 2026/7/14 21:15:04

录入个人疫苗接种记录,自动标注疫苗种类,接种时间,提醒后续加强针接种时间,适配老人,小孩疫苗管理。

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
录入个人疫苗接种记录,自动标注疫苗种类,接种时间,提醒后续加强针接种时间,适配老人,小孩疫苗管理。

设计一个 基于 Python 的个人疫苗接种记录管理与提醒系统,满足你的要求,并特别考虑老人和小孩的疫苗管理需求。

1. 实际应用场景描述

场景:

家庭中有老人、小孩和成人,需要管理多种疫苗的接种记录,包括:

- 新冠疫苗(多针次,有加强针)

- 儿童免疫规划疫苗(如百白破、麻腮风等)

- 流感疫苗(每年接种)

- 老人肺炎疫苗、带状疱疹疫苗等

痛点:

- 疫苗种类多,容易混淆

- 接种时间记录分散,容易遗忘

- 加强针时间需要精确计算

- 老人和小孩的疫苗计划不同,管理复杂

- 错过接种时间可能影响健康

解决方案:

开发一个 疫苗接种记录与提醒工具,支持:

- 录入接种记录(疫苗种类、接种时间、剂次)

- 自动识别疫苗类型

- 计算并提醒后续接种时间

- 按人群(老人/小孩/成人)分类管理

- 生成接种计划表

2. 核心逻辑讲解

1. 数据录入

- 姓名、年龄、关系(老人/小孩/成人)

- 疫苗名称、接种日期、剂次

2. 疫苗种类自动识别

- 通过关键词匹配(如“新冠”、“百白破”、“流感”)

3. 接种计划计算

- 根据疫苗类型和剂次,计算下一针时间

- 加强针根据上次接种时间 + 间隔天数

4. 提醒功能

- 列出近期需要接种的疫苗

5. 分类管理

- 按人群分组显示记录

6. 数据存储

- SQLite 本地数据库

7. 输出计划

- 打印接种计划表

3. 代码模块化实现

目录结构

vaccine_manager/

├── main.py

├── database.py

├── vaccine_classifier.py

├── reminder.py

└── README.md

"database.py" - 数据库操作

import sqlite3

from datetime import datetime

DB_NAME = "vaccine_records.db"

def init_db():

conn = sqlite3.connect(DB_NAME)

c = conn.cursor()

c.execute('''CREATE TABLE IF NOT EXISTS records

(id INTEGER PRIMARY KEY AUTOINCREMENT,

name TEXT,

age INTEGER,

relation TEXT, -- 老人/小孩/成人

vaccine_name TEXT,

dose_number INTEGER,

date TEXT)''')

conn.commit()

conn.close()

def add_record(name, age, relation, vaccine_name, dose_number, date):

conn = sqlite3.connect(DB_NAME)

c = conn.cursor()

c.execute("INSERT INTO records (name, age, relation, vaccine_name, dose_number, date) VALUES (?, ?, ?, ?, ?, ?)",

(name, age, relation, vaccine_name, dose_number, date))

conn.commit()

conn.close()

def get_all_records():

conn = sqlite3.connect(DB_NAME)

c = conn.cursor()

c.execute("SELECT * FROM records")

rows = c.fetchall()

conn.close()

return rows

"vaccine_classifier.py" - 疫苗分类与计划计算

from datetime import datetime, timedelta

VACCINE_RULES = {

"新冠疫苗": {"interval_days": 180, "max_dose": 3},

"百白破": {"interval_days": 60, "max_dose": 4},

"麻腮风": {"interval_days": 90, "max_dose": 2},

"流感": {"interval_days": 365, "max_dose": 1},

"肺炎": {"interval_days": 365*5, "max_dose": 1},

"带状疱疹": {"interval_days": 365*10, "max_dose": 1}

}

def classify_vaccine(name):

for key in VACCINE_RULES:

if key in name:

return key

return "其他"

def next_due_date(last_date_str, vaccine_type, current_dose):

rules = VACCINE_RULES.get(vaccine_type, {"interval_days": 365, "max_dose": 1})

if current_dose >= rules["max_dose"]:

return None

last_date = datetime.strptime(last_date_str, "%Y-%m-%d")

return (last_date + timedelta(days=rules["interval_days"])).strftime("%Y-%m-%d")

"reminder.py" - 提醒功能

from datetime import datetime

def check_upcoming_vaccines(records):

today = datetime.today()

upcoming = []

for r in records:

vaccine_type = classify_vaccine(r[4])

next_date = next_due_date(r[6], vaccine_type, r[5])

if next_date:

next_dt = datetime.strptime(next_date, "%Y-%m-%d")

if 0 <= (next_dt - today).days <= 30:

upcoming.append({

"name": r[1],

"relation": r[3],

"vaccine": r[4],

"next_date": next_date

})

return upcoming

"main.py" - 主程序

from database import init_db, add_record, get_all_records

from vaccine_classifier import classify_vaccine, next_due_date

from reminder import check_upcoming_vaccines

def main():

init_db()

while True:

print("\n1. 添加接种记录\n2. 查看所有记录\n3. 查看近期需接种\n4. 退出")

choice = input("选择操作: ")

if choice == "1":

name = input("姓名: ")

age = int(input("年龄: "))

relation = input("关系(老人/小孩/成人): ")

vaccine = input("疫苗名称: ")

dose = int(input("剂次: "))

date = input("接种日期(YYYY-MM-DD): ")

add_record(name, age, relation, vaccine, dose, date)

print("记录已添加")

elif choice == "2":

records = get_all_records()

for r in records:

print(f"{r[1]}({r[3]}) - {r[4]} 第{r[5]}针 {r[6]}")

elif choice == "3":

records = get_all_records()

upcoming = check_upcoming_vaccines(records)

if not upcoming:

print("近期无需接种")

else:

print("近期需接种:")

for u in upcoming:

print(f"{u['name']}({u['relation']}) - {u['vaccine']} 预计 {u['next_date']}")

elif choice == "4":

break

else:

print("无效选择")

if __name__ == "__main__":

main()

4. README.md

# 疫苗接种记录与提醒系统 Vaccine Manager

一个基于 Python 的工具,录入个人疫苗接种记录,自动标注疫苗种类,计算并提醒后续接种时间,适配老人、小孩和成人。

## 功能

- 录入接种记录

- 自动识别疫苗类型

- 计算下一针时间

- 提醒近期需接种的疫苗

- 按人群分类管理

## 使用方法

bash

python main.py

## 数据表结构

- name: 姓名

- age: 年龄

- relation: 关系(老人/小孩/成人)

- vaccine_name: 疫苗名称

- dose_number: 剂次

- date: 接种日期

5. 使用说明

1. 运行

"main.py"

2. 选择

"1" 添加接种记录

3. 选择

"2" 查看所有记录

4. 选择

"3" 查看近期需接种的疫苗

5. 数据保存在

"vaccine_records.db" 中

6. 核心知识点卡片

知识点 说明

SQLite 轻量级数据库,适合本地存储

日期计算

"datetime" 与

"timedelta" 计算间隔

关键词匹配 识别疫苗类型

模块化设计 分离数据库、逻辑、提醒功能

用户分类 按老人/小孩/成人管理

7. 总结

本项目通过 记录录入 → 疫苗分类 → 时间计算 → 提醒 的流程,实现了家庭疫苗管理的自动化,特别适合:

- 老人:长期疫苗计划(肺炎、带状疱疹)

- 小孩:免疫规划疫苗多剂次管理

- 成人:新冠、流感等年度疫苗

后续可扩展:

- 增加图形界面(Tkinter/PyQt)

- 接入短信/邮件提醒

- 支持多用户家庭管理

- 导出接种证明 PDF

如果你需要,还可以增加图形界面版本,让老人和小孩也能轻松使用,并支持日历视图显示接种计划。

利用AI高效解决实际问题,如果你觉得这个工具好用,欢迎关注我!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/29 0:18:46

CosyVoice2-0.5B免费部署方案:无需高端GPU也能运行

CosyVoice2-0.5B免费部署方案&#xff1a;无需高端GPU也能运行 1. 零样本语音合成新选择&#xff1a;CosyVoice2-0.5B为何值得关注 你有没有想过&#xff0c;只需要3秒钟的录音&#xff0c;就能完美复刻一个人的声音&#xff1f;阿里开源的 CosyVoice2-0.5B 正是这样一个让人…

作者头像 李华
网站建设 2026/6/29 9:32:31

dify关键字与向量权重配置避坑指南(一线专家20年实战经验)

第一章&#xff1a;dify混合检索模式下关键字与向量权重配置的核心认知 在构建现代检索增强生成&#xff08;RAG&#xff09;系统时&#xff0c;dify平台提供的混合检索能力成为提升查询准确性的关键。该机制融合了传统关键词匹配与语义向量检索&#xff0c;通过加权策略平衡两…

作者头像 李华
网站建设 2026/7/2 0:23:59

输电线路巡检缺陷数据集是支撑巡检AI算法(如缺陷检测、分类、定位)研发与验证的核心基础

输电线路巡检缺陷数据集构建方案 输电线路巡检缺陷数据集是支撑巡检AI算法&#xff08;如缺陷检测、分类、定位&#xff09;研发与验证的核心基础。该数据集需覆盖线路本体、附属设施、周边环境三大类缺陷&#xff0c;具备数据多样性、标注准确性、场景全覆盖的特点。以下是一…

作者头像 李华
网站建设 2026/7/5 23:47:04

密钥泄露危机频发,Dify环境变量备份必须掌握的4种高安全方案

第一章&#xff1a;密钥泄露危机下的Dify安全备份认知 在现代AI应用开发中&#xff0c;Dify作为低代码平台广泛用于构建智能工作流。然而&#xff0c;随着其部署场景的扩展&#xff0c;API密钥、数据库凭证等敏感信息的管理问题日益突出&#xff0c;一旦密钥泄露&#xff0c;攻…

作者头像 李华
网站建设 2026/7/10 10:16:53

揭秘Dify Tool Endpoint配置难题:5步实现无缝集成与自动化调用

第一章&#xff1a;揭秘Dify Tool Endpoint的核心机制 Dify Tool Endpoint 是连接外部工具与 Dify 应用生态的关键接口&#xff0c;其核心机制基于标准化的 HTTP 协议与可扩展的插件架构。该端点允许开发者将自定义功能&#xff08;如数据库查询、第三方 API 调用&#xff09;无…

作者头像 李华
网站建设 2026/7/13 15:46:16

交通多源异构数据融合的行业通识高质量数据集构建,核心是围绕“人 - 车 - 路 - 环”全要素

交通多源异构数据融合的行业通识高质量数据集构建&#xff0c;核心是围绕“人 - 车 - 路 - 环”全要素&#xff0c;以标准化采集、系统化治理、精准化融合、全流程质控与场景化适配为路径&#xff0c;打造覆盖数据全生命周期的高质量数据集&#xff0c;支撑交通大模型训练、智能…

作者头像 李华