kl800.com省心范文网

医院管理系统 课程设计说明书


无锡职业技术学院课程设计说明书
一、系统需求与功能分析 系统需求与功能分析 与功能
1.系统需求分析
医院信息化是医院应用信息技术及其产品的过程,是信息技术由局部到全局、由战术 层次到战略层次向医院的全面渗透,运用于流程管理、支持医院经营管理的过程。信息化的 实施从自上而下的角度说,必须与医院的制度创新、组织创新和管理创新结合;从自上而下 的角度说,必须以作为医院主体的业务人员直接受益及其使用水平的逐步提高为基础。 调查用户需求: 本系统的最终用户为医院, 我们根据从医院方面取得的图表资料、 文字资料以及其他细 节方面的信息,根据我们日常生活中的经验,根据我们所做的其他询问和调查,得出用户的 下列实际要求: 用户对系统的要求: 信息要求: 由于系统的使用主体是医院的管理人员,因此对系统的信息要求可分为以下方面: (1)病人信息 ①:首先是病人的基本信息,主要包括病人的姓名,性别,出生年月,年龄,家庭住址, 联系方式等; ②:对于住院病人,还需要入院时间,所在病区,所在医科,床位等。 (2)处理要求: 系统应当完成以下的信息处理: ①:存储病人信息,供相应的人员查询; ②:对病人信息进行及时的更新和统计; (3)安全性要求: 系统应设置访问用户的标识以鉴别是否是合法用户, 并要求合法用户设置其密码, 保证 用户身份不被盗用。

2. 功能分析
(1)信息录入处理:住院病人信息录入、住院病人治疗费用录入、住院病人药品费用 录入。 住院病人信息录入就是将源数据库中没有的病人信息重新录入进去,并且可以录入病 人姓名。 住院病人费用录入和住院病人药品录入功能相近, 都是将 病人在住院期间的所 花的费用进行录入保存,方便以后进行查询。 (2)信息查询处理:住院病人信息查询和住院病人费用查询。 住院病人信息查询和住院病人费用查询功能相似,从数据库中将病人信息和费用显示 到前台,让病人及时了解自己的个人信息和消费情况。 (3)信息统计处理:住院病人总费用统计 按大类科、专科、病区及指定的病人进行查询统计 (4)信息打印处理:住院病人信息打印 住院病人信息报表打印用于显示病人的住院号、床位号、床位费、病人姓名、性别编码出生 日期、民族、籍贯和病症等详细信息。 (5)系统维护处理:病人信息维护、大类科编码维护、专科编码维护、病区编码维护、 治疗项目编码维护、药品编码维护医生编码维护和用户编码维护。 系统编码维护时分别对病人信息、大类科、专科、病区、治疗项目、药品信息、医生信 息和用户信息进行录入、 查询与修改等操作, 数据编码表维护是对各类数据编码表中的记录

3

无锡职业技术学院课程设计说明书
进行录入、查询与修改等操作。

3.系统功能菜单
由此方案设计的系统功能菜单如下表所示。
表 学生成绩管理功能菜单 信息录入 病人信息录入 病人治疗费用录入 病人药品费用录入 信息查询 病人信息查询 病人费用查询 信息统计 病人总费用统计 数据打印 病人信息打印 系统维护 系统维护 大类科编码维护 专科编码维护 病区编码维护 治疗项目维护 药品编码维护 医生编码维护 用户编码维护 信息复制 批量复制

二、数据库设计
设计系统的数据库结构、数据表结构包含序号、数据项名、含义、数据项类型、长度、 非空、索引、主键、外键、引用字段、数据来源等。

1.大类科编码表 Category
表1 序号 1 2 3 字段名 Cate_Id 大类科编码表 tblCategory 含义 大类科编码 类型 Varchar Varchar Varchar 宽度 10 20 10 小数 主/外键 PK

Cate_Name 大类科名称 Cate_Dean 大类科主任

2.专科编码表 Spec
表2 序号 1 2 3 字段名 Spec_Id Spec_Name Spec_Cate 含义 专科编码 专科名称 所属大类科编码 专科编码表 tblSpec 类型 Varchar Varchar Varchar 宽度 小数 10 30 10 FK tblCategory / Cate_ID 主/外键 PK 关联表/字段

