可白嫖源码--77359基于Python的校医院药品信息管理平台系统的设计与实现

目  录

摘  要

Abstract

1  绪  论

1.1 研究背景与意义

1.2 国内外现状研究

1.3  主要研究内容

2 相关技术介绍

2.1Python语言简介

2.2Django框架介绍

2.3MySQL数据库

3 系统分析

3.1  可行性分析

3.1.1 技术可行性

3.1.2经济可行性

3.1.3社会可行性

3.2  系统功能分析

3.2.1  功能性分析

3.2.2  非功能性分析

3.3  系统用例分析

3.4  本章小结

4  系统总体设计

4.1  系统架构设计

4.2  系统功能模块设计

4.3  数据库设计

4.3.1  数据流程分析

4.3.2  数据库概念结构设计

4.3.3  数据库逻辑结构设计

4.4  本章小结

5  系统详细设计与实现

5.1  药剂用户功能模块

5.1.1  用户后台首页界面

5.1.2  用户注册界面

5.1.3  用户登录界面

5.1.4  通知公告管理界面

5.1.5  出库记录管理界面

5.1.6  药品信息管理界面

5.2  采购用户功能模块

5.2.1  供应商信息管理界面

5.2.2  药品信息管理界面

5.2.3  采购订单管理界面

5.3  后台管理功能模块

5.3.1  系统用户界面

5.3.2  药品信息管理界面

5.3.3  出库记录管理界面

5.3.4  采购订单管理界面

5.3.5  通知公告管理界面

6  系统测试

6.1  系统测试目的

6.2  功能测试用例

6.3  测试结果

结  论

参考文献

致 谢

  

本平台采用Python语言开发,依托Django框架构建,旨在为校医院提供一个全面、高效的药品信息管理系统。平台集成了药品信息、盘点记录、入库出库、采购计划、供应商信息等多方面的管理功能。通过信息化手段,实现了药品信息的快速查询、统计和分析,大大提高了药品管理的效率。同时,系统对药品的入库、出库、盘点等流程进行了规范化管理,确保了药品数据的准确性和一致性。

在自动化方面,平台能够自动生成采购计划、入库单、出库单等文档,减少了人工操作的时间和错误率。安全性方面,系统采用了严格的权限管理机制,确保了药品信息的安全性和保密性。只有经过授权的用户才能访问和操作相关数据,有效防止了数据泄露和滥用。此外,平台还注重易用性设计,界面简洁明了,操作便捷方便。用户无需具备专业的计算机知识,即可轻松上手使用。

综上所述,基于Python和Django框架的校医院药品信息管理平台,以信息化、规范化、自动化、安全性和易用性为特点,为校医院提供了一个全面、高效的药品管理工具,有效提升了药品管理的水平和效率。

关键字:Python语言、Django框架、药品信息、盘点记录、入库出库;

Abstract

The platform is developed in Python language and built on Django framework, aiming to provide a comprehensive and efficient drug information management system for school hospitals. The platform integrates drug information, inventory records, storage and delivery, procurement plan, supplier information and other management functions. Through information means, the rapid query, statistics and analysis of drug information are realized, and the efficiency of drug management is greatly improved. At the same time, the system has standardized management of the warehousing, storage, inventory and other processes to ensure the accuracy and consistency of drug data.

In terms of automation, the platform can automatically generate documents such as purchase plan, warehousing order, and outbound order, reducing the time and error rate of manual operation. In terms of safety, the system adopts a strict authority management mechanism to ensure the safety and confidentiality of drug information. Only authorized users can access and operate relevant data, effectively preventing data leakage and abuse. In addition, the platform also pays attention to the ease of use design, the interface is simple and clear, convenient to operate. Users need not have professional computer knowledge, it can be easy to use.

To sum up, the school-hospital drug information management platform based on Python and Django framework, characterized by information, standardization, automation, safety and ease of use, provides a comprehensive and efficient drug management tool for the school hospital, and effectively improves the level and efficiency of drug management.

Keywords: Python language, Django framework, drug information, inventory record, storage and storage;

1  绪  论

    1.  研究背景与意义

在当今医疗领域,随着校医院服务范围的扩大和医疗需求的增加,药品管理成为了一项复杂而关键的任务。传统的药品管理方式,如手工记录、纸质文档等,已经难以适应现代医疗体系对效率、准确性和安全性的高要求。校医院作为学校师生健康的重要保障,其药品管理的水平直接影响到医疗服务的质量和患者的满意度。在实际操作中,校医院药品管理面临着诸多挑战。药品种类繁多,数量庞大,管理起来极为繁琐。采购、入库、出库、盘点等环节涉及的信息量大,流程复杂,容易出现错误和疏漏。同时,各部门之间的信息沟通不畅,导致药品管理效率低下,采购计划不合理,库存积压或短缺现象时有发生。

为了解决这些问题,开发一套基于Python和Django框架的校医院药品信息管理平台显得尤为重要。这一平台的出现,将极大地改变传统的药品管理方式,实现药品管理的自动化、智能化和透明化。通过信息化手段,平台能够快速准确地记录、查询和分析药品信息,提高药品管理的效率。同时,平台还能对药品的采购、入库、出库、盘点等环节进行全程监控,确保药品的来源可靠、质量合格、存储条件符合要求,从而有效保障患者的用药安全。

此外,校医院药品信息管理平台的建立还有助于优化药品库存管理。平台能够实时掌握药品库存情况,合理制定采购计划,避免药品积压或缺货现象的发生,降低库存成本。这对于提高校医院的经济效益和运营效率具有重要意义。

总的来说,基于Python的校医院药品信息管理平台的研究不仅是为了解决当前药品管理中存在的问题,更是为了适应现代医疗体系的发展需求,提升校医院药品管理的水平和效率,保障患者的用药安全,提高医疗服务的质量和患者的满意度。这一平台的出现,将为校医院的药品管理带来全新的变革和发展机遇。

    1.  国内外现状研究

随着信息技术的飞速发展,校医院药品信息管理平台的建设在全球范围内日益受到重视。基于Python和Django框架的药品信息管理平台,凭借其强大的功能和灵活的扩展性,成为了众多校医院信息化建设的首选。

在国外,校医院药品信息管理平台的发展起步较早,技术相对成熟。许多发达国家的高校校医院已经建立了完善的药品信息管理系统,实现了药品采购、入库、出库、盘点等全链条的信息化管理。这些系统不仅提高了药品管理的效率,还确保了药品的质量和安全。Django框架作为一款流行的Python Web框架,因其快速开发、安全性高、可维护性强等特点,被广泛应用于国外校医院药品信息管理平台的建设中。

