c#医院管理系统实训报告.docx
- 文档编号:11146598
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:17
- 大小:391.96KB
c#医院管理系统实训报告.docx
《c#医院管理系统实训报告.docx》由会员分享,可在线阅读,更多相关《c#医院管理系统实训报告.docx(17页珍藏版)》请在冰点文库上搜索。
c#医院管理系统实训报告
应用程序开发实训
实训报告
项目名称:
医院管理系统
班级:
计应B091
姓名:
学号:
2009241013
指导教师:
董林
山东水利职业学院
实习实训评语及成绩评定表
姓名
学号
班级
实习/训名称
应用程序开发实训
时间
12月20日至12月31日
地点
学院8602机房
分
项
成
绩
项目
成绩
考勤情况、实训期间的态度与表现(20分)
实训作品(30分)
实训报告(20分)
评语:
指导老师(签字):
年月日
答
辩
成
绩
答辩占总成绩的30%,满分为30分
成绩:
评语:
答辩小组组长(签字):
年月日
总
评
成
绩
教师(签字):
年月日
应用程序开发实训报告书
随着计算机的性能不断地提高,价格不断地下降,计算机已在医院医疗、教学、科研、管理等方面得到了越来越广泛的应用。
计算机化的医疗信息系统已成为现代化医院运营过程中不可缺少的基础设施与技术支撑环境。
就好象一个现代化医院的成功运行离不开功能完善、美观舒适的建筑物,技术娴熟的医护人员,性能齐全、高精尖的医疗设备一样,它离不开计算机化的医院信息系统。
一、需求分析:
管理信息系统是一门新兴的、集管理科学、信息科学、系统科学及计算机科学为一体的综合性学科,研究的是信息管理活动的全过程,以便有效的管理信息,提供各类管理决策信息,辅助企业进行现代化管理。
应满足一下功能
1、导医服务:
提供对病人的管理,包括病人会诊的资料登记、病人的预约资料、前台交费单据、药品退费管理、欠费催款,以及病人对医院的评价管理。
2、医生服务:
医生对会诊资料开出医令的功能。
3、药房服务:
提供了药品资料收集、发放药品及退药入库的功能。
4、门诊统计:
提供对门诊科室、日统计及交接班汇总的功能。
5、基本设置:
包括对医院的检验设置、检查设置、科室、员工、用户及折扣卡设置等功能。
病人到医院后,所需要的一般流程如下所示。
二、详细设计:
系统功能预览
•关键技术的实现
–登录窗体的设计
–基本设置模块
–导医服务模块
–医生服务模块
–药房服务模块
–门诊统计模块
用户登入模块模块
主要完成用户登录的功能,将用户名录入登陆口中。
如果用户想要查看病人的基本信息,就必须登录。
登录时必须正确填写用户名和密码。
如果没有用户名或密码不正确,则不能完成登录界面与主界面之间的连接。
输入已经存在的用户名和正确的密码,点击确定按钮,就会连接到数据库,如果数据正确,就会连接到系统的主界面,如果输入有误,则不能完成与主界面的连接。
单击“退出”按钮,则会退出本系统。
具体代码实现如下:
//首先查询数据库,获取与指定用户名和密码匹配的信息
SqlDataReadersqlread=myoperate.getread
("selectname,password,disciplinefromemployee"+
"wherename='"+txt_name.Text.Trim()+
"'andpassword='"+txt_pwd.Text.Trim()+"'");
try
{
sqlread.Read();//读取SqlDataReader
if(sqlread.HasRows)//如果存在匹配行
{//在operateinfo中记录用户名信息
operateinfo.operatename=
txt_name.Text.Trim();
//显示主窗体
Frm_Mainnewfrm=newFrm_Main();
this.Hide();
newfrm.Show();
}
else
{//如果密码错误,则显示提示信息并要求用户重新输入
MessageBox.Show("用户名或密码错误!
","提示",
MessageBoxButtons.OK,
MessageBoxIcon.Information);
txt_name.Text="";
txt_pwd.Text="";
txt_name.Focus();
}
}
finally
{//如果己经实例化了SqlDataReader
if(sqlread!
=null)
{//关闭SqlDataReader
sqlread.Close();
}
}
登陆主界面
登录后,可以看到如下图所示的主界面,可以使用菜单栏在各个功能之间进行导航,也可以单击工具栏的常用按钮快速进入某个功能窗口。
开医令模块
主要的用途就是:
病人在看病的时候,医生要给病人按照症状开药方,这就是开医令(也就是我们所说的开药方)。
输入病人的姓名,挂号号码,开药的医生姓名,等内容,还要写上病人的发病症状,以及对症状所采取的处理办法。
在以后查询时,只要输入相应的信息就会看到病人的情况以及医生的药方,还可以看到医生的收费情况。
具体代码实现如下:
//从appointment表中取出reg_done=1,也即挂号的病人信息
DataSetmydocds=myoperate.getds(sqlstr+"andthisdate='"
+dtp_regdate.Value.ToShortDateString()+"'",mytable);
//绑定到DataGridView控件中
this.dataGridView1.DataSource=mydocds.Tables[0];
//添加诊聊类型
cmb_treat.Items.Add("一般治疗");
cmb_treat.Items.Add("疗程治疗");
cmb_treat.SelectedIndex=0;
}
privatevoidtb_savedoccommand_Click(objectsender,EventArgse)
{
//执行更新appointment的命令,将相关费用更新到表中
myoperate.getcom("Updateappointmentsetdia_name='"
+cmb_treat.SelectedItem.ToString()+"',dia_fee='"
+Convert.ToDecimal(txt_treatfee.Text)+"',symptom='"
+txt_symptom.Text.Trim()+"',note='"
+txt_note.Text.Trim()
+"'whereappointmentid='"
+txt_appointmentid.Text.Trim()+"'");
MessageBox.Show("数据库更新成功!
!
");//提示成功
this.init();//重新刷新用户界面
交费模块的实现
主要思想:
在一个主窗口中添加数据窗口来实现,该数据窗口最主要的功能是用来交医疗费用时将手动搜索以添加医疗费用,从而得到所交的费用,通过输入交费的票号可以查找到这个病人的交费信息还可以看到这个病人的主治医师以及医生所在的。
具体代码实现如下:
//在PayRecored中插入一条付款记录
myoperate.getcom("insertintoPayRecord(PiaoHao,BinLiHao,"+
"Name,Doctor,Dept,CardID,"+
"medicalPay,CheckPay,patientPay,registerPay,CurrentPay,"+
"AmountPay,paymentMethod,"+
"CurrentDate,paytreatfee)values('"
+txt_payno.Text.Trim()+"','"+txt_patientno.Text.Trim()+"'"
+",'"+txt_patientname.Text.Trim()+"','"+txt_paydoctor.Text.Trim()
+"','"+txt_discipline.Text.Trim()+"','"+txt_cardname.Text.Trim()
+"','"+txt_medcipayfee.Text.Trim()+"','"+txt_paycheckfee.Text.Trim()+"'"
+",'"+txt_paytreatfee.Text.Trim()+"','"+txt_regfee.Text.Trim()
+"','"+nup_nowpaymoney.Value.ToString()+"','"+txt_total.Text.Trim()
+"','"+cmb_paytype.SelectedItem.ToString()+"','"
+dtp_paydate.Value.ToShortDateString()
+"','"+txt_paytreatfee.Text.Trim()+"')");
MessageBox.Show("付款成功!
");//弹出付款成功的消息
药品管理模块的实现
根据药品的名称,规格,单位,价格,以及库存的数量等进行药品的管理,同时在下拉框中进行对具体信息的相应的查看。
代码如下:
//编号,药品名,单位,价格,规格,拼音码,类别,功能,厂家,数量,是否可用
txt_id.Text=Convert.ToString(dataGridView1[0,dataGridView1.CurrentCell.RowIndex].Value).Trim();
txt_name.Text=Convert.ToString(dataGridView1[1,dataGridView1.CurrentCell.RowIndex].Value).Trim();
txt_num.Text=Convert.ToString(dataGridView1[9,dataGridView1.CurrentCell.RowIndex].Value).Trim();
txt_style.Text=Convert.ToString(dataGridView1[4,dataGridView1.CurrentCell.RowIndex].Value).Trim();
txt_unit.Text=Convert.ToString(dataGridView1[2,dataGridView1.CurrentCell.RowIndex].Value).Trim();
txt_factory.Text=Convert.ToString(dataGridView1[8,dataGridView1.CurrentCell.RowIndex].Value).Trim();
txt_class.Text=Convert.ToString(dataGridView1[6,dataGridView1.CurrentCell.RowIndex].Value).Trim();
txt_chinese.Text=Convert.ToString(dataGridView1[5,dataGridView1.CurrentCell.RowIndex].Value).Trim();
txt_better.Text=Convert.ToString(dataGridView1[7,dataGridView1.CurrentCell.RowIndex].Value).Trim();
chk_ableuse.Checked=Convert.ToBoolean(dataGridView1[10,dataGridView1.CurrentCell.RowIndex].Value);
nud_price.Value=Convert.ToDecimal(dataGridView1[3,dataGridView1.CurrentCell.RowIndex].Value);
检查项目设置模块的实现
是对药品的具体的信息进行查看,检验药品信息是否还存在。
折扣卡管理的实现
卡管理的实现:
是根据银行卡的类别,对所属的医药费进行付帐,同时也可以进行相应的优惠,以便于管理。
图示如下:
具体代码如下:
myoperate.getcom("insertintoCard(Name,MedicaDiscount,CheckDiscount,BasDiscount,Note)values('"+txt_cardname.Text.Trim()+"','"+txt_medci.Text.Trim()+"','"+txt_check.Text.Trim()+"','"+txt_treat.Text.Trim()+"','"+txt_note.Text.Trim()+"')");
txt_cardname.Enabled=false;
txt_check.Enabled=false;
txt_medci.Enabled=false;
txt_note.Enabled=false;
txt_treat.Enabled=false;
savevalue=0;
MessageBox.Show("添加成功!
");
//this.init();
用户管理模块的实现
用户可以根据用户名,用户密码,所属的科室等对用户的信息进行查看,方便管理。
输入相应的已存在的用户信息,可以从数据库中查找到相应的数据,显示在下面的方框内。
图示如下:
员工值班模块
员工值班是对医院的员工医生进行统一的管理,以便于医院的有效快速的。
统一管理。
图示如下:
具体代码如下:
myoperate.getcom("Updatedutysetdoc='"+cmb_name.SelectedValue.ToString()+"',Part='"+cmb_depart.SelectedValue.ToString()+"',StartDate='"+dtp_starttime.Value+"',EndDate='"+dtp_overtime.Value+"',CurrentDate='"+dtp_startdate.Value+"'whereID='"+txt_id.Text.Trim()+"'");
cmb_depart.Enabled=false;
cmb_name.Enabled=false;
dtp_overtime.Enabled=false;
dtp_overdate.Enabled=false;
dtp_startdate.Enabled=false;
dtp_starttime.Enabled=false;
savevalue=0;
MessageBox.Show("数据库更新成攻!
");
科室设置模块
对科室情况进行维护,可以添加科室,修改科室,对于不再开设的科室进行屏蔽,使其不再显示,其界面图如下
具体代码如下
myoperate.getcom("insertintodict_department(name,description)values('"+txt_name.Text.Trim()+"','"+txt_description.Text.Trim()+"')");
txt_name.Enabled=false;
txt_description.Enabled=false;
savevalue=0;
MessageBox.Show("添加成功!
");
myoperate.getcom("Updatedict_departmentsetname='"+txt_name.Text.Trim()+"',description='"+txt_description.Text.Trim()+"'whereid='"+txt_id.Text.Trim()+"'");
txt_description.Enabled=false;
txt_name.Enabled=false;
savevalue=0;
MessageBox.Show("数据库更新成功!
");
检查项目的实现
检查项目的具体功能就是,在病人需要做各项检查的时候,如X光片检查,透视的时候,方便快捷的查询出各种检查所需要的费用,也可以让病人清楚地知道费用的价格,降低医院的欺诈性,对每个人都是公平、公开、一致的价格。
图示如下:
四:
心得体会
两个周的实训不知不觉已经接近尾声,经过反复测试,系统完成后运行添加、修改、查询、报表等功能均正常。
此系统仍存在许多缺陷,但是通过该系统设计达到了系统设计目的意义,基本掌握了软件开发的主要步骤,了解了各环节在开发时要注意的问题,从方便用户的角度出发,去考虑开发出好的软件。
另外,在设计过程中也逐渐提高了软件开发技能和编程技能。
因此本设计虽然较粗糙,但是从学习的角度上看,非常有意义。
在程序编写过程中,虽然这个小小的医院管理系统就把我们忙得晕头转向,但我们还是决心,无论怎样都要尽自己的能力把它完成,或许遇到不会的,我们也复制过,偷过懒,但至少是我们自己做的。
有时候遇到许多的困难,程序出错,窗体出错等。
但我们都在一块进行的讨论,虽然我们不是最棒的,但我们努力过。
每当解决一个小小的问题时,心里都很开心,也更有信心。
在设计的过程中,我也遇到了从未遇到的困难,比如在数据字典的实际编译过程中,各编号要自动生成,医院的信息不是病人出院后就消失的,科室、病房、床位等物资信息应如何管理,如果一个科室新生成,我们可以添加,但如果一个科室被取消了,是不是就要删除呢,我经过查询、考察后发现应该保留。
这样做的好处是:
即使病人出院了,如果要查询病人的过去病史。
我们应能提供查询期限,但如果科室被删除了,怎么能查询?
所以我在每种物资中加了一个flag字段,用来区分科室是否能用,不过此系统还有不完善的地方,需要我慢慢的学习并进行修改。
我也从中学到很多东西。
还有很多问题,都是经过查询资料,自己分析,老师指导才完成的。
总而言之,本次应用程序设计,不仅让我们深刻的掌握书本上的知识,也锻炼了我们的自学能力,培养了我们团结协作的精神,更是我们懂得了书本以外能力的重要,这次的两周培训让我受益匪浅。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c# 医院 管理 系统 报告