医院药品管理系统的设计与实现-毕业设计源码70722

摘 要

随着医疗技术的不断进步和医疗需求的日益增长,医院药品管理系统的设计与实现变得越来越重要。药品管理是医院运营中不可或缺的一部分,它涉及到药品的采购、入库、出库、库存管理、使用监控等多个环节。一个高效、准确、可靠的药品管理系统不仅能够提高医院药品管理的效率,还能够保障患者的用药安全,提升医疗服务质量。

传统的药品管理方式往往依赖于人工记录和管理,这种方式不仅效率低下,而且容易出错。例如,药品库存可能因为人为原因出现误差,导致药品短缺或过剩;药品使用监控也可能因为信息不透明而出现疏漏,影响患者的治疗效果。因此,开发一套功能全面、操作简便、安全可靠的医院药品管理系统势在必行。

该系统采用了Django 、Python技术和MySQL这一数据库,为药品管理提供了一个全面、高效和可靠的平台。结合医院药品管理的实际需求,实现了药品信息的数字化、网络化和智能化管理。通过该系统,医院可以更加高效地管理药品,减少人为错误,提高药品管理的准确性和可靠性,从而保障患者的用药安全和医疗服务质量。

关键词:医院药品管理系统;Python语言;Django框架

Abstract

With the continuous progress of medical technology and the increasing demand for medical care, the design and implementation of hospital drug management systems have become increasingly important. Drug management is an indispensable part of hospital operations, involving multiple links such as drug procurement, warehousing, outbound, inventory management, and usage monitoring. An efficient, accurate, and reliable drug management system can not only improve the efficiency of hospital drug management, but also ensure the safety of patient medication and improve the quality of medical services.

Traditional drug management methods often rely on manual recording and management, which is not only inefficient but also prone to errors. For example, drug inventory may have errors due to human factors, resulting in shortages or excess of drugs; Drug use monitoring may also result in omissions due to opaque information, which can affect the treatment effectiveness of patients. Therefore, it is imperative to develop a comprehensive, easy-to-use, safe and reliable hospital drug management system.

The system adopts Django, Python technology, and MySQL database, providing a comprehensive, efficient, and reliable platform for drug management. Based on the actual needs of hospital drug management, digital, networked, and intelligent management of drug information has been achieved. Through this system, hospitals can manage drugs more efficiently, reduce human errors, improve the accuracy and reliability of drug management, thereby ensuring patient medication safety and medical service quality.

Keywords:Hospital drug management system; Python language; Django Framework

目录

1绪论

1.1 研究背景和意义

1.2 国内外研究现状

1.3 论文组成结构

2开发工具及相关技术介绍

2.1 B/S体系工作原理

2.2 Django框架介绍

2.3 MySQL数据库

3系统分析

3.1 可行性分析

3.1.1 技术可行性

3.1.2 经济可行性

3.1.3 操作可行性

3.2 需求分析

3.3 系统操作流程

3.3.1信息添加流程

3.3.2信息删除流程

3.4本章小结

4系统设计

4.1 系统架构设计

4.2 系统功能结构

4.3 数据库设计

4.3.1 概念模型设计

4.3.2 逻辑结构设计

5关键模块的设计与实现

5.1登录模块的实现

5.2用户首页模块的实现

5.3 用户资料修改模块

5.4药品信息模块的实现

5.5用户管理模块的实现

5.6药品类型管理模块的实现

5.7采购订单管理模块的实现

5.8采购入库管理模块的实现

6系统测试

6.1 系统测试用例

6.2 系统测试结果

结论

参考文献

致谢

1绪论

1.1 研究背景和意义

在医疗领域,药品管理是确保患者安全、提升医疗服务质量的关键环节。随着医疗技术的快速发展和医疗需求的不断增长,传统的药品管理方式已无法满足现代医院高效、准确、可靠的管理需求。因此,70722医院药品管理系统的设计与实现显得尤为重要。该系统不仅能够有效整合医院药品管理的各项资源,提高管理效率,减少人为错误,还能实时监控药品的流向和使用情况,确保患者用药的安全性和有效性。通过这一系统的应用,医院可以进一步提升药品管理的智能化、信息化水平,为医疗事业的可持续发展提供有力支持。

1.2 国内外研究现状

在国内外,医院药品管理系统的设计与实现一直是医疗信息化领域的研究热点。随着信息技术的不断进步,越来越多的医院开始认识到信息化管理的重要性,并积极引进和应用药品管理系统。

国内研究现状:

近年来,国内医院药品管理系统的研究与应用取得了显著进展。许多医疗机构已经实现了药品信息的电子化、网络化管理,通过系统实现对药品采购、入库、出库、库存盘点等环节的自动化处理。同时,国内的研究者们也在不断探索新的技术与方法,如物联网技术、大数据分析等,以提高药品管理的智能化和精准化水平。然而,由于医疗信息化起步相对较晚,国内医院药品管理系统在功能完善、系统稳定性、用户体验等方面仍有待提升。

国外研究现状:

相比国内,国外在医院药品管理系统方面的研究与应用更为成熟。许多发达国家早在上世纪就开始探索医疗信息化,积累了丰富的经验和技术。目前,国外医院药品管理系统已经实现了高度的自动化、智能化和网络化,能够实现对药品全生命周期的精准管理。此外,国外的研究者们还在不断探索新的技术应用,如人工智能、区块链等,以进一步提高药品管理的效率和安全性。

综上所述,国内外在医院药品管理系统的设计与实现方面均取得了一定的成果,但仍存在诸多挑战和机遇。通过不断引进新技术、优化系统功能、提升用户体验,相信未来的医院药品管理系统将能够更好地服务于医疗事业的发展。

1.3 论文组成结构

第一章是绪论,本文章的开头部分,对本题目的研究背景意义和研究现状等一些做文字性的描述。

第二章研究了医院药品管理系统的所采用的开发技术和开发工具。

第三章是系统分析部分,包括系统总体需求描述、功能性角度分析系统需求、非功能性等各个方面分析系统是否可以实现。

第四章是系统设计部分,本文章的重要部分,提供了系统架构的详细设计和一些主要功能模块的设计说明。

第五章是系统的具体实现,介绍系统的各个模块的具体实现。

第六章在前几章的基础上对系统进行测试和运行。

最后对系统进行了认真的总结,以此对未来有一个新的展望。

2开发工具及相关技术介绍

2.1 B/S体系工作原理 

B/S架构采取浏览器请求,服务器响应的工作模式。

用户可以通过浏览器去访问Internet上由Web服务器产生的文本、数据、图片、动画、视频点播和声音等信息;

而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中;

Web服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给用户。在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网。而各个企业可以在此结构的基础上建立自己的Internet。

在 B/S 模式中,用户是通过浏览器针对许多分布于网络上的服务器进行请求访问的,浏览器的请求通过服务器进行处理,并将处理结果以及相应的信息返回给浏览器,其他的数据加工、请求全部都是由Web Server完成的。通过该框架结构以及植入于操作系统内部的浏览器,该结构已经成为了当今软件应用的主流结构模式。

2.2 Django框架介绍

Django是高水准的Python编程语言驱动的一个开源模型.视图,控制器风格的Web应用程序框架,它起源于开源社区。使用这种架构,程序员可以方便、快捷地创建高品质、易维护、数据库驱动的应用程序。这也正是OpenStack的Horizon组件采用这种架构进行设计的主要原因。另外,在Django框架中,还包含许多功能强大的第三方插件,使得Django具有较强的可扩展性。Django 项目源自一个在线新闻 Web 站点,于 2005 年以开源的形式被释放出来。Django 框架的核心组件有:

2.3.1 用于创建模型的对象关系映射

2.3.2 为最终用户设计较好的管理界面;

2.3.3 URL 设计;

2.3.4 设计者友好的模板语言;

2.3.5 缓存系统。

