基于Python+Django的医生推荐系统设计与实现

💗博主介绍:✌全网粉丝20W+,优快云全栈领域优质创作者,博客之星、掘金/华为云/阿里云等平台优质作者,计算机毕设实战导师。目前专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌
💗主要服务内容免费功能设计、选题定题、开题报告、任务书、程序开发、论文编写和辅导、论文降重、程序讲解、答辩辅导等,欢迎咨询~
👇🏻 精彩专栏 推荐订阅👇🏻
计算机毕业设计精品项目案例(持续更新,值得收藏!)✅
2024-2025年计算机毕业设计选题推荐:计算机专业毕业设计题目大全✅
全网最全计算机毕业设计选题推荐:计算机毕设选题指导及避坑指南✅
🌟文末获取源码+数据库+文档🌟
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以和学长沟通,希望帮助更多的人

一.前言

在这里插入图片描述

在医疗资源分配不均、患者寻医困难的背景下,本研究基于 Django 框架开发了医生推荐系统。该系统分为前台和后台,涵盖患者、医生、管理员三类医生角色,目的在提高医疗服务效率和患者就医生推荐体验。前台面向患者和医生。患者可通过系统输入症状、病史等信息,系统运用智能算法结合医生的专业领域、经验、口碑等数据,精准推荐合适的医生,并支持在线预约挂号。医生则能展示个人简介、擅长疾病、出诊时间等信息,方便患者了解。后台由管理员和医生使用。管理员负责系统的全面管理,包括医生信息审核、医生资质认证、健康资讯等,确保系统的安全性和数据的准确性。后台医生可查看预约信息、管理个人日程、更新个人资料,还能与患者进行线上沟通,提供初步诊断和建议。
经测试,该系统功能稳定、操作便捷,能有效改善医患匹配度,优化医疗资源配置,具有较高的实用价值和推广意义。


二.技术环境

开发语言:Python
python框架:django
软件版本:python3.7/python3.8
数据库:mysql 5.7或更高版本
数据库工具:Navicat11
开发软件:PyCharm/vs code
前端框架:vue.js


三.功能设计

医生推荐系统包括管理员、患者、医生三个角色。
医生推荐系统的最大权限是管理员,通过管理员菜单中的系统首页、患者、医生、科室、预约挂号、预约取消、就诊记录、评价反馈、健康资讯、举报记录、论坛分类、社区互动、轮播图管理、个人中心等进行管理。管理员用例如图所示。
在这里插入图片描述

患者登录系统可以对系统首页、医生、健康资讯、社区互动、个人中心等,并进行相应的权限操作。患者用例如图所示。
在这里插入图片描述

医生登录系统可以对系统首页、预约挂号、预约取消、就诊记录、评价反馈、个人中心等,并进行相应的权限操作。医生用例如图所示。
在这里插入图片描述

系统总体功能结构图如下所示:
在这里插入图片描述

四.数据设计

系统需要数据库存储系统中的信息,MySQL数据库能够处理系统的信息,当系统需要数据的时候,MySQL数据库能够取得数据交给服务端处理。目前可以采用数据库建模来实现。系统部分实体E-R图,如图所示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
系统总体E-R图如下所示:
在这里插入图片描述

五.部分效果展示

5.1前台用户功能实现效果

当访客浏览器中输入系统网址并访问时,首先映入眼帘的是系统的首页界面。在这个页面上,访客可以清晰地看到医生推荐系统的导航栏,其中包含了诸如系统首页、医生、健康资讯、社区互动、个人中心等多个功能模块的链接。系统首页的具体界面设计如图所示:
在这里插入图片描述

在登录流程中,患者首先会在Vue前端界面上键入自己的账号和密码。随后,这些信息会被封装在HTTP请求中,并发送到Python后端进行处理。后端一旦接收到这个请求,就会与MySQL数据库进行交互,以核实患者提供的登录凭证是否准确无误。如果数据库中的记录与患者输入的信息相匹配,即认证成功,后端就会向前端发送一个成功的响应,允许患者顺利访问系统。这一流程全面涵盖了患者从信息输入到系统验证及反馈的各个环节。如图所示:
在这里插入图片描述

