【开源】JAVA+Vue+SpringBoot实现就医保险管理系统

news/2024/7/10 20:58:26 标签: java, 开源, vue.js, javascript, spring boot, 开发语言, 前端

在这里插入图片描述


目录

  • 一、摘要
    • 1.1 项目介绍
    • 1.2 项目录屏
  • 二、功能模块
    • 2.1 科室档案模块
    • 2.2 医生档案模块
    • 2.3 预约挂号模块
    • 2.4 我的挂号模块
  • 三、系统展示
  • 四、核心代码
    • 4.1 用户查询全部医生
    • 4.2 新增医生
    • 4.3 查询科室
    • 4.4 新增号源
    • 4.5 预约号源
  • 五、免责说明


一、摘要

1.1 项目介绍

基于JAVA+Vue+SpringBoot+MySQL的就医保险管理系统,包含了科室档案模块、医生档案模块、预约挂号模块、我的挂号模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,就医保险管理系统基于角色的访问控制,给挂号管理员、患者角色使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。

1.2 项目录屏


二、功能模块

2.1 科室档案模块

就医保险管理系统的科室档案模块是指系统中用于管理医疗机构的科室信息的功能模块。该模块主要用于记录和管理医疗机构内各个科室的相关信息,包括科室名称、科室编号、科室负责人、科室描述等。

系统管理员或具有相应权限的用户可以在系统中录入医疗机构的各个科室信息,包括科室名称、科室编号、科室负责人、科室描述等。用户可以通过科室编号或名称等关键字在系统中进行科室信息的查询,查看科室的详细信息和相关统计数据。系统管理员或具有相应权限的用户可以对科室信息进行编辑和更新,包括修改科室名称、科室负责人、科室描述等内容。系统管理员或具有相应权限的用户可以删除不需要的科室信息,确保系统中的科室信息保持最新和有效。系统可以对科室信息进行统计分析,生成科室数量、科室负责人统计等相关报表或图表,为管理决策提供依据。科室档案模块在就医保险管理系统中的作用是方便管理者对医疗机构内各个科室的信息进行维护和查询,提高工作效率,确保科室信息的准确性和完整性。

2.2 医生档案模块

就医保险管理系统的医生档案模块是指系统中用于管理医疗机构的医生信息的功能模块。该模块主要用于记录和管理医疗机构内医生的相关信息,包括医生姓名、医生编号、职称、专业领域、所属科室、联系方式等。

系统管理员或具有相应权限的用户可以在系统中录入医生的基本信息,包括姓名、编号、职称、专业领域等。用户可以通过医生姓名或编号等关键字在系统中进行医生信息的查询,查看医生的详细信息和相关统计数据。系统管理员或具有相应权限的用户可以对医生信息进行编辑和更新,包括修改姓名、职称、专业领域等内容。系统管理员或具有相应权限的用户可以删除不需要的医生信息,确保系统中的医生信息保持最新和有效。系统可以对医生信息进行统计分析,生成医生数量、职称统计等相关报表或图表,为管理决策提供依据。医生档案模块在就医保险管理系统中的作用是方便管理者对医疗机构内医生的信息进行维护和查询,提高工作效率,确保医生信息的准确性和完整性。

2.3 预约挂号模块

就医保险管理系统的预约挂号模块是系统中的一个重要功能模块,主要用于方便患者进行医院就诊的预约挂号操作,并且能够实现医院资源的合理分配和排班管理。

患者可以通过系统选择医院、科室和医生,并选择适合的就诊时间进行预约挂号。系统会根据医生的排班情况和患者的需求,提供可用的预约时间段供患者选择。医院可以通过系统设置医生的排班信息,包括工作时间、休息日、号源数量等。系统会根据医生的排班信息,在预约挂号时提供可用的时间段供患者选择。系统会记录每个医生的号源信息,并根据患者的预约挂号情况进行号源的管理和分配。在患者成功预约挂号后,系统会相应地减少医生的可用号源数量。系统会记录患者的预约信息,包括医院、科室、医生、就诊时间等。医院可以通过系统查看和管理患者的预约记录,包括确认、取消、修改预约等操作。系统可以根据医院的规定计算和管理挂号费用。患者可以通过系统支付挂号费用,同时系统也会记录患者的缴费信息。系统可以向患者发送预约挂号的提醒通知,包括预约成功通知、预约变更通知等,以确保患者及时了解就诊信息。通过预约挂号模块,就医保险管理系统能够提高医院的预约挂号效率,方便患者进行预约操作,并且能够更好地管理医生的排班和号源资源。

2.4 我的挂号模块