Django(发音:[`dʒæŋɡəʊ]) 是用python语言写的开源web开发框架(open source web framework),它鼓励快速开发,并遵循MVC设计。Django遵守BSD版权,初次发布于2005年7月, 并于2008年9月发布了第一个正式版本1.0 。

Django 根据比利时的爵士音乐家Django Reinhardt命名,他是一个吉普赛人,主要以演奏吉它为主,还演奏过小提琴等。

由于Django在近年来的迅速发展,应用越来越广泛,被著名IT开发杂志SD Times评选为2013 SD Times 100,位列“API、库和框架”分类第6位,被认为是该领域的佼佼者。

JSP脚本语言

JSP可以放在在html里使用,也可以独自使用,它同时也具备有很多种优点,可以讲,Web脚本技术的先驱是JSP。现代编程语言(像C,python和Perl等)的一些最好的特点都融合在JSP里,Web服务器里的一些配置标准是由JSP、Tomcat和数据库等的组合在一起的。

2.3 MySQL数据库

MySQL经过多次的更新,功能层面已经非常的丰富和完善了,从MySQL4版本到5版本进行了比较大的更新,在商业的实际使用中取得了很好的实际应用效果。最新版本的MySQL支持对信息的压缩,同时还能进行加密能更好的满足对信息安全性的需求。同时经过系统的多次更新,数据库自身的镜像功能也得到了很大的增强,运行的流畅度和易用性方面有了不小的进步,驱动的使用和创建也更加的高效快捷。最大的变动还是进行了空间信息的显示优化,能更加方便的在应用地图上进行坐标的标注和运算。强大的备份功能也保证了用户使用的过程会更加安心,同时支持的Office特性还支持用户的自行安装和使用。在信息的显示形式上也进行了不小的更新,增加了两个非常使用的显示区,一个是信息区,对表格和文字进行了分类处理,界面的显示更加清爽和具体。第二是仪表的信息控件,能在仪表信息区进行信息的显示,同时还能进行多个信息的比对,为用户的实际使用带来了很大的便捷。

针对本文中设计的医院药品管理系统在实际的实现过程中,最终选择MySQL数据库的主要原因在于在企业的应用系统应用及开发的过程中会存在大量的数据库比较频繁的操作,而且数据的安全性要求也是非常的高。综合这些因素,最终选择安全性系数比较高的MySQL来对医院药品管理系统后台数据进行存储操作。

数据库管理系统的总体结构图如下图所示。

图2-1 数据库组成结构

3系统分析

3.1 可行性分析

在软件开发的过程中,可行性分析是至关重要的,它旨在评估问题的可行性,以便尽可能快地解决,同时也要考虑到不同的解决方案的优势和劣势,以及实施这些方案所带来的经济效益。通过对医院药品管理系统的可行性分析,我们可以从技术、操作和经济三个方面来评估其可行性,从而为其提供有效的支持和保障。

3.1.1 技术可行性

所谓技术可行性,是指能否在有限的时间内实现预定的功能。在开发和设计中是否有未解决的问题。完成的项目能否很好地应用,如果有任何不足之处,后期的维护是否会有较大的困难。经过对该系统的评估,确定现有的技术可以达到目标。通过使用Python技术来创建动态的页面,采取低耦合的架构,搭载灵活的数据库,以及强劲的服务器,我们能够显著地改善系统的性能。这表明,我们不仅要追求理论上的目标,还要在实践中不断探索。

3.1.2 经济可行性

医院药品管理系统采用Python和MySQL技术,这样可以有效地降低软硬件的开发与维护费用,同时又能够让用户更加轻松地访问药品,从而提高服务质量。此外,该系统的推出,可以有效地降低运营者的劳动强度,为企业带来更多的经济效益。虽然医院药品管理系统的构建并非特别困难,但由于它的投入相比较少,而且能够带来更高的效率,因此,我们认为这个系统的建立具有很强的可持续性,而且能够带来更高的经济效益,而且比起日常的维护与管理更具有价值。

3.1.3 操作可行性

医院药品管理系统的前台页面简洁易懂,无论是系统管理员还是普通用户,只要电脑连接到网络,就可以轻松访问网站,而且不需要任何操作指导,只要输入正确的URL地址,就可以轻松完成所有的操作。由于无需任何复杂的环境配置,这个系统非常简单,易于操作,因此它是一个非常实用的工具。

3.2 需求分析

为了满足用户的需求,医院药品管理系统将系统划分为两个部分:药房人员和管理员,每个部分都有独特的功能,以便更加便捷地管理信息。此外,系统还具有简单易操作的特点,可以更加精确、全面地实现用户的需求。以下是关于该功能的详细描述:

药房人员模块:

  1. 后台首页:后台首页是药房人员登录系统后首先看到的界面。
  2. 药品信息管理:允许药房人员添加、修改、删除和查询药品的基本信息。
  3. 采购订单管理:允许药房人员根据药品库存情况、医生处方需求等因素,生成药品采购订单。
  4. 采购入库管理:当药品到货后,药房人员需要使用采购入库管理功能,将实际收到的药品与采购订单进行核对,确认无误后,将药品信息录入系统,并更新库存数量。
  5. 出库申请管理:药房人员根据医生开具的处方或患者的用药需求,使用出库申请管理功能,生成药品出库申请。出库申请中需要指定药品名称、数量、使用科室等信息,并提交给审核人员进行审批。
  6. 出库记录管理:记录了所有已经审核通过的出库申请的实际操作情况。药房人员可以在这一功能中查看、查询和打印出库记录,以便后续的核对和审计。
  7. 药房信息管理:允许药房人员设置和管理药房的基本信息,如药房名称、地址、联系方式等。
  8. 供应商管理:允许药房人员添加、修改、删除和查询供应商的信息,如供应商名称、联系方式、供应药品范围等。

管理员模块:

  1. 后台首页:是管理员登录系统后的初始界面,展示了系统的整体运行状态、关键数据概览以及待处理任务等。
  2. 系统用户:允许管理员添加、修改、删除和查询系统内的用户信息。
  3. 药品信息管理:允许管理员对药品的基本信息进行维护和管理。
  4.  药品类型管理:允许管理员定义和分类药品的类型。
  5. 采购订单管理:允许管理员对药品采购订单进行查看、修改、删除和审核等操作。
  6. 采购入库管理:允许管理员对药品的入库过程进行监控和管理。管理员可以核实入库药品的数量、质量等信息,确保药品的准确性和安全性。
  7. 出库申请管理:允许管理员对药品的出库申请进行审核和管理。管理员可以根据医院的出库政策和规定,对出库申请进行审批和拒绝操作,确保药品的出库符合医院的管理要求。
  8. 出库记录管理:记录了所有已经审核通过的出库申请的实际操作情况。管理员可以在这一功能中查看、查询和打印出库记录,以便后续的核对和审计。。
  9. 药房信息管理:允许管理员对药房的基本信息进行设置和管理,包括药房名称、地址、联系方式等。
  10. 1供应商管理:允许管理员对药品供应商的信息进行维护和管理,包括供应商名称、联系方式、供应药品范围等。管理员可以对供应商进行评估和选择,以确保采购到质量可靠、价格合理的药品。

根据以上功能需求,得出以下用例图

药房人员用例图如下所示。

图3-1 药房人员用例图

管理员用例图如下所示。

图3-2 管理员用例图

根据用例图,对一些重要的用例进行描述。

登录用例描述如下表所示。

表3-3 登录用例描述

个人信息管理用例描述如下表所示。

表3-4个人信息管理用例描述

3.3 系统操作流程

3.3.1信息添加流程

医院药品管理系统可以实现快速、准确地收集和处理各种信息,而且在使用过程中,只有在按照指定的界面和指定的参考文献,才能够正确地获取和处理信息,而若信息未能满足预期,就会被退出第一步,并且在第二步中,还会继续检查信息的准确性,以确保最终的结果能够满足预期的目标。

图3-5信息添加流程图

3.3.2信息删除流程

无论是何种用户角色,只要进入了不正常的系统操作界面,就可以使用不同的信息内容来进行操作。当用户尝试删除系统中的数据时,必须先ACK这些数据是否已经被删除,如果没有,就应该按照图3-6的指示进行操作,以免影响系统的正常运行。

图3-6信息删除流程图

3.4本章小结

本章主要通过对医院药品管理系统的可行性分析、功能需求分析、系统用例分析,确定整个医院药品管理系统要实现的功能。同时也为医院药品管理系统的代码实现和测试提供了标准。

4系统设计

4.1 系统架构设计

当前,B/S架构的数据访问模式已经大大改善:用户只需要打开网站,就能够获取系统的信息,而且,系统会根据用户的需要,自动响应并解决所有的问题。此外,用户还能够查阅服务器的处理结果,从而更好地了解数据的流转情况。医院药品管理系统采用三层结构,即视觉-模拟-决策层。其中,视觉层负责接收来自用户的信息并将其呈现给用户;而模拟层则负责完成与用户有关的任务,包括组织信息、进行流程优化、提升用户体验。决策层则负责协商决策,并确保两层结果的一致性。

系统架构图如下图所示。

图4-1 系统架构图

4.2 系统功能结构

一旦您访问了这款应用,您需要完成一项重大的任务:通过认证,获得相应的权限。一旦您完成了认证,您将可以访问到一些关于您的服务,包括:后台首页、系统用户、药品信息管理、药品类型管理、采购订单管理、采购入库管理、出库申请管理、出库记录管理、药房信息管理、供应商管理等。这个界面非常清晰明了,通过指引您就能轻松地完成各种任务。

系统的功能结构图如下所示。

图4-2 系统功能结构图

4.3 数据库设计

一个优秀的系统必须具备完善的后台数据库,就像建筑物一样,它不是一蹴而就的,而是需要经过精心设计,以确保其稳固可靠。只有将数据库设计得完善,并且考虑到各个方面,才能保证系统的可靠性,避免出现任何问题。

4.3.1 概念模型设计

下面是整个系统中主要的数据库表总E-R实体关系图。

图4-3 系统E-R图

4.3.2 逻辑结构设计

在这一步中,我们将概念转换为实际的数据。由于数据库中包含了大量的信息,我们只展示了一些表格。

表access_token (登陆访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

token_id

int

10

0

N

Y

临时访问牌ID

2

token

varchar

64

0

Y

N

临时访问牌

3

info

text

65535

0

Y

N

4

maxage

int

10

0

N

N

2

最大寿命:默认2小时

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

user_id

int

10

0

N

N

0

用户编号:

表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

auth_id

int

10

0

N

Y

授权ID:

2

user_group

varchar

64

0

Y

N

用户组:

3

mod_name

varchar

64

0

Y

N

模块名:

4

table_name

varchar

64

0

Y

N

表名:

5

page_title

varchar

255

0

Y

N

页面标题:

6

path

varchar

255

0

Y

N

路由路径:

7

position

varchar

32

0

Y

N

位置:

8

mode

varchar

32

0

N

N

_blank

跳转方式:

9

add

tinyint

3

0

N

N

1

是否可增加:

10

del

tinyint

3

0

N

N

1

是否可删除:

11

set

tinyint

3

0

N

N

1

是否可修改:

12

get

tinyint

3

0

N

N

1

是否可查看:

13

field_add

text

65535

0

Y

N

添加字段:

14

field_set

text

65535

0

Y

N

修改字段:

15

field_get

text

65535

0

Y

N

查询字段:

16

table_nav_name

varchar

500

0

Y

N

跨表导航名称:

17

table_nav

varchar

500

0

Y

N

跨表导航:

18

option

text

65535

0

Y

N

配置:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表drug_information (药品信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

drug_information_id

int

10

0

N

Y

药品信息ID

2

drug_name

varchar

64

0

N

N

药物名称

3

drug_type

varchar

64

0

Y

N

药品类型

4

cover_image

varchar

255

0

Y

N

封面图

5

drug_specifications

varchar

64

0

Y

N

药物规格

6

taboos_for_use

varchar

64

0

Y

N

使用禁忌

7

inventory_quantity

int

10

0

Y

N

0

库存数量

8

details_introduction

longtext

2147483647

0

Y

N

详情介绍

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表drug_type (药品类型)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

drug_type_id

int

10

0

N

Y

药品类型ID

2

drug_type

varchar

64

0

Y

N

药品类型

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hits_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

表outbound_application (出库申请)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

outbound_application_id

int

10

0

N

Y

出库申请ID

2

delivery_note_number

varchar

64

0

Y

N

出库单号

3

drug_name

varchar

64

0

Y

N

药物名称

4

drug_type

varchar

64

0

Y

N

药品类型

5

cover_image

varchar

255

0

Y

N

封面图

6

drug_specifications

varchar

64

0

Y

N

药物规格

7

taboos_for_use

varchar

64

0

Y

N

使用禁忌

8

outbound_user

int

10

0

Y

N

0

出库用户

9

outbound_quantity

int

10

0

Y

N

0

出库数量

10

outbound_date

date

10

0

Y

N

出库日期

11

pharmacy_name

varchar

64

0

Y

N

药房名称

12

pharmacy_phone_number

varchar

64

0

Y

N

药房电话

13

responsible_person

varchar

64

0

Y

N

负责人

14

pharmacy_address

varchar

64

0

Y

N

药房地址

15

examine_state

varchar

16

0

N

N

未审核

审核状态

16

examine_reply

varchar

16

0

Y

N

审核回复

17

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

18

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表outbound_records (出库记录)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

outbound_records_id

int

10

0

N

Y

出库记录ID

2

delivery_note_number

varchar

64

0

N

N

出库单号

3

drug_name

varchar

64

0

Y

N

药物名称

4

drug_type

varchar

64

0

Y

N

药品类型

5

cover_image

varchar

255

0

Y

N

封面图

6

drug_specifications

varchar

64

0

Y

N

药物规格

7

taboos_for_use

varchar

64

0

Y

N

使用禁忌

8

outbound_user

int

10

0

Y

N

0

出库用户

9

outbound_quantity

int

10

0

Y

N

0

出库数量

10

outbound_date

date

10

0

Y

N

出库日期

11

pharmacy_name

varchar

64

0

Y

N

药房名称

12

pharmacy_phone_number

varchar

64

0

Y

N

药房电话

13

responsible_person

varchar

64

0

Y

N

负责人

14

pharmacy_address

varchar

64

0

Y

N

药房地址

15

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

16

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表pharmacy_information (药房信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

pharmacy_information_id

int

10

0

N

Y

药房信息ID

2

pharmacy_name

varchar

64

0

Y

N

药房名称

3

pharmacy_phone_number

varchar

64

0

Y

N

药房电话

4

responsible_person

varchar

64

0

Y

N

负责人

5

pharmacy_address

varchar

64

0

Y

N

药房地址

6

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表pharmacy_personnel (药房人员)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

pharmacy_personnel_id

int

10

0

N

Y

药房人员ID

2

job_id

varchar

64

0

Y

N

工作编号

3

name

varchar

64

0

Y

N

姓名

4

gender

varchar

64

0

Y

N

性别

5

examine_state

varchar

16

0

N

N

未审核

审核状态

6

user_id

int

10

0

N

N

0

用户ID

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表purchase_order (采购订单)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

purchase_order_id

int

10

0

N

Y

采购订单ID

2

purchase_order_number

varchar

64

0

Y

N

采购单号

3

drug_name

varchar

64

0

Y

N

药物名称

4

drug_type

varchar

64

0

Y

N

药品类型

5

cover_image

varchar

255

0

Y

N

封面图

6

drug_specifications

varchar

64

0

Y

N

药物规格

7

taboos_for_use

varchar

64

0

Y

N

使用禁忌

8

purchasing_users

int

10

0

Y

N

0

采购用户

9

purchase_quantity

int

10

0

Y

N

0

采购数量

10

purchase_unit_price

int

10

0

Y

N

0

采购单价

11

supplier_name

varchar

64

0

Y

N

供应商名称

12

supplier_phone

varchar

64

0

Y

N

供应商电话

13

responsible_person

varchar

64

0

Y

N

负责人

14

supplier_address

varchar

64

0

Y

N

供应商地址

15

purchase_date

date

10

0

Y

N

采购日期

16

examine_state

varchar

16

0

N

N

未审核

审核状态

17

examine_reply

varchar

16

0

Y

N

审核回复

18

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

19

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表purchase_receipt (采购入库)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

purchase_receipt_id

int

10

0

N

Y

采购入库ID

2

purchase_order_number

varchar

64

0

N

N

采购单号

3

drug_name

varchar

64

0

Y

N

药物名称

4

drug_type

varchar

64

0

Y

N

药品类型

5

cover_image

varchar

255

0

Y

N

封面图

6

drug_specifications

varchar

64

0

Y

N

药物规格

7

taboos_for_use

varchar

64

0

Y

N

使用禁忌

8

purchasing_users

int

10

0

Y

N

0

采购用户

9

purchase_quantity

int

10

0

Y

N

0

采购数量

10

purchase_unit_price

int

10

0

Y

N

0

采购单价

11

supplier_name

varchar

64

0

Y

N

供应商名称

12

supplier_phone

varchar

64

0

Y

N

供应商电话

13

responsible_person

varchar

64

0

Y

N

负责人

14

supplier_address

varchar

64

0

Y

N

供应商地址

15

storage_date

date

10

0

Y

N

入库日期

16

purchase_amount

varchar

64

0

Y

N

采购金额

17

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

18

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表supplier (供应商)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

supplier_id

int

10

0

N

Y

供应商ID

2

supplier_name

varchar

64

0

N

N

供应商名称

3

supplier_phone

varchar

64

0

Y

N

供应商电话

4

responsible_person

varchar

64

0

Y

N

负责人

5

supplier_address

varchar

64

0

Y

N

供应商地址

6

main_business

text

65535

0

Y

N

主营业务

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

upload_id

int

10

0

N

Y

上传ID

2

name

varchar

64

0

Y

N

文件名

3

path

varchar

255

0

Y

N

访问路径

4

file

varchar

255

0

Y

N

文件路径

5

display

varchar

255

0

Y

N

显示顺序

6

father_id

int

10

0

Y

N

0

父级ID

7

dir

varchar

255

0

Y

N

文件夹

8

type

varchar

32

0

Y

N

文件类型

表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_id

mediumint

8

0

N

Y

用户ID:[0,8388607]用户获取其他与用户相关的数据

2

state

smallint

5

0

N

N

1

账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

3

user_group

varchar

32

0

Y

N

所在用户组:[0,32767]决定用户身份和权限

4

login_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

上次登录时间:

5

phone

varchar

11

0

Y

N

手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

6

phone_state

smallint

5

0

N

N

0

手机认证:[0,1](0未认证|1审核中|2已认证)

7

username

varchar

16

0

N

N

用户名:[0,16]用户登录时所用的账户名称

8

nickname

varchar

16

0

Y

N

昵称:[0,16]

9

password

varchar

64

0

N

N

密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

10

email

varchar

64

0

Y

N

邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

11

email_state

smallint

5

0

N

N

0

邮箱认证:[0,1](0未认证|1审核中|2已认证)

12

avatar

varchar

255

0

Y

N

头像地址:[0,255]

13

open_id

varchar

255

0

Y

N

针对获取用户信息字段

14

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

15

vip_level

varchar

255

0

Y

N

会员等级

16

vip_discount

double

11

2

Y

N

0.00

会员折扣

表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

group_id

mediumint

8

0

N

Y

用户组ID:[0,8388607]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]

3

name

varchar

16

0

N

N

名称:[0,16]

4

description

varchar

255

0

Y

N

描述:[0,255]描述该用户组的特点或权限范围

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

register

smallint

5

0

Y

N

0

注册位置:

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:


5关键模块的设计与实现

5.1登录模块的实现

将首页的左边的功能设计为用户登录的位置,所以在进行登录的地方就会显示首页。在登录后就是大众较为熟悉的位置,也就是让用户进行账号以及密码输入的样式。

当用户输入完信息并点击登录按钮时,Struts就会将用户输入的信息传递进表单并装入相应的对象之中,然后再转到相应位置进行校验。若用户名和密码框都是空的,那么系统就会不可将账号密码均设置为空值。

系统的底层设置要求账号密码不可以都是空值,将这些信息传递给相关的类中的对象方法并调用相关的信息,对于用户输入的数据进行检验。若检验结果正确会自动转到系统首页欢迎页面,如果不正确系统就会返回用户登录界面。

用户登录流程图如下所示。

5-1 用户登录流程

系统登录界面如下图所示。

图5-2登录界面图

5.2用户首页模块的实现

首页主要分别展示各个模块的最新动态,浏览者可以很清楚地看到不同模块的最新更新内容。并且系统首页每个部分可以跳转到相对应的模块,方便浏览者选择感兴趣的地方。

首页载入流程图如下所示。

5-3 首页载入流程

首页如下图所示。

5-4 首页界面

5.3 用户资料修改模块

当您完成/注册操作,您就能够更新您的个人资料。您需要确保您的inputname值能够和您所属的实体类型的参数完全对应。当您更新您的个人资料时,您的账号密码应当保持完整,不能出现任何错误。您需要确保您的账号密码是唯一的,才能继续使用。

5.4药品信息模块的实现

用户执行药品信息,并可以操作相关内容,例如查看,编辑。药品信息的添加操作是建立在药品信息的列表基础上,单击查看药品信息下的药品信息链接;然后单击“药品信息”进行添加,添加成功后的信息会载入到药品信息查询列表中。

药品信息流程如下图所示。

5-5 药品信息添加流程

药品信息界面如下图所示。

5-6药品信息列表界面

5.5用户管理模块的实现

检索用户信息,在新增用户信息以后,在检索工具栏中填写对应的用户信息,系统就会将该用户有关的所有信息展示出来。

用户管理流程图如下所示。

5-7 用户管理流程图

用户管理界面如下图所示。

5-8用户管理界面

5.6药品类型管理模块的实现

当想要添加药品类型信息时,操作时通过JS控制打开库存管理的二级菜单,输入要入添加的药品类型信息,既可以完成添加操作,入库后,该药品类型马上增加。

其中rukujilu_add.vue提供入库操作的视图层,consumable_warning.py提供入库操作的逻辑层,conttrol.py提供入库操作的控制层,首先视图层收到请求,调用控制层,控制层找到逻辑层完成入库操作。

药品类型信息流程图如下所示。

图5-9药品类型添加流程图

药品类型信息添加如下图所示。

图5-10药品类型列表界面

图5-11医生类型添加界面

5.7采购订单管理模块的实现

在主页左侧菜单栏中点击“采购订单管理”按钮,再从二级目录中点击“采购订单列表”按钮,进入到采购订单列表界面。在此可以查看采购数量、采购单价、采购日期等信息。还可以进行查询、重置和删除等操作。

采购订单管理界面如下图所示。

图5-12采购订单管理界面

5.8采购入库管理模块的实现

在主页左侧菜单栏中点击“采购入库管理”按钮,再从二级目录中点击“采购入库列表”按钮,进入到采购入库列表界面。在此可以查看采购单号、药品名称、药品规格等信息,还可以进行查询、重置和删除等操作。

采购入库管理界面如下图所示。

图5-13采购入库管理界面

6系统测试

6.1 系统测试用例

系统测试包括:用户登录功能、药品信息查看功能、药品类型添加功能、密码修改功能测试,如表6-1、6-2、6-3、6-4所示:

用户登录功能测试:

表6-1 用户登录功能测试表

用例名称

用户登录系统

目的

测试用户通过正确的用户名和密码可否登录功能

前提

未登录的情况下

测试流程

1) 进入登录页面

2) 输入正确的用户名和密码

预期结果

用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入

实际结果

实际结果与预期结果一致

药品信息查看功能测试:

表6-2 药品信息查看功能测试表

用例名称

药品信息查看

目的

测试药品信息查看功能

前提

用户登录

测试流程

点击药品信息

预期结果

可以查看到所有药品信息

实际结果

实际结果与预期结果一致

药品类型添加界面测试:

表6-3 药品类型添加界面测试表

用例名称

药品类型添加测试用例

目的

测试药品类型添加功能

前提

管理员正常登录情况下

测试流程

1)管理员点击药品类型,然后点击添加后并填写相关信息。

2)点击进行提交。

预期结果

提交以后,页面首页会显示新的药品类型信息 

实际结果

实际结果与预期结果一致

实际结果

实际结果与预期结果一致

密码修改搜索功能测试:

表6-4 密码修改功能测试表

用例名称

密码修改测试用例

目的

测试普通用户密码修改功能

前提

普通用户正常登录情况下

测试流程

1)普通用户点击密码修改并完成填写。

2)点击进行提交。

预期结果

使用新的密码可以登录

实际结果

实际结果与预期结果一致

6.2 系统测试结果

通过编写医院药品管理系统的测试用例,已经检测完毕系统测试包括:用户登录功能、药品信息查看功能、药品类型添加功能、密码修改功能测试,通过这四大模块为医院药品管理系统的后期推广运营提供了强力的技术支撑。

结论

在开发本基于医院药品管理系统之前,首先通过网上查询现有的医院药品管理系统功能、线下通过问卷调查的方式,了解用户对药品智能管理的具体需求,对系统的开发背景以及医院药品管理系统的研究现状进行研究,设计了本基于医院药品管理系统具体实现的功能;确定好功能后,第二步就是开发工具的选择,在设计本基于医院药品管理系统的时候,采用了现下比较流程的Pythong语言、Django框架,数据的存储方面采用的是开源的MYSQL。接下来就是对系统需求的分析,在文中主要通过对基于医院药品管理系统进行可行性、性能、功能、用例四个方面进行分析,确定了本基于医院药品管理系统的具体功能,功能确定后就是对系统的设计以及数据库等方面,最终完成系统的开发,对系统进行测试总结。

在开发本基于医院药品管理系统的过程中我成长了很多,学习到了很多书本上没有的知识,目前系统虽然已经完成,但是还有许多地方需要改进,比如界面布局方面,代码的编写方面,都可以进一步完善,由于自己专业知识的浅薄,系统做的并不是十分完美,以后我会不断进行学习,对系统进行完善,希望有机会能够投入到学校的使用当中,给同学们提供便利。 

参考文献

[1]Mohammad V ,Khalil M ,Christian S .jrfapp: A Python Package for Joint Inversion of Apparent S-Wave Velocity and Receiver Function Time Series[J].Pure and Applied Geophysics,2024,181(1):65-86.

[2]Xavier V .Machine Learning Theory and Applications:Hands‐on Use Cases with Python on Classical and Quantum Machines[M].John Wiley  Sons, Inc.:2024-01-12.

[3]Woelk M L ,Kovacevic D ,Husseini H , et al.DARTS: an open-source Python pipeline for Casup2+/sup microdomain analysis in live cell imaging data[J].Frontiers in Immunology,2024,141299435-1299435.

[4]Shuo Z ,Jinru X ,Jing Z , et al.Python-assisted detection and photothermal inactivation of Salmonella typhimurium and Staphylococcus aureus on a background-free SERS chip[J].Biosensors and Bioelectronics,2024,247115913-.

[5]蔡君龙,孙道琴,周晶晶等.试验用药品智能信息系统的设计与开发[J].中国食品药品监管,2023,(12):174-179.

[6]林武斌,杨剑辉,林万龙.基于PaaS云模式的微信小程序构建急救药品效期管理系统[J].中国医院药学杂志,2024,44(03):346-348.DOI:10.13286/j.1001-5213.2024.03.16.

[7]杨文斌,耿洲,邱琦等.基于FMEA法的住院药房智能麻精药品管理系统的构建和应用[J].中国现代应用药学,2023,40(09):1253-1259.DOI:10.13748/j.cnki.issn1007-7693.20222697.

[8]谭康康,胡支滨,韩阳等.药店药品信息管理系统的设计及优化[J].华北理工大学学报(自然科学版),2023,45(02):104-109.

[9]戎成婷,王菲菲,罗晶晶等.麻醉精神类医院药品管理系统的构建与应用[J].中国卫生质量管理,2023,30(02):16-19.DOI:10.13912/j.cnki.chqm.2023.30.2.05.

[10]邓卫东,王妍,邝翠琼等.门诊药房麻醉、第一类精神药品信息化管理系统的开发及应用[J].现代医院,2022,22(12):1908-1912.

[11]王肖雲,卫丹,陈光等.药物临床试验辅助药品管理系统的建设与应用[J].中国医院药学杂志,2022,42(22):2411-2414.DOI:10.13286/j.1001-5213.2022.22.17.

[12]马永伟,兽医综合信息管理系统V1.0.甘肃省,临泽县动物疫病预防控制中心,2022-08-01.

[13]宗佳惠.基于RFID的医院药品物资条码库房管理系统[J].自动化技术与应用,2022,41(06):68-72.DOI:10.20033/j.1003-7241.(2022)06-0068-05.

[14]张宇,胡丽娜,游海鸿.药品管理系统升级中的经验与体会[J].中国新通信,2022,24(09):46-48.

[15]孙澄宇,于军,鲁志海.基于“互联网+”的高校实验室智能管理信息系统构建[J].数字技术与应用,2021,39(10):129-131.DOI:10.19695/j.cnki.cn12-1369.2021.10.42.

[16]张婷.实验室信息管理系统在食品药品检验检测中的应用分析[J].食品界,2021,(10):127.

[17]章政焕.基于RFID的化学药品管理系统[D].宁波大学,2021.DOI:10.27256/d.cnki.gnbou.2021.000779.

[18]刘婷,王彦玲,赵生慧等.基于超高频RFID技术的药品生产智能管理系统设计[J].通信技术,2021,54(03):763-772.

[19]温景峰,张金慧.医院药库药房智能管理系统设计及应用的分析[J].中国卫生产业,2020,17(05):70-72.DOI:10.16659/j.cnki.1672-5654.2020.05.070.

[20]王春晖,吴薇,许青等.基于医院信息系统的特殊药品管理和使用质量持续改进[J].上海医药,2020,41(01):37-41.


致谢

“时光荏苒,岁月如梭”,四年的大学生涯在这里即将结束,我也即将离开我的母校,踏入社会,在这离开之际,借此机会,我首选要感谢的就是我的老师们,在这四年的学习、生活中,他们给了我很多的帮助,在我消极的时候鼓励我,帮助我走出困境,学习遇到困难的时候,每位老师都孜孜不倦;其次我要感谢我的指导老师,在开发本医院药品管理系统的时候遇到了很多困难,比如前期调查不仔细,功能模块设计的有问题,导师通过细心的沟通、讲解,慢慢让我对系统有了更进一步的了解,在系统开发框架的选择上,导师给我推荐了Django,让我在系统的设计上更加省力,在这期间我对这两个框架还不够熟悉,都是导师耐心的讲解、指导,无论多晚,导师有多忙,总是第一时间为我答疑解惑,可以说没有导师的帮助,我是没有办法完成这个医院药品管理系统的,在这里我还要感谢我的同学们,他们无论在学习还是在生活中都给予了我很大的帮助,我相信我们的友谊会天长地久。

最后向所有关心我、帮助我的老师及同学们表示衷心的感谢!祝愿我的母校越来越辉煌,祝愿老师们桃李满天下,祝愿同学们前程似锦!

请关注点赞+私信博主,免费领取项目源码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值