相比之下,国内校医院药品信息管理平台的建设虽然起步较晚,但近年来也取得了显著进展。随着国家对医疗信息化建设的重视和投入增加,越来越多的校医院开始意识到信息化管理的重要性,并积极引入基于Python和Django框架的药品信息管理平台。这些平台不仅涵盖了药品的基本信息管理,还实现了与采购、库存、财务等系统的无缝对接,为校医院提供了全面的信息化管理解决方案。

在国内外校医院药品信息管理平台的建设中,Django框架都发挥了重要作用。它提供了丰富的工具和库,帮助开发者快速构建高效的Web应用。同时,Django框架还支持多种数据库系统,如MySQL、PostgreSQL等,为药品信息管理平台提供了强大的数据存储和查询能力。

此外,随着移动互联网技术的普及,国内外校医院药品信息管理平台也开始向移动端延伸。通过开发移动应用或微信小程序等,校医院可以为师生提供更加便捷的药品信息查询和预约服务。这不仅提高了师生的就医体验,也进一步推动了校医院药品信息管理平台的普及和应用。

综上所述,基于Python和Django框架的校医院药品信息管理平台在国内外均得到了广泛应用和发展。未来,随着技术的不断进步和医疗信息化建设的深入推进,这一平台将在校医院药品管理中发挥更加重要的作用。

1.3  主要研究内容

在开发校医院药品信息管理平台时,后端采用了Python作为编程语言,并利用了Django框架,这使得复杂的业务逻辑和数据操作得以高效完成。与此同时,系统的数据存储和管理通过MySQL数据库实现。结合Vue.js作为前端框架,具有数据绑定和组件化的特点,能够有效地提升用户体验和开发效率。在开发工具的选取上,使用了eclipse,它的强大功能和易用性使得编程工作更为高效;而Navicat作为数据库管理工具,使得数据库操作更为方便和快捷。这样的技术选择,确保了管理系统的开发流程既高效又稳定。本系统主要实现包括系统用户、通知公告管理、供应商信息管理、药品信息管理、盘点记录管理、入库记录管理、出库记录管理、采购计划管理、采购订单管理、权限管理等功能进行管理。

2 相关技术介绍

2.1Python语言简介

Python是一种广泛使用的高级编程语言,由Guido van Rossum于1991年首次发布。它是一种解释型语言,意味着代码在运行时被逐行解释执行,而非事先编译成机器码。Python以其简洁、清晰、易读的语法而著称,被誉为“最易学的编程语言”之一[1]。

Python的设计哲学强调代码的可读性和简洁性,鼓励程序员使用清晰的表达方式。这种设计使得Python代码通常比其他语言更短、更易理解。此外,Python拥有丰富的标准库和第三方库,涵盖了从网络编程到文本处理、从数据分析到图形界面开发等多个领域,极大地扩展了其应用范围。

Python是一种动态类型语言,允许变量在运行时改变类型。这种灵活性使得Python在快速原型开发和脚本编写方面非常受欢迎。同时,Python也支持面向对象编程、函数式编程和过程式编程等多种编程范式,为程序员提供了丰富的编程选择[2]。

Python的跨平台性也是其一大亮点。Python代码可以在Windows、Linux、macOS等多种操作系统上无缝运行,无需进行额外的修改。这使得Python成为跨平台应用开发的理想选择。

总之,Python以其简洁的语法、丰富的库资源、强大的跨平台能力以及灵活的编程范式,成为了众多程序员的首选编程语言。无论是初学者还是经验丰富的开发者,都能从Python中找到适合自己的编程乐趣和职业发展机会。

 2.2Django框架介绍

Django是一个用Python编写的高级Web框架,它遵循MVC(Model-View-Controller)设计模式,但更准确地说是MVT(Model-View-Template)模式,其中Template对应于MVC中的Controller的部分职责,专注于页面的渲染。Django的主要目标是让开发者能够用更少的代码,快速构建安全、可维护且功能完备的网站[3]。

Django框架提供了丰富的内置功能,如ORM(对象关系映射)、用户认证、权限管理、会话机制、Admin管理站点等,极大地简化了Web开发的复杂性。其强大的可扩展性和组件化设计,使得开发者可以轻松地添加新的功能或集成第三方插件,满足项目的特定需求[4]。

此外,Django拥有完善的文档和活跃的社区支持,为开发者提供了丰富的资源和帮助。无论是初学者还是经验丰富的开发者,都能通过Django框架快速上手并开发出高质量的Web应用。

2.3MySQL数据库

Mysql的语言是非结构化的,用户可以在数据上进行工作。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。并且因为Mysql的语言和结构比较简单,但是功能和存储信息量很强大,所以得到了普遍的应用[5]。

Mysql数据库在编程过程中的作用是很广泛的,为用户进行数据查询带来了方便。Mysql数据库的应用因其灵活性强,功能强大,所以在实现某功能时只需要一小段代码,而不像其他程序需要编写大段代码。总体来说,Mysql数据库的语言相对要简洁很多。

数据流程分析主要就是数据存储的储藏室,它是在计算机上进行的,而不是现实中的储藏室。数据的存放是按固定格式,而不是无序的,其定义就是:长期有固定格式,可以共享的存储在计算机存储器上。数据库管理主要是数据存储、修改和增加以及数据表的建立。为了保证系统数据的正常运行,一些有能力的处理者可以进行管理而不需要专业的人来处理。数据表的建立,可以对数据表中的数据进行调整,数据的重新组合及重新构造,保证数据的安全性。介于数据库的功能强大等特点,本系统的开发主要应用了Mysql进行对数据的管理。

3 系统分析

系统分析是对系统开发的可行性进行研究,分析功能需求以确保系统满足用户期望。系统用例设计将明确定义系统与外部用户的交互场景,系统流程规划则细化系统内部功能流程,确保系统各模块协调工作。通过系统分析,可以建立清晰的系统框架,明确系统目标和功能,为系统开发和实施奠定基础。

3.1  可行性分析

3.1.1 技术可行性

技术方面,Python语言以其简洁易懂的语法和强大的库支持,成为开发高效应用的首选。Django框架作为Python的Web开发框架,成熟稳定,提供了丰富的开发工具和库,能够快速构建出高效、安全的药品信息管理平台。加之技术社区活跃,遇到问题时可迅速获得技术支持,为平台的顺利开发提供了有力保障。

3.1.2经济可行性

经济方面,基于Python和Django的开发成本相对较低,且Django框架的开源特性使得软件许可费用大大降低。平台实施后,将极大地提高药品管理的效率,减少人工错误,降低管理成本。长远来看,这将为校医院药品信息管理节省大量的人力物力成本,提高整体经济效益。