患者点击医生,在医生页面的查询栏输入医生工号、医生姓名等信息查询,即可浏览到相关的医生详细信息。这一功能使得患者能够快速找到并了解最新的医生信息,还可以收藏、评论或者私聊、预约等操作;如图所示:
在这里插入图片描述

患者能够在健康资讯页面,通过输入标题的方式执行查询操作,即可浏览到相关的健康资讯详细信息。这一功能使得患者能够快速找到并了解最新的健康资讯,还可以收藏或者评论等操作;如图所示:
在这里插入图片描述

在个人中心页面可以输入个人详细信息,进行信息更新操作,还可以对修改密码、聊天记录、预约挂号、预约取消、就诊记录、评价反馈、我的发布、我的收藏进行详细操作,如图所示:
在这里插入图片描述

5.2后台医生功能实现效果

医生登录,在登录页面正确输入信息完成后,点击登录按钮;如图所示。
在这里插入图片描述

医生进入系统主页面,主要功能包括对系统首页、预约挂号、预约取消、就诊记录、评价反馈、个人中心等进行操作。医生主页面如图所示:
在这里插入图片描述

5.3后台管理员功能实现效果

首页作为系统的核心界面,赋予了管理员全面的管理权限。管理员可以对系统首页、患者、医生、科室、预约挂号、预约取消、就诊记录、评价反馈、健康资讯、举报记录、论坛分类、社区互动、轮播图管理、个人中心等各个方面进行管理和操作。这确保了管理员能够高效地维护和控制系统的各项功能。其界面如图所示。
在这里插入图片描述

患者功能在视图层(也称为View层)实现交互,例如点击“添加”按钮或填写患者信息表单。这些患者信息操作会被视图层捕获,并作为请求发送到对应的控制器层(Controller层)。控制器接收到请求后,会调用服务层(Service层)来执行相关的业务逻辑,这包括验证输入数据的准确性以及处理与数据库的交互。服务层完成逻辑处理后,会与数据访问对象层(DAO层)进行交互,DAO层具体负责执行如搜索、添加或删除患者信息等数据操作,并将操作结果返回给控制器。最终,控制器会根据这些结果更新视图层,能够看到最新的患者信息或获得相应的操作反馈。在患者信息页面中,可以通过输入用户账号、姓名进行搜索,查看详细的患者信息,并根据需要进行查改删等操作;如图5-11所示。
在这里插入图片描述

医生功能在视图层(也称为View层)实现交互,例如点击“添加”按钮或填写医生信息表单。这些医生信息操作会被视图层捕获,并作为请求发送到对应的控制器层(Controller层)。控制器接收到请求后,会调用服务层(Service层)来执行相关的业务逻辑,这包括验证输入数据的准确性以及处理与数据库的交互。服务层完成逻辑处理后,会与数据访问对象层(DAO层)进行交互,DAO层具体负责执行如搜索、添加、审核或删除医生信息等数据操作,并将操作结果返回给控制器。最终,控制器会根据这些结果更新视图层,能够看到最新的医生信息或获得相应的操作反馈。在医生信息页面中,可以通过输入医生工号、医生姓名、科室、是否通过进行搜索,查看详细的医生信息,并根据需要进行查看、查看评论、删除等操作;如图所示。
在这里插入图片描述

管理员点击科室;在科室页面通过对科室,进行查询、添加或删除科室信息等操作;如图所示。
在这里插入图片描述

管理员点击预约挂号;在预约挂号页面通过对预约编号、是否通过等信息,进行搜索、删除或审核预约挂号等操作;如图所示。
在这里插入图片描述

