醫(yī)院門診掛號(hào)系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)與應(yīng)用課程設(shè)計(jì)_第1頁(yè)
醫(yī)院門診掛號(hào)系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)與應(yīng)用課程設(shè)計(jì)_第2頁(yè)
醫(yī)院門診掛號(hào)系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)與應(yīng)用課程設(shè)計(jì)_第3頁(yè)
醫(yī)院門診掛號(hào)系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)與應(yīng)用課程設(shè)計(jì)_第4頁(yè)
醫(yī)院門診掛號(hào)系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)與應(yīng)用課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

成績(jī):數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用課程設(shè)計(jì)題目:醫(yī)院門診掛號(hào)系統(tǒng)班級(jí):軟件2班姓名:林苾湲學(xué)號(hào):20112723日期:評(píng)語(yǔ):簽字:

1系統(tǒng)總體設(shè)計(jì)方案1.1系統(tǒng)實(shí)現(xiàn)目標(biāo)本系統(tǒng)是一個(gè)功能強(qiáng)大、操作使用簡(jiǎn)單、智能化、可擴(kuò)展性、集成有效性和垮平臺(tái)的醫(yī)院門診掛號(hào)系統(tǒng)。1.2系統(tǒng)功能模塊設(shè)計(jì)醫(yī)院門診掛號(hào)系統(tǒng)醫(yī)院門診掛號(hào)系統(tǒng)信息維護(hù)門診管理院長(zhǎng)查詢醫(yī)生信息維護(hù)科室信息維護(hù)首次掛號(hào)就診卡掛號(hào)科室掛號(hào)量后臺(tái)信息維護(hù)圖1.2.1功能模塊其中各模塊的信息維護(hù)還包括對(duì)各類信息的增刪改查操作。后臺(tái)管理(權(quán)限管理)若為超級(jí)管理員,則可進(jìn)行用戶的增刪改查由于多組合查詢功能比較簡(jiǎn)單,只需輸入相關(guān)查詢的條件即可進(jìn)行多組合模糊查詢,因此在此并沒(méi)有畫出查詢子系統(tǒng)的總體結(jié)構(gòu)。1.3數(shù)據(jù)庫(kù)設(shè)計(jì)1.3.1數(shù)據(jù)庫(kù)表設(shè)計(jì)數(shù)據(jù)庫(kù)表的命名是用表名的英文或英文縮寫,編程實(shí)現(xiàn)簡(jiǎn)單易記。(1)用戶信息表Tuser:保存系統(tǒng)使用者的信息,包括用戶名及其密碼。(2)醫(yī)生資料表TDoctor:保存醫(yī)生信息,包括醫(yī)生所屬的科室。(3)科室資料表TDepartment:保存科室分類信息,如分為內(nèi)科、外科。(4)病人信息表TPatient:保存病人的基本信息,以后可以重復(fù)使用。(5)門診掛號(hào)表TRegister:保存門診病人掛號(hào)的信息。(6)門診掛號(hào)類型表TRegisterType:保存門診掛號(hào)類型分類信息及其掛號(hào)價(jià)格,如普通2系統(tǒng)實(shí)現(xiàn)2.1PB11.5和SQLSERVER2012連接PB11.5和SQLSERVER2012連接方式有兩種,一種是通過(guò)ODBC數(shù)據(jù)源連接數(shù)據(jù)庫(kù),另一種是MSSSQLSERVER專用接口連接數(shù)據(jù)庫(kù)。前者首先在計(jì)算機(jī)ODBC數(shù)據(jù)源管理器中創(chuàng)建新的數(shù)據(jù)源,設(shè)置好DataSourceName(數(shù)據(jù)源名稱)和DataBase(數(shù)據(jù)庫(kù)文件名),然后在PB中建立數(shù)據(jù)庫(kù)配置文件(配置文件就是命名了的一組連接到特定數(shù)據(jù)源或數(shù)據(jù)庫(kù)的參數(shù)),輸入ProfileName(配置文件的名字)和DataSource(定義好的ODBC數(shù)據(jù)源),點(diǎn)擊Connect按鈕即可。此外,在通過(guò)專用接口連接數(shù)據(jù)庫(kù)時(shí)還可以使用配置參數(shù)文件連接數(shù)據(jù)庫(kù)。配置參數(shù)文件主要包含數(shù)據(jù)庫(kù)名,服務(wù)器地址,登錄名,登錄密碼等內(nèi)容。2.2應(yīng)用系統(tǒng)的對(duì)象在應(yīng)用程序?qū)ο蟮腛pen事件中輸入如下代碼:SQLCA.DBMS="ODBC"SQLCA.AutoCommit=FalseSQLCA.DBParm="ConnectString='DSN=hmis;UID=hisl;PWD=123456'"http://連接數(shù)據(jù)庫(kù)ConnectusingSQLCA;ifsqlca.sqlcode<>0THEN messagebox("數(shù)據(jù)庫(kù)連接出錯(cuò)",SQLCA.SQLerrtext)else open(w_login)endif應(yīng)用程序運(yùn)行后連接數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)連接好后就出現(xiàn)系統(tǒng)登錄界面,否則退出系統(tǒng),直至數(shù)據(jù)庫(kù)連接成功.在應(yīng)用程序?qū)ο蟮淖兞慷x窗口中,定義全局變量用于應(yīng)用程序不同對(duì)象間參數(shù)的傳遞。2.3登錄模塊2.3.1功能概述用戶登錄系統(tǒng)窗口是用戶進(jìn)入系統(tǒng)的唯一通道,它是進(jìn)入應(yīng)用系統(tǒng)的喉舌,在安全保密、系統(tǒng)維護(hù)中占有重要的地位,登錄系統(tǒng)在外觀界面上一定要美觀、友好,登錄系統(tǒng)就是要驗(yàn)證當(dāng)前的用戶名是否與該用戶密碼一致,用戶類型是否正確,限制用戶登錄出錯(cuò)的次數(shù),保留登錄痕跡等工作。2.3.2主要技術(shù)要點(diǎn)(1)保留登錄痕跡根據(jù)操作局部性原理,一般情況下用戶上次登錄之后還會(huì)繼續(xù)登錄,因此在程序中可以依照人機(jī)交互界面友好性原則保留用戶登錄時(shí)的用戶名,控件sle_1用來(lái)顯示用戶名,profilestring是一個(gè)函數(shù),用來(lái)讀取profile文件中一組參數(shù),核心代碼如下://將登錄名寫入配置文件SetProfileString("user.ini","user","username",sle_1.text)gs_username=sle_1.text//將配置文件中的登錄名寫到用戶名的編輯框中sle_1.text=profilestring("user.ini","user","username","")iftrim(sle_1.text)<>""then sle_2.setfocus()else sle_1.setfocus()endif(2)友情提示用戶登錄出錯(cuò)的原因用戶登錄錯(cuò)誤的原因可能包括用戶名不存在,密碼錯(cuò)誤等等核心代碼如下:t//判斷輸入的用戶名是否存在。密碼是否正確selectUid,Upwdinto:lg_uid,:lg_upwdfromTUserwhereUid=:sle_1.text;iflg_uid=""then st_4.text="提示:當(dāng)前輸入的用戶名不存在!" sle_1.text='' sle_2.text='' sle_1.setfocus()returnendififlg_upwd<>sle_2.textthen st_4.text="提示:輸入的密碼錯(cuò)誤!" sle_2.text='' sle_1.setfocus()returnendif2.4系統(tǒng)主窗口和菜單的設(shè)計(jì)2.4.1功能概述醫(yī)院門診掛號(hào)系統(tǒng)的主窗口是信息管理系統(tǒng)的重要部分,勾勒出整個(gè)應(yīng)用程序的概況,系統(tǒng)的主要功能為:病人首次就診(即需要填寫病人信息來(lái)辦理就診卡)、就診卡就診、當(dāng)前科室掛號(hào)量以及掛號(hào)信息的查詢醫(yī)生信息管理(包括增刪查改)、科室信息管理(包括增刪查改)、用戶信息管理,注銷(可以切換用戶)。2.4.2主要技術(shù)要點(diǎn)(1)對(duì)主窗口中的功能按鍵進(jìn)行了權(quán)限管理在本系統(tǒng)中實(shí)現(xiàn)的是當(dāng)?shù)卿浀挠脩舨皇浅?jí)管理員,即用戶名為000的用戶使,用戶無(wú)法使用后臺(tái)信息管理功能。核心代碼如下:stringuseruser=profilestring("user.ini","user","username","")ifuser="000"thenm_main.m_后臺(tái)管理.enabled=trueelse m_main.m_后臺(tái)管理.enabled=falseendif(2)定義了計(jì)時(shí)器,可以隨系統(tǒng)顯示當(dāng)前時(shí)間和當(dāng)前使用這個(gè)系統(tǒng)的用戶名核心代碼如下datetimed1selectgetdate()into:d1fromTuser;this.title="醫(yī)院門診掛號(hào)系統(tǒng)"+""+gs_username+""+string(d1)2.5首次就診卡就診2.5.1功能概述首次就診卡就診是門診掛號(hào)管理中比較重要的模塊,由于病人沒(méi)有就診卡號(hào)故先進(jìn)行信息錄入,并賦予一個(gè)就診卡號(hào),隨之,即可進(jìn)行掛號(hào),選擇掛號(hào)科室,類型,醫(yī)生,還可以查詢當(dāng)前該科室的掛號(hào)人數(shù),所有這些信息均會(huì)在一個(gè)框內(nèi)打印出來(lái),用戶可以查看這些信息。2.5.2主要技術(shù)要點(diǎn)(1)掛號(hào)功能由于該功能是將錄入病人信息和掛號(hào)結(jié)合合在一起,故使得操作更為簡(jiǎn)便。stringreg_genderifrb_1.checked=truethen reg_gender="男"endififrb_2.checked=truethen reg_gender="女"endifdatedtdt=date(dp_1.text)insertintoTPatient(Pid,Pname,Pgender,Pidcard,Pbirthday,Ptel)values(:sle_3.text,:sle_2.text,:reg_gender,:sle_5.text,:dt,:sle_1.text);datetimeregdtstringreg_deptid,reg_docid,regtype,regpriceselectgetdate()into:regdtfromTuser;stringtimes,rid,rstintitimes=string(regdt)fori=1to19rst=mid(times,i,1)ifisnumber(rst)=truethenrid=rid+rstendifnextselectDpmtidinto:reg_deptidfromTDeptmentwhereDpmtname=:ddlb_1.text;selectDidinto:reg_docidfromTDoctorwhereDname=:ddlb_3.text;selectRtypeid,Regpriceinto:regtype,:regpricefromTRegisterTypewhereRTypename=:ddlb_2.text;intnumselectcount(*)into:numfromTRegisterwhereDid=:reg_docid;insertintoTRegister(Rid,Pid,Rtypeid,Dpmtid,Did,RegistDate)values(:rid,:sle_3.text,:regtype,:reg_deptid,:reg_docid,:regdt);mle_1.text="姓名:"+sle_2.text+"~r~n就診卡號(hào):"+sle_1.text+"~r~n掛號(hào):"+rid+"~r~n掛號(hào)科室:"+ddlb_1.text+"~r~n掛號(hào)類型:"+ddlb_2.text+"~r~n掛號(hào)醫(yī)生:"+ddlb_3.text+"~r~n掛號(hào)費(fèi)用:"+regprice+"~r~n~r~n前面還有"+string(num)+"人掛號(hào)"+"~r~n~r~n時(shí)間:~r~n"+string(regdt)2.6就診卡就診2.6.1功能概述該功能也是門診掛號(hào)系統(tǒng)的重要功能,用戶只需要輸入就診卡號(hào)就可得到,該病人的主要信息,然后再進(jìn)行掛號(hào)科室,掛號(hào)類型,掛號(hào)醫(yī)生的選擇,掛號(hào)的功能與首次掛號(hào)的功能類似。2.6.2主要技術(shù)要點(diǎn)(1)輸入就診卡號(hào)得到病人信息輸入就診卡號(hào)得到病人信息的功能是通過(guò)數(shù)據(jù)庫(kù)查詢技術(shù)實(shí)現(xiàn)的。SQL語(yǔ)句使用SELECT子句,F(xiàn)ROM子句,WHERE子句。核心代碼如下:ifsle_1.text=''then messagebox("提示","就診卡號(hào)不能為空!") sle_1.setfocus() returnendifstringreg_pid,reg_pname,reg_gender,reg_idcarddatereg_birthdayselectPid,Pname,Pgender,Pidcard,Pbirthdayinto:reg_pid,:reg_pname,:reg_gender,:reg_idcard,:reg_birthdayfromTPatientwherePid=:sle_1.text;ifreg_pid=""then messagebox("提示","無(wú)當(dāng)前就診卡號(hào)!") sle_1.text='' sle_1.setfocus()returnendif(2)游標(biāo)技術(shù)調(diào)入基本信息掛號(hào)科室,醫(yī)生等值是通過(guò)游標(biāo)技術(shù)來(lái)實(shí)現(xiàn),掛號(hào)科室是在窗口的open事件中從數(shù)據(jù)庫(kù)讀取業(yè)務(wù)系統(tǒng)名,醫(yī)生再通過(guò)科室信息那個(gè)ddlb的selectchange事件中從數(shù)據(jù)庫(kù)根據(jù)選擇科室的類型讀取該科室下的醫(yī)生的姓名。核心代碼如下:stringls_doctorstringls_didselectDpmtidinto:ls_didfromTDeptmentwhereDpmtname=:ddlb_1.text; ddlb_3.reset()declareget_doccursorforSELECTdistinctDnameFROMTDoctorwhereDpmtid=:ls_did;openget_doc;fetchget_docinto:ls_doctor;dowhilesqlca.sqlcode=0ddlb_3.additem(ls_doctor)fetchget_docinto:ls_doctor;loopcloseget_doc;2.7科室掛號(hào)量查詢功能2.7.1功能概述用戶可以通過(guò)該功能來(lái)查看當(dāng)前各科室的掛號(hào)量或者所有科室的掛號(hào)量以及詳細(xì)的掛號(hào)信息。2.7.2主要技術(shù)要點(diǎn)(1)實(shí)現(xiàn)數(shù)據(jù)窗口對(duì)象的動(dòng)態(tài)加載在查看界面中只有一個(gè)數(shù)據(jù)窗口,而數(shù)據(jù)窗口對(duì)象根據(jù)不同的查詢方式實(shí)時(shí)動(dòng)態(tài)地加載。核心代碼如下:dw_1.settransobject(SQLCA)ifddlb_1.text<>"[全部]"thendw_1.retrieve(ls_did)else dw_1.retrieve("%")endif實(shí)現(xiàn)在datasourse設(shè)置了查詢功能SELECTtregister.rid,tregister.pid,tregister.rtypeid,tregister.dpmtid,tregister.did,tregister.registdateFROMtregisterWHEREtregister.dpmtidlike:dpmtid(2)總的掛號(hào)量的統(tǒng)計(jì)通過(guò)SQL語(yǔ)句中的Count(*)子句來(lái)統(tǒng)計(jì)所有科室的掛號(hào)量以及各個(gè)科室的掛號(hào)量stringls_didselectDpmtidinto:ls_didfromTDeptmentwhereDpmtname=:ddlb_1.text; intnumselectcount(*)into:numfromTRegisterwhereDpmtid=:ls_did;st_5.text=string(num)2.8醫(yī)生信息管理2.8.1功能概述該功能模塊包括對(duì)醫(yī)生信息的添加和修改,刪除以及查詢。查詢可以通過(guò)輸入任何有關(guān)醫(yī)生信息的子集,通過(guò)模糊查找即可查找跟該檢索信息有關(guān)的醫(yī)生信息2.8.2主要技術(shù)要點(diǎn)(1)添加,修改,刪除的數(shù)據(jù)庫(kù)操作在本應(yīng)用中采用數(shù)據(jù)庫(kù)SQL語(yǔ)句的INSERT子句,UPDATE子句,DELETE子句,并且實(shí)現(xiàn)了數(shù)據(jù)窗口的實(shí)時(shí)更新,當(dāng)做了諸如增刪改的操作后。核心代碼如下:stringreg_genderifrb_1.checked=truethen//將復(fù)選框中的選中轉(zhuǎn)換為可輸入數(shù)據(jù)庫(kù)的字符串 reg_gender="男"endififrb_2.checked=truethen reg_gender="女"endifdatedtdt=date(dp_1.text)stringreg_deptid//醫(yī)生信息插入數(shù)據(jù)庫(kù)selectDpmtidinto:reg_deptidfromTDeptmentwhereDpmtname=:ddlb_2.text;insertintoTDoctorvalues(:sle_2.text,:sle_1.text,:reg_gender,:dt,:ddlb_1.text,:reg_deptid,:sle_4.text,:sle_3.text);//更新數(shù)據(jù)窗口dw_1.retrieve()//修改信息updateTDoctorsetDid=:sle_2.text,Dname=:sle_1.text,Dgender=:reg_gender,Dbirthday=:dt,Dgrade=:ddlb_1.text,Dpmtid=:reg_deptid,Dtel=:sle_4.text,Didcard=:sle_3.textwhereDid=:st_id.text;//刪除信息ifmessagebox('提示:是否刪除?',sle_1.text,question!,yesno!)=2thenreturnDELETEFROMTDoctorWHEREDid=:st_id.text;dw_1.retrieve()(2)信息的模糊查詢數(shù)據(jù)窗口的過(guò)濾條件是可以對(duì)字符串型的字段進(jìn)行過(guò)濾的。對(duì)于多個(gè)字段的過(guò)濾條件是通過(guò)OR邏輯關(guān)系進(jìn)行連接。以此實(shí)現(xiàn)多角度的查詢。核心代碼如下:stringls_filteriftrim(sle_5.text)=""thenls_filter=""elsels_filter="Pos(Dname,'"+sle_5.text+"',1)>0"+"orPos(Did,'"+sle_5.text+"',1)>0"+"orPos(Dpmtid,'"+sle_5.text+"',1)>0"+"orPos(Dgrade,'"+sle_5.text+"',1)>0"endifdw_1.setfilter(ls_filter)dw_1.filter()(3)編輯框的實(shí)時(shí)更新當(dāng)用戶在數(shù)據(jù)窗口中選中了某條記錄,并雙擊該條記錄,其詳細(xì)信息關(guān)聯(lián)顯示到各對(duì)應(yīng)的編輯框,并改變刪除,修改按鈕的使用狀態(tài)為True,用戶即可對(duì)信息進(jìn)行編輯或刪除stringch_dpmtid,ch_dpmtname,ch_dgenderifrow>0thensle_1.text=dw_1.object.dname[row]sle_2.text=dw_1.object.did[row]sle_3.text=dw_1.object.didcard[row]sle_4.text=dw_1.object.dtel[row] ddlb_1.text=dw_1.object.dgrade[row] ch_dpmt

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論