定义
「药房库存同步与断网续传」场景中,传感与业务终端常经蜂窝物联网接入平台;需同时考虑覆盖质量、时延、安全与卡务全生命周期。
技术特点
建议区分遥测、告警、配置与 OTA 等流量;弱网环境配置缓存与补传;TLS、证书与密钥纳入变更与回滚策略。
应用场景
适用于分布式点位与远程运维。达希物联可提供连接管理、流量池与定向/专网等组合能力,支撑规模化复制。
与物联网卡协同要点
- 台账:ICCID / IMEI 与设备编号、安装位置、责任人绑定。
- 网络:APN、白名单、机卡绑定与区域/漫游策略。
- 运维:在线率、异常流量、沉默卡与告警进 ITSM 闭环。
- 合规:日志脱敏、留存周期与跨境/分包约定。
断网队列里的发药账
药房库存同步的技术含义,是每一盒被发出的药在中心库存上只减少一次,并且减少的货位、批号和窗口能对上。发药机、手持终端和中心药房之间如果隔着蜂窝,断网时本地可以先发药,但队列里存的是待对账的发药事件,不是已经确认的库存余额。使用条件是药品身份在发出前已经确定,事件带有终端生成的发药号、批号、数量和货位。没有发药号,恢复联网后无法判断这条是新发还是重发。手持补录和机器发药要使用同一套编号规则,否则同一盒药会在两条账上各减一次。
和药盒上的追溯码核对应分开。追溯码回答“这盒药从哪来”,库存同步回答“这盒药是否还在这个货位”。码核销失败不应自动把库存加回去,库存扣减失败也不应假装码已经核销。弱网时先保证发药动作和本地队列一致,联网后再与中心对账;对不上时进入差异,而不是让窗口停在无提示的重试里。队列有长度上限,满了应停止继续离线发药并提示,不能丢弃最早的未确认事件。
恢复联网后的重复扣减
最常见的错误是超时后终端再提交一次,中心按收到次数扣减。患者只取走一盒,库存少了两盒,盘点时表现为盘亏。幂等键应当是发药号:同一发药号重复到达,只确认一次,并返回原先的结果。另一类错误是用服务器时间覆盖发药时间。夜班断网、次日早上补传,药品会被记入第二天的消耗,批号近效期统计随之偏移。
部分成功也会造成错账。中心已经扣减,应答在路上丢失,终端以为失败又发一盒或提示药师重扫。终端在未收到确认前,界面应保持“待确认”,而不是回到可再次发药。若必须重试,重试用同一发药号。验收可以拔掉天线做三步:离线发出一盒、恢复前不要关机、恢复后故意把同一事件再送一次。中心库存只减少一盒,批号和货位与窗口记录一致,第二次请求被识别为重复。差异报表里不应出现这盒药。
待确认界面禁止再次发药
发药请求发出后、确认尚未回来时,窗口应停在待确认,不能回到可再次扫描的状态。药师若在这时重扫,会生成新的发药号,中心在两条号上各扣一盒。超时重试必须沿用原发药号,中心第二次只返回第一次的结果。夜班断网、次日补传的消耗记在发药当时的日期和班次,不记在补传成功的早上。
追溯码没核销成功,不能自动把已经扣减的库存加回;库存扣减失败,也不能把码标成已核销。两类差异分列。本地队列满了就停止离线发药,不能丢掉最早一条未确认事件。离线发一盒、恢复前不重启、再故意重放同一事件,库存只减少一盒,这盒药不出现在差异里,药房同步才算经得起断网。
手持终端和发药机如果各用各的流水,合并前要先换成统一的发药号规则,否则同一盒药会在两套账上各出现一次。盘点发现的实物差异不要写进发药队列,盘点是另一张调整单,和断网重放混在一起就无法区分是重复扣减还是真实损耗。窗口在待确认时打印的取药凭证应标注未对账,避免患者离窗后才发现中心没有这条记录。