基于商务智能的医院药品库存优化系统*
2020-07-14吕克山
吕克山
(兰州晨熙电子科技有限公司,甘肃 兰州 730030)
1 概述
医药行业是一个比较特殊的行业,与人们日常生活息息相关。我国存在很多大小不一的医药销售企业,总的来看,大部分企业的库存管理模式还比较落后,没有实施精确的库存控制,库存周转率较低。为了避免缺货导致的客户流失,在供应链的各个环节都保有过高的安全库存。目前中小医药零售企业的库存管理系统功能过于简单,仅限于入库、出库、盘点等基本功能,没有库存优化的理念和功能。造成大部分企业压货严重、物流效率低、库存管理水平低。
医药企业大约35%的年度预算花费在库存管理中,药品的库存管理的目的是在成本控制和提高效率上。药品的库存管理对医药企业的经营活动至关重要,对企业的资金周转率也有一定影响。合理控制企业库存量,有效减少药品积压,避免药品过期失效,提高药品周转率,加快资金流动,对提高企业的经济效益起着积极的作用。
2 研究主要内容
提高库存周转率、降低安全库存,甚至实现零库存是库存管理终极目标。拟采用Web技术,借助库存管理、数据挖掘、机器学习理论,建立B/S模式的医药零售企业库存优化管理系统。具体实现内容如下:
1)采用“ABC”库存分类管理方法,将库存分为重中之重库存、一般重要库存和不重要库存,然后根据不同等级分别进行管理和控制。
2)数据库接口模块,对接库存和销售管理系统,提取库存数据和销售数据。使得本系统能独立于库存管理系统和销售管理系统独立运行。
3)库存结构分析模块,分别统计药品库存数量、库存金额、日销售量、销售天数,计算各类药品的库存周转率,找出滞销和快销药品,帮助企业优化库存结构,提高库存周转率。
4)失效及近效期药品分析模块,根据GSP规范,统计分析失效和近效期药品,并进行报警,严格有效期管理减少药品积压。
5)报表输出模块,输出日销售报表、周销售报表、月销售报表及自定义周期销售报表,日库存量报表、周库存量报表、月库存量报表及自定义周期库存量报表。
6)销售预测模块,利用销售数据、销售门店所在地气象数据、销售门店所在地空气质量数据,对重要库存产品进行销售预测,根据销售预测数据制定安全库存。销售预测模块包括网络爬虫功能,用于收集气象和空气质量数据;数据预处理功能,把历史销售数据、气象数据、空气质量数据整理成预测模型输入数据;预测结果展示功能,可视化展示预测结果。
3 系统设计与体系架构
3.1 项目开发工具
开发涉及到大量数据分析和机器学习内容,目前机器学习首选Python为主要开发语言。销售预测中的算法采用Python结合Scikit-Learn开发,网络爬虫框架采用Scrapy。
IDE 选择 Pycharm,Python版本为 3.6,Web框架为Django2.0。
Django是一个开放源代码的Web应用框架,由Python写成。Django的主要目的是简便、快速地开发数据库驱动的网站。
3.2 系统环境
3.2.1 系统硬件网络环境
网络架构采用 TCP/IP协议,windows、Linux操作系统,各软件服务器可分别运行在不同的服务器上,也可装备在同一台服务器上,硬件建议采用专用服务器(IBM、HP、DELL 等)。
3.2.2 系统软件环境
1)数据库服务器:
操作系统:Windows 2008 Server/Linux
数据库:MySql 5.0以上。
2)应用服务器
操作系统:Linux Nginx+uWSGI+Django;
Web服务器软件:Nginx+uWSGI+Django。
3)客户端
浏览器:Internet Explorer8以上/谷歌 Chrome浏览器/360浏览器;
显示器:分辨率不低于1366×768。
3.3 项目创建与配置
系统功能结构如图1所示。根据项目的主要功能,把项目分为不同的应用。首先创建Django项目,命名为MedicineStore,然后在项目中分别创建index、sales、store、report、sysAdmin、user应用。完成项目和项目应用创建后,在mediniceStore根目录下创建static文件夹,用于存放静态资源,包括css、js、font、image等。其中index处理项目首页以及包含数据库models,sales处理销售分析模块功能、store处理库存分析模块功能、report处理报表模块功能、sysAdmin处理系统管理功能、user处理用户管理功能。
图1 系统功能结构图
4 界面设计
Amaze UI以移动优先(Mobile first)为理念,从小屏逐步扩展到大屏,最终实现所有屏幕适配,适应移动互联潮流。系统前端使用了Amaze UI。主界面如图2所示。
图2 系统主页面设计
5 测试
采用黑盒测试方法,对医药库存优化管理系统进行测试,包括功能测试、界面测试见表1。整个过程采用自底向上,逐个集成的的办法,依次进行单元测试,组装测试,测试用例的设计包括合理的和不合理的输入条件。
表1 对医药库存优化管理系统测试