3.1.3社会可行性

社会方面,平台的使用将极大提升校医院药品管理的服务水平和效率,保障师生的用药安全,提高就医满意度。同时,平台的信息化、透明化管理也有助于增强校医院的公信力和形象,促进医患之间的和谐与信任。这将为校医院赢得更好的社会声誉,为师生提供更加优质的医疗服务。

因此,从技术、经济和社会方面来看,构建校医院药品信息管理平台具有较高的可行性,能够为企业带来多方面的益处。

3.2  系统功能分析

3.2.1  功能性分析

校医院药品信息管理平台通过不同角色的功能模块,实现对校医院药品信息管理服务的全面管理。药剂用户、采购用户和管理员各自的功能模块互相配合,共同构建了一个高效、透明的校医院药品信息管理服务管理体系。通过详细分析这些功能模块,可以帮助企业更好地理解和实施校医院药品信息管理服务管理系统,提高校医院药品信息管理服务管理的效率和准确性。具体功能分析如下:

(1)药剂用户:

登录注册:药剂用户可以注册账号并登录系统,进行后续操作。

后台首页:提供药剂用户操作界面的入口和概览信息。

通知公告管理:查看和管理系统发布的通知公告。

药品信息管理:查询、添加、修改和删除药品信息。

盘点记录管理:记录和管理药品的盘点情况,包括盘点时间和结果。

入库记录管理:记录和管理药品的入库信息,如入库时间、数量等。

出库记录管理:记录和管理药品的出库信息,如出库时间、领用人等。

(2)采购用户:

登录注册:采购用户可以注册账号并登录系统,进行采购相关操作。

后台首页:提供采购用户操作界面的入口和采购相关概览信息。

通知公告管理:查看和管理系统发布的与采购相关的通知公告。

供应商信息管理:查询、添加、修改和删除供应商信息。

药品信息管理:查看药品信息,以便制定采购计划。

采购计划管理:制定、修改和查看采购计划。

采购订单管理:创建、查看和管理采购订单。

(3)管理员:

登录:管理员通过登录系统,获得管理平台的访问权限。

后台首页:提供管理员操作界面的入口和系统概览信息。

系统用户:管理所有系统用户,包括药剂用户、采购用户等,进行增删改查操作。

通知公告管理:发布、修改和删除系统通知公告。

供应商信息管理:全面管理供应商信息,确保采购顺利进行。

药品信息管理:对药品信息进行全面管理,包括添加新品种、更新信息等。

盘点记录管理:监督和管理药品的盘点记录,确保数据准确性。

入库记录管理:查看和管理所有药品的入库记录,确保库存准确。

出库记录管理:查看和管理所有药品的出库记录,追踪药品流向。

采购计划管理:审核、修改和管理采购计划,确保采购合理。

采购订单管理:审核、查看和管理所有采购订单,确保采购流程顺畅。

权限管理:设置和管理不同用户的权限,确保系统安全。

3.2.2  非功能性分析

非功能性分析旨在评估系统的非功能需求和性能要求。通过对性能、可靠性、安全性、可用性和扩展性等方面进行评估,确保平台能够满足用户和系统运行的要求。具体如下:

表2-1校医院药品信息管理平台非功能需求表

需求类型

描述

性能

系统应具有高性能,能够快速响应用户请求,保持稳定的性能水平,支持高并发访问和大规模数据处理。

可靠性

系统应具有高可靠性,确保系统稳定运行,防止系统故障和数据丢失,提供数据备份和恢复机制。

安全性

系统应具有高安全性,保护用户隐私信息和数据安全,采用加密传输技术、访问控制和身份验证机制。

可用性

系统应具有高可用性,保证系统全天候运行,最大限度减少系统故障和维护时间,提供灾备和故障转移功能。

易用性

系统应具有良好的易用性,用户界面设计友好,操作简单直观,提供清晰的指导和帮助文档。

可维护性

系统应具有良好的可维护性,易于维护和升级,提供模块化和结构化代码,方便开发人员进行维护和修改。

可扩展性

系统应具有良好的可扩展性,支持新增功能和模块的集成,具备良好的架构设计和扩展性能。

3.3  系统用例分析

系统用例分析是对系统中各个功能模块的用户需求和行为进行分析,以识别和描述不同的用户用例。通过系统用例分析,可以深入了解用户在平台上的操作流程和交互方式,为系统设计和开发提供指导,并确保平台能够满足用户的需求和期望。

(1)药剂用户角色用例图如下图所示。

图3-1 药剂用户角色用例图

(2)采购用户角色用例图如下图所示。

图3-2 采购用户角色用例图

(3)管理员角色用例图如下图所示。

图3-3 管理员角色用例图

3.4  本章小结

本章重点在对系统进行了可行性、功能需求、系统用例以及系统流程分析,旨在明确平台的功能要求。这些分析为系统的开发和测试提供了指导和标准,确保系统设计和实施符合用户需求。通过详细的分析,可以有效规划平台功能的实现方式,提供清晰的指引。同时,这些分析也有助于确保代码实现的质量和系统的稳定性,为系统的顺利上线和运行奠定基础。

4  系统总体设计

系统总体设计包括系统架构、数据库设计、用户界面设计等方面。通过三层架构模式,确保系统的可靠性和可扩展性。设计规范化的数据库结构,以存储和管理用户数据等信息。同时,注重用户界面的友好性和易用性,提供便捷的功能操作和良好的用户体验。总体设计的目标是实现一个稳定、安全、高效的系统,满足用户的需求

4.1  系统架构设计

在系统架构设计中,我将确定系统的整体结构和组件之间的关系。这包括选择适当的架构风格,划分系统的层次结构,并定义各个模块的职责和交互方式。架构图如下图所示。

图4-1系统架构设计图

表示层(Presentation Layer):负责与用户进行交互,将系统的功能和数据以易于理解和操作的方式展示给用户。通常包括用户界面、页面设计和用户输入验证等。

业务逻辑层(Business Logic Layer):处理系统的核心业务逻辑,包括对用户请求的处理、业务规则的执行以及数据的处理和转换。它独立于表现层和数据层,实现了业务逻辑的封装和复用。

数据层(Data Layer):负责数据的存储、访问和管理,包括数据库和持久化机制。数据层提供了对数据的增删改查操作,并与业务逻辑层进行交互,使系统能够有效地存储和检索数据。