3.病区编码表 Ward
表3 序号 1 2 3 4 5 6 字段名 Ward_Id Ward _Name Ward_Pos Ward_Beds Ward_Used Ward_Rest 含义 病区编码 病区名称 病区位置 总床位数 已用床位数 剩余床位数 病区编码表 tblWard 类型 Varchar Varchar Varchar Int Int flaot 宽度 小数 10 20 20 主/外键 PK 关联表/字段

4

无锡职业技术学院课程设计说明书
7 8 Ward_Head Ward_Spec 病区主任 所属专科编码 Varchar Varchar 10 2 FK tblSpec / Spec_ID

4.病人信息表 Patient
表4 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 字段名 Pat_Id Pat_Bed Pat_BedFee Pat_Name Pat_Sex Pat_Birth Pat_Nation Pat_NtvPlc Pat_Sympton Pat_Work Pat_CharId Pat_Ward Pat_ZipCode Pat_Phone Pat_Addr Pat_Admit Pat_Leave Pat_PayAd Pat_PaySum Pat_PayRest Pat_Image 含义 住院号 床位号 床位费 病人姓名 性别编码 出生日期 民族 籍贯 病症 工作单位 身份证号 病区编码 住宅邮编 住宅电话 户口地址 入院日期 出院日期 预交费 费用总额 费用结余 病人照片 病人信息表 tblPatient 类型 Varchar Varchar money Varchar Varchar Datetime Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Datetime Datetime money money money Image 2 2 2 2 6 20 20 40 10 6 20 50 tblWard / Ward_ID tblNation / Nation_ID tblNtvPlc / NtvPlc_ID 8 1 tblSex / Sex_ID 宽度 小数 10 50 2 主/外键 PK 关联表/字段

5.性别编码表 Sex
表5 序号 1 2 字段名 Sex_Id Sex_Name 性别编码表 tblSex 含义 性别编码 性别 类型 Varchar Varchar 宽度 1 10 小数 主/外键 PK

6.民族编码表 Nation
表6 序号 1 2 字段名 Nation_Id Nation_Name 民族编码表 tblNation 含义 民族编码 民族名称 类型 Varchar Varchar 宽度 2 20 小数 主外键 PK

7.籍贯编码表 NtvPlc
表7 序号 1 2 字段名 NtvPlc_Id NtvPlc_Name 籍贯编码表 tblNtvPlc 含义 籍贯编码 籍贯名称 类型 Varchar Varchar 宽度 6 20 小数 主/外键 PK

8.治疗项目编码表 Item
表8 治疗项目编码表 tblItem 5

无锡职业技术学院课程设计说明书
序号 1 2 3 4 5 6 7 字段名 Item_Id Item_Name Item_Type Item_Wbm Item_Pym Item_PerPrice Item_Mark 含义 项目编码 项目名称 项目类别 五笔码 拼音码 项目单价 备注 类型 Varchar Varchar Varchar Varchar Varchar float Varchar 20 宽度 小数 10 6 6 30 10 2 主/外键 PK 关联表/字段

9.病人治疗项目费用表 MedItem
表9 序号 1 2 3 4 5 6 7 8 字段名 Mi_PatId Mi_ItemId Mi_Quantity Mi_Amount Mi_Date Mi_Time Mi_DocId Mi_Advice 含义 住院号 项目编码 数量 金额 使用日期 使用时间 医生编码 医嘱号 病人治疗项目费用表 tblMedItem 类型 Varchar Varchar float int Varchar Varchar Varchar Varchar 10 50 10 10 tblDoctor / Doct_Id 宽度 小数 10 10 主/外键 PK 关联表/字段 tblPatient / Pat_Id tblItem / Item_ID

10.药品编码表 Medicine
表 10 序号 1 2 3 4 5 6 7 8 字段名 Med_Id Med_Wbm Med_Pym Med_Name Med_Spec Med_Unit Med_PerPrice Med_Expirydate 含义 药品编码 五笔编码 拼音编码 药品名称 药品规格 计量单位 药品单价 药品有效期 药品编码表 tblMedicine 类型 Varchar Varchar Varchar Varchar Varchar Varchar float Varchar 宽度 小数 17 6 6 30 16 6 2 主/外键 PK 关联表/字段