医保险管理系统的"我的挂号"模块是为患者提供个人就诊信息管理和查询的功能模块。患者可以通过"我的挂号"模块查询自己的就诊记录,包括已完成的就诊、待就诊的预约以及历史就诊记录等。这样患者可以方便地查看自己的就诊记录和相关信息。

患者可以通过该模块进行就诊预约的管理,包括查看已预约的就诊、取消预约、修改预约等操作。患者可以根据自己的需求对预约进行灵活管理。该模块还提供了就诊报告的查看功能,患者可以在线查看自己的就诊报告,如检验报告、影像报告等。这样可以方便患者及时查看自己的就诊结果。患者可以在"我的挂号"模块查看自己的就诊费用情况,包括已支付的费用、待支付的费用等。患者可以通过系统进行费用的支付和管理,提高就诊费用的透明度和便利性。系统可以向患者发送就诊提醒通知,包括就诊时间、就诊地点、医生信息等。这样可以帮助患者及时了解自己的就诊信息,提醒患者按时就诊。通过我的挂号模块,就医保险管理系统能够提供方便快捷的个人就诊信息管理和查询服务,帮助患者更好地管理自己的就诊记录和费用,提高就医体验和满意度。

在这里插入图片描述


三、系统展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


四、核心代码

4.1 用户查询全部医生

java">@RequestMapping(value = "/getAllByDepartmentId", method = RequestMethod.GET)
@ApiOperation(value = "用户查询全部医生")
public Result<List<Doctor>> getAllByDepartmentId(@RequestParam String departmentId){
    QueryWrapper<Doctor> qw = new QueryWrapper<>();
    qw.eq("department_id",departmentId);
    List<Doctor> doctorList = iDoctorService.list(qw);
    for (Doctor doctor : doctorList) {
        QueryWrapper<DoctorNumber> numberQw = new QueryWrapper<>();
        numberQw.eq("doctor_id",doctor.getId());
        numberQw.eq("date", DateUtil.today());
        numberQw.eq("order_flag",false);
        long count = iDoctorNumberService.count(numberQw);
        doctor.setNumberStr(count);
    }
    return new ResultUtil<List<Doctor>>().setData(doctorList);
}

4.2 新增医生

java">@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增医生")
public Result<Doctor> insert(Doctor doctor){
    if(ZwzNullUtils.isNull(doctor.getDepartmentId())) {
        return ResultUtil.error("科室不能为空");
    }
    HospitalDepartment hd = iHospitalDepartmentService.getById(doctor.getDepartmentId());
    if(hd == null) {
        return ResultUtil.error("科室不存在");
    }
    iDoctorService.saveOrUpdate(doctor);
    return new ResultUtil<Doctor>().setData(doctor);
}

4.3 查询科室

java">@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询科室")
public Result<IPage<HospitalDepartment>> getByPage(@ModelAttribute HospitalDepartment hospitalDepartment ,@ModelAttribute PageVo page){
    QueryWrapper<HospitalDepartment> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(hospitalDepartment.getTitle())) {
        qw.like("title",hospitalDepartment.getTitle());
    }
    IPage<HospitalDepartment> data = iHospitalDepartmentService.page(PageUtil.initMpPage(page),qw);
    for (HospitalDepartment hd : data.getRecords()) {
        QueryWrapper<Doctor> doQw = new QueryWrapper<>();
        doQw.eq("department_id",hd.getId());
        hd.setUserNumber(iDoctorService.count(doQw));
    }
    return new ResultUtil<IPage<HospitalDepartment>>().setData(data);
}

4.4 新增号源

java">@RequestMapping(value = "/add", method = RequestMethod.GET)
@ApiOperation(value = "新增号源")
public Result<Object> add(@RequestParam String doctorId){
    Doctor doctor = iDoctorService.getById(doctorId);
    if(doctor == null) {
        return ResultUtil.error("医生不存在");
    }
    DoctorNumber d = new DoctorNumber();
    d.setDoctorId(doctorId);
    d.setDoctorName(doctor.getName());
    d.setDate(DateUtil.today());
    d.setDepartmentId(doctor.getDepartmentId());
    d.setDepartmentName(doctor.getDepartmentName());
    d.setOrderFlag(false);
    d.setOrderId("");
    d.setOrderName("");
    d.setOrderTime("");
    d.setPayFlag(false);
    d.setPayTime("");
    iDoctorNumberService.saveOrUpdate(d);
    return ResultUtil.success();
}

4.5 预约号源

