医院管理系统课程设计方案.docx
- 文档编号:9682287
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:34
- 大小:1.56MB
医院管理系统课程设计方案.docx
《医院管理系统课程设计方案.docx》由会员分享,可在线阅读,更多相关《医院管理系统课程设计方案.docx(34页珍藏版)》请在冰豆网上搜索。
医院管理系统课程设计方案
一、系统需求与功能分析
1.系统需求分析
医院信息化是医院应用信息技术及其产品的过程,是信息技术由局部到全局、由战术层次到战略层次向医院的全面渗透,运用于流程管理、支持医院经营管理的过程。
信息化的实施从自上而下的角度说,必须与医院的制度创新、组织创新和管理创新结合;从自上而下的角度说,必须以作为医院主体的业务人员直接受益及其使用水平的逐步提高为基础。
调查用户需求:
本系统的最终用户为医院,我们根据从医院方面取得的图表资料、文字资料以及其他细节方面的信息,根据我们日常生活中的经验,根据我们所做的其他询问和调查,得出用户的下列实际要求:
用户对系统的要求:
信息要求:
由于系统的使用主体是医院的管理人员,因此对系统的信息要求可分为以下方面:
(1)病人信息
①:
首先是病人的基本信息,主要包括病人的姓名,性别,出生年月,年龄,家庭住址,联系方式等;
②:
对于住院病人,还需要入院时间,所在病区,所在医科,床位等。
(2)处理要求:
系统应当完成以下的信息处理:
①:
存储病人信息,供相应的人员查询;
②:
对病人信息进行及时的更新和统计;
(3)安全性要求:
系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用。
2.功能分析
(1)信息录入处理:
住院病人信息录入、住院病人治疗费用录入、住院病人药品费用录入。
住院病人信息录入就是将源数据库中没有的病人信息重新录入进去,并且可以录入病人姓名。
住院病人费用录入和住院病人药品录入功能相近,都是将病人在住院期间的所花的费用进行录入保存,方便以后进行查询。
(2)信息查询处理:
住院病人信息查询和住院病人费用查询。
住院病人信息查询和住院病人费用查询功能相似,从数据库中将病人信息和费用显示到前台,让病人及时了解自己的个人信息和消费情况。
(3)信息统计处理:
住院病人总费用统计
按大类科、专科、病区及指定的病人进行查询统计
(4)信息打印处理:
住院病人信息打印
住院病人信息报表打印用于显示病人的住院号、床位号、床位费、病人姓名、性别编码出生日期、民族、籍贯和病症等详细信息。
(5)系统维护处理:
病人信息维护、大类科编码维护、专科编码维护、病区编码维护、治疗项目编码维护、药品编码维护医生编码维护和用户编码维护。
系统编码维护时分别对病人信息、大类科、专科、病区、治疗项目、药品信息、医生信息和用户信息进行录入、查询与修改等操作,数据编码表维护是对各类数据编码表中的记录进行录入、查询与修改等操作。
3.系统功能菜单
由此方案设计的系统功能菜单如下表所示。
信息录入
信息查询
信息统计
数据打印
系统维护
信息复制
病人信息录入
病人信息查询
病人总费用统计
病人信息打印
系统维护
批量复制
病人治疗费用录入
病人费用查询
大类科编码维护
病人药品费用录入
专科编码维护
病区编码维护
治疗项目维护
药品编码维护
医生编码维护
用户编码维护
表学生成绩管理功能菜单
二、数据库设计
设计系统的数据库结构、数据表结构包含序号、数据项名、含义、数据项类型、长度、非空、索引、主键、外键、引用字段、数据来源等。
1.大类科编码表Category
表1大类科编码表tblCategory
序号
字段名
含义
类型
宽度
小数
主/外键
1
Cate_Id
大类科编码
Varchar
10
PK
2
Cate_Name
大类科名称
Varchar
20
3
Cate_Dean
大类科主任
Varchar
10
2.专科编码表Spec
表2专科编码表tblSpec
序号
字段名
含义
类型
宽度
小数
主/外键
关联表/字段
1
Spec_Id
专科编码
Varchar
10
PK
2
Spec_Name
专科名称
Varchar
30
3
Spec_Cate
所属大类科编码
Varchar
10
FK
tblCategory/Cate_ID
3.病区编码表Ward
表3病区编码表tblWard
序号
字段名
含义
类型
宽度
小数
主/外键
关联表/字段
1
Ward_Id
病区编码
Varchar
10
PK
2
Ward_Name
病区名称
Varchar
20
3
Ward_Pos
病区位置
Varchar
20
4
Ward_Beds
总床位数
Int
5
Ward_Used
已用床位数
Int
6
Ward_Rest
剩余床位数
flaot
7
Ward_Head
病区主任
Varchar
10
8
Ward_Spec
所属专科编码
Varchar
2
FK
tblSpec/Spec_ID
4.病人信息表Patient
表4病人信息表tblPatient
序号
字段名
含义
类型
宽度
小数
主/外键
关联表/字段
1
Pat_Id
住院号
Varchar
10
PK
2
Pat_Bed
床位号
Varchar
50
3
Pat_BedFee
床位费
money
2
4
Pat_Name
病人姓名
Varchar
8
5
Pat_Sex
性别编码
Varchar
1
tblSex/Sex_ID
6
Pat_Birth
出生日期
Datetime
7
Pat_Nation
民族
Varchar
2
tblNation/Nation_ID
8
Pat_NtvPlc
籍贯
Varchar
6
tblNtvPlc/NtvPlc_ID
9
Pat_Sympton
病症
Varchar
20
10
Pat_Work
工作单位
Varchar
20
11
Pat_CharId
身份证号
Varchar
40
12
Pat_Ward
病区编码
Varchar
10
tblWard/Ward_ID
13
Pat_ZipCode
住宅邮编
Varchar
6
14
Pat_Phone
住宅电话
Varchar
20
15
Pat_Addr
户口地址
Varchar
50
16
Pat_Admit
入院日期
Datetime
17
Pat_Leave
出院日期
Datetime
18
Pat_PayAd
预交费
money
2
19
Pat_PaySum
费用总额
money
2
20
Pat_PayRest
费用结余
money
2
21
Pat_Image
病人照片
Image
5.性别编码表Sex
表5性别编码表tblSex
序号
字段名
含义
类型
宽度
小数
主/外键
1
Sex_Id
性别编码
Varchar
1
PK
2
Sex_Name
性别
Varchar
10
6.民族编码表Nation
表6民族编码表tblNation
序号
字段名
含义
类型
宽度
小数
主外键
1
Nation_Id
民族编码
Varchar
2
PK
2
Nation_Name
民族名称
Varchar
20
7.籍贯编码表NtvPlc
表7籍贯编码表tblNtvPlc
序号
字段名
含义
类型
宽度
小数
主/外键
1
NtvPlc_Id
籍贯编码
Varchar
6
PK
2
NtvPlc_Name
籍贯名称
Varchar
20
8.治疗项目编码表Item
表8治疗项目编码表tblItem
序号
字段名
含义
类型
宽度
小数
主/外键
关联表/字段
1
Item_Id
项目编码
Varchar
10
PK
2
Item_Name
项目名称
Varchar
6
3
Item_Type
项目类别
Varchar
6
4
Item_Wbm
五笔码
Varchar
30
5
Item_Pym
拼音码
Varchar
10
6
Item_PerPrice
项目单价
float
2
7
Item_Mark
备注
Varchar
20
9.病人治疗项目费用表MedItem
表9病人治疗项目费用表tblMedItem
序号
字段名
含义
类型
宽度
小数
主/外键
关联表/字段
1
Mi_PatId
住院号
Varchar
10
PK
tblPatient/Pat_Id
2
Mi_ItemId
项目编码
Varchar
10
tblItem/Item_ID
3
Mi_Quantity
数量
float
4
Mi_Amount
金额
int
5
Mi_Date
使用日期
Varchar
10
6
Mi_Time
使用时间
Varchar
50
7
Mi_DocId
医生编码
Varchar
10
tblDoctor/Doct_Id
8
Mi_Advice
医嘱号
Varchar
10
10.药品编码表Medicine
表10药品编码表tblMedicine
序号
字段名
含义
类型
宽度
小数
主/外键
关联表/字段
1
Med_Id
药品编码
Varchar
17
PK
2
Med_Wbm
五笔编码
Varchar
6
3
Med_Pym
拼音编码
Varchar
6
4
Med_Name
药品名称
Varchar
30
5
Med_Spec
药品规格
Varchar
16
6
Med_Unit
计量单位
Varchar
6
7
Med_PerPrice
药品单价
float
2
8
Med_Expirydate
药品有效期
Varchar
11.病人药品费用表MedFee
表11病人药品费用表tblMedFee
序号
字段名
含义
类型
宽度
小数
主/外键
关联表/字段
1
Mf_PatId
住院号
Varchar
10
PK
tblPatient/Pat_Id
2
Mf_ItemId
药品编码
Varchar
17
tblMedicine/Med_Id
3
Mf_Unit
药品单位
Varchar
4
4
Mf_Quantity
数量
float
5
Mf_Amount
金额
float
6
Mf_Date
使用日期
Varchar
10
7
Mf_Time
使用时间
Varchar
5
8
Mf_DocId
医生编码
Varchar
5
tblDoctor/Doct_Id
9
Mf_Advice
医嘱号
Varchar
10
12.医生编码表Doctor
序号
字段名
含义
类型
宽度
小数
主键
表12医生编码表tblDoctor
序号
字段名
含义
类型
宽度
小数
主/外键
关联表/字段
1
Doct_ID
医生编码
Varchar
5
PK
2
Doct_Name
医生名称
Varchar
8
3
Doct_Spec
所属专科编码
Varchar
8
tblSpec/Spec_Id
4
Doct_Ward
所属病区编码
Varchar
10
tblWard/Ward_Id
13.用户表User
表13用户表tblUser
序号
字段名
含义
类型
宽度
小数
主/外键
关联表/字段
1
User_ID
用户名
Varchar
10
PK
2
User_Psw
用户密码
Varchar
20
3
User_Flag
用户权限标志
Varchar
1
三、程序设计
1.系统登录(主)
图1用户登录界面
在登录界面的设计中,我采用的是有连接访问数据库,这样数据并发性问题更容易控制,数据也是当前的和及时更新的;此外还设有用户权限,权限不同登录成功后呈现出的主界面也不同;并且使用DataReader组件来以只读和仅转发的方式从数据源检索数据;核心代码如下:
//有连接访问
staticstringstr="DataSource=ASUS-PC\\SQLEXPRESS;InitialCatalog=Hospital;UserId=sa;Password=sa";
SqlConnectioncon=newSqlConnection(str);
privatevoidbtn_Login_Click(objectsender,EventArgse)
{
stringcmdStr="Select*FromtblLoginWhereUser_Name=@aandUser_Pwd=@b";
SqlCommandcmd=newSqlCommand(cmdStr,con);
SqlParameters1,s2;
s1=cmd.Parameters.Add("@a",SqlDbType.VarChar,20);
s2=cmd.Parameters.Add("@b",SqlDbType.VarChar,20);
s1.Value=txt_UserName.Text;
s2.Value=txt_UserPwd.Text;
//打开连接
con.Open();
//定义SqlDataReader对象
SqlDataReaderdr=cmd.ExecuteReader();
//只读的方式从数据源检索数据
if(dr.Read())
{
//用户权限登录
Common.User_Flag=dr["User_Flag"].ToString();
//显示主窗体
Form_Mainfrm=newForm_Main();
frm.Show();
}
else
{
MessageBox.Show("用户名或密码错误!
");
}
//关闭连接
con.Close();
}
2.主界面(主)
图2医院住院信息管理系统
在主界面设计,为了将所有界面以整体的方式全部实现出来,即执行一次就能看到全部效果,我在主界面添加了MenuStrip控件并且在MenuStrip控件上添加了MeauItem控件,双击MeauItem控件添加代码实现主/子窗体连接;而且把界面设计的漂亮、规范,我把Form窗体的IsMdiContainer属性设置为True,BackgroundImage属性导入一张图片,加入一个timer控件在statusStrip显示时间;此外涉及到用户权限问题,我在Form_Load事件中添加代码,用户权限不同登录后访问的主界面也不同。
核心代码如下:
//单击主界面上住院病人药品费用录入时,将显示出住院病人药品费用录入的Form子窗体
privatevoidtsmiMfInput_Click(objectsender,EventArgse)
{
Form_MedFeefrm=newForm_MedFee();
frm.MdiParent=this;
frm.Show();
slbl_window.Text="当前窗体:
"+frm.Text;
}
//用户权限设置
privatevoidForm_Main_Load(objectsender,EventArgse)
{
//调用Common类的静态变量User_Flag,当用户权限为0时,系统维护界面失效,但可见
if(Common.User_Flag=="0")
{
//系统维护界面失效
MenuMaintain.Enabled=false;
}
}
//timer控件显示时间
privatevoidtimer1_Tick(objectsender,EventArgse)
{
slbl_time.Text="日期:
时间:
"+Convert.ToString(DateTime.Now);
}
//单击主界面上住院病人总费用录入时,将显示出住院病人总费用录入的Form子窗体
privatevoid住院病人总费用统计ToolStripMenuItem_Click(objectsender,EventArgse)
{
Form_FeeStatfrm=newForm_FeeStat();
frm.MdiParent=this;
frm.Show();
slbl_window.Text="当前窗体:
"+frm.Text;
}
//单击主界面上批量复制时,将显示出批量复制的Form子窗体
privatevoidtoolStripButton1_Click(objectsender,EventArgse)
{
Form_Copyfrm=newForm_Copy();
frm.MdiParent=this;
frm.Show();
slbl_window.Text="当前窗体:
"+frm.Text;
}
//单击主界面上住院病人信息打印时,将显示出住院病人信息打印的Form子窗体
privatevoidtsmiPatPint_Click(objectsender,EventArgse)
{
Form_PatBbfrm=newForm_PatBb();
frm.MdiParent=this;
frm.Show();
slbl_window.Text="当前窗体:
"+frm.Text;
}
3.病人信息录入(次)
图3病人信息录入
病人信息用于对病人信息的录入、查询和显示等操作,并且可以插入病人照片。
主要代码如下:
while(myReader.Read())
{
file=newFileStream(savedImageName,FileMode.OpenOrCreate,FileAccess.Write);
bw=newBinaryWriter(file);
startIndex=0;//读取的起点位置
retval=myReader.GetBytes(0,startIndex,outbyte,0,bufferSize);//返回实际读取的字节数
//当图片大小大于或等于数组大小时,需分块写入到文件中
while(retval==bufferSize)
{
bw.Write(outbyte);
bw.Flush();
startIndex+=bufferSize;//重置读取的起点位置
retval=myReader.GetBytes(0,startIndex,outbyte,0,bufferSize);
}
bw.Write(outbyte,0,(int)retval-1);
bw.Flush();
bw.Close();
file.Close();
}
4.住院病人信息查询(次)
图4住院病人信息查询
从数据库中将病人信息和费用显示到前台,让病人及时了解自己的个人信息。
代码:
privatevoidcbo_Cate_SelectedIndexChanged(objectsender,EventArgse)
{//无连接访问实现专科表和大类科表的绑定
stringcmdStr="Select*FromtblSpecwhereSpec_Cate=@a";
SqlCommandcmd=newSqlCommand(cmdStr,con);
SqlParameters1;
s1=cmd.Parameters.Add("@a",SqlDbType.VarChar,2);
s1.Value=cbo_Cate.SelectedValue.ToString();
SqlDataAdapterdp=newSqlDataAdapter();
dp.SelectCommand=cmd;
DataSetds=newDataSet();
dp.Fill(ds,"Spec");
cbo_Spec.DataSource=ds.Tables["Spec"];
if(ds.Tables["Spec"].Rows.Count==0)
{
cbo_Spec.DisplayMember="";
cbo_Spec.ValueMember="";
}
else
{
cbo_Spec.DisplayMember="Spec_Name";
cbo_Spec.ValueMember="Spec_Id";
}
}
5.住院病人总费用统计(次)
图5住院病人总费用统计
住院病人总费用统计时用于统计病人住院治疗等项目的总费
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 医院 管理 系统 课程设计 方案