11.病人药品费用表 MedFee
表 11 序号 1 2 3 4 5 6 7 8 9 字段名 Mf_PatId Mf_ItemId Mf_Unit Mf_ Quantity Mf_Amount Mf_Date Mf_Time Mf_DocId Mf_Advice 含义 住院号 药品编码 药品单位 数量 金额 使用日期 使用时间 医生编码 医嘱号 病人药品费用表 tblMedFee 类型 Varchar Varchar Varchar float float Varchar Varchar Varchar Varchar 10 5 5 10 tblDoctor / Doct_Id 宽度 小数 10 17 4 主/外键 PK 关联表/字段 tblPatient / Pat_Id tblMedicine / Med_Id

6

无锡职业技术学院课程设计说明书
12.医生编码表 Doctor
表 12 序号 1 2 3 4 字段名 Doct_ID Doct_Name Doct_Spec Doct_Ward 含义 医生编码 医生名称 所属专科编码 所属病区编码 医生编码表 tblDoctor 类型 Varchar Varchar Varchar Varchar 宽度 小数 5 8 8 10 tblSpec / Spec_Id tblWard / Ward_Id 主/外键 PK 关联表/字段

13.用户表 User
表 13 序号 1 2 3 字段名 User_ID User_Psw User_Flag 含义 用户名 用户密码 用户权限标志 用户表 tblUser 类型 Varchar Varchar Varchar 宽度 小数 10 20 1 主/外键 PK 关联表/字段

三、程序设计 程序设计
1.系统登录(主)

图1

用户登录界面

在登录界面的设计中, 我采用的是有连接访问数据库, 这样数据并发性问题更容易控制, 数据也是当前的和及时更新的; 此外还设有用户权限, 权限不同登录成功后呈现出的主界面 也不同;并且使用 DataReader 组件来以只读和仅转发的方式从数据源检索数据;核心代码 如下:
//有连接访问 static string str = "Data Source=ASUS-PC\\SQLEXPRESS;Initial Catalog=Hospital;User Id=sa;Password=sa"; SqlConnection con = new SqlConnection(str); private void btn_Login_Click(object sender, EventArgs e) { string cmdStr = "Select * From tblLogin Where User_Name=@a and User_Pwd=@b"; SqlCommand cmd = new SqlCommand(cmdStr, con); SqlParameter s1, s2; s1 = cmd.Parameters.Add("@a", SqlDbType.VarChar, 20); 7

无锡职业技术学院课程设计说明书
s2 = cmd.Parameters.Add("@b", SqlDbType.VarChar, 20); s1.Value = txt_UserName.Text; s2.Value = txt_UserPwd.Text; //打开连接 con.Open(); //定义SqlDataReader对象 SqlDataReader dr = cmd.ExecuteReader(); //只读的方式从数据源检索数据 if (dr.Read()) { //用户权限登录 Common.User_Flag = dr["User_Flag"].ToString(); //显示主窗体 Form_Main frm = new Form_Main(); frm.Show(); } else { MessageBox.Show("用户名或密码错误!"); } //关闭连接 con.Close(); }

2.主界面(主)

图2

医院住院信息管理系统

在主界面设计, 为了将所有界面以整体的方式全部实现出来, 即执行一次就能看到全部 效果,我在主界面添加了 MenuStrip 控件并且在 MenuStrip 控件上添加了 MeauItem 控件, 双击 MeauItem 控件添加代码实现主/子窗体连接; 而且把界面设计的漂亮、 规范, 我把 Form 窗体的 IsMdiContainer 属性设置为 True, BackgroundImage 属性导入一张图片, 加入一个 timer

8

无锡职业技术学院课程设计说明书
控件在 statusStrip 显示时间;此外涉及到用户权限问题,我在 Form_Load 事件中添加代码, 用户权限不同登录后访问的主界面也不同。核心代码如下:
//单击主界面上住院病人药品费用录入时,将显示出住院病人药品费用录入的Form子窗体 private void tsmiMfInput_Click(object sender, EventArgs e) { Form_MedFee frm = new Form_MedFee(); frm.MdiParent = this; frm.Show(); slbl_window.Text = " } //用户权限设置 private void Form_Main_Load(object sender, EventArgs e) { //调用Common类的静态变量User_Flag,当用户权限为0时,系统维护界面失效,但可见 if (Common.User_Flag == "0") { //系统维护界面失效 MenuMaintain.Enabled = false; } } //timer控件显示时间 private void timer1_Tick(object sender, EventArgs e) { slbl_time.Text = "日期:时间:" + Convert.ToString(DateTime.Now); } //单击主界面上住院病人总费用录入时,将显示出住院病人总费用录入的Form子窗体 private void 住院病人总费用统计ToolStripMenuItem_Click(object sender, EventArgs e) { Form_FeeStat frm = new Form_FeeStat(); frm.MdiParent = this; frm.Show(); slbl_window.Text = " } //单击主界面上批量复制时,将显示出批量复制的Form子窗体 private void toolStripButton1_Click(object sender, EventArgs e) { Form_Copy frm = new Form_Copy(); frm.MdiParent = this; frm.Show(); slbl_window.Text = " } //单击主界面上住院病人信息打印时,将显示出住院病人信息打印的Form子窗体 private void tsmiPatPint_Click(object sender, EventArgs e) { 当前窗体:" + frm.Text; 当前窗体:" + frm.Text; 当前窗体:" + frm.Text;

