900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > Java项目:医疗管理系统 (java+Springboot+Maven+Mybatis-plus+Vue+Mysql)

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

时间:2021-08-11 23:54:09

相关推荐

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")@ResponseBodypublic 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();}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。