这三个层次相互独立,通过明确的接口和协议进行通信,实现了系统的模块化和可扩展性。表现层负责将用户的请求传递给业务逻辑层,业务逻辑层处理请求并返回结果,最后数据层负责与数据库交互并提供数据支持。这种分层架构有助于实现系统的可维护性、灵活性和可测试性。

4.2  系统功能模块设计

通过整体功能模块设计,我将根据需求分析的结果,将系统的功能划分为不同的模块。每个模块负责实现特定的功能,并与其他模块进行协作。我们将详细定义每个模块的输入、输出、处理逻辑和相互依赖关系。具体的功能模块图如图4-2所示。

图4-2 系统功能模块图

4.3  数据库设计

数据库设计是系统开发中至关重要的一环,它涉及到数据的组织、存储和管理。在数据库设计中,我将根据系统的需求设计数据库的概念结构和逻辑结构,包括定义实体、属性、关系和约束等[6]。

4.3.1  数据流程分析

顶层数据流是指系统与外部实体之间的数据流动,描述了系统的整体数据流。在校医院药品信息管理平台中,顶层数据流涵盖用户信息录入、数据上传、系统处理分析、结果反馈、以及数据存档与追溯,确保信息流通高效且安全。

系统的顶层数据流图如下图所示。

图4-3系统数据流图(顶层)

底层数据流程图是对顶层数据流程图的细化,系统的底层数据流图如下图所示。

图4-4系统数据流图(底层)

4.3.2  数据库概念结构设计

数据库概念结构设计主要涉及数据库的实体和实体之间的关系。通过实体-关系模型或者其他适当的模型,我将定义系统中涉及的各个实体以及它们之间的联系。下面我将罗列主要的实体属性图和系统E-R图。

  1. 药剂用户实体属性如下图所示。

图4-5 药剂用户实体属性图

  1. 采购用户实体属性如下图所示。

图4-6 采购用户实体属性图

  1. 药品信息管理实体属性如下图所示。

图4-7 药品信息管理实体属性图

  1. 盘点记录实体属性如下图所示。

图4-8 盘点记录实体属性图

  1. 出库记录实体属性如下图所示。

图4-9 出库记录实体属性图

下面是整个校医院药品信息管理平台中主要的数据库表总E-R实体关系图。

图4-10 系统总E-R关系图

4.3.3  数据库逻辑结构设计

数据库表设计基于实体设计,将抽象的实体映射为具体的表结构。设计过程中,为每个实体定义表名、字段名及数据类型 。根据业务需求,合理定义主键、外键及约束条件,确保表之间的关联性,例如通过外键建立用户表和角色表之间的关系。表设计时注重数据存储的完整性、一致性,并通过索引优化查询效率,最终确保数据库结构能够支持系统的功能需求[7]。以下是系统的数据库表设计展示。

表 4-1-access_token(登陆访问时长)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

token_id

int

临时访问牌ID

2

token

varchar

64

临时访问牌

3

info

text

65535

信息

4

maxage

int

最大寿命:默认2小时

5

create_time

timestamp

创建时间

6

update_time

timestamp

更新时间

7

user_id

int

用户编号

表 4-2-auth(用户权限管理)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

auth_id

int

授权ID

2

user_group

varchar

64

用户组

3

mod_name

varchar

64

模块名

4

table_name

varchar

64

表名

5

page_title

varchar

255

页面标题

6

path

varchar

255

路由路径

7

parent

varchar

64

父级菜单

8

parent_sort

int

父级菜单排序

9

position

varchar

32

位置

10

mode

varchar

32

跳转方式

11

add

tinyint

是否可增加

12

del

tinyint

是否可删除

13

set

tinyint

是否可修改

14

get

tinyint

是否可查看

15

field_add

text

65535

添加字段

16

field_set

text

65535

修改字段

17

field_get

text

65535

查询字段

18

table_nav_name

varchar

500

跨表导航名称

19

table_nav

varchar

500

跨表导航

20

option

text

65535

配置

21

create_time

timestamp

创建时间

22

update_time

timestamp

更新时间

表 4-3-code_token(验证码)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

code_token_id

int

验证码ID

2

token

varchar

255

令牌

3

code

varchar

255

验证码

4

expire_time

timestamp

失效时间

5

create_time

timestamp

创建时间

6

update_time

timestamp

更新时间

表 4-4-drug_information(药品信息)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

drug_information_id

int

药品信息ID

2

drug_number

varchar

64

药品编号

3

drug_name

varchar

64

药品名称

4

drug_specifications

varchar

64

药品规格

5

drug_dosage_form

varchar

64

药品剂型

6

drug_inventory

double

药品库存

7

purchase_price

double

采购价格

8

wholesale_price

double

零售价格

9

drug_batch

varchar

64

药品批次

10

manufacturer

varchar

64

生产厂家

11

date_of_manufacture

date

生产日期

12

validity_period

varchar

64

有效期限

13

drug_efficacy

varchar

64

药品功效

14

drug_introduction

text

65535

药品简介

15

inventory_records_limit_times

int

盘点限制次数

16

storage_record_limit_times

int

入库限制次数

17

outbound_record_limit_times

int

出库限制次数

18

procurement_plan_limit_times

int

计划限制次数

19

purchase_order_limit_times

int

采购限制次数

20

create_time

datetime

创建时间

21

update_time

timestamp

更新时间

表 4-5-hits(用户点击)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

hits_id

int

点赞ID

2

user_id

int

点赞人

3

create_time

timestamp

创建时间

4

update_time

timestamp

更新时间

5

source_table

varchar

255

来源表

6

source_field

varchar

255

来源字段

7

source_id

int

来源ID

表 4-6-inventory_records(盘点记录)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

inventory_records_id

int

盘点记录ID

2

drug_number

varchar

64

药品编号

3

drug_name

varchar

64

药品名称

4

drug_specifications

varchar

64

药品规格

5

drug_dosage_form

varchar

64

药品剂型

6

drug_batch

varchar

64

药品批次

7

drug_inventory

double

药品库存

8

pharmaceutical_users

int

药剂用户

9

pharmaceutical_worker_number

varchar

64

药剂工号

10

inventory_date

date

盘点日期

11

physical_inventory

double

盘点数量

12

reasons_for_differences

text

65535

差异原因

13

processing_status

varchar

64

处理状态

14

processing_results

text

65535

处理结果

15

create_time

datetime

创建时间

16

update_time

timestamp

更新时间

17

source_table

varchar

255

来源表

18

source_id

int

来源ID

19

source_user_id

int

来源用户

表 4-7-notice_announcement(通知公告)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

notice_announcement_id

int

通知公告ID

2

announcement_number

varchar

64

公告编号

3