管理员点击评价反馈;在评价反馈页面通过对预约编号等信息,进行搜索或者删除评价反馈等操作;如图所示。
在这里插入图片描述

管理员点击健康资讯;在健康资讯页面通过对标题等信息,进行搜索、添加或者删除健康资讯等操作;如图所示。
在这里插入图片描述

六.部分功能代码

def yonghu_register(request):
    if request.method in ["POST", "GET"]:
        msg = {'code': normal_code, "msg": mes.normal_code}
        req_dict = request.session.get("req_dict")


        error = yonghu.createbyreq(yonghu, yonghu, req_dict)
        if error != None:
            msg['code'] = crud_error_code
            msg['msg'] = "用户已存在,请勿重复注册!"
        return JsonResponse(msg)

def yonghu_login(request):
    if request.method in ["POST", "GET"]:
        msg = {'code': normal_code, "msg": mes.normal_code}
        req_dict = request.session.get("req_dict")
        datas = yonghu.getbyparams(yonghu, yonghu, req_dict)
        if not datas:
            msg['code'] = password_error_code
            msg['msg'] = mes.password_error_code
            return JsonResponse(msg)

        try:
            __sfsh__= yonghu.__sfsh__
        except:
            __sfsh__=None

        if  __sfsh__=='是':
            if datas[0].get('sfsh')!='是':
                msg['code']=other_code
                msg['msg'] = "账号已锁定,请联系管理员审核!"
                return JsonResponse(msg)
                
        req_dict['id'] = datas[0].get('id')


        return Auth.authenticate(Auth, yonghu, req_dict)


def yonghu_logout(request):
    if request.method in ["POST", "GET"]:
        msg = {
            "msg": "登出成功",
            "code": 0
        }

        return JsonResponse(msg)


def yonghu_resetPass(request):
    '''
    '''
    if request.method in ["POST", "GET"]:
        msg = {"code": normal_code, "msg": mes.normal_code}

        req_dict = request.session.get("req_dict")

        columns=  yonghu.getallcolumn( yonghu, yonghu)

        try:
            __loginUserColumn__= yonghu.__loginUserColumn__
        except:
            __loginUserColumn__=None
        username=req_dict.get(list(req_dict.keys())[0])
        if __loginUserColumn__:
            username_str=__loginUserColumn__
        else:
            username_str=username
        if 'mima' in columns:
            password_str='mima'
        else:
            password_str='password'

        init_pwd = '123456'
        recordsParam = {}
        recordsParam[username_str] = req_dict.get("username")
        records=yonghu.getbyparams(yonghu, yonghu, recordsParam)
        if len(records)<1:
            msg['code'] = 400
            msg['msg'] = '用户不存在'
            return JsonResponse(msg)

        eval('''yonghu.objects.filter({}='{}').update({}='{}')'''.format(username_str,username,password_str,init_pwd))
        
        return JsonResponse(msg)



为什么选择我们

大学毕业那年,曾经有幸协助指导老师做过毕业设计课题分类、论文初选(查看论文的格式)、代码刻录等打杂的事情,也帮助过同界N多同学完成过毕业设计工作,毕业后在一家互联网大厂工作8年,先后从事Java前后端开发、系统架构设计等方面的工作,有丰富的编程能力和水平,也在工作之余指导过别人完成过一些毕业设计的工作。2016年至今,团队已指导上万名学生顺利通过毕业答辩,目前是csdn特邀作者、优快云全栈领域优质创作者,博客之星、掘金/华为云/B站/知乎等平台优质作者,计算机毕设实战导师,专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎咨询~✌

最后

💕💕
最新计算机毕业设计选题篇-选题推荐
小程序毕业设计精品项目案例-200套
Java毕业设计精品项目案例-200套
Python毕业设计精品项目案例-200套
大数据毕业设计精品项目案例-200套
💟💟如果大家有任何疑虑,欢迎在下方位置详细交流。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一点毕设

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值