




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
計算機科學與技術學院2023-2023學年第1學期《數據庫原理(Ⅲ)》課程設計題目:醫(yī)院病房管理系統(tǒng)班級:080341C班學號:姓名:李晗教師:曹衛(wèi)東成績:一、需求分析近年來,隨著我國人民生活水平的迅速提高,科學技術的進一步發(fā)展,人們對將電子計算機應用于醫(yī)學領域的需求就越來越迫切,一套好的醫(yī)院病房管理系統(tǒng)在全面提高醫(yī)院的整體工作效率、為病人提供方便快捷的服務等方面都能發(fā)揮出重要作用。根據調查,在西方發(fā)達國家,幾乎絕大部分的醫(yī)院都已經采用了醫(yī)院病房管理系統(tǒng),然而在國內的使用尚不普及,許多小型醫(yī)院還是完全依靠手工操作在管理病人和醫(yī)院員工的一切信息,這不僅勞動強度大且工作效率低,醫(yī)師護士和管理人員的大量時間都消耗在事務性工作上,對其所掌握的信息也無法很好地記錄應用起來,這樣既無法提高醫(yī)院自身的醫(yī)療水平,同時又無法很好地為病人服務。信息時代已經來臨,將計算機應用于醫(yī)院的平常管理為醫(yī)院的現代化帶來了從未有過的動力和機遇,為醫(yī)療衛(wèi)生領域的發(fā)展提供了無限的潛力。對于一個醫(yī)院來說,病房管理是一個必備的環(huán)節(jié),病房的入住、費用記錄等都包含著復雜的信息,這就需要應用計算機軟件來對各項工作進行管理以發(fā)揮最大的功效。采用計算機管理信息系統(tǒng)已成為醫(yī)院管理科學化和現代化的標志,給醫(yī)院帶來了明顯的經濟效益和社會效益,它極大的提高了醫(yī)務人員的工作效率,有效地解決了信息的管理問題。這次設計的目的就是為醫(yī)院創(chuàng)建一個方便、實用、快捷的管理系統(tǒng),具有數據庫維護功能,能根據用戶需求進行數據的查詢、添加、刪除、修改,減輕醫(yī)院工作人員的承擔,同時這也是現代化管理的必然規(guī)定。系統(tǒng)功能模塊圖:各模塊所能實現的功能:登錄界面:醫(yī)生只有輸入對的的工作證號和密碼才干登錄系統(tǒng),假如還沒有注冊,可先輸入相關信息進行注冊。管理主頁:列出了該系統(tǒng)所能實現的功能,涉及病人住院登記、出院結算、病人信息管理、醫(yī)院內部信息管理、系統(tǒng)安全密碼設立,醫(yī)生根據需要選擇相應的項目。住院登記:登記病人基本信息,涉及病歷號、姓名、性別、診斷、病房號、床位號、電話號碼、主治醫(yī)生、住院日期,將其提交給系統(tǒng)。出院結算:根據病人的入院日期、出院日期、和所住病房的收費標準,便可計算出病人所需支付的費用。病人信息管理:可以查看所有病人信息,并且能選擇科室進行分科室查看病人信息,還可以通過輸入病人病歷號、選擇想要修改的項目來修改病人信息。醫(yī)院內部信息管理:涉及科室信息管理、醫(yī)生信息管理、病房信息管理、床位信息管理。其中科室信息管理實現添加科室、刪除科室、更新科室、查看所有科室、查看科室醫(yī)生;醫(yī)生信息管理用來添加醫(yī)生、刪除醫(yī)生、更新醫(yī)生、查看所有醫(yī)生、查看醫(yī)生主管病人;病房信息管理實現添加病房、刪除病房、更新病房以及查看所有病房;床位信息管理用來添加床位、刪除床位、還可以查詢床位的使用情況以便合理地為病人分派床位。系統(tǒng)安全密碼設立:為了保證系統(tǒng)的安全性,系統(tǒng)通過對工作證號和舊密碼的驗證,來修改登錄密碼。病房管理系統(tǒng)數據流圖:數據字典:(1)數據結構:病人含義說明:定義了一個病人的信息結構組成:病歷號、姓名、性別、診斷、病房號、床位號、電話號碼、主治醫(yī)生、住院日期(2)數據結構:醫(yī)生含義說明:定義了一個醫(yī)生的信息結構組成:工作證號,姓名,年齡,職稱,部門,電話號碼,密碼(3)數據項:病歷號含義說明:唯一標記一個病人類型:字符型 長度:4取值范圍0000~9999(4)數據項:工作證號含義說明:唯一標記一個醫(yī)生類型:字符型 長度:3取值范圍000~999(5)數據項:密碼含義說明:登陸本病房管理系統(tǒng)時所需的密碼類型:可變字符型長度:15(6)數據流:病房和床位信息說明:表達病房內每一床位的使用狀態(tài)數據來源:病房表和床位表組成:所屬科室,病房號,床位號,目前狀態(tài),收費標準(7)數據流:醫(yī)生主管病人信息說明:表達每一醫(yī)生主治的病人信息數據來源:病人表和醫(yī)生表組成:病歷號,姓名,性別,病房號,床位號,電話號碼,醫(yī)生工作證號,醫(yī)生姓名(8)數據流:科室醫(yī)生信息說明:表達每一科室包含的醫(yī)生信息數據來源:科室表和醫(yī)生表組成:工作證號,姓名,職稱,年齡,電話號碼,科名,科地址,科電話(9)解決過程:登記病人信息說明:向系統(tǒng)錄入病人信息輸入:病歷號、姓名、性別、診斷、病房號、床位號、電話號碼、主治醫(yī)生、住院日期解決:一方面根據病人診斷的結果,從病房和床位信息中選擇一個空的床位,然后將病人相關信息輸入系統(tǒng)。(10)解決過程:出院結算說明:結算病人住院期間所需費用輸入:病歷號、出院日期輸出:姓名、病房號、收費標準、住院日期、應付金額解決:根據病人的病歷號,從數據庫中得到相應的住院信息,由出院日期和收費標準系統(tǒng)可返回應支付的費用。二、結構設計1.概念結構設計全局E-R圖:2.邏輯結構設計將E-R圖轉換為關系模式為:病人(病歷號,姓名,性別,診斷,病房號,床位號,電話號碼,主治醫(yī)生,住院日期)醫(yī)生(工作證號,姓名,年齡,職稱,部門,電話號碼,密碼)科室(科名,科電話,科地址)病房(病房號,所屬科室,收費標準)病床(病房號,病床號,目前狀態(tài))治療(病歷號,工作證號)屬于(工作證號,科名)包含(科名,病房號)入?。úv號,病房號)擁有(病房號,病床號)關系圖如下所示:3.物理結構設計1)對于醫(yī)生表:系統(tǒng)涉及了對工作證號、姓名、職稱、部門的查詢,因此為其各建立一個升序的索引。2)對于病人表:系統(tǒng)涉及了對病歷號、診斷、病房號、主治醫(yī)生工作號的查詢,因此為其各建立一個升序的索引。3)對于病房表:系統(tǒng)涉及到了對病房號、所屬科室的查詢,因此為其各建立一個升序的索引。4)對于病床表:系統(tǒng)涉及到了對病房號、床位號的查詢,因此為其各建立一個升序的索引。三、重要編碼及描述:1.數據庫服務器端1)視圖一:CREATEVIEW醫(yī)生視圖ASSELECT工作證號,姓名,職稱,年齡,電話號碼,部門FROM醫(yī)生作用:醫(yī)生表中有一列屬性是密碼,當查詢醫(yī)生信息時,不應顯示出來,所以查詢時可以直接查詢該視圖,輸出除密碼以外的信息。視圖二:CREATEVIEW醫(yī)生主管病人視圖ASSELECT病人.病歷號,病人.姓名AS病人姓名,病人.性別,病人.病房號,病人.病床號,病人.電話號碼,醫(yī)生.姓名AS醫(yī)生姓名,醫(yī)生.工作證號FROM病人,醫(yī)生WHERE病人.主治醫(yī)生工作號=醫(yī)生.工作證號ORDERBY醫(yī)生.工作證號,病人.病歷號作用:該視圖將醫(yī)生表和病人表聯系起來,當輸入醫(yī)生的工作證號后,可直接調用該視圖,將相關的醫(yī)生信息和病人信息以醫(yī)生工作證號為第一順序、病人病歷號為第二順序輸出。視圖三:CREATEVIEW科室醫(yī)生信息情況ASSELECT醫(yī)生.工作證號,醫(yī)生.姓名,醫(yī)生.職稱,醫(yī)生.年齡,醫(yī)生.電話號碼,科室.科名,科室.科地址,科室.科電話FROM醫(yī)生,科室WHERE醫(yī)生.部門=科室.科名ORDERBY醫(yī)生.工作證號作用:該視圖將科室表和醫(yī)生表聯系起來,當選擇科室名稱后,可直接調用該視圖,將相關的科室信息和醫(yī)生信息按醫(yī)生工作證號的順序輸出。視圖四:CREATEVIEW出院結算視圖ASSELECT病人.病歷號,病人.姓名,病人.性別,病人.診斷,病人.住院日期,病人.病房號,病房.收費標準FROM病人,病房WHERE病人.病房號=病房.病房號ORDERBY病人.病歷號作用:當病人出院時結算費用,需要知道住院日期、病房號及收費標準以便進一步的計算。該視圖將病人表和病房表聯系起來,輸入病人病歷號后,即可顯示出住院日期、收費標準等相關信息。2)存儲過程:CREATEPROCEDUREchuyuan(@idchar(20),@tmdatetime,@ppintoutput)ASdeclare@aintdeclare@bintdeclare@cdatetimeselect@a=病房號from病人where病歷號=@idselect@b=收費標準from病房where病房號=@aselect@c=住院日期from病人where病歷號=@idselect@a=datediff(day,@c,@tm)set@pp=@a*@bGO作用:該存儲過程將病人病歷號和出院日期作為輸入,分別賦值給變量id、tm,經select語句得到收費標準賦給變量b、和住院日期賦給變量c,用函數datediff(day,@c,@tm)計算出住院天數,住院天數和收費標準的乘積即為結算費用,將它賦給變量pp并作為輸出返回。3)觸發(fā)器一:createTRIGGERupON病人FORINSERTASBeginDeclare@NRvarchar(50),@NBvarchar(50)Select@NR=病房號,@NB=病床號frominsertedUpdate病床Set目前狀態(tài)="有人"Where病房號=@NRand床位號=@NBEnd作用:當有新病人登記入住時觸發(fā)事件,設立病人所在床位的目前狀態(tài)為“有人”,以免再有病人入住此床位時發(fā)生沖突。觸發(fā)器二:createTRIGGERdeON病人FORdeleteASBeginDeclare@NRvarchar(50),@NBvarchar(50)Select@NR=病房號,@NB=病床號fromdeletedUpdate病床Set目前狀態(tài)="無人"Where病房號=@NRand床位號=@NBEnd作用:當有病人出院時將其信息刪除,觸發(fā)該事件,設立病人之前床位的目前狀態(tài)為“無人”,以便以后其他病人可以使用此床位。2.應用服務器端1)數據錄入功能:通過“住院登記”界面,將錄入的病人相關信息存儲到數據庫病人表中;protectedvoidButton1_Click(objectsender,EventArgse){SqlConnectionSunCon=newSqlConnection("DataSource=localhost;InitialCatalog=病房管理系統(tǒng);IntegratedSecurity=True");SunCon.Open();//打開SunCon對象所連接的數據庫stringStuSQL;//用來存放SQL命令的字符串StuSQL="INSERTINTO病人(病歷號,姓名,性別,診斷,病房號,電話號碼,主治醫(yī)生工作號,住院日期,病床號)VALUES('";StuSQL=StuSQL+TextBox1.Text+"','"+TextBox2.Text+"','"+TextBox10.Text+"','";StuSQL=StuSQL+TextBox4.Text+"','"+TextBox5.Text+"','"+TextBox6.Text+"','"+TextBox7.Text+"','"+TextBox8.Text+"','"+TextBox9.Text+"')";SqlCommandStuIns=newSqlCommand(StuSQL,SunCon);StuIns.ExecuteNonQuery();//針對SunCon所連接的數據庫,執(zhí)行StuIns對象SunCon.Close();//關閉SunCon對象所連接的數據庫Response.Write("<scriptlaguage=javacript>alert('已登記')</script>");}2)數據刪除功能:通過“刪除醫(yī)生信息”界面,實現將數據庫中醫(yī)生表中的相應醫(yī)生信息進行刪除;protectedvoidButton1_Click(objectsender,EventArgse){SqlConnectionSunCon=newSqlConnection("DataSource=localhost;InitialCatalog=病房管理系統(tǒng);IntegratedSecurity=True");SunCon.Open();stringStuSQL;StuSQL="deletefrom醫(yī)生where工作證號="+TextBox1.Text.Trim();SqlCommandcmd=newSqlCommand(StuSQL,SunCon);cmd.ExecuteNonQuery();Response.Write("<scriptlaguage=javacript>alert('成功刪除')</script>");}3)數據檢索功能:通過“查看科室病人信息”界面,實現根據DropDownList中選擇的科室名稱對數據庫中的病人表進行查詢,并將查詢結果顯示給用戶。protectedvoidPage_Load(objectsender,EventArgse){SqlConnectionSunCon=newSqlConnection("DataSource=localhost;InitialCatalog=病房管理系統(tǒng);IntegratedSecurity=True");if(!IsPostBack)//網頁第一次加載時{SunCon.Open();stringStuSQL;StuSQL="SELECT科名FROM科室";SqlDataAdapterSunAda=newSqlDataAdapter(StuSQL,SunCon);DataSetSunSet=newDataSet();SunAda.Fill(SunSet,"科名");DropDownList1.DataSource=SunSet;DropDownList1.DataMember="科名";DropDownList1.DataTextField="科名";DropDownList1.DataBind();stringStuSQL2;StuSQL2="SELECT病歷號,姓名,性別,病房號,病床號,主治醫(yī)生工作號,住院日期,電話號碼FROM病人where診斷="+"'"+DropDownList1.SelectedValue.ToString()+"'";SqlCommandStuIns=newSqlCommand(StuSQL2,SunCon);SqlDataReaderSunDa=StuIns.ExecuteReader();//使用ExecuteReader方法執(zhí)行SQL命令,并將結果存儲在SunDa對象中GridView1.DataSource=SunDa;GridView1.DataBind();SunCon.Close();}}protectedvoidDropDownList1_SelectedIndexChanged(objectsender,EventArgse){SqlConnectionSunCon=newSqlConnection("DataSource=localhost;InitialCatalog=病房管理系統(tǒng);IntegratedSecurity=True");SunCon.Open();stringStuSQL3;StuSQL3="SELECT病歷號,姓名,性別,病房號,病床號,主治醫(yī)生工作號,住院日期,電話號碼FROM病人where診斷="+"'"+DropDownList1.SelectedValue.ToString()+"'";SqlCommandStuIns=newSqlCommand(StuSQL3,SunCon);SqlDataReaderSunDa=StuIns.ExecuteReader();//使用ExecuteReader方法執(zhí)行SQL命令,并將結果存儲在SunDa對象中GridView1.DataSource=SunDa;GridView1.DataBind();SunCon.Close();}4)數據修改功能:通過“更新醫(yī)生信息”界面,選擇想要的修改項,實現修改數據庫中醫(yī)生表的相關項為設立的新值。protectedvoidButton2_Click(objectsender,EventArgse){SqlConnectionSunCon=newSqlConnection("DataSource=localhost;InitialCatalog=病房管理系統(tǒng);IntegratedSecurity=True");SunCon.Open();//打開SunCon對象所連接的數據庫stringStuSQL;//用來存放SQL命令的字符串StuSQL="UPDATE醫(yī)生set職稱='"+TextBox3.Text+"'where工作證號='"+TextBox1.Text+"'";SqlCommandupd=newSqlCommand(StuSQL,SunCon);upd.ExecuteNonQuery();SunCon.Close();//關閉SunCon對象所連接的數據庫}protectedvoidButton3_Click(objectsender,EventArgse){SqlConnectionSunCon=newSqlConnection("DataSource=localhost;InitialCatalog=病房管理系統(tǒng);IntegratedSecurity=True");SunCon.Open();//打開SunCon對象所連接的數據庫stringStuSQL;//用來存放SQL命令的字符串StuSQL="UPDATE醫(yī)生set年齡='"+TextBox4.Text+"'where工作證號='"+TextBox1.Text+"'";SqlCommandupd=newSqlCommand(StuSQL,SunCon);upd.ExecuteNonQuery();//針對SunCon所連接的數據庫,執(zhí)行upd對象所包含的名為StuSQL的SQL命令SunCon.Close();//關閉SunCon對象所連接的數據庫}protectedvoidButton4_Click(objectsender,EventArgse){SqlConnectionSunCon=newSqlConnection("DataSource=localhost;InitialCatalog=病房管理系統(tǒng);IntegratedSecurity=True");SunCon.Open();//打開SunCon對象所連接的數據庫stringStuSQL;//用來存放SQL命令的字符串StuSQL="UPDATE醫(yī)生set電話號碼='"+TextBox5.Text+"'where工作證號='"+TextBox1.Text+"'";SqlCommandupd=newSqlCommand(StuSQL,SunCon);upd.ExecuteNonQuery();SunCon.Close();//關閉SunCon對象所連接的數據庫}四、運營說明:重要界面展示床位管理說明:該界面用于管理病房的床位信息。先選擇科室,再從該科室所含的病房中選擇一個,便可實現查詢此病房中各床位的目前狀態(tài),以供病人登記時參考,還可實現向此病房中添加床位或刪除已有床位。住院登記說明:該界面用于病人住院時登記相關信息。擬定要入住的病房和床位后按規(guī)定輸入病人的相關信息,其中一些數據項具有一定的約束條件,將其提交給系統(tǒng),供醫(yī)生查詢其所需信息以及出院時查詢住院情況。修改病人信息說明:該界面用于修改病人信息。輸入病人的病歷號,然后從下拉列表中選擇要修改的數據項,相應的那一部分就會變?yōu)榭梢?,向其中輸入新內容后,點擊修改按鈕,即可實現修改后臺數據庫病人的相關信息。出院結算說明:該界面用于病人出院結算費用。輸入病人的病歷號后,可將其住院信息顯示出來。再輸入出院日期,系統(tǒng)會調用存儲過程計算出住院天數和收費標準的乘積即結算費用。病人支付費用后,可將其信息從系統(tǒng)刪除,所住床位的狀態(tài)自動變?yōu)闊o人。五、課程設計總結在本次數據庫課程設計中,我設計和開發(fā)了一個小型的病房管理系統(tǒng),實現了對病人的住院登記、住院結算、信息查詢、信息修改,對科室信息、醫(yī)生信息、病房信息、床位信息的增、刪、查、改,和系統(tǒng)安全密碼設立的功能。設計過程中曾經碰到了不少難點和問題,如:將界面和后臺數據庫聯系起來時犯錯;對數據庫中信息操作時有時忽略了參照完整性;病人出院結算時輸入相關信息調用存儲過程,然后將結算費用賦給變量并作為輸出返回,該過程在數據庫的查詢分析器中可以實現,但在程序中卻不能正常運營;頁面間參數傳遞實現不了;還出現了一些語法錯誤,和對一些控件的屬性及事件不熟悉等。對于上述這些難點,我花了很多時間去解決,反復看老師所給的事件代碼、將每一條語句都理解透徹,查閱數據庫教
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權】 ISO 7519:2025 EN Technical product documentation (TPD) - Construction documentation - General principles of presentation for general arrangement and assembly drawings
- 聘用項目總工合同
- 個體診所聘用合同
- 預定租房合同協(xié)議
- 攝像攝影服務合同
- 工地門衛(wèi)勞動合同
- 勞務派遣人員勞動合同書
- 13足球運球繞桿 教學設計 -九年級體育與健康
- 天津音樂學院《寫作與溝通》2023-2024學年第二學期期末試卷
- 江蘇科技大學《大數據處理框架》2023-2024學年第二學期期末試卷
- 2023-2024年人教版八年級上冊數學期末模擬試卷(含答案)
- 數據采集管理制度范文
- 幼兒園小班開學家長會課件
- 中藥抗骨質疏松作用
- 中建綜合支吊架施工方案
- 建筑施工規(guī)范大全
- 幼兒園開學家長會PPT模板(含完整內容)
- 表冷器更換施工方案
- 瀝青集料篩分反算計算表格(自動計算)
- 哲學與人生(中職)PPT完整全套教學課件
- 惡性高熱課件
評論
0/150
提交評論