9

无锡职业技术学院课程设计说明书
Form_PatBb frm = new Form_PatBb(); frm.MdiParent = this; frm.Show(); slbl_window.Text = " } 当前窗体:" + frm.Text;

3.病人信息录入(次)

图3

病人信息录入

病人信息用于对病人信息的录入、查询和显示等操作,并且可以插入病人照片。主要代 码如下:
while (myReader.Read()) { file = new FileStream(savedImageName, FileMode.OpenOrCreate, FileAccess.Write); bw = new BinaryWriter(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();

10

无锡职业技术学院课程设计说明书
file.Close(); }

4.住院病人信息查询(次)

图4

住院病人信息查询

从数据库中将病人信息和费用显示到前台,让病人及时了解自己的个人信息。代码:
private void cbo_Cate_SelectedIndexChanged(object sender, EventArgs e) { //无连接访问实现专科表和大类科表的绑定 string cmdStr = "Select * From tblSpec where Spec_Cate=@a"; SqlCommand cmd = new SqlCommand(cmdStr, con); SqlParameter s1; s1 = cmd.Parameters.Add("@a", SqlDbType.VarChar, 2); s1.Value = cbo_Cate.SelectedValue.ToString(); SqlDataAdapter dp = new SqlDataAdapter(); dp.SelectCommand = cmd; DataSet ds = new DataSet(); dp.Fill(ds, "Spec"); cbo_Spec.DataSource = ds.Tables["Spec"]; if (ds.Tables["Spec"].Rows.Count == 0) { cbo_Spec.DisplayMember = ""; cbo_Spec.ValueMember = ""; } else

11

无锡职业技术学院课程设计说明书
{ cbo_Spec.DisplayMember = "Spec_Name"; cbo_Spec.ValueMember = "Spec_Id"; } }

5.住院病人总费用统计(次)

图5

住院病人总费用统计

住院病人总费用统计时用于统计病人住院治疗等项目的总费用, 及其消费药品名称、 数 量、金额、使用时间等,都会相信的显示出来,一目了然。主要代码如下:
while (rd_Cate.Read())

12

无锡职业技术学院课程设计说明书
{ //定义树结点 TreeNode node_Cate = new TreeNode(rd_Cate.GetValue(0).ToString()); if (rd_Cate.GetValue(1).ToString() != string.Empty) { string strSpec = "select Spec_Name,Spec_Id from tblSpec where strSpec += rd_Cate.GetValue(1).ToString(); strSpec += "'"; SqlCommand cmd_Spec = new SqlCommand(strSpec, con); SqlDataReader rd_Spec = cmd_Spec.ExecuteReader(); while (rd_Spec.Read()) { TreeNode node_Spec = new TreeNode(rd_Spec.GetValue(0).ToString()); if (rd_Spec.GetValue(1).ToString() != string.Empty) { string strWard = "select Ward_Name,Ward_Id from tblWard whereWard_Spec='"; strWard += rd_Spec.GetValue(1).ToString(); strWard += "'"; SqlCommand cmd_Ward = new SqlCommand(strWard, con); SqlDataReader rd_Ward = cmd_Ward.ExecuteReader(); while (rd_Ward.Read()) { TreeNode node_Ward = new TreeNode(rd_Ward.GetValue(0).ToString()); if (rd_Ward.GetValue(1).ToString() != string.Empty) { string strPat = "select Pat_Name from tblPatient where Pat_Ward='"; strPat += rd_Ward.GetValue(1).ToString(); strPat += "'"; SqlCommand cmd_Pat = new SqlCommand(strPat, con); SqlDataReader rd_Pat = cmd_Pat.ExecuteReader(); while (rd_Pat.Read()) { TreeNode node_Pat =new TreeNode(rd_Pat.GetValue(0).ToString()); node_Ward.Nodes.Add(node_Pat); } rd_Pat.Close(); } node_Spec.Nodes.Add(node_Ward); } rd_Ward.Close(); } node_Cate.Nodes.Add(node_Spec); } rd_Spec.Close(); Spec_Cate='";

13

无锡职业技术学院课程设计说明书
} treeView_Patient.Nodes.Add(node_Cate); }

