You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

动物救助站药品库存管理:开瓶状态自动识别与到期提醒方案问询

动物救助站药品库存管理问题

我为动物救助站搭建了包含药品模块的数据库,目前已实现用药时自动扣减库存的功能,但在开瓶药品的保质期管理上遇到难点:针对保质期仅7天的抗生素类药品,需要实现首次使用后启动倒计时——要么直到瓶内药品用完重置倒计时,要么在7天到期时触发提醒以便处理。


现有及拟议表结构

表 Medication:存储药品基础信息

药品ID药品名称类别
1环丙沙星抗生素
2美达康(Metacam)抗炎药

表 Meds Given:给药记录详情

给药剂量以mg为单位,需关联药品规格表计算体积扣减量,例如50mg对应约3.3ml,计算公式:(给药剂量mg / 规格浓度mg/ml) = 扣减体积ml

给药记录ID药品ID动物ID给药剂量(mg)给药日期
114502024/1/20
214502024/5/13

拟议表 Rescue meds profile:药品规格配置

同一药品可存在不同剂型(如15mg/ml或30mg/ml),记录单瓶总容量及开瓶后保质期

药品规格ID药品ID浓度(mg/ml)单瓶容量(ml)开瓶后保质期(天)
11151255
2130125365

拟议表 Stock adjustments:非给药类库存调整记录

用于记录入库、销毁等非给药的库存变动,示例为15mg/ml环丙沙星入库4瓶、出库1瓶

库存调整ID药品规格ID出入库调整容量(ml)
11IN500
21OUT125

拟议表 Inventory:库存余额跟踪

给药记录和库存调整都会更新此表的余额,每个profile_id对应唯一一条记录

库存余额ID药品规格ID总库存容量(ml)
11350
22210

当前待解决的技术问题

目前已实现给药时同时写入Meds Given表并扣减Inventory表库存的逻辑,但需要一套机制来:

  • 自动识别新瓶开启的时机
  • 在药品到期时触发用户提醒

我曾考虑在Inventory表添加opened_on字段作为触发查询的依据,但不确定如何满足以下条件:

  1. 仅当库存处于整瓶量的整数倍时,才允许更新opened_on字段(比如库存为1000ml=4瓶×250ml时,扣减7.5ml后变为992.5ml,此时启动倒计时)
  2. 倒计时期间,若6-7天后库存仍处于非整瓶区间(如750-1000ml、1-250ml等),需触发到期提醒,且opened_on字段保持不变
  3. 只有当库存再次回到整瓶量区间后,opened_on字段才允许更新(即新瓶开启时重置)

内容的提问来源于stack exchange,提问作者Dan Lindley

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 08:40:14