Java项目:医疗管理系统 (java+Springboot+Maven+Mybatis-plus+Vue+Mysql)

运行环境:

  • 开发工具:IDEA /Webstrom
  • 数据库:MYSQL5.7
  • 使用框架springboot+vue
  • 数据库:MYSQL5.7

项目介绍:

本系统以医护端流程业务为基本需求,深入研究如何有效提高就诊效率,为医生书写病历、开药品提供便利化操作。在提高效率的同时兼顾医疗信息系统该有的网络权限以及安全机制,对输入的数据进行限制以及规范化处理,能减少医护人员失误操作带来的危害,也能主动对信息进行安全校验,减少医生、收费员人为进行校验的时间。优化患者的就医流程,有效减少患者在就诊时等待的时间。

项目分为门诊医生,门诊收费处,门诊药房三个模块。

模块功能:

在系统中实现中病人门诊信息注册,医生登记、修改病人病历,在系统中对病人信息的读取。
医生可以在医生职能页面进行书写病历、注册病人、修改病人信息、开设医嘱。收费处可以在收费模块进行预交金充值、预交金管理、门诊药品扣费、单据作废、退预交金。药房可以在摆药界面进行扣费、摆药。

示例图:

医生模块

病人注册界面
病人注册界面
在这里插入图片描述
病人信息查看界面
在这里插入图片描述

诊断录入辅助
在这里插入图片描述
开药弹窗显示
在这里插入图片描述

收费模块

预交金充值图
在这里插入图片描述

预交金管理图

药房模块

在这里插入图片描述
药品扣费

使用教程:

通过idea打开后端项目hisSystem点击运行,
前端项目hisvue在控制终端中输入npm run dev等项目启动成功后
在浏览器输入http://localhost:8080/#/login即可访问本项目。

依赖管理:

2.1前端依赖
前端使用依赖如下,可以在package.json中修改依赖配置。
在这里插入图片描述

2.2后端依赖
通过使用maven管理依赖,本系统使用依赖如下。可在pom.xml中修改依赖配置。
在这里插入图片描述

2.3数据库
将文件中的sql文件导入到MySQL数据库,数据库名称为hismdb,在后端项目中的application.properties文件中更改数据库配置。
在这里插入图片描述

部分代码:

为提升检索速率,结合诊疗项目的字典名以及拼音码在后端进行模糊查询。其主要代码如下:

<el-input width="100%" ref="diagDictFilter" 
placeholder="输入名称/编码/拼音码/五笔码检索"
v-model="pageParam.query" 
delay-time="200"                          
@change="searchDict" 
:clickselect="false">
</el-input>
searchDict(){
        this.pageParam.current=1;
        this.selectDict(); //获取项目名称数据
},

//后端代码
    @PostMapping("select")
    @ResponseBody
    public Result selectDiagnosis(@RequestBody com.zhaoshaoyu.hisSystem.entity.Page page){
        System.out.println(page.getCurrent());
        System.out.println(page.getQuery());
        String query =page.getQuery();
        Page<DiagnosisDict> diagnosisDictPage = new Page<>(page.getCurrent(),10);
        QueryWrapper<DiagnosisDict> wrapper = new QueryWrapper<>();
        if (!StringUtils.isEmpty(query)) {
            wrapper.like("ICD10_NAME", query)
            .or()
            .like("SPELL_CODE",query);
        }
        diagnosisDictService.page(diagnosisDictPage, wrapper);
        long total = diagnosisDictPage.getTotal();
        List<DiagnosisDict> list = diagnosisDictPage.getRecords();
        return Result.success().data("list", list).data("total",total);
}

计算药品价格代码如图下所示:

//根据输入的剂量、频次、天数自动计算预计发药量
calculateDrug(item,index){
      if(Utils.isNullOrEmpty(item.days) || Utils.isNullOrEmpty(item.dose) || Utils.isNullOrEmpty(item.outpFreqCode)){
        return
      }
      let estimatedDosage = Math.ceil((item.days * item.outpFreqCode * item.dose)/item.packageUnit)
      let totalPrice ;
      if(!Utils.isNullOrEmpty(estimatedDosage)){
          totalPrice = (estimatedDosage * item.referenceRetailPrice)
      }
      this.$refs.table.editRow(index,{estimatedDosage:estimatedDosage})
      this.$refs.table.editRow(index,{totalPrice:totalPrice})
},

收费代码如下

public Result insertAndUpdate(@RequestBody OutpConRecord outpConRecord) throws Exception {
        OutpConRecord outpConRecordBefore = this.outpConRecordService.selectBalance(String.valueOf(outpConRecord.getPatientId()));
        if(outpConRecord.getPaymentNo()==null){
            outpConRecord.setBeforeBalance("0") ;
        }
        else { 
            outpConRecord.setBeforeBalance(outpConRecordBefore.getAfterBalance()) ;
        }
        Integer amount = null;
        Integer beforeBalande = null;
        if(outpConRecord.getAmount()!=null&&outpConRecord.getBeforeBalance()!=null){
            amount = Integer.valueOf(outpConRecord.getAmount());
            beforeBalande = Integer.valueOf(outpConRecord.getBeforeBalance());
        }
        Integer operationCode = null;
        operationCode = Integer.valueOf(outpConRecord.getOperationCode());
        if(operationCode==1 || operationCode==2){
            outpConRecord.setAfterBalance(String.valueOf(beforeBalande+amount));
        }else if(operationCode==3 || operationCode==4){
            //退预交金 扣费
            outpConRecord.setAfterBalance(String.valueOf(beforeBalande-amount));
        }
        boolean save = outpConRecordService.save(outpConRecord);
        if (save) {
            return Result.success().data("back", true);
        } else {
            return Result.error();
        }
    }
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值