6.住院病人报表打印(主)

图6

病人信息报表打印

病人信息报表打印是我们组的重头戏,在 HISDataSet 内存数据集中添加一个内存表,相 比其他内存数据表,这个内存数据表不是建立连接从外存数据库中拉入的,而是我用 Select 语句编写的即 Patient;在解决方案资源管理器中新建 Crystal 报表并且从 HISDataSet 内存数 据集中导入用 Patient 内存表的数据信息; 另外在 Form 窗体上添加 crystalReportViewer 窗体, 作用是在运行时,使 From 窗体上查询的信息显示在 crystalReportViewer 窗体上,形成报表

14

无锡职业技术学院课程设计说明书
的格式;此外在代码上也有做修改,当具体不知道病人的姓名时可采用模糊查询,当点击显 示和预览两个按钮时出现的界面,这些都是通过代码实现的,具体代码如下:
//预览按钮 private void tsBtn_Preview_Click(object sender, EventArgs e) { //显示 crystalReportViewer crystalReportViewer1.Visible = true; //定义一个CrystalReport_Patient对象cr CrystalReport_Patient cr = new CrystalReport_Patient(); cr.SetDataSource(ds.Tables["Patient"]); crystalReportViewer1.ReportSource = cr; } //显示按钮 private void tsBtn_Display_Click(object sender, EventArgs e) { //不显示crystalReportViewer控件 crystalReportViewer1.Visible = false; } private void Form_PatBb_Load(object sender, EventArgs e) { cmd.CommandType = CommandType.Text; cmd.Connection = con; cmd.CommandTimeout = 15; //不显示crystalReportViewer控件 crystalReportViewer1.Visible = false; } //写一个私有的BindingPatient()方法 private void BindingPatient() { //打开连接 con.Open(); //使用Select语句从内存数据集HISDataSet中的Patient数据表中选择信息 string cmdStr = "Select Pat_Id,Pat_Bed,Pat_BedFee, "; cmdStr += " Pat_Name,Pat_Sex,Pat_Birth,Pat_Nation,Pat_NtvPlc,Pat_Sympton "; cmdStr += " from Patient "; //模糊查询 cmdStr += " Pat_Name like '" + textBox1.Text + "%'";

cmd.CommandText = cmdStr; da.SelectCommand = cmd; //关闭连接 con.Close(); da.Fill(ds, "Patient"); //定义一个临时保存数据的网格虚拟表的对象table_Patient DataTable table_Patient = new DataTable();

15

无锡职业技术学院课程设计说明书
table_Patient = ds.Tables["Patient"]; dataGridView1.DataSource = ds.Tables["Patient"]; txt_Id.DataBindings.Clear(); txt_Id.DataBindings.Add("Text", table_Patient, "Pat_Id"); txt_Bed.DataBindings.Clear(); txt_Bed.DataBindings.Add("Text", table_Patient, "Pat_Bed"); txt_BedFee.DataBindings.Clear(); txt_BedFee.DataBindings.Add("Text", table_Patient, "Pat_BedFee"); txt_Name.DataBindings.Clear(); txt_Name.DataBindings.Add("Text", table_Patient, "Pat_Name"); txt_Sex.DataBindings.Clear(); txt_Sex.DataBindings.Add("Text", table_Patient, "Pat_Sex"); txt_Birth.DataBindings.Clear(); txt_Birth.DataBindings.Add("Text", table_Patient, "Pat_Birth"); txt_Nation.DataBindings.Clear(); txt_Nation.DataBindings.Add("Text", table_Patient, "Pat_Nation"); txt_NtvPlc.DataBindings.Clear(); txt_NtvPlc.DataBindings.Add("Text", table_Patient, "Pat_NtvPlc"); txt_Svmpton.DataBindings.Clear(); txt_Svmpton.DataBindings.Add("Text", table_Patient, "Pat_Sympton"); } //查询按钮 private void Btn_Find_Click(object sender, EventArgs e) { con.Open();//打开连接 //使用Select语句从内存数据集HISDataSet中的Patient数据表中选择信息 string cmdStr = "Select Pat_Id,Pat_Bed,Pat_BedFee,Pat_Name,Sex_Name,Pat_Birth,Nation_Name,NtvPlc_Name,Pat_Sympton "; cmdStr += " from Patient "; cmdStr += " where Pat_Name like '" + textBox1.Text + "%'";