announcement_title

varchar

64

公告标题

4

announcement_date

date

公告日期

5

announcement_image

varchar

255

公告图片

6

announcement_content

text

65535

公告内容

7

create_time

datetime

创建时间

8

update_time

timestamp

更新时间

表 4-8-outbound_record(出库记录)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

outbound_record_id

int

出库记录ID

2

drug_number

varchar

64

药品编号

3

drug_name

varchar

64

药品名称

4

drug_specifications

varchar

64

药品规格

5

drug_dosage_form

varchar

64

药品剂型

6

drug_batch

varchar

64

药品批次

7

manufacturer

varchar

64

生产厂家

8

pharmaceutical_users

int

药剂用户

9

pharmaceutical_worker_number

varchar

64

药剂工号

10

outbound_date

date

出库日期

11

outbound_quantity

double

出库数量

12

reason_for_outbound_shipment

text

65535

出库原因

13

create_time

datetime

创建时间

14

update_time

timestamp

更新时间

15

source_table

varchar

255

来源表

16

source_id

int

来源ID

17

source_user_id

int

来源用户

表 4-9-pharmaceutical_users(药剂用户)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

pharmaceutical_users_id

int

药剂用户ID

2

user_name

varchar

64

用户姓名

3

user_gender

varchar

64

用户性别

4

contact_number

varchar

16

联系电话

5

pharmaceutical_worker_number

varchar

64

药剂工号

6

examine_state

varchar

16

审核状态

7

user_id

int

用户ID

8

create_time

datetime

创建时间

9

update_time

timestamp

更新时间

表 4-10-procurement_plan(采购计划)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

procurement_plan_id

int

采购计划ID

2

plan_title

varchar

64

计划标题

3

drug_number

varchar

64

药品编号

4

drug_name

varchar

64

药品名称

5

drug_specifications

varchar

64

药品规格

6

purchasing_users

int

采购用户

7

procurement_job_number

varchar

64

采购工号

8

planned_date

date

计划日期

9

purchase_quantity

double

采购数量

10

plan_content

text

65535

计划内容

11

create_time

datetime

创建时间

12

update_time

timestamp

更新时间

13

source_table

varchar

255

来源表

14

source_id

int

来源ID

15

source_user_id

int

来源用户

表 4-11-purchase_order(采购订单)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

purchase_order_id

int

采购订单ID

2

order_number

varchar

64

订单编号

3

drug_number

varchar

64

药品编号

4

drug_name

varchar

64

药品名称

5

drug_specifications

varchar

64

药品规格

6

drug_dosage_form

varchar

64

药品剂型

7

purchase_price

double

采购价格

8

purchasing_users

int

采购用户

9

procurement_job_number

varchar

64

采购工号

10

supplier_name

varchar

64

供应商名称

11

purchase_quantity

double

采购数量

12

total_order_price

double

订单总价

13

delivery_date

date

交货日期

14

order_status

varchar

64

订单状态

15

examine_state

varchar

16

审核状态

16

examine_reply

varchar

16

审核回复

17

create_time

datetime

创建时间

18

update_time

timestamp

更新时间

19

source_table

varchar

255

来源表

20

source_id

int

来源ID

21

source_user_id

int

来源用户

表 4-12-purchasing_users(采购用户)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

purchasing_users_id

int

采购用户ID

2

purchase_name

varchar

64

采购姓名

3

purchasing_gender

varchar

64

采购性别

4

procurement_phone_number

varchar

16

采购电话

5

procurement_job_number

varchar

64

采购工号

6

examine_state

varchar

16

审核状态

7

user_id

int

用户ID

8

create_time

datetime

创建时间

9

update_time

timestamp

更新时间

表 4-13-schedule(日程管理)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

schedule_id

smallint

日程ID

2

content

varchar

255

日程内容

3

scheduled_time

datetime

计划时间

4

user_id

int

用户ID

5

create_time

datetime

创建时间

6

update_time

datetime

更新时间

表 4-14-score(评分)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

score_id

int

评分ID

2

user_id

int

评分人

3

nickname

varchar

64

昵称

4

score_num

double

评分

5

create_time

timestamp

创建时间

6

update_time

timestamp

更新时间

7

source_table

varchar

255

来源表

8

source_field

varchar

255

来源字段

9

source_id

int

来源ID

表 4-15-storage_record(入库记录)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

storage_record_id

int

入库记录ID

2

drug_number

varchar

64

药品编号

3

drug_name

varchar

64

药品名称

4

drug_specifications

varchar

64

药品规格

5

drug_dosage_form

varchar

64

药品剂型

6

drug_batch

varchar

64

药品批次

7

manufacturer

varchar

64

生产厂家

8

pharmaceutical_users

int

药剂用户

9

pharmaceutical_worker_number

varchar

64

药剂工号

10

storage_date

date

入库日期

11

inventory_quantity

double

入库数量

12

reason_for_storage

text

65535

入库原因

13

create_time

datetime

创建时间

14

update_time

timestamp

更新时间

15

source_table

varchar

255

来源表

16

source_id

int

来源ID

17

source_user_id

int

来源用户

表 4-16-supplier_information(供应商信息)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

supplier_information_id

int

供应商信息ID

2

supplier_name

varchar

64

供应商名称

3

suppliers_phone_number

varchar

64

供应商电话

4

supplier_address

varchar

64

供应商地址

5

supply_of_drugs

text

65535

供应药品

6

supplier_description

text

65535

供应商描述

7

create_time

datetime

创建时间

8

update_time

timestamp

更新时间

表 4-17-upload(文件上传)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

upload_id

int

上传ID

2

name

varchar

64

文件名

3

path

varchar

255

访问路径

4

file

varchar

255

文件路径

5

display

varchar

255

显示顺序

6

father_id

int

父级ID

7

dir

varchar

255

文件夹

8

type

varchar

32

文件类型

表 4-18-user(用户账户)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

user_id

int

用户ID

2

state

smallint

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

3

user_group

varchar

32

所在用户组

4

login_time

timestamp

上次登录时间

5

phone

varchar

11

手机号码

6

phone_state

smallint

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

7

username

varchar

16

用户名

8

nickname

varchar

16

昵称

9

password

varchar

64

密码

10

email

varchar

64

邮箱

11

email_state

smallint

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

12

avatar

varchar

255

头像地址

13

open_id

varchar

255

针对获取用户信息字段

14

create_time

timestamp

创建时间

表 4-19-user_group(用户组)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

group_id

mediumint

用户组ID

2

display

smallint

显示顺序

3

name

varchar

16

名称

4

description

varchar

255

描述

5

