news 2026/11/4 19:22:33

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

作者头像

张小明

前端开发工程师

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/11/3 8:40:22

Qwen3-Embedding-0.6B为何选它?多语言能力实测与部署指南

Qwen3-Embedding-0.6B为何选它&#xff1f;多语言能力实测与部署指南 1. Qwen3-Embedding-0.6B 介绍 Qwen3 Embedding 模型系列是 Qwen 家族的最新专有模型&#xff0c;专门设计用于文本嵌入和排序任务。基于 Qwen3 系列的密集基础模型&#xff0c;它提供了从 0.6B 到 8B 不同…

作者头像 李华
网站建设 2026/11/1 11:54:30

AI图像合成新玩法:unet image Face Fusion创意应用趋势分析

AI图像合成新玩法&#xff1a;unet image Face Fusion创意应用趋势分析 1. 引言&#xff1a;人脸融合技术的创意进化 你有没有想过&#xff0c;一张普通照片可以通过AI“换脸”变得既熟悉又新鲜&#xff1f;这不是电影特效&#xff0c;而是基于 unet image Face Fusion 技术正…

作者头像 李华
网站建设 2026/11/3 23:41:58

cv_unet_image-matting实战案例:电商平台商品图自动化流程

cv_unet_image-matting实战案例&#xff1a;电商平台商品图自动化流程 1. 为什么电商商家需要这套抠图方案&#xff1f; 你有没有遇到过这样的情况&#xff1a;每天要上架20款新品&#xff0c;每张商品图都要手动抠图换背景&#xff1f;设计师忙不过来&#xff0c;外包成本高…

作者头像 李华
网站建设 2026/11/4 7:01:27

Qwen3-1.7B为何选它?中小企业AI落地成本优化分析

Qwen3-1.7B为何选它&#xff1f;中小企业AI落地成本优化分析 在当前大模型技术快速演进的背景下&#xff0c;越来越多企业开始探索AI能力的本地化部署与业务融合。然而&#xff0c;高昂的算力成本、复杂的运维门槛和模糊的投入产出比&#xff0c;让不少中小企业望而却步。就在…

作者头像 李华
网站建设 2026/11/2 23:57:10

GPT-OSS推理服务部署:构建私有化API网关

GPT-OSS推理服务部署&#xff1a;构建私有化API网关 你是否正在寻找一种既能保障数据隐私&#xff0c;又能高效运行大模型的解决方案&#xff1f;GPT-OSS 正是为此而生。作为 OpenAI 开源生态中的重要一环&#xff0c;它不仅支持本地化部署&#xff0c;还能通过 WebUI 和 vLLM…

作者头像 李华
网站建设 2026/11/4 4:12:25

Llama3与GPEN跨模态对比:文本生成vs图像增强谁更高效?

Llama3与GPEN跨模态对比&#xff1a;文本生成vs图像增强谁更高效&#xff1f; 你有没有想过&#xff0c;AI到底擅长什么&#xff1f;是让一张模糊的老照片变得清晰如新&#xff0c;还是根据一句话写出一篇完整的文章&#xff1f;今天我们就来聊一个有趣的话题&#xff1a;Llam…

作者头像 李华