cmd.CommandText = cmdStr; da.SelectCommand = cmd; con.Close();//关闭连接 //再次查询时原来显示信息将被清除 if (ds.Tables.Contains("Patient")) { ds.Tables["Patient"].Clear(); } //调用Fill方法将外存数据库中的信息填充到内存数据集中 da.Fill(ds, "Patient"); //定义一个临时保存数据的网格虚拟表的对象table_Patient DataTable table_Patient = new DataTable(); table_Patient = ds.Tables["Patient"]; dataGridView1.DataSource = ds.Tables["Patient"];

16

无锡职业技术学院课程设计说明书
txt_Id.DataBindings.Clear(); txt_Id.DataBindings.Add("Text", table_Patient, "Pat_Id"); txt_Bed.DataBindings.Clear(); txt_Bed.DataBindings.Add("Text", table_Patient, "Pat_Bed"); txt_BedFee.DataBindings.Clear(); txt_BedFee.DataBindings.Add("Text", table_Patient, "Pat_BedFee"); txt_Name.DataBindings.Clear(); txt_Name.DataBindings.Add("Text", table_Patient, "Pat_Name"); txt_Sex.DataBindings.Clear(); txt_Sex.DataBindings.Add("Text", table_Patient, "Sex_Name"); txt_Birth.DataBindings.Clear(); txt_Birth.DataBindings.Add("Text", table_Patient, "Pat_Birth"); txt_Nation.DataBindings.Clear(); txt_Nation.DataBindings.Add("Text", table_Patient, "Nation_Name"); txt_NtvPlc.DataBindings.Clear(); txt_NtvPlc.DataBindings.Add("Text", table_Patient, "NtvPlc_Name"); txt_Svmpton.DataBindings.Clear(); txt_Svmpton.DataBindings.Add("Text", table_Patient, "Pat_Sympton"); }

7.病人编码维护(主)

图7

病人编码维护

病人编码维护窗体是通过控件绑定实现起功能的;其功能有:保存病人的住院号、病人姓 名、 性别和出生日期等信息, 还设有查询病人信息功能; 首先在 Form 窗体添加 BindingSource 窗体,重命名为 BindingSource_Pat,将 BindingSource 的 DataSource 属性与内存数据集 HISDataSet 绑定、 DataMember 属性与内存数据表 tblPatient 绑定; 其次因为 TextBox 绑定 属于简单数据绑定, 所以只要将基本信息 (GroupBox) 中的 TextBox 控件的 (DataBindings) --Text 属性分别与 BindingSource_Pat 对应绑定即可,例子: 【txtPat_Id(住院号)的 (DataBindings)-Text 属性与 BindingSource_Pat-Pat_Id 绑定】 ;此外将病人编码维护的 From 窗体上的 DataGridView 控件的 DataSource 属性与 BindingSource_Pat 进行绑定、

17

无锡职业技术学院课程设计说明书
column 属性改为对应的中文汉字;最后保存、退出和查询是由代码实现的,代码如下:
//保存按钮 private void tsBtn_Save_Click(object sender, EventArgs e) { this.tblPatientTableAdapter.Update(this.hISDataSet.tblPatient); } //退出按钮 private void tsBtn_Exit__Click(object sender, EventArgs e) { this.Close(); } //查询按钮 private void Btn_Check_Click(object sender, EventArgs e) { bindingSource_Pat.Filter = "Pat_name like '" + txt_Pat.Text + "%'"; }

8.大类科编码维护(主)

图8

大类科编码维护