source_table

varchar

255

来源表

6

source_field

varchar

255

来源字段

7

source_id

int

来源ID

8

register

smallint

注册位置

9

create_time

timestamp

创建时间

10

update_time

timestamp

更新时间

4.4  本章小结

数据库设计是系统开发中的关键步骤,通过识别实体、建立关系、设计表结构、选择主键和索引等方式,确保数据存储和管理的有效性和一致性。同时,考虑安全性和性能优化,采用合适的规范化和反规范化技术,以提高系统的响应速度和用户体验。综合以上因素,数据库设计为系统的稳定运行和高效管理提供了基础支持。

5  系统详细设计与实现

系统关键模块设计与实现是系统开发中的核心任务。通过分析需求,设计和实现关键模块,确保系统功能的完整性和稳定性。在设计过程中,需要考虑模块之间的交互和数据流动,合理选择技术和框架,并进行测试和优化,以确保关键模块的高效运行和用户满意度。

5.1  药剂用户功能模块

5.1.1  用户后台首页界面

药剂用户登录后,会进入后台首页,这里提供了各种药品管理功能的快捷入口,以及药品库存、通知公告等概览信息。主界面展示如下图所示。

图5-1 用户后台首页界面图

5.1.2  用户注册界面

用户注册功能允许新用户创建账户,系统会收集基本信息如用户名、密码、邮箱和角色(药剂用户、维护用户或管理员)。注册过程包括填写表单、验证邮箱、设置初始密码和分配角色。管理员可以审核和激活新账户,确保用户信息的准确性和系统安全性。其界面展示如下图所示。

图5-2 用户注册界面图

注册代码如下:

    def Register(self, ctx):

        print("===================注册=====================")

        userService = service_select("user")

        body = ctx.body

        if "username" not in body and body["username"] == '':

            return ctx.response(json.dumps({

                "error": {

                    "code": 70000,

                    "message": "用户名不能为空",

                }

            }, ensure_ascii=False))

        if "user_group" not in body and body["user_group"] == '':

            return ctx.response(json.dumps({

                "error": {

                    "code": 70000,

                    "message": "用户组不能为空",

                }

            }, ensure_ascii=False))

        if "password" not in body and body["password"] == '':

            return ctx.response(json.dumps({

                "error": {

                    "code": 70000,

                    "message": "密码不能为空",

                }

            }, ensure_ascii=False))

        post_param = body

        post_param['nickname'] = body["nickname"] or ""

        post_param['password'] = md5hash(body["password"])

        obj = userService.Get_obj({"username": post_param['username']}, {"like": False})

        if obj:

            return ctx.response(json.dumps({

                "error": {

                    "code": 70000,

                    "message": "用户名已存在",

                }

            }, ensure_ascii=False))

        ret = {

            "error": {

                "code": 70000,

                "message": "注册失败",

            }

        }

        bl = userService.Add(post_param)

        if bl:

            ret = {

                "result": {

                    "bl": True,

                    "message": "注册成功"

                }

            }

        return ctx.response(json.dumps(ret, ensure_ascii=False))     

5.1.3  用户登录界面

用户登录功能允许已注册用户访问系统。用户通过输入用户名和密码进行身份验证,系统对凭据进行比对,成功后进入个人后台首页。登录过程包括输入凭据、验证身份、设置会话状态,并提供忘记密码功能,以确保用户账户的安全性和便捷性。其界面如下图所示。

图5-3登录界面图

登录代码如下:

 def Login(self, ctx):

        print("===================登录=====================")

        ret = {

            "error": {

                "code": 70000,

                "message": "账户不存在",

            }

        }

        body = ctx.body

        password = md5hash(body["password"]) or ""

        obj = service_select("user").Get_obj(

            {"username": body["username"]}, {"like": False}

        )

        if obj:

            user_group = service_select("user_group").Get_obj({'name': obj['user_group']}, {"like": False})

            if user_group and user_group['source_table'] != '':

                user_obj = service_select(user_group['source_table']).Get_obj({"user_id": obj['user_id']},                                                                       {"like": False})

                if user_obj['examine_state'] == '未通过':

                    ret = {

                        "error": {

                            "code": 70000,

                            "message": "账户未通过审核",

                        }

                    }

                    return ret

                if user_obj['examine_state'] == '未审核':

                    ret = {

                        "error": {

                            "code": 70000,

                            "message": "账户未审核",

                        }

                    }

                    return ret

            if obj["state"] == 1:

                if obj["password"] == password:

                    timeout = timezone.now()

                    timestamp = int(time.mktime(timeout.timetuple())) * 1000

                    token = md5hash(str(obj["user_id"]) + "_" + str(timestamp))

                    ctx.request.session[token] = obj["user_id"]

                    service_select("access_token").Add(

                        {"token": token, "user_id": obj["user_id"]}

                    )

                    obj["token"] = token

                    ret = {

                        "result": {"obj": obj}

                    }

                else:

                    ret = {

                        "error": {

                            "code": 70000,

                            "message": "密码错误",

                        }

                    }

            else:

                ret = {

                    "error": {

                        "code": 70000,

                        "message": "用户账户不可用,请联系管理员",

                    }

                }

        return ctx.response(json.dumps(ret, ensure_ascii=False))

  

5.1.4  通知公告管理界面

药剂用户可以查看系统发布的通知公告,了解医院或药房的最新动态,也可以参与公告的讨论或回复。其界面如下图所示。

图5-4通知公告管理界面图

5.1.5  出库记录管理界面

药剂用户可以记录和管理药品的出库信息,包括出库时间、领用人员、出库数量等,方便追踪药品的流向和使用情况。其界面如下图所示。

图5-5出库记录管理界面图

5.1.6  药品信息管理界面

药剂用户可以查询、添加、修改和删除药品信息,包括药品名称、规格、剂量、生产厂家、有效期等详细信息,确保药品信息的准确性和完整性。其界面如下图所示。

图5-6药品信息管理详情界面图

5.2  采购用户功能模块

5.2.1  供应商信息管理界面

采购用户可以查询、添加、修改和删除供应商信息,包括供应商名称、联系方式、资质证明等,确保供应商信息的准确性和可靠性。主界面展示如下图所示。

图5-7供应商信息管理界面图

5.2.2  药品信息管理界面

采购用户可以查看药品信息,了解药品的库存情况、价格变动等,以便制定合理的采购计划。其界面展示如下图所示。

药品信息管理

图5-8 药品信息管理界面图

5.2.3  采购订单管理界面

采购用户可以创建、查看和管理采购订单,包括订单状态、订单金额、供应商信息等,方便追踪采购订单的执行情况。其界面如下图所示。

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

