基于JAVA的大病保险管理系统 开源项目
目录
一、摘要
1.1 项目介绍
基于Vue+SpringBoot+MySQL的城乡居民大病保险管理系统,包含患者档案、医保充值、保险档案、手术档案、看病登记、保险审核模块,包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,大病保险管理系统基于角色的访问控制,给医院医生、保险公司以及系统管理员使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。
1.2 项目录屏
二、功能模块
城乡居民大病保险管理系统的功能性需求主要包含系统配置维护、系统参保管理、大病保险管理、大病登记管理、保险审核管理五大模块。
2.1 系统配置维护
系统配置维护包含了对该大病保险系统的管理,包括系统管理以及系统监控,其中系统管理主要是指对使用该系统的管理员的一些权限及该系统的模块名称、以及政策公告进行管理,同时,系统监控部分会保存一些登录以及修改系统的记录。
2.2 系统参保管理
系统参保管理是对参保人员的信息继续管理,其中包括一些就医人员的档案,包含了病人社保号、身份证号,基本结算信息等,可以通过此模块进行医保卡的充值以及管理。
2.3 大病保险管理
大病保险管理录入了关于大病医疗保险的信息,包括对大病的不同层次医疗保险的报销比以及对于不同手术费用的类型以及价格,通过此来设置大病的类型、手术费用以及手术的类型。
2.4 大病登记管理
此模块用来登记来医院看病的人员的信息,包含了病人的姓名、看病的一些详细信息。
2.5 保险审核管理
在参保人员在定点医疗机构进行看病就医的同时,保险机构对申请的大病医疗信息进行审核,根据保险信息的赔偿范围进行审核,审核通过后进行拨付操作。
三、系统详细设计
3.1 系统整体配置功能设计
本模块是把系统中不同类型的用户的基础信息进行管理,有注册,有登陆,以及一个个人信息的维护。总体分为两个大部分,包括系统管理以及系统监控,其中系统管理包括登入用户管理、角色权限管理、系统菜单以及数据字典的编辑,其中系统监控是对系统登录日志的记录,该模块是系统最基础的应用模块。
系统管理是对使用此系统的人员进行管理,包括登录用户的人员账号进行管理,对管理人员的账号增删查改,对人员的账号权限,可查看信息进行设置,并对系统可设置项进行修改。
系统监控是对系统进行监控,里面的系统日志包含了登录该系统人员的账号,进行操作的类型、请求类型、请求路径、请求参数、登录账号、登录IP,并可以对这些信息进行搜索和删除的操作。
3.2 大病人员模块设计
该模块是对参保人员进行管理。包括对大病参保用户进行管理,主要有参保人员信息以及医保的充值,其中包含了对参保人员的信息进行添加,搜索,该模块可以详细查看参保人员的信息档案。
功能主要包含两个主要的部分,分别为参保人员档案以及医保充值,在参保人员档案中,可以详细查看参保人员信息,并可以添加人员信息,并可以从对数据库中的人员进行搜索,以及筛选。
医保充值部分,可以首先搜索查找参保人员的信息,之后可以对参保人员的医保账户进行充值。
3.3 大病保险模块设计
该模块是对大病保险的管理,主要是对保险的一些信息进行修改与编辑,编辑参保的保险名称,参保百分比以及参保相关手术的编辑。该模块主要针对保险的一些信息进行修改。
其中医疗保险部分,分门别类的显示了各种的医保信息,包括名称以及等级,门诊百分比等。管理人员可以对这些信息进行修改,包括了基础的增、删、改、查。
手术档案部分,又具体详细显示了各种的手术信息,具体包括了手术的名称以及手术的类型等级,手术费用等,这样可以更好的设置保险内含有的手术种类。同时,管理人员也可以对这些信息进行修改,包括基础的增、删、改、查。
3.4 大病登记模块设计
该模块是对参保人员中的大病信息进行登记,该模块只包含参保人员中大病住院的情况下的登记,信息包括登记人员的姓名,门诊类型,费用总计以及日期,这样分类模块的设计能够更好设置与大病保险管理人员的对接,同时,在该模块当中,也可以对这些看病登记信息进行搜索、查看以及修改。
3.5 保险审核模块设计
该模块是对参保人员中的大病信息中的费用抵扣审核的模块,该模块只包含参保人员的部分信息,其中包含了参保人员的姓名,审核状态,所使用的保险名,抵扣金额以及审核意见。保险审核模块包含了参保人员的就医抵扣信息,审核该部分的管理人员可根据实际情况对提交审核申请的人员进行通过或是退回以及搜索参保人员及搜索状态。
四、系统展示
五、核心代码
5.1 医保卡充值
@RequestMapping(value = "/addMoney", method = RequestMethod.GET)
@ApiOperation(value = "医保卡充值")
public Result<BigDecimal> addMoney(@RequestParam String id,@RequestParam float number){
Roster roster = iRosterService.getById(id);
if(roster == null) {
return ResultUtil.error("参保人员不存在");
}
if(roster.getMoney() == null) {
roster.setMoney(BigDecimal.ZERO);
}
roster.setMoney(roster.getMoney().add(BigDecimal.valueOf(number)));
iRosterService.saveOrUpdate(roster);
return new ResultUtil<BigDecimal>().setData(roster.getMoney());
}
5.2 查询参保人员
@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询参保人员")
public Result<IPage<Roster>> getByPage(@ModelAttribute Roster roster ,@ModelAttribute PageVo page){
QueryWrapper<Roster> qw = new QueryWrapper<>();
if(!ZwzNullUtils.isNull(roster.getName())) {
qw.like("name",roster.getName());
}
if(!ZwzNullUtils.isNull(roster.getSex())) {
qw.eq("sex",roster.getSex());
}
if(roster.getAge() != null) {
qw.ge("sex",roster.getSex());
}
if(roster.getMoney() != null) {
qw.le("money",roster.getMoney());
}
IPage<Roster> data = iRosterService.page(PageUtil.initMpPage(page),qw);
return new ResultUtil<IPage<Roster>>().setData(data);
}
5.3 查询医疗保险
@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询医疗保险")
public Result<IPage<Insurance>> getByPage(@ModelAttribute Insurance insurance ,@ModelAttribute PageVo page){
QueryWrapper<Insurance> qw = new QueryWrapper<>();
if(!ZwzNullUtils.isNull(insurance.getCreateBy())) {
}
IPage<Insurance> data = iInsuranceService.page(PageUtil.initMpPage(page),qw);
return new ResultUtil<IPage<Insurance>>().setData(data);
}
5.4 新增看病登记
@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增看病")
public Result<SeeDoctor> insert(SeeDoctor seeDoctor){
Roster roster = iRosterService.getById(seeDoctor.getUserId());
roster.setMoney(seeDoctor.getBalanceNew());
iRosterService.saveOrUpdate(roster);
seeDoctor.setDate(DateUtil.now());
/**
* 保险审核的业务逻辑
*/
Examine examine = new Examine();
examine.setUserId(roster.getId());
examine.setUserName(roster.getName());
examine.setInsuranceId(roster.getInsuranceType());
examine.setInsuranceName(roster.getInsuranceName());
examine.setMoney(seeDoctor.getPriceSum());
examine.setStatus(0);
examine.setMessage("未审核");
iExamineService.saveOrUpdate(examine);
iSeeDoctorService.saveOrUpdate(seeDoctor);
return new ResultUtil<SeeDoctor>().setData(seeDoctor);
}
5.5 保险审核
@RequestMapping(value = "/pass", method = RequestMethod.POST)
@ApiOperation(value = "通过保险单")
public Result<Object> pass(@RequestParam String id){
if(!ZwzNullUtils.isNull(id)) {
Examine examine = iExamineService.getById(id);
if(examine == null){
return ResultUtil.error("审核单不存在");
}
examine.setMessage("审核通过,已报销!");
examine.setStatus(1);
iExamineService.saveOrUpdate(examine);
return ResultUtil.success("通过成功");
}else{
return ResultUtil.error("审核单不存在");
}
}
六、免责说明
- 本项目仅供个人学习使用,商用授权请联系博主,否则后果自负。
- 博主拥有本软件构建后的应用系统全部内容所有权及独立的知识产权,拥有最终解释权。
- 如有问题,欢迎在仓库 Issue 留言,看到后会第一时间回复,相关意见会酌情考虑,但没有一定被采纳的承诺或保证。
下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!
- 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
- 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关,博主对此不承担任何责任。
- 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),博主概不承担任何责任。
- 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。
更多推荐
所有评论(0)