《医院信息管理系统——“手术安排”模块》项目研发阶段
《医院信息管理系统——“手术安排”模块》项目研发阶段·········································································································
开发工具与关键技术:Visual Studio + MVC + SQL Server + Javascript
作者:刘敏
撰写时间:2019年1月16日
·········································································································
下面简述的是一个病人的手术安排过程。
一、功能实现
手术安排主要是由未安排、已安排、已完成、手术室申请停和全部五个部分组成
手术安排:(1)首先进入手术安排界面出现的是全部手术状态的界面(见图1)。
图1
(2)对一个病人进行手术安排,先要点击“未安排”按钮(其申请时间和科室过滤可选,也可不选)筛选出未进行手术安排的病人,选择一个病人的信息回填过来,接着点击“手术安排”按钮,对病人进行手术安排(见图2)。
图2
(3)当点击 “手术安排”按钮进入手术安排界面,选择手术参加人员,最后点击“确定”按钮,病人的手术安排就安排好了(见图3)。
图3
(4)点击“确定”按钮后,界面跳回到已安排界面,就能看到病人在已安排界面了(见图4)。
图4
二、相关业务表和关系
三、经典代码
(1)查询所有的手术状态病人信息。
//查询所有病人信息
public ActionResult SelectPatientAll(BsgridPage bsgridPage,string ApplyTime,string ApplyTime1, int OlogyID, int SurgeryStateID)
{
var linqPatient = from tbPateint in myModels.PW_Patient //病人表
join tbSurgeryPlan in myModels.SYS_SurgeryPlan on tbPateint.SurgeryPlanID equals tbSurgeryPlan.SurgeryPlanID //手术安排表
join tbIllnessDistrict in myModels.SYS_IllnessDistrict on tbPateint.IllnessDistrictID equals tbIllnessDistrict.IllnessDistrictID //病区表
join tbSur in myModels.SYS_SurgeryState on tbPateint.SurgeryStateID equals tbSur.SurgeryStateID //手术状态表
join tbOlogyOfficeFiltration in myModels.SYS_Ology on tbSurgeryPlan.OlogyID equals tbOlogyOfficeFiltration.OlogyID //科室表
select new PatientVo
{
ApplyTime = tbSurgeryPlan.ApplyTime.ToString(),//申请时间
AppTime = tbSurgeryPlan.ApplyTime,//申请时间
OlogyOfficeFiltration = tbOlogyOfficeFiltration.Ology,//科室过滤
BeHospitalizedHowl = tbSurgeryPlan.BeHospitalizedHowl,//住院号
PatientName = tbPateint.PatientName,//病人名称
PatientSex = tbPateint.PatientSex,//病人性别
PateintAge = tbPateint.PateintAge,//病人年龄
IllnessDistrictMC = tbIllnessDistrict.IllnessDistrictMC,//病区
BedCall = tbSurgeryPlan.BedCall,//床号
Estrade = tbSurgeryPlan.Estrade,//台次
SurgeryRoom = tbSurgeryPlan.SurgeryRoom,//手术间
PlanDate = tbSurgeryPlan.PlanDate.ToString(),//安排时间
SurgeryName = tbSurgeryPlan.SurgeryName,//手术名称
DoctorName = tbSurgeryPlan.DoctorName,//医生名称
SurgeryOffice = tbSurgeryPlan.SurgeryOffice,//手术室
HocusName = tbSurgeryPlan.HocusName,//麻醉名称
Position = tbSurgeryPlan.Position,//体位
SpecialApparatus = tbSurgeryPlan.SpecialApparatus,//特殊器械
SpecialInfect = tbSurgeryPlan.SpecialInfect,//特殊感染
PateintID = tbPateint.PatientID, //病人
SurgeryplanID = tbPateint.SurgeryPlanID, //手术安排
SurgeryStateID = tbPateint.SurgeryStateID,//手术状态
OlogyID = tbSurgeryPlan.OlogyID,//科室过滤ID
};
//申请时间不为空
if (!string.IsNullOrEmpty(ApplyTime)&& !string.IsNullOrEmpty(ApplyTime1))
{
try
{
DateTime dtApplyTime1 = Convert.ToDateTime(ApplyTime1.ToString().Trim());//强制转化为时间类型
DateTime dtApplyTime = Convert.ToDateTime(ApplyTime.ToString().Trim());//强制转化为时间类型
linqPatient = linqPatient.Where(p => p.AppTime >= dtApplyTime && p.AppTime <= dtApplyTime1);
}
catch (Exception e)
{
}
}
//科室过滤不为空
if (OlogyID > 0)
{
linqPatient = linqPatient.Where(p => p.OlogyID == OlogyID);
}
//手术状态不为空
if (SurgeryStateID > 0)
{
linqPatient = linqPatient.Where(p => p.SurgeryStateID == SurgeryStateID);
}
//查询总行数
int totalRow = linqPatient.Count();
//分页
List<PatientVo> Pateints = linqPatient.OrderByDescending(p => p.PateintID).
Skip(bsgridPage.GetStartIndex()).//GetStartIndex()分页开始序号
Take(bsgridPage.pageSize).
ToList();
//传数据到view
//调用分页封装类(扩展表)
Bsgrid<PatientVo> bsgrid = new Bsgrid<PatientVo>();
bsgrid.success = true;
bsgrid.totalRows = totalRow;//总数
bsgrid.curPage = bsgridPage.curPage;//当前页
bsgrid.data = Pateints;//显示数据
return Json(bsgrid, JsonRequestBehavior.AllowGet);
}
(2)头部病人信息表格数据回填
//数据回填
function PateintInfor(record, rowIndex) {
var BeHospitalizedHowl = record.BeHospitalizedHowl;
var PatientName = record.PatientName;
var SurgeryName = record.SurgeryName;
var HocusName = record.HocusName;
var PatientSex = record.PatientSex;
var IllnessDistrictMC = record.IllnessDistrictMC;
var OlogyOfficeFiltration = record.OlogyOfficeFiltration;
var ApplyTime = record.ApplyTime;
$("#BeHospitalizedHowl").text(BeHospitalizedHowl);
$("#PatientName").text(PatientName);
$("#SurgeryName").text(SurgeryName);
$("#HocusName").text(HocusName);
$("#PatientSex").text(PatientSex);
$("#IllnessDistrictMC").text(IllnessDistrictMC);
$("#OlogyOfficeFiltration").text(OlogyOfficeFiltration);
$("#ApplyTime").text(ApplyTime);
}
注:这是我做的第一个MVC项目,发部分功能跟代码上来献丑了,做的不好,欢迎各位朋友指出,觉得可以的,请点个赞,谢谢各位!