5.3  后台管理功能模块

5.3.1  系统用户界面

管理员管理用户信息、权限和行为。用户管理包括用户注册、登录、身份验证、权限控制、用户信息修改等操作。管理员可以查看和编辑用户信息,重置密码,激活或停用账户等。通过用户管理,系统可以确保数据安全性和用户身份真实性,同时实现个性化服务和定制化推荐。良好的用户管理设计能够简化用户操作流程,提高系统安全性和用户满意度,同时为系统运营提供有效支持。其界面如下图所示。

图5-10管理员系统用户界面图

增删查改代码如下:

def Add(self, ctx):

body = ctx.body

unique = self.config.get("unique")

obj = None

if unique:

qy = {}

for i in range(len(unique)):

key = unique[i]

qy[key] = body.get(key)

obj = self.service.Get_obj(qy)

if not obj:

error = self.Add_before(ctx)

if error["code"]:

return {"error": error}

error = self.Events("add_before", ctx, None)

if error["code"]:

return {"error": error}

result = self.service.Add(body, self.config)

if self.service.error:

return {"error": self.service.error}

res = self.Add_after(ctx, result)

if res:

result = res

res = self.Events("add_after", ctx, result)

if res:

result = res

return {"result": result}

else:

return {"error": {"code": 10000, "message": "已存在"}}

def Del(self, ctx):

if len(ctx.query) == 0:

errorMsg = {"code": 30000, "message": "删除条件不能为空!"}

return errorMsg

result = self.service.Del(ctx.query, self.config)

if self.service.error:

return {"error": self.service.error}

return {"result": result}

def Set(self, ctx):

error = self.Set_before(ctx)

if error["code"]:

return {"error": error}

error = self.Events("set_before", ctx, None)

if error["code"]:

return {"error": error}

query = ctx.query

if 'page' in query.keys():

del ctx.query['page']

if 'size' in query.keys():

del ctx.query['size']

if 'orderby' in query.keys():

del ctx.query['orderby']

result = self.service.Set(ctx.query, ctx.body, self.config)

if self.service.error:

return {"error": self.service.error}

res = self.Set_after(ctx, result)

if res:

result = res

res = self.Events("set_after", ctx, result)

if res:

result = res

return {"result": result}

5.3.2  药品信息管理界面

管理员可以对药品信息进行全面管理,包括添加新品种、更新药品信息、设置药品价格等,确保药品信息的准确性和完整性。其界面如下图所示。

图5-11药品信息管理界面图

5.3.3  出库记录管理界面

管理员可以查看和管理所有药品的出库记录,包括出库时间、领用人员、出库数量等,方便追踪药品的流向和使用情况,防止药品流失或滥用。其界面如下图所示。

图5-12出库记录管理界面图

5.3.4  采购订单管理界面

管理员可以审核、查看和管理所有采购订单,包括订单状态、订单金额、供应商信息等,确保采购订单的执行情况和合规性。其界面如下图所示。

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

5.3.5  通知公告管理界面

管理员可以发布、修改和删除系统通知公告,确保医院或药房的最新动态能够及时传达给所有用户。其界面如下图所示。

图5-14通知公告管理界面图

6  系统测试

6.1  系统测试目的

校医院药品信息管理平台测试的主要目的是确保系统功能正常、性能稳定、安全可靠。测试旨在验证系统各项功能是否按照需求规格书要求正常工作,检查系统的易用性和用户体验,确保用户能够顺利完成各项操作。此外,系统测试还旨在评估系统的性能指标,包括响应时间、并发能力等,以保证系统在高负载情况下仍能正常运行[8]。另外,安全测试也是重要的一部分,确保系统能够有效防范各类安全威胁和攻击。通过全面的系统测试,可以保障校医院药品信息管理平台的稳定性、可靠性和安全性。

6.2  功能测试用例

系统测试旨在检验系统功能是否正常工作。通过功能测试用例的执行,可以有效评估系统功能的正确性、完整性和稳定性,帮助发现和解决潜在的功能缺陷,确保系统能够按照预期功能正常运行。功能测试用例包括用户注册、用户登录、药品信息管理录入、药品信息管理搜索、查看等。

测试用例编号

功能模块

测试用例描述

预期结果

TC001

用户注册

输入有效的用户名、密码、邮箱和角色信息

注册成功,用户账户创建并收到验证邮件

TC002

用户注册

输入已有用户名

注册失败,提示用户名已存在

表6-1 注册功能测试用例

测试用例编号

功能模块

测试用例描述

预期结果

TC003

用户登录

输入正确的用户名和密码

登录成功,进入用户后台首页

TC004

用户登录

输入错误的用户名或密码

登录失败,提示用户名或密码错误

TC005

用户登录

输入注册邮箱,使用忘记密码功能

提示发送重置密码链接到邮箱

表6-2 登录功能测试用例

测试用例编号

功能模块

测试用例描述

预期结果

TC006

药品信息管理录入

采购用户填写完整的药品信息管理信息录入

药品信息管理录入成功,生成唯一药品信息管理ID

TC007

药品信息管理录入

采购用户录入药品信息管理时缺少必要信息

药品信息管理录入失败,提示补充必要信息

表6-3 药品信息管理录入功能测试用例

测试用例编号

功能模块

测试用例描述

预期结果

TC008

药品信息管理搜索

药剂用户选择所需药品信息管理并填写搜索信息

搜索提交成功,生成搜索记录并通知采购用户审核

TC009

药品信息管理搜索

药剂用户提交搜索时缺少必要搜索信息

搜索提交失败,提示补充搜索信息

表6-4 药品信息管理搜索功能测试用例

测试用例编号

功能模块

测试用例描述

预期结果

TC010

查看

采购用户查看搜索详情并批准药品信息管理搜索

审核成功,搜索状态更新为已批准

TC011

查看

采购用户查看搜索详情并拒绝药品信息管理搜索

审核成功,搜索状态更新为已拒绝

表6-5 查看功能测试用例

6.3  测试结果

在本次测试中,系统对用户注册、用户登录、药品信息管理录入、药品信息管理搜索和查看等功能进行了详细测试。测试结果显示,用户注册功能在输入有效信息时能够成功创建账户并发送验证邮件,而在输入已有用户名时则提示用户名已存在。用户登录功能在输入正确凭据时能成功登录,在输入错误凭据时会提示错误信息。药品信息管理录入功能在填写完整信息时能够成功录入药品信息管理,而在缺少必要信息时则提示补充信息。药品信息管理搜索功能能够生成搜索记录并通知采购用户审核。查看功能能正确更新搜索状态,确保药品信息管理流程的正常运作。总体而言,所有测试用例均达到预期效果,系统功能表现稳定。

