项目介绍
随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了电子病历系统的开发全过程。通过分析电子病历系统方面的不足,创建了一个计算机管理电子病历系统的方案。文章介绍了电子病历系统的系统分析部分,包括可行性分析等,系统设计部分主要介绍了系统功能设计和数据库设计。
本电子病历系统有管理员,护士,门诊医生,住院医生。
管理员功能有个人中心,医生管理,护士管理,患者管理,病房管理,门诊病历管理,住院病历管理,药品管理,公告管理,基础数据管理等。
门诊医生功能有个人中心,患者管理,病房管理,门诊病历管理,药品管理,公告管理等。
护士功能有有个人中心,患者管理,病房管理,门诊病历管理,药品管理,住院病历管理,公告管理等。
住院医生功能有个人中心,患者管理,药房管理,病房管理,住院病历管理,药品管理,公告管理等。因而具有一定的实用性。
本站是一个B/S模式系统,采用SSM框架,MYSQL数据库设计开发,充分保证系统的稳定性。系统具有界面清晰、操作简单,功能齐全的特点,使得电子病历系统管理工作系统化、规范化。
开发环境
编程语言:Java
数据库 :Mysql
系统架构:B/S
后端框架:SSM
编译工具:idea或者eclipse,jdk1.8,maven
支持定做:java/php/python/android/小程序/vue/爬虫/c#/asp.net
系统实现
5.1 医生信息管理
电子病历系统的系统管理员可以对医生信息添加修改删除以及查询操作。具体界面的展示如图5.1所示。
图5.1 医生信息管理界面
5.2 护士信息管理
系统管理员可以查看对护士信息进行添加,修改,删除以及查询操作。具体界面如图5.2所示。
图5.2 护士信息管理界面
5.3 患者信息管理
系统管理员可以查看对患者信息进行添加,修改,删除以及查询操作。具体界面如图5.2所示。
图5.3 患者信息信息管理界面
5.4 病房信息管理
系统管理员可以查看对病房信息进行添加,修改,删除以及查询操作。具体界面如图5.2所示。
图5.4 病房信息信息管理界面
5.5 门诊病历管理
系统管理员可以查看对门诊病历进行添加,修改,删除以及查询操作。具体界面如图5.2所示。
图5.5 门诊病历信息管理界面
5.6 住院病历管理
系统管理员可以查看对住院病历进行添加,修改,删除以及查询操作。具体界面如图5.2所示。
图5.6 住院病历管理界面
5.7 药品信息管理
管理员可以对药品信息进行添加,修改,删除以及查询操作。界面如下图所示:
图5.7 药品信息管理界面
5.8 公告信息管理
管理员可以对公告信息进行添加,修改,删除,查询操作。界面如下图所示:
图5.8 公告信息管理界面
核心代码
package com.controller;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.entity.BingchengjiluEntity;
import com.entity.YonghuEntity;
import com.entity.view.BingchengjiluView;
import com.service.BingchengjiluService;
import com.service.DictionaryService;
import com.service.TokenService;
import com.service.YonghuService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.StringUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* 病程记录
* 后端接口
* @author
* @email
* @date
*/
@RestController
@Controller
@RequestMapping("/bingchengjilu")
public class BingchengjiluController {
private static final Logger logger = LoggerFactory.getLogger(BingchengjiluController.class);
@Autowired
private BingchengjiluService bingchengjiluService;
@Autowired
private TokenService tokenService;
@Autowired
private DictionaryService dictionaryService;
//级联表service
@Autowired
private YonghuService yonghuService;
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params, HttpServletRequest request){
logger.debug("page方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));
String role = String.valueOf(request.getSession().getAttribute("role"));
if(StringUtil.isNotEmpty(role) && "用户".equals(role)){
params.put("yonghuId",request.getSession().getAttribute("userId"));
}
params.put("orderBy","id");
PageUtils page = bingchengjiluService.queryPage(params);
//字典表数据转换
List<BingchengjiluView> list =(List<BingchengjiluView>)page.getList();
for(BingchengjiluView c:list){
//修改对应字典表字段
dictionaryService.dictionaryConvert(c);
}
return R.ok().put("data", page);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);
BingchengjiluEntity bingchengjilu = bingchengjiluService.selectById(id);
if(bingchengjilu !=null){
//entity转view
BingchengjiluView view = new BingchengjiluView();
BeanUtils.copyProperties( bingchengjilu , view );//把实体数据重构到view中
//级联表
YonghuEntity yonghu = yonghuService.selectById(bingchengjilu.getYonghuId());
if(yonghu != null){
BeanUtils.copyProperties( yonghu , view ,new String[]{ "id", "createDate"});//把级联的数据添加到view中,并排除id和创建时间字段
view.setYonghuId(yonghu.getId());
}
//修改对应字典表字段
dictionaryService.dictionaryConvert(view);
return R.ok().put("data", view);
}else {
return R.error(511,"查不到数据");
}
}
/**
* 后端保存
*/
@RequestMapping("ve")
public R save(@RequestBody BingchengjiluEntity bingchengjilu, HttpServletRequest request){
logger.debug("save方法:,,Controller:{},,bingchengjilu:{}",this.getClass().getName(),bingchengjilu.toString());
// Wrapper<BingchengjiluEntity> queryWrapper = new EntityWrapper<BingchengjiluEntity>()
// .eq("yonghu_id", bingchengjilu.getYonghuId())
// ;
// logger.info("sql语句:"+queryWrapper.getSqlSegment());
// BingchengjiluEntity bingchengjiluEntity = bingchengjiluService.selectOne(queryWrapper);
// if(bingchengjiluEntity==null){
bingchengjilu.setInsertTime(new Date());
bingchengjilu.setCreateTime(new Date());
// String role = String.valueOf(request.getSession().getAttribute("role"));
// if("".equals(role)){
// bingchengjilu.set
// }
bingchengjiluService.insert(bingchengjilu);
return R.ok();
// }else {
// return R.error(511,"表中有相同数据");
// }
}
/**
* 后端修改
*/
@RequestMapping("/update")
public R update(@RequestBody BingchengjiluEntity bingchengjilu, HttpServletRequest request){
logger.debug("update方法:,,Controller:{},,bingchengjilu:{}",this.getClass().getName(),bingchengjilu.toString());
//根据字段查询是否有相同数据
// Wrapper<BingchengjiluEntity> queryWrapper = new EntityWrapper<BingchengjiluEntity>()
// .notIn("id",bingchengjilu.getId())
// .andNew()
// .eq("yonghu_id", bingchengjilu.getYonghuId())
// ;
// logger.info("sql语句:"+queryWrapper.getSqlSegment());
// BingchengjiluEntity bingchengjiluEntity = bingchengjiluService.selectOne(queryWrapper);
// if(bingchengjiluEntity==null){
// String role = String.valueOf(request.getSession().getAttribute("role"));
// if("".equals(role)){
// bingchengjilu.set
// }
bingchengjiluService.updateById(bingchengjilu);//根据id更新
return R.ok();
// }else {
// return R.error(511,"表中有相同数据");
// }
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Integer[] ids){
logger.debug("delete:,,Controller:{},,ids:{}",this.getClass().getName(),ids.toString());
bingchengjiluService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
}
论文参考
目录
1系统概述 1
1.1 研究背景 1
1.2研究目的 1
1.3系统设计思想 1
2相关技术 3
2.1 MYSQL数据库 3
2.2 B/S结构 3
2.3 SSM框架简介 4
2.4 JSP技术 6
2.5 VUE框架 6
2.6Java语言介绍 7
3系统分析 8
3.1可行性分析 8
3.1.1技术可行性 9
3.1.2经济可行性 9
3.1.3操作可行性 9
3.2系统性能分析 9
3.2.1 系统安全性 9
3.2.2 数据完整性 10
3.3系统界面分析 10
3.4系统流程和逻辑 11
4系统概要设计 12
4.1概述 12
4.2系统结构 14
4.3.数据库设计 14
4.3.1数据库实体 15
4.3.2数据库设计表 16
5系统详细实现 20
5.1 医生信息管理 20
5.2 护士信息管理 21
5.3 患者信息管理 21
5.4 病房信息管理 22
5.5 门诊病历管理 23
5.6 住院病历管理 23
5.7 药品信息管理 24
5.8 公告信息管理 25
6系统测试 25
6.1概念和意义 25
6.2特性 26
6.3重要性 26
6.4测试方法 26
6.5 功能测试 27
6.6可用性测试 27
6.7性能测试 28
6.8测试分析 28
6.9测试结果分析 29
结论 29
致谢语 29
参考文献 30