当前位置:首页 > 经济导报 > 理论

乡村智能云药柜的设计与应用

肖环瑶张洪涛郭靖杜丹蕾杜敏

2025-04-11 作者: 来源: 经济导报
  摘要:城乡发展差距大、药品价格上涨、医疗服务价格上升、东西部发展不均衡、农村交通措施不完善等众多因素,导致了乡村看病难、用药难、用药贵等一系列问题的出现。本项目设计了一款适合乡村医疗现状的智能药柜,提供药柜用户线上购买及药品、药柜信息浏览,购物车管理;管理员药品管理、临期提醒、用户管理、订单管理;用户与管理员登录注册等服务,从而很好地解决乡村医疗问题。
  关键词:乡村医疗;智能药柜;远程购买;协同过滤;定位
  
  在改革开放持续推进的今天,人民医疗水平逐步提高,城市地区医疗体系基本完善,城市百姓能够享受高质量的医疗服务。然而,城乡发展差距大、药品价格上涨、医疗服务价格上升、东西部发展不均衡、农村交通措施不完善等众多因素,导致了乡村看病难、用药难、购药贵等一系列问题,本文针对购药难问题设计并实现了一款基于乡村的智能云药柜系统,主要由APP、后端服务器以及网页端构成。可以提供24小时服务、远程下单购买、药品推荐、药柜定位等服务,从而为广大乡村人民提供智能、便捷、安全、人性化的智能医疗服务。
  一、相关技术及算法简介
  (一)客户端
  采用Vue.js作为前端的框架,js脚本语言为前端主要语言。
  Vue是一个轻量级、高效、灵活和易用的JavaScript框架,Vue.js是创建用户界面的开源框架[1]。Vue提供了声明式和组件化的编程模型,适合开发小型到大型的Web应用程序。它基于HTML、CSS和JavaScript构建,易于学习和使用,能够快速创建高性能、响应式和交互式的网页应用。
  (二)后端开发
  本系统采用Spring Boot作为后端的框架,Java语言为主要语言。
  Spring Boot框架是Pivotal团队精心打造的一款创新框架,具有简化配置、快速开发、易于部署、强大的生态系统和优异的性能表现等优点[2]。通过Spring Boot,开发人员能够专注于业务逻辑的实现,而无须在繁琐的配置上花费过多精力,从而大幅提升开发效率与代码质量。但是Spring boot框架依然保留了Spring框架中的Ioc和Aop两个最核心模块。另外Spring Boot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决[3]。Spring Boot框架中还有两个非常重要的策略:开箱即用和约定优于配置。开箱即用,使得开发人员摆脱了复杂的配置工作以及依赖的管理工作,更加专注于业务逻辑。约定优于配置,Convention over configuration,减少了开发人员需要做出决定的数量,同时减少了大量的XML配置,并且可以将代码编译、测试和打包等工作自动化。
  (三)协同过滤算法
  协同过滤通常从用户和物品的评分矩阵中学习用户偏好,并利用偏好信息为用户进行推荐[4]。本系统个性化推荐引擎基于经典的协同过滤算法,旨在通过分析用户历史行为和偏好,为用户提供精准的药品建议。本系统适应医药服务的独特需求个性化推荐引擎采用协同过滤算法,通过分析用户历史行为构建用户-物品评分矩阵,结合药品属性数据实现精准推荐。推荐流程包含三个核心环节:一是数据预处理阶段整合用户购买记录、药品属性及季节因素等多维度数据;二是基于皮尔逊相关系数计算相似度,该算法通过量化用户评分协方差与标准差的比例关系,有效识别具有相似用药偏好的用户群体及疗效关联药品;三是依据相似度矩阵生成推荐列表,向用户推送潜在需求但未购买的药品。该算法特别强化了医药领域的适用性,在捕捉线性相关性的同时确保用药安全指导,相关系数值域[-1,1]的特性可直观反映正/负相关强度,为推荐结果提供可解释性依据[5]。
  二、系统设计
  本智慧药柜系统采用模块化设计,构建药柜商城、用户服务及管理控制三大核心功能。商城模块集成基于地理位置的智能药柜定位与药品展示功能,支持用户在线选购并自动生成订单,同时内置智能推荐算法实现精准药品推送。用户端提供注册登录、线上购药及个人信息管理功能,支持头像上传、昵称修改等基础信息维护。管理端配备药品全流程管理系统,涵盖出入库登记、库存盘点、临期药品提前15天预警下架机制,同步实现用户信息维护、药柜布局规划等运营管理功能,形成从药品流通到终端服务的闭环管理体系。
  三、系统功能模块实现
  在构建乡村智能云药柜系统时,我们选择了Spring Boot作为后端开发的主要框架。前端界面的设计,我们选用了Vue.js这一渐进式JavaScript框架。在数据管理方面,我们采用了MySQL作为关系型数据库管理系统,系统还集成了Redis作为缓存解决方案,以加快数据检索速度,提高系统的响应效率。为了保护用户的隐私与交易安全,我们实施了OAuth 2.0或JWT(JSON Web Token)的身份验证机制,并采用加密技术来保障敏感数据的安全传输。同时,我们在数据库层面也部署了必要的防护措施,如防止SQL注入等攻击手段,确保系统的整体安全性。
  (一)商城模块
  药品商城模块是本系统的核心模块,包括药柜定位、药品展示、订单管理、药品推荐等核心功能。
  1.药柜定位
  为了提供便捷的药柜定位服务,我们集成了高德地图API到前端页面。用户在选择目标药柜时,系统将利用BM(Boyer-Moore)算法迅速匹配用户输入的地址与高德地图数据库中的地理位置信息。一旦匹配成功,即刻在地图上精确定位该药柜的位置,为用户提供直观的视觉指引。
  2.商城药品展示功能
  通过业务逻辑层并结合Medicine数据库,查找medicine表中所有数据信息,然后将药品数据发送到前端,再由前端渲染到页面上。
  3.订单管理
  通过业务逻辑层并结合Medicine数据库,对订单表的增删改查操作来实现对订单的修改。
  4.药品推荐
  用户购买完药品后,系统将会记录并将其作为协同过滤的数据。然后将推荐的药品显示在个人药品信息的下方。本文通过调用Mahout库引用相关依赖构造相关的函数从而实现药品推荐功能。Mahout是Hadoop大数据生态中实现人工智能处理的算法库,它包含了关联规则模块、分类模块、聚类模块、推荐模块等多个模块[6]。
  (二)用户模块
  1.用户登录注册
  前端输入的账号密码经过关键字非法字段筛选,账户查重等逻辑判断后,若通过判断则保存到后端数据库中的user表从而完成注册,否则提示注册失败。登录时,账号密码经过后端精心设计的业务逻辑进行比对,若正确则跳转。
  2.线上购买
  通过业务逻辑层将药品信息保存到购物车中,然后通过对Medicine数据库中的medicine表的查询、购物车表的添加操作以及订单表的添加来实现购物车中药品的保存以及购买。
  3.个人信息管理
  通过图片上传完成头像修改,通过业务逻辑层并结合MySQL数据库的添加操作来实现昵称、邮箱、联系电话、简介的修改。
  (三)管理员模块
  1.管理员登录注册
  该功能实现与用户登录注册功能实现一致。
  2.药品及临期管理
  通过对Medicine数据库中药品信息表的增删改查操作来实现对药品的增删改查。然后用业务层将药品信息表所有的数据传给前端,前端进行渲染。
  通过将药品的生产日期与当前日期进行比较,若相差不足半月则提醒管理员对该药品进行下架。
  3.药柜及用户管理
  通过业务逻辑层并结合Medicine数据库,对药柜表中的地址属性进行修改和删除来对应实现对药柜地址的修改和删除。管理员模块通过类似方法还实现了用户管理功能
  四、结束语
  我们针对智能药柜采用了全面的黑盒测试。测试结果表明,智能药柜系统的关键功能表现优异,普通用户与管理员均能顺利实现账户的创建和登录;用户可以流畅地完成药品选购、订单管理和接收个性化的药品推荐;系统成功实现了对临期药品的有效监控,并及时向管理员发出提醒,保障了库存药品的质量;同时,通过集成高德地图API,为用户提供准确的药柜位置信息,大大提升了取药的便利性。综上所述,智能药柜软件展现了高度的稳定性和可靠性,构建了一个安全、便捷的医药服务平台。
  参考文献:
  [1]开发人员应该学习的10个JavaScript框架[J].计算机与网络,2019,45(22):43-44.
  [2]杨妍.基于Spring Boot与Vue的系统管理模块开发探究[J].电声技术,2019,43(02):32-34.
  [3]邓笑.基于Spring Boot的校园轻博客系统的设计与实现[D].华中科技大学,2018.
  [4]蒋滨泽,邓欣,杜雨露,等.基于物品关联协同过滤的下一购物篮推荐算法[J].计算机科学,2023,50(S2):486-491.
  [5]卫晓旭,王晓凯,朱涛,等.基于多元分解的大气污染深度学习预测方法[J].计算机仿真,2021,38(05):467-471+483.
  [6]戴胜冬,杨昆.计算DNA序列模式特征的匹配算法[J].杭州电子科技大学学报(自然科学版),2015,35(01):88-92.
  【作者单位:湖南科技学院。本文系国家创新创业计划项目(202210551017X)】