结  论

该平台有效提升了校医院药品管理的效率和准确性。通过Django框架的MVC设计模式,实现了药品信息的结构化存储和高效检索。平台集成了药品的入库、出库、库存查询、过期预警等功能,使得药品管理工作更加规范化和自动化。

在开发过程中,充分利用了Django框架的ORM技术,简化了数据库操作,提高了开发效率。同时,Django自带的admin后台管理系统为平台提供了强大的数据管理和维护功能,方便管理人员进行日常操作。

此外,平台还注重用户体验,设计了简洁明了的用户界面,使得操作人员能够快速上手。通过权限控制机制,确保了药品信息的安全性和保密性。

综上所述,基于Python和Django框架的校医院药品信息管理平台不仅提高了药品管理的效率,还增强了数据的安全性和可靠性,为校医院的药品管理工作提供了有力的技术支持。未来,该平台还可根据实际需求进行功能拓展和优化,以更好地服务于校医院的药品管理工作。

参考文献

  1. 郭慧.基于Python的关键路径算法实现[J].山西电子技术,2025,(01):76-79.
  2. 罗艾滢.Python语言在教学中的应用实践——以“鸡兔同笼”为例[J].第二课堂(D),2024,(09):10-11.
  3. 兰琳琳.基于MySQL-Django-Vue的在线考试系统[J].电脑知识与技术,2024,20(33):51-54.DOI:10.14004/j.cnki.ckt.2024.1702.
  4. 张锦贤,吴晓玲.基于Django框架技术的网站设计[J].电脑知识与技术,2024,20(10):71-73.DOI:10.14004/j.cnki.ckt.2024.0565.
  5. 李艳杰.MySQL数据库下存储过程的综合运用研究[J].现代信息科技,2023,7(11):80-82+88.
  6. 周晓玉,崔文超.基于Web技术的数据库应用系统设计[J].信息与电脑(理论版),2023,35(09):189-191.
  7. 马艳艳,吴晓光.计算机软件与数据库的设计策略分析[J].电子技术,2024,53(05):104-105.
  8. 李俊萌.计算机软件测试技术与开发应用策略分析[J].信息记录材料,2023,24(03):50-52.
  9. Gawai A .EPH237 Vedolizumab Induced Cachexia: A Novel Signal Identified Through US Food and Drug Administration Adverse Event Reporting System (FAERS) Database[J].Value in Health,2024,27(12S):S265-S265.
  10. 黄艳华.医院药品结算内部控制信息软件的开发研究[J].财经界,2024,(27):72-74.DOI:10.19887/j.cnki.cn11-4098/f.2024.27.024.
  11. Sanderson T .A web tool for exploring the usage of medicines in hospitals in England.[J].Wellcome open research,2024,9147.
  12. Surian V S ,Joshua P ,Shahrul K , et al.A comprehensive validation framework addressing utility parameter validation for application in small and medium enterprises (SMEs):A case study in pharmaceutical industry[J].Cogent Engineering,2023,10(1):
  13. 谭康康,胡支滨,韩阳,等.药店药品信息管理系统的设计及优化[J].华北理工大学学报(自然科学版),2023,45(02):104-109.
  14. 吴伊如.药品和供应商资质管理系统的开发与应用分析——以公立医院为例[J].科技视界,2023,(10):114-117.
  15. MHE C ,RA V ,WG G , et al.HPR156 Payment and Reimbursement Models for Innovative High-Priced Hospital Drugs in the Netherlands: A Survey of Stakeholder's Attitudes and Experiences[J].Value in Health,2022,25(12S):S261-S261.
  16. 张贝贝,李成伟,肖辉.基于SPD供采平台的院内药品物流延伸服务实践[J].中国卫生信息管理杂志,2022,19(05):724-727+744.
  17. 李思睿,郑大翔,李志芳.医院药房管理系统前端工程化设计与实现[J].软件工程,2022,25(09):18-21+4.DOI:10.19644/j.cnki.issn2096-1472.2022.009.005.
  18. 宋子君.数据挖掘分析技术在审计线索发现中的应用研究[D].首都经济贸易大学,2022.DOI:10.27338/d.cnki.gsjmu.2022.001230.
  19. 宗佳惠.基于RFID的医院药品物资条码库房管理系统[J].自动化技术与应用,2022,41(06):68-72.DOI:10.20033/j.1003-7241.(2022)06-0068-05.
  20. 代云飞,向瑾,郭雨娇,等.基于医院信息系统建立GCP药房的设计与应用探讨[J].中国数字医学,2022,17(06):41-45.
  21. 张爽,石乐民,刘传志,等.高校生物实验室仪器药品信息管理平台设计[J].现代信息科技,2022,6(05):34-37.DOI:10.19850/j.cnki.2096-4706.2022.05.009.
  22. 王颖瑞.药房信息管理系统的设计与实现[D].北京邮电大学,2020.DOI:10.26969/d.cnki.gbydu.2020.001363.

     

致 谢

首先,我要感谢我的论文指导老师。在论文完成的整个过程中,指导老师始终给予我无微不至的关爱与指导。在论文写作的过程中,导师那耐心细致的指导,以及提出的具有建设性的意见,都给予了我极大的帮助,让我受益匪浅。导师严谨的治学态度、敬业精神以及高水平的教学能力,都给我树立了追求卓越的典范,这对我以后的人生道路和学业成就都产生了极大的积极影响。

此外,我还要感谢我班的同学们,他们既是我的同窗好友,又是我的良师益友。正是由于你们的支持和关怀,使得我在大学期间的学习和生活都变得异常充实。感谢那些在大学期间给予我帮助的所有老师和同学们,是你们给予了我在学业道路上的前进动力。

当然,我也不能忘记我的父母,是他们用无私的爱抚养我成人。你们的养育之恩我将永生难忘,将来我一定会用我的成绩回报你们。在成长的道路上,我会不断努力,不负众望,用实际行动来回报你们对我的期望。

总之,在这篇论文中,我要感谢所有给予我帮助的人,包括指导老师、同学们、家人和朋友们。是你们的支持与关爱,让我在学术和个人生活中取得了优异的成绩。我会珍惜这份感恩之情,将这份力量用于学习和未来的生活中,不断追求卓越,成为一个更加优秀的人。

点赞+收藏+关注  →私信领取本源代码、数据库

关注博主下篇更精彩
一键三连!!!
一键三连!!!
一键三连!!!
感谢一键三连!!!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值