大类科编码维护的实现功能也是通过编码绑定实现的,同样在大类科编码维护 Form 窗体 上添加 BindingSource 窗体 name 属性改为 BindingSource_Cate、 DataSource 属性与内存数 据集 HISDataSet 绑定和 DataMember 属性与内存数据表 tblCategory 绑定;我还添加了 bindingNavigator 控件 name 属性命名为 bindingNavigator_Cate,目的是为了用户一目了

18

无锡职业技术学院课程设计说明书
然,并且将其的 BindingSource 属性与 BindingSource_Cate 绑定,这样运行时就直接点击 bindingNavigator 的关键帧就可以查看信息,方便;另外窗体上还添加 listBox 控件,其 数据绑定是属于复杂数据绑定,因此其 DataSource 属性与 BindingSource_Cate 绑定、 DisplayMember 属性与 Cate_Name 绑定和 ValueMember 属性与 Cate_Id 绑定;此外其他控件 都属于简单数据绑定;最后,退出和保存是代码实现,代码如下:
//退出按钮 private void tsBtn_Exit_Click(object sender, EventArgs e) { this.Close(); } //保存按钮 private void tsBtn_Save_Click(object sender, EventArgs e) { this.tblCategoryTableAdapter.Update(this.hISDataSet.tblCategory); }

9.批量复制(次)

图9

批量复制