java">@RequestMapping(value = "/addOrder", method = RequestMethod.POST)
@ApiOperation(value = "预约号源")
public Result<Object> addOrder(@RequestParam String doctorId){
    QueryWrapper<DoctorNumber> qw = new QueryWrapper<>();
    qw.eq("doctor_id",doctorId);
    qw.eq("date", DateUtil.today());
    List<DoctorNumber> numberList = iDoctorNumberService.list(qw);
    if(numberList.size() < 1) {
        return ResultUtil.error("您手速慢啦,号源没有了");
    }
    User currUser = securityUtil.getCurrUser();
    DoctorNumber dn = numberList.get(0);
    dn.setOrderFlag(true);
    dn.setOrderId(currUser.getId());
    dn.setOrderName(currUser.getNickname());
    dn.setOrderTime(DateUtil.now());
    iDoctorNumberService.saveOrUpdate(dn);
    return ResultUtil.success();
}

五、免责说明

  • 本项目仅供个人学习使用,商用授权请联系博主,否则后果自负。
  • 博主拥有本软件构建后的应用系统全部内容所有权及独立的知识产权,拥有最终解释权。
  • 如有问题,欢迎在仓库 Issue 留言,看到后会第一时间回复,相关意见会酌情考虑,但没有一定被采纳的承诺或保证。

下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!

  1. 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
  2. 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关,博主对此不承担任何责任。
  3. 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),博主概不承担任何责任。
  4. 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。

在这里插入图片描述


http://www.niftyadmin.cn/n/5361712.html

相关文章

k8s中cert-manager管理https证书

前言 目前https是刚需,但证书又很贵,虽然阿里云有免费的,但没有泛域名证书,每有一个子域名就要申请一个证书,有效期1年,1年一到全都的更换,太麻烦了。经过搜索,发现了自动更新证书神器cert-manager;当然cert-manager是基于k8s的。 安装采用Helm方式 Chart地址: ht…

SQL中having与where的区别 简单明了

having子句与where都是设定条件筛选的语句&#xff0c;有相似之处也有区别。 having与where的区别: having是在分组后对数据进行过滤 where是在分组前对数据进行过滤 having后面可以使用聚合函数 where后面不可以使用聚合 在查询过程中执行顺序&#xff1a;from>where>g…

SouthernBiotech重组单克隆二抗

您是否在二抗的使用中遇到以下情况&#xff1a; 亲和力低&#xff0c;非特异性强&#xff1f; 稳定性差&#xff0c;批间差异大&#xff1f; SouthernBiotech(欣博盛生物)新推出重组单克隆二抗可避免出现以上问题&#xff01; 虽然传统多克隆二抗在实验中扮演很重要的角色&a…

Linux下的线程操作

一、多线程的创建于退出 1. pthread_create(线程的创建) pthread_create 是 POSIX 线程库中的函数&#xff0c;用于创建一个新的线程。 函数原型如下&#xff1a; int pthread_create(pthread_t *thread, const pthread_attr_t *attr,void *(*start_routine) (void *), void…

2024-01-31-好的技术文章汇总

一、SpringBoot 相关 Spring Boot 项目统一结果&#xff0c;统一异常&#xff0c;统一日志&#xff0c;写的太好了&#xff01; 链接&#xff1a;https://mp.weixin.qq.com/s/wtWOhBpv1jD51C-SkkST5w 二、解决方案 服务端如何防止重复支付&#xff1a; https://mp.weixin.q…

2024美赛C题:网球中的动量

解析&#xff1a;https://mp.weixin.qq.com/s/TOPvJ-5pjgsvjvYXt6E9Fg 2023年温网男篮决赛&#xff0c;20岁的西班牙新星卡洛斯阿尔卡拉斯 击败了36岁的诺瓦克德约科维奇。这场失利是德约科维奇自2013年以来首次在温布尔登输球 并结束了大满贯历史上最伟大的球员之一的非凡表现…

【紧耦合新范式】Think-on-Graph:解决大模型在医疗、法律、金融等垂直领域的幻觉

Think-on-Graph&#xff1a;解决大模型在医疗、法律、金融等垂直领域的幻觉 Think-on-Graph 原理ToG 算法步骤&#xff1a;想想再查&#xff0c;查查再想实验结果 论文&#xff1a;https://arxiv.org/abs/2307.07697 代码&#xff1a;https://github.com/IDEA-FinAI/ToG Think…

Nest 测试 について 常用的函数的含义

Jest 是一个流行的 JavaScript 测试框架&#xff0c;主要用于单元测试和功能测试。它由 Facebook 开发并开源&#xff0c;设计目标是提供简单、快速和可靠的测试。 1.jest.fn() 是一个函数工厂&#xff0c;用于创建一个模拟函数。模拟函数可以模拟实际函数的执行&#xff0c;例…