用于对数据库中数据表的备份,防止数据库出现意外,导致源数据信息丢失,主要代码 如下:
private void Btn_Copy_Click(object sender, EventArgs e) { //连接到源服务器获取要复制的数据 con1.Open(); SqlCommand cmd = new SqlCommand("select * from tblPatient_Bk", con1); SqlDataReader dr = cmd.ExecuteReader(); //连接到目标服务器 con2.Open(); //创建SqlBulkCopy对象

19

无锡职业技术学院课程设计说明书
SqlBulkCopy bulkcopy = new SqlBulkCopy(con2); //设置SqlBulkCopy对象的目标表属性 bulkcopy.DestinationTableName = "tblPatient"; //调用方法,实现复制 bulkcopy.WriteToServer(dr); dr.Close(); con2.Close(); con1.Close(); MessageBox.Show("数据批量复制完成!"); }

四、系统使用说明书 系统使用说明书
要想了解如何使用医院系统维护, 首先需要知道我们医院信息管理系统的主要功能和次 要功能,分清楚主次点,逐个进行熟悉。 1.登录界面:用户输入用户名和密码——点击登录,在密码和用户名正确的情况下可以 进入我们的主界面,当然由于用户权限的问题,登录成功后出现的主界面也不不同,主要功 能也在主界面。 2.主界面:在主界面上面有两排工具栏,用户可以根据自己的需求点击工具栏上面的菜 单,以解决自己的问题和自己需要了解的情况,熟悉我们项目的功能。 ①.信息录入:信息录入包括 3 个子程序,分别是住院病人信息录入、住院病人治疗费 用录入和住院病人药品费用录入。 · 病人信息录入,浏览图片——显示图片——输入病人信息——保存——显示——退 出; · 住院病人治疗费用录入,按要求输如信息——保存——显示——退出; · 住院病人药品费用录入,信息录入——保存——显示——退出。 ②.信息查询:信息查询包括 2 个子程序,分别是住院病人信息查询和住院病人费用查 询。 · 住院病人信息查询,选择大类科——选择专科——选择病区——查询——查看显示 信息——退出; · 住院病人费用查询,选择病人——查询——查看治疗费用——点击药品费用——查 看药品费用——切换病人姓名重复上面操作——退出。 ③.信息统计:住院病人总费用统计,选择大类科——选择专科——选择病区——选择 病人——点击统计按钮——窗体下面查看费用信息——切换病人姓名重复操作—— 退出。 ④.信息打印:病人信息报表打印,输入病人姓名——点击查询——点击预览——点击 打印——点击显示——查看信息——退出。 ⑤.系统维护:病人编码维护、病区编码维护和医生编码维护,输入病人信息——点击 查询——查看信息;在显示信息栏添加病人信息——保存——退出; · 大类科编码维护、专科编码维护、治疗项目编码维护和药品编码维护,点击浅蓝色 箭头——显示大类科信息——点击黄色加号——输入大类科信息——保存——查看 ——退出; · 用户编码维护,输入用户名——输入密码——输入用户权限标志——插入——显示 用户信息——修改——删除——保存——退出。 ⑥.批量复制,点击复制数据——执行成功——显示数据批量复制完成。

20


医院管理信息系统课程设计.doc

医院管理信息系统课程设计 - 帮助做信息系统课程设计的同学... 医院管理信息系统课程设计_管理学_高等教育_教育...(1) 数据结构:处方信息含义说明:定义了病人病情及...

医院管理系统课程设计.doc

医院管理系统课程设计_理学_高等教育_教育专区。医院管理系统 软件工程课程设计 湖南工学院课程设计说明书 设计题目医院管理系统 专业:计算机科学与技术 组员: 指导...

医院信息管理系统MIS课程设计.doc

医院信息管理系统MIS课程设计_管理学_高等教育_教育专区。医院管理信息系统 目录...调查结 果利用图形化工具进行描述,以规范说明。 本 HIS 系统包含出入院管理、...

医院管理系统 课程设计说明书_图文.doc

医院管理系统 课程设计说明书 - 无锡职业技术学院课程设计说明书 一、系统需求与

医院管理系统课程设计.doc

医院管理系统课程设计 - 课程设计说明书 设计题目 医院管理系统 毕业设计(论文

JAVA 医院管理系统课程设计.doc

JAVA 医院管理系统课程设计 - 课程设计说明书 医院管理系统 1.课程设计的

医院管理系统课程设计报考.pdf

医院管理系统课程设计报考 - 学 号 10110071 JAVA 应用程序设计课程设计 设计说明书 电子图书系统 起止日期:2012 年 12 月 24 日至 2013 年 1 月 ...

医院管理系统课程设计.doc

医院管理系统课程设计 - 课程设计 VI 设计说明书 医院药品管理系统的开发 学

java课设 医院管理信息系统.doc

java课设 医院管理信息系统 - 武汉理工大学《java 语言程序设计 A》课程设计说明书 医院管理信息系统 1 需求分析 1.1 现状 当前,医院作为病人就诊的地方,有许多...

医院门诊信息系统课程设计_图文.pdf

医院门诊信息系统课程设计 - 太原工业学院 信息系统开发 系专 部:___经济与管理系___业:___信息管理与信息系统___ 论文题目:___ _医院门诊信息管理...

医院住院管理系统课设报告_图文.doc

医院住院管理系统课设报告_IT/计算机_专业资料。住院管理系统需求:对住院病人实施...学会如何组织和编写信息系统软件设计文档和软件系统的操作说明; 4、具有一定的...

软件工程系课程设计--高校医院管理系统.doc

软件工程系课程设计--高校医院管理系统 - 目 录 1 前言 ... 2 ...

校医院管理信息系统课程设计_图文.pdf

医院管理信息系统课程设计 - 武汉理工大学《制造信息系统课程设计说明书 1 系统规划 1.1 背景 武汉理工大学医院是我校正处级直属单位, 是经上级卫生行政主管...

学生管理系统课程设计说明书分析_图文.doc

学生管理系统课程设计说明书分析 - --- 数据库技术与应用 学生管理系统课程设计说明书 学学班学专姓 年:20132014 期:第一学期 级:B120801 班号:B1...

软件实例分析课程设计医院管理系统.doc

4.医院管理系统采用的说明 .这套管理软件是 04 级软件工程 3 班董琪在软件实例分析课程设计的时 候所编写的,时间关系仅仅实现了部分功能,还望谅解。 二.医院...

【最新版】管理信息系统毕业课程设计说明书示例.doc

【最新版】管理信息系统毕业课程设计说明书示例 - 毕业论文,单片机论文,毕业论文

医院管理信息系统课程设计报告.doc

医院管理信息系统课程设计报告_工作计划_计划/解决方案_实用文档。医院管理信息...报表 6.7 数据字典 (1)数据结构:处方信息 含义说明:定义了病人病情及相关结果...

医院管理系统概要详细说明书.doc

医院管理系统概要详细说明书_预防医学_医药卫生_专业资料。[键入文字] 重 庆 交 通 大 学 《软件工程》课程设计报告 班姓学 级: 名: 号: 计软 1 班 向...

医院管理系统课程设计.pdf

医院管理系统课程设计 - 1 号符图程流据数 1.2 图 流据数 储存据数 工加

医院信息管理系统--数据库课程设计_图文.doc

医院信息管理系统--数据库课程设计_工学_高等教育_教育专区。医院管理系统--...数据库表设计 字段名 字段类型 长度 可否为空 默认值 主键 说明 drug_id ...