![病歷管理系統(tǒng)設(shè)計(jì)_第1頁(yè)](http://file4.renrendoc.com/view/886b7c644333f6d096b45ecd63ab4b12/886b7c644333f6d096b45ecd63ab4b121.gif)
![病歷管理系統(tǒng)設(shè)計(jì)_第2頁(yè)](http://file4.renrendoc.com/view/886b7c644333f6d096b45ecd63ab4b12/886b7c644333f6d096b45ecd63ab4b122.gif)
![病歷管理系統(tǒng)設(shè)計(jì)_第3頁(yè)](http://file4.renrendoc.com/view/886b7c644333f6d096b45ecd63ab4b12/886b7c644333f6d096b45ecd63ab4b123.gif)
![病歷管理系統(tǒng)設(shè)計(jì)_第4頁(yè)](http://file4.renrendoc.com/view/886b7c644333f6d096b45ecd63ab4b12/886b7c644333f6d096b45ecd63ab4b124.gif)
![病歷管理系統(tǒng)設(shè)計(jì)_第5頁(yè)](http://file4.renrendoc.com/view/886b7c644333f6d096b45ecd63ab4b12/886b7c644333f6d096b45ecd63ab4b125.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
病歷管理系統(tǒng)太原理工大學(xué)病歷管理系統(tǒng)太原理工大學(xué)專業(yè):計(jì)算機(jī)信息管理學(xué)生姓名:郭蕾指導(dǎo)教師:路老師完成時(shí)間:2015年8月22日病歷管理系統(tǒng)摘要病歷管理系統(tǒng)是醫(yī)院管理系統(tǒng)的重要組成部分,該系統(tǒng)的開發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立以及前臺(tái)應(yīng)用程序的開發(fā)兩個(gè)方面。對(duì)于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的數(shù)據(jù)庫(kù),而對(duì)于后者則要求具有齊全完善的應(yīng)用程序功能,友好人性化的操作界面。該系統(tǒng)采用現(xiàn)代的辦公自動(dòng)化理念,面向中小型醫(yī)院,實(shí)現(xiàn)無紙化辦公,確保醫(yī)療單位在病歷保管實(shí)現(xiàn)高效辦公,規(guī)范管理。本論文主要介紹了病理管理系統(tǒng)的設(shè)計(jì)開發(fā)與實(shí)現(xiàn)的全部過程。并運(yùn)用功能結(jié)構(gòu)圖、數(shù)據(jù)庫(kù)關(guān)系圖和E-R圖等對(duì)核心模塊的設(shè)計(jì)過程進(jìn)行了詳細(xì)的說明。病歷管理系統(tǒng)整體基于B/S(瀏覽器/服務(wù)器)模式,后臺(tái)數(shù)據(jù)庫(kù)選用SQLServer2000,使用ASP嵌入HTML語言來設(shè)計(jì)實(shí)現(xiàn)。實(shí)現(xiàn)了病歷在保管中的周期過程,完成了從患者的注冊(cè)到患者的出院等一系列病歷流程。簡(jiǎn)化了繁瑣的手工操作,規(guī)范化整個(gè)病歷處理流程,使得病歷的流轉(zhuǎn)更方便快捷。關(guān)鍵字:管理信息系統(tǒng);數(shù)據(jù)庫(kù);病歷管理系統(tǒng);系統(tǒng)源代碼;數(shù)據(jù)流圖?!居⑽恼縈edicalrecordmanagementsystemisanimportantpartofhospitalmanagementsystem,whichmainlyincludestwoaspects:theestablishmentofthebackgrounddatabaseandthedevelopmentoftheforegroundapplicationprogram.Theformerrequirestheestablishmentofdataconsistencyandintegrity,datasecuritygooddatabase,andforthelatter,thelatterrequiresacompleteandperfectapplicationfunctions,user-friendlyinterface.Thesystemusesmodernofficeautomationconcept,forsmallandmediumhospitals,toachievepaperlessoffice,toensurethatmedicalunitsinthecaseofmedicalrecordstoachieveefficientoffice,standardizedmanagement.Thisthesismainlyintroducesthewholeprocessofthedesignanddevelopmentofthepathologymanagementsystem.Thedesignprocessofthecoremoduleisdescribedindetailbyusingthefunctionalstructurediagram,thedatabasediagramandtheE-Rdiagram.ThewholesystemisbasedonB/S(Browser/server)mode,andthebackgrounddatabaseisServerSQL2000,whichisembeddedinHTMLlanguagetodesignandimplement.Toachievethemedicalrecordsinthecustodyofthecycleprocess,completedfromthepatient'sregistrationtothepatient'sdischargeandaseriesofmedicalrecords.Simplifythecumbersomemanualoperation,thestandardizationofthewholeprocessofmedicalrecords,makingthetransferofmedicalrecordsmoreconvenientandquick.Keywords:managementinformationsystem;database;medicalrecordmanagementsystem;systemsourcecode;dataflowchart.目錄摘要30495 1TOC\o"1-3"\u第一章引言 51.1背景 41.2研究思路和工作計(jì)劃 5第二章系統(tǒng)開發(fā)環(huán)境與技術(shù)的分析 62.1系統(tǒng)需要解決的主要問題 62.2系統(tǒng)運(yùn)行環(huán)境 72.3相關(guān)技術(shù)介紹 7第三章病歷管理系統(tǒng)設(shè)計(jì)分析 93.1病歷管理系統(tǒng)概述 93.2系統(tǒng)目標(biāo)分析 103.3開發(fā)設(shè)計(jì)思想 103.4系統(tǒng)功能分析 103.5病歷管理系統(tǒng)流程圖 11第四章數(shù)據(jù)庫(kù)設(shè)計(jì) 124.1病歷管理系統(tǒng)E—R圖 124.2病歷管理系統(tǒng)數(shù)據(jù)庫(kù)各表詳細(xì)設(shè)計(jì) 134.3數(shù)據(jù)庫(kù)SQLServer2000的連接 16第五章系統(tǒng)各功能模塊的介紹 175.1用戶登錄 175.2管理員管理模塊 185.2.1管理員添加模塊 185.3患者管理模塊 215.3.1患者基本信息的錄入 215.3.2患者管理的刪除和修改 22第六章醫(yī)院病歷管理系統(tǒng)的實(shí)現(xiàn) 256.1系統(tǒng)源代碼 25結(jié)論 41參考文獻(xiàn) 41致謝 42引言1.1背景近幾年,隨著醫(yī)院的規(guī)模不斷擴(kuò)大,用原來的人工管理病歷的方法已不合時(shí)宜。目前我國(guó)很多醫(yī)院的信息處理還停留在手工方式,主要是記錄在紙張和膠片上,勞動(dòng)強(qiáng)度大且工作效率低,醫(yī)務(wù)人員和管理人員的大量時(shí)間都消耗在事務(wù)性工作上;病案、臨床檢驗(yàn)、病理檢查等許多寶貴的數(shù)據(jù)資料的檢索十分費(fèi)事甚至難以實(shí)現(xiàn);對(duì)這些資料深入的統(tǒng)計(jì)分析手工方式無法進(jìn)行,不能充分為醫(yī)學(xué)科研利用。傳統(tǒng)病歷在使用中還有許多不足之處,如易變質(zhì)、占地多、不易保管、查找和存取麻煩、不能幾個(gè)人同時(shí)借閱同一份病歷,實(shí)現(xiàn)信息共享等。電子病歷由數(shù)字化的病人醫(yī)療信息及相關(guān)子系統(tǒng)組成,能有效地提高整個(gè)社會(huì)的醫(yī)療保障水平。目的充分利用有限的資源實(shí)現(xiàn)醫(yī)院信息管理現(xiàn)代化,開發(fā)醫(yī)院電子病案管理系統(tǒng),提高“以患者為中心”的服務(wù)質(zhì)量和水平。為貫徹落實(shí)《中共中央國(guó)務(wù)院關(guān)于深化醫(yī)藥衛(wèi)生體制改革的意見》、《國(guó)務(wù)院關(guān)于印發(fā)醫(yī)藥衛(wèi)生體制改革近期重點(diǎn)實(shí)施方案(2009-2011年)的通知》和《國(guó)務(wù)院辦公廳關(guān)于印發(fā)醫(yī)藥衛(wèi)生體制五項(xiàng)重點(diǎn)改革2010年度主要工作安排的通知》等文件精神,衛(wèi)生部先后在2010,2011發(fā)布了關(guān)于電子病歷系統(tǒng)的規(guī)范和通知文件。1.2010-03-04衛(wèi)生部印發(fā)《電子病歷基本規(guī)范(試行)》的通知。2.2010-10-14衛(wèi)生部關(guān)于開展電子病歷試點(diǎn)工作的通知。3.2011-01-04衛(wèi)生部印發(fā)《電子病歷系統(tǒng)功能規(guī)范(試行)》的通知。4.2011-05-24衛(wèi)生部辦公廳關(guān)于推進(jìn)以電子病歷為核心醫(yī)院信息化建設(shè)試點(diǎn)工作的通知。開發(fā)醫(yī)院電子病案管理系統(tǒng)的意義有如下幾點(diǎn):一是規(guī)范病歷書寫,提高病歷質(zhì)量,實(shí)現(xiàn)病歷標(biāo)準(zhǔn)。二是病人信息異地共享,醫(yī)務(wù)人員可以通過計(jì)算機(jī)遠(yuǎn)程存取病人病歷。三是可以方便存儲(chǔ)、檢索和瀏覽。這些優(yōu)點(diǎn)能夠極大地提高管理的效率,也是管理行業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。根據(jù)醫(yī)院電子病案管理的特點(diǎn),配置適當(dāng)硬件,計(jì)算機(jī)專家和醫(yī)院實(shí)際工作相結(jié)合,采取邊使用邊修改完善,突出實(shí)際運(yùn)用。共同研發(fā)醫(yī)院病案管理的網(wǎng)絡(luò)化軟件。提高醫(yī)院病案管理水平和工作效率,為更好地服務(wù)患者創(chuàng)造有利條件。硬件系統(tǒng)先進(jìn),性能可靠;軟件具有先進(jìn)行、完善性、使用性、方便性和可靠性。總之,電子病歷管理系統(tǒng)是專門面向醫(yī)院的管理系統(tǒng),其目標(biāo)是使用高速、快捷的計(jì)算機(jī)技術(shù)及計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)設(shè)計(jì)一個(gè)可以實(shí)現(xiàn)網(wǎng)絡(luò)連接的、可以提高醫(yī)院信息化、自動(dòng)化管理水平。最顯著的優(yōu)點(diǎn)就是對(duì)信息數(shù)據(jù)的共享和反復(fù)利用。病人看病不需要攜帶病歷,只需提供自己的姓名、病歷號(hào)或其他信息,醫(yī)生通過計(jì)算機(jī)即可得到該病人所有信息。1.2研究思路和工作計(jì)劃正如研究任何其它軟件項(xiàng)目一樣,我做的畢業(yè)設(shè)計(jì)也經(jīng)歷了從選題,調(diào)研,熟悉開發(fā)環(huán)境,實(shí)驗(yàn)關(guān)鍵技術(shù),查找類似的相關(guān)系統(tǒng)的資料;系統(tǒng)概要設(shè)計(jì),數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì),功能模塊開發(fā),功能模塊測(cè)試,系統(tǒng)調(diào)試和系統(tǒng)試運(yùn)行和修改。下面的流程圖反映了我們的基本的思路和過程。在各階段的時(shí)間安排上,選題和調(diào)研用了兩周左右的時(shí)間;熟悉開發(fā)環(huán)境,實(shí)驗(yàn)關(guān)鍵技術(shù),查找類似的相關(guān)系統(tǒng)的資料用了兩周時(shí)間;系統(tǒng)概要設(shè)計(jì)用了一周的時(shí)間;數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)用了一周時(shí)間;功能模塊開發(fā)和功能模塊測(cè)試用了四周的時(shí)間;最后,系統(tǒng)調(diào)試和系統(tǒng)試運(yùn)行和修改用了約三周的時(shí)間。完成全部工作大約用了3個(gè)月的時(shí)間。第二章系統(tǒng)開發(fā)環(huán)境與技術(shù)的分析該管理系統(tǒng)面向的主要對(duì)象是醫(yī)院,所以系統(tǒng)管理方面,應(yīng)該有添加不同等級(jí)的管理人員和醫(yī)務(wù)人員并針對(duì)不同的用戶設(shè)置不同的權(quán)限,密碼管理員能添加醫(yī)務(wù)人員并修改添加人員的密碼,同時(shí)管理人員只能修改自己的密碼。在病歷管理頁(yè)面中病歷管理員可以查看所有醫(yī)務(wù)人員的病歷錄入信息,但是不能修改其中的錄入信息。普通醫(yī)務(wù)人員可以通過管理員分配的用戶名和密碼登錄系統(tǒng),由于權(quán)限的設(shè)置他們可以看見管理設(shè)置欄目但是無法進(jìn)行操作。醫(yī)生錄入的病歷信息只能由自己所看見,并且可以修改,在列表中是無法看見其他醫(yī)生所錄入的病歷信息,很好的保證了病人的隱私權(quán)利。2.1系統(tǒng)需要解決的主要問題本次病歷管理系統(tǒng)設(shè)計(jì)存在的問題主要有如下三點(diǎn):系統(tǒng)獨(dú)立性差。原有系統(tǒng)一般使用的是數(shù)據(jù)庫(kù)提供的開發(fā)工具編寫的程序,因此受數(shù)據(jù)庫(kù)的制約較大,編寫出來的程序性能也不太好。模塊性差。由于不是一個(gè)完整的編程語言,故不能做到代碼的模塊化,給功能的擴(kuò)展帶來了巨大的不便。系統(tǒng)運(yùn)行效率不夠高。由于系統(tǒng)采用的是跟數(shù)據(jù)庫(kù)連接,而且系統(tǒng)沒有提供數(shù)據(jù)清理功能,故系統(tǒng)運(yùn)行長(zhǎng)時(shí)間后,數(shù)據(jù)庫(kù)過于龐大時(shí),系統(tǒng)運(yùn)行速度不夠快,效率不夠高。病歷管理系統(tǒng)提出的解決方案本系統(tǒng)是以VisualBasic語言為前臺(tái)的應(yīng)用程序進(jìn)行開發(fā),后臺(tái)使用SQLServer2000建立數(shù)據(jù)庫(kù)。VisualBasic提供了可視化的開發(fā)環(huán)境,使用者可以很容易地構(gòu)建界面,不需要編寫代碼來實(shí)現(xiàn)界面設(shè)計(jì)[13]。而且VisualBasic提供了豐富的控件組,ADO是VisualBasic6.0中新增的對(duì)象,是一個(gè)更簡(jiǎn)單的對(duì)象模型,ADO更好的集成了其它數(shù)據(jù)訪問技術(shù),并且對(duì)本地和遠(yuǎn)程數(shù)據(jù)庫(kù)均有共同的界面,可以取代DAO和RDO,ADO更易于使用,本系統(tǒng)就是采用ADO控件來連接SQL數(shù)據(jù)庫(kù)。2.2系統(tǒng)運(yùn)行環(huán)境為了保證系統(tǒng)運(yùn)行的效率和可靠性,系統(tǒng)服務(wù)器端應(yīng)具有較高的軟硬件配置,客戶端的要求不是很高。此應(yīng)用程序可廣泛運(yùn)行于國(guó)際互聯(lián)網(wǎng)即英特網(wǎng),也可適用于內(nèi)部的局域網(wǎng)。其運(yùn)行要求如下:服務(wù)器端配置硬件環(huán)境:CPU:Inter奔騰2.0GHZ以上內(nèi)存:256MB以上硬盤:20G以上軟件環(huán)境:Windows2000ServerSP4(含IIS5.1),MicrosoftSQLServer客戶端配置硬件環(huán)境:CPU:Inter賽揚(yáng)2.0GHZ以上內(nèi)存:128MB以上硬盤:1G以上軟件環(huán)境:Windows2000/NT/XP/2003,IE6.02.3相關(guān)技術(shù)介紹為了保證系統(tǒng)運(yùn)行的效率和可靠性,系統(tǒng)服務(wù)器端應(yīng)具有較高的軟硬件配置,客戶端的要求不是很高。此應(yīng)用程序可廣泛運(yùn)行于國(guó)際互聯(lián)網(wǎng)即英特網(wǎng),也可適用于內(nèi)部的局域網(wǎng)。其運(yùn)行要求如下:服務(wù)器端配置硬件環(huán)境:CPU:Inter奔騰2.0GHZ以上內(nèi)存:256MB以上硬盤:20G以上軟件環(huán)境:Windows2000ServerSP4(含IIS5.1),MicrosoftSQLServer客戶端配置硬件環(huán)境:CPU:Inter賽揚(yáng)2.0GHZ以上內(nèi)存:128MB以上硬盤:1G以上軟件環(huán)境:Windows2000/NT/XP/2003,IE6.02.3相關(guān)技術(shù)介紹ASP:全稱是Activeserverpages,是微軟推出的應(yīng)用與Web應(yīng)用程序開發(fā)的技術(shù),被描述為“一個(gè)服務(wù)器的腳本環(huán)境,在這里可以生成和運(yùn)行動(dòng)態(tài)的、交互的、高性能的Web服務(wù)應(yīng)用程序”,他不是一種編程語言,也不是一種開發(fā)工具,而是一種強(qiáng)大的技術(shù)框架。JavaScript:是一種嵌入在HTML文件中的腳本語言,它是基于對(duì)象和事件驅(qū)動(dòng)的,能對(duì)諸如鼠標(biāo)單擊、表單輸入、頁(yè)面瀏覽等用戶事件做出反應(yīng)并進(jìn)行處理。SQL(StructuredQueryLanguage):結(jié)構(gòu)化查詢語言,是關(guān)系數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)語言,通過幾個(gè)命令,就可以實(shí)現(xiàn)定義、查詢、更新和控制功能。在ASP中對(duì)后臺(tái)數(shù)據(jù)庫(kù)進(jìn)行查詢、添加、刪除和更新等操作所采用的就是SQL語言。數(shù)據(jù)查詢基本命令是SELECT,SELECT語句用于對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢并返回符合查詢條件的數(shù)據(jù)。在查詢語句中使用SQL庫(kù)函數(shù),可以實(shí)現(xiàn)在查詢的過程中同時(shí)對(duì)某屬性上的值進(jìn)行統(tǒng)計(jì)分析。在ASP中常用的就是表單數(shù)據(jù)的傳輸和接收,表單數(shù)據(jù)的傳輸有POST與GET兩種方法,比較常用的是POST,例如常用表單頭部為:窗體頂端這里的method說明了傳輸數(shù)據(jù)的方法,當(dāng)表單提交時(shí)可以用<%Request.form(“表單元素名”)%>或<%Request(“表單元素名”)%>來獲取數(shù)據(jù);若把傳輸ASP的方法改成GET,那只需要將method改成GET即可,這時(shí)除了用上面的兩種方法接受數(shù)據(jù)時(shí),<%Request.QueryString(“表單元素名”)%>也可以接受GET方法傳輸?shù)臄?shù)據(jù)。POST和GET兩者最大的差異在于,POST方法的數(shù)據(jù)傳輸較為隱蔽,不會(huì)將傳輸傳遞的信息顯示在瀏覽的網(wǎng)址后,而GET方法則會(huì)將傳遞的信息顯示在瀏覽的網(wǎng)址后。還較常用的有Session對(duì)象,該對(duì)象是建立WEB服務(wù)器同客戶端的聯(lián)系,并維持這一聯(lián)系,其實(shí)是一個(gè)管理會(huì)話的對(duì)象,不僅可以保持管理會(huì)話,而且在此會(huì)話中可以為此次會(huì)話存儲(chǔ)特定用戶會(huì)話所需的屬于自己的個(gè)性化信息,當(dāng)用戶在應(yīng)用程序的Web頁(yè)面跳轉(zhuǎn)時(shí),Session對(duì)象中的所有這些變量不會(huì)丟失直到會(huì)話過期或被放棄后,但是如果瀏覽器的Cookie被禁用,將不會(huì)發(fā)生作用。第三章病歷管理系統(tǒng)設(shè)計(jì)分析3.1病歷管理系統(tǒng)概述病歷管理系統(tǒng)主要完成患者的信息輸入和病歷的查看等相關(guān)操作,并實(shí)現(xiàn)醫(yī)生對(duì)患者信息的快速查看。本設(shè)計(jì)主要完成了以下三方面的內(nèi)容,其作用如下:1)系統(tǒng)管理。根據(jù)管理員的權(quán)限的不同,不同的管理員可以執(zhí)行不同的任務(wù),病歷管理員可以修改病例,而密碼管理員只能修改用戶的密碼,并可以對(duì)其個(gè)人資料進(jìn)行修改和操作,進(jìn)行權(quán)限的設(shè)置,主要目的是為了是權(quán)利分散化。2)患者個(gè)人信息管理。醫(yī)生首先看到的是已存在的且是該醫(yī)生診斷過的患者信息,并可以查看,也可以進(jìn)行修改當(dāng)天的患者信息但是不能刪除。醫(yī)生通過這樣的方式確定在以前的診斷中有無該患者,當(dāng)錄入完成后該病人的信息則進(jìn)入病人信息庫(kù)以供醫(yī)生對(duì)其進(jìn)一步的診斷。3)患者病歷管理。當(dāng)患者的個(gè)人信息進(jìn)庫(kù)后,即可以進(jìn)行此步的操作,由醫(yī)生詳細(xì)填入該病人的病情,并根據(jù)病人以前的病史作出自己的判斷并保存在服務(wù)器數(shù)據(jù)庫(kù),在完成錄入后,會(huì)自動(dòng)跳往病歷管理首頁(yè),并顯現(xiàn)出已被自己診斷過的病人。同樣,醫(yī)生在此步驟中不具有刪除權(quán)限。3.2系統(tǒng)目標(biāo)分析系統(tǒng)開發(fā)的總體任務(wù)是實(shí)現(xiàn)醫(yī)療信息管理的系統(tǒng)化、規(guī)范化和自動(dòng)化,從而達(dá)到提高醫(yī)院對(duì)醫(yī)療信息管理的效率的目的。3.3開發(fā)設(shè)計(jì)思想醫(yī)療信息管理的特點(diǎn)是信息處理量比較大,所管理的數(shù)據(jù)涉及的歷史可能比較悠久,因此在管理上實(shí)現(xiàn)起來有一定的困難。在手工管理的時(shí)代或者數(shù)據(jù)庫(kù)管理系統(tǒng)設(shè)計(jì)不科學(xué)的話就會(huì)造成管理數(shù)據(jù)混亂,數(shù)據(jù)庫(kù)相關(guān)數(shù)據(jù)的沒有很好的關(guān)聯(lián),造成數(shù)據(jù)的不一致性時(shí)有發(fā)生。在本系統(tǒng)的設(shè)計(jì)過程中,為了克服以上困難,滿足計(jì)算機(jī)管理的需要,我們采取了下面的一些原則。本系統(tǒng)開發(fā)設(shè)計(jì)思想:●盡量采用醫(yī)院現(xiàn)有的軟硬件環(huán)境,及先進(jìn)的管理系統(tǒng)開發(fā)方案,從而達(dá)到充分利用醫(yī)院現(xiàn)有資源,提高系統(tǒng)開發(fā)水平和應(yīng)用效果的目的。●系統(tǒng)應(yīng)符合醫(yī)院醫(yī)療信息管理的規(guī)定,滿足對(duì)醫(yī)院日常管理的需要,并達(dá)到操作過程中的直觀、方便、實(shí)用、安全等要求?!裣到y(tǒng)采用模塊化程序設(shè)計(jì)方法,既便于系統(tǒng)功能的各種組合和修改,又便于未參與開發(fā)的技術(shù)維護(hù)人員補(bǔ)充、維護(hù)。3.4系統(tǒng)功能分析系統(tǒng)開發(fā)的總體任務(wù)是實(shí)現(xiàn)醫(yī)療信息管理的系統(tǒng)化、規(guī)范化、自動(dòng)化。系統(tǒng)功能分析是在系統(tǒng)開發(fā)的總體任務(wù)的基礎(chǔ)上完成的。醫(yī)療信息管理系統(tǒng)需要完成的功能主要有:有關(guān)醫(yī)務(wù)人員基本信息的錄入。醫(yī)務(wù)人員信息的查詢。醫(yī)務(wù)人員信息的修改。醫(yī)務(wù)人員信息的打印。有關(guān)病人基本信息的錄入。病人信息的查詢。病人信息的修改。病人信息的打印。3.5病歷管理系統(tǒng)流程圖系統(tǒng)主要分為三個(gè)子系統(tǒng):病人管理子系統(tǒng),醫(yī)生管理子系統(tǒng),管理員管理子系統(tǒng),病歷管理流程圖如圖4-1所示:管理員管理管理員管理恢復(fù)病歷系統(tǒng)登錄首頁(yè)系統(tǒng)用戶系統(tǒng)管理病歷管理患者管理密碼修改添加用戶患者管理患者刪除患者添加病歷添加病歷添加病歷管理圖3-1病歷管理系統(tǒng)流程圖第四章數(shù)據(jù)庫(kù)設(shè)計(jì)4.1病歷管理系統(tǒng)E-R圖 醫(yī)生(工號(hào),姓名,性別,出生年月,職稱,科室,主治科目,電話,郵箱,身份證等)醫(yī)生醫(yī)生身份證工號(hào)性別職稱科室主治科目電話郵箱聯(lián)系電話姓名病人身份證ha病人身份證ha性別婚否電話出生年月姓名病人編號(hào)家庭住址管理員(工號(hào),姓名,密碼)管理員密碼管理員密碼姓名工號(hào)病歷(序號(hào),科別,姓名,病案編號(hào),日期,主治醫(yī)生,添加時(shí)間,操作等)添加時(shí)間添加時(shí)間病歷日期編號(hào)姓名病案編號(hào)科別主治醫(yī)生操作E-R(Eneity-RelationshipApproach)圖是最常用的概念模型表示方法,也是數(shù)據(jù)庫(kù)的核心和基礎(chǔ),它是按用戶的觀點(diǎn)來對(duì)數(shù)據(jù)和信息建模,依據(jù)概念模型設(shè)計(jì)應(yīng)具的特點(diǎn),真實(shí)性、易理解性、易修改性、易轉(zhuǎn)換性。4.2病歷管理系統(tǒng)數(shù)據(jù)庫(kù)各表詳細(xì)設(shè)計(jì)對(duì)于病歷管理系統(tǒng),要應(yīng)用到的數(shù)據(jù)庫(kù)表有:Disease患者病歷表Manage_user在職人員信息表User患者個(gè)人信息表Disease患者病歷表詳細(xì)信息如下:表1患者病歷表字段數(shù)據(jù)類型長(zhǎng)度是否允許為空字段描述idInt1否自動(dòng)編號(hào)ID(主鍵)Usernamenvarchar10否姓名Riqinvarchar50是住院日期Jibingnvarchar50是診斷疾病Chuyuannvarchar10是出院結(jié)果zidInt1是住院號(hào)bidInt1是病床號(hào)zhiliaontext16是治療經(jīng)過zhusunvarchar50是主訴xbsntext16是現(xiàn)病史jwsntext16是既往史xthgntext16是系統(tǒng)回顧hunyingnvarchar50是婚姻史tgjcntext16是體格檢查fzjcntext16是輔助檢查notentext16是其他nuthornvarchar20否醫(yī)生IDshanchuint1是刪除確認(rèn)列(1為刪除)在患者病歷表中保存的是在所有在醫(yī)院中看病的患者患病信息,其中用戶編號(hào)是用戶在病歷中的唯一標(biāo)識(shí),是不重復(fù)的,同時(shí)用戶名在該系統(tǒng)中也是不能重復(fù)的,這樣在病歷比較多的情況下仍然能通過編號(hào)迅速的查找到病歷信息,并且將編號(hào)指定為主健。同時(shí)設(shè)置了用戶名和醫(yī)生ID不能為空,這是因?yàn)檫@些是病歷當(dāng)中最關(guān)鍵的部分,是病歷存在的關(guān)鍵。Shanchu字段名是不會(huì)在該系統(tǒng)中顯示出來的。表2在職人員信息表字段數(shù)據(jù)類型長(zhǎng)度是否允許為空字段描述IDint4否自動(dòng)編號(hào)(主鍵)Musernamevarchar50是登錄名Mpasswordvarchar50是密碼Mrealnamevarchar50是真實(shí)姓名Msexvarchar50是性別(1為男性)Mtelvarchar50是聯(lián)系電話Memailvarchar50是電子郵件Maddressvarchar50是住址Mzipvarchar50是郵編Mpurviewint4是權(quán)限在職人員信息表中保存有本醫(yī)院所有在職員工的基本信息,用戶編號(hào)設(shè)置為主健。在該表中保存的有在職人員的個(gè)人基本信息和所擁有的權(quán)限。表3患者個(gè)人信息表字段數(shù)據(jù)類型長(zhǎng)度是否允許為空字段描述idint4是自動(dòng)編號(hào)(主鍵)Usernamenvarchar20是用戶名Passwordint4否密碼cnamenvarchar10是姓名Ageint4是年齡sexint4是性別zhiveNvarchar50是職業(yè)Hunyinint4是婚姻MinzuNvarchar5是民族JiguanNvarchar10是籍貫AddressNvarchar50是現(xiàn)住址PhoneNvarchar20是聯(lián)系電話gupminNvarchar80是過敏史shengfengzhengvarchar50否身份證DisNvarchar50是重要疾病updatetimevarchar8是日期DisNvarchar50是其它authornvarchar20是輸入病歷的醫(yī)生編號(hào)患者個(gè)人信息表是這個(gè)系統(tǒng)中的一個(gè)很關(guān)鍵的信息數(shù)據(jù)庫(kù)表,因?yàn)椴v的所有信息均是圍繞著這張表展開,除了用戶編號(hào)外,還有很關(guān)鍵的用戶的身份證信息是不能為空的,因?yàn)橛脩粽鎸?shí)姓名如果相同,只有用身份證確認(rèn)病歷的歸屬。Author字段名是不會(huì)在該系統(tǒng)中顯示出來。表4管理員信息表字段名數(shù)據(jù)類型長(zhǎng)度是否允許為空字段描述idInt4否自動(dòng)編號(hào)(主鍵)DaimaInt4是職位代碼shuomingvarchar50是職位說明該表主要說明系統(tǒng)中各登陸人員的級(jí)別以及所處的職位。同樣設(shè)置Id為主健。4.3數(shù)據(jù)庫(kù)SQLServer2000的連接根據(jù)系統(tǒng)功能的設(shè)計(jì)要求及功能模塊的劃分,本系統(tǒng)用SQLServer2000建立數(shù)據(jù)庫(kù),其中包括管理員數(shù)據(jù)表,病人信息數(shù)據(jù)表和病人患病情況信息表等數(shù)據(jù)表。在整個(gè)系統(tǒng)開發(fā)的過程中,數(shù)據(jù)庫(kù)連接是必不可少的,是公用的,可以把這部分單獨(dú)拿出來,做成一個(gè)函數(shù),需要的時(shí)候調(diào)用這個(gè)函數(shù)就可以了。在ASP中同數(shù)據(jù)聯(lián)系的主要是ADO,對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作處理,要讓ADO對(duì)象能夠存取數(shù)據(jù)庫(kù),最重要的東西就是OLEDB驅(qū)動(dòng)程序或ODBC驅(qū)動(dòng)程序,ADO才能夠進(jìn)行存取。本設(shè)計(jì)采用了ODBC數(shù)據(jù)庫(kù)連接方式,首先要建立同數(shù)據(jù)源的連接,利用了ADO的Connection建立同數(shù)據(jù)庫(kù)的聯(lián)系。建立ADODB.Connection,使用此對(duì)象的Open方法打開數(shù)據(jù)庫(kù)。其主要代碼如下所示:<%DimConnsubDB_Connect(sDBConnect)SetConn=Server.CreateObject("ADODB.Connection")Conn.OpensDBConnectendsub%><%conststrconn="DSN=biling_asp;uid=sa;pwd=;database=biling"%>我們將這段代碼單獨(dú)封裝在一個(gè)名為config.Asp和_lib.asp的文件中,當(dāng)某動(dòng)態(tài)網(wǎng)頁(yè)中需要向數(shù)據(jù)庫(kù)讀取或者存取數(shù)據(jù)時(shí),將以下代碼<!--#includefile=”lib.asp”--><!--#includefile=”conn.asp”-->包含在該頁(yè)面的前面,既可以實(shí)現(xiàn)與數(shù)據(jù)庫(kù)建立連接。第五章系統(tǒng)各模塊的介紹按結(jié)構(gòu)化的程序設(shè)計(jì)思想,在完成了系統(tǒng)分析、系統(tǒng)設(shè)計(jì)后,就可以進(jìn)行系統(tǒng)實(shí)現(xiàn)階段了,系統(tǒng)實(shí)現(xiàn)是每指把系統(tǒng)的物理模型轉(zhuǎn)換成實(shí)際運(yùn)行系統(tǒng)的全過程。其基本任務(wù)是:前期準(zhǔn)備系統(tǒng)平臺(tái)的安裝與調(diào)試程序的編制與調(diào)試信息系統(tǒng)調(diào)試數(shù)據(jù)庫(kù)與文件的建立系統(tǒng)轉(zhuǎn)換試運(yùn)行、驗(yàn)收與維護(hù)5.1用戶登陸前面在數(shù)據(jù)庫(kù)表創(chuàng)建時(shí)已經(jīng)創(chuàng)建好了用戶信息表,數(shù)據(jù)庫(kù)中的m_username和m_password字段用來驗(yàn)證用戶身份的,有了這兩項(xiàng)就可以較容易的寫出驗(yàn)證,用戶登陸的程序了,首先看用戶登陸的界面,6-1所示;圖5-1用戶登陸我們將這個(gè)頁(yè)面命名為default.asp,頁(yè)面中“用戶名”和“密碼”內(nèi)容均為必填項(xiàng)目。驗(yàn)證用戶身份的程序如下所示。CallDB_Connect(strconn)sql="select*from[Manage_User]wherem_UserName='"&sname&"'Andm_PassWord='"&spwd&"'"‘在表Manage_user中查詢用戶身份是否存在。Setrs=conn.Execute(sql)’執(zhí)行這個(gè)SQL語句,同時(shí)返回一個(gè)包含了查詢信息的記錄集IfNotrs.EOF=TrueThenSession("Name")=rs("m_realName")Session("vip")=rs("m_purview")’讀取權(quán)限判斷值,并保存在session中rs.CloseSetrs=NothingCallDB_DisconnectResponse.Redirect"/bingli/manage.asp"Response.endElsemsg="您輸入了錯(cuò)誤的用戶名或口令!"rs.CloseSetrs=NothingCallDB_DisconnectEndIfIfNotrs.EOF=TrueThen這一句判斷用戶信息是否存在,EOF和BOF是數(shù)據(jù)查詢記錄集的屬性,他們分別表示最后一條記錄和第一條記錄的前面,在最后個(gè)紀(jì)錄前是真的則該用戶存在。5.2管理員管理模塊在整個(gè)系統(tǒng)中,首先要寫的是管理員模塊,因?yàn)樨?fù)責(zé)整個(gè)登陸權(quán)限的控制,管理員模塊包含3個(gè)模塊,其中有些功能是相輔相成的。5.2.1管理員添加用戶涉及到用戶的添加,會(huì)想到用戶信息的驗(yàn)證。當(dāng)用戶以管理員身份登錄后,點(diǎn)擊“管理員管理”后,管理員即可以查看所有在職人員的信息,如刪除和修改密碼。如圖6-2所示圖5-2管理員添加用戶界面在本設(shè)計(jì)中所用的Respone、Request、Sessio以及Server。以上都是ASP內(nèi)建對(duì)象不必經(jīng)過任何的設(shè)置就可以直接使用但除了這些對(duì)象以外,例如使用Server.CreateObject("adodb.recordset")對(duì)象則必須通過Server對(duì)象的CreateObject對(duì)象來建立使用。其語法格式為Server.CreateObject("ComponentName")來建立。但是通過這樣的創(chuàng)建的對(duì)象具有頁(yè)作用域,也就是說在當(dāng)前ASP頁(yè)處理完成后,服務(wù)器將破壞這些對(duì)象。如果要?jiǎng)?chuàng)建有會(huì)話或應(yīng)用程序作用域的對(duì)象,可以使用<Object>標(biāo)志并設(shè)置Session的屬性,較常用的方法如下:<%setsession(“ad”)%=Server.CreateObject(“mswc.adrotator”)>需要注意的是不能創(chuàng)建與內(nèi)建對(duì)象同名的對(duì)象實(shí)例,否則將返回錯(cuò)誤。添加用戶程序中最主要的是向據(jù)庫(kù)中寫入信息,在這里將用到與數(shù)據(jù)庫(kù)有關(guān)的對(duì)象Recordset。在ADO中的Connection、Recordest及Command對(duì)象中以Recordest對(duì)象最重要是存取數(shù)據(jù)庫(kù)中必不可少的部分把表單中的數(shù)據(jù)插入到數(shù)據(jù)庫(kù)中有三種方法:1直接使用SQL語句。其優(yōu)點(diǎn)是速度快、不消耗資源,缺點(diǎn)是字段較多時(shí)不易排錯(cuò)。2使用Recordest對(duì)象。其優(yōu)點(diǎn)是代碼容易閱讀、容易排錯(cuò),缺點(diǎn)是消耗系統(tǒng)資源。3先準(zhǔn)備好“字段名稱數(shù)組”及“字段值數(shù)組”然后利用AddNew字段名數(shù)組字段值數(shù)組將數(shù)據(jù)記錄寫入數(shù)據(jù)庫(kù)。前兩種方法在本設(shè)計(jì)中均被使用,其中第二種方法最直接的反映出數(shù)據(jù)庫(kù)插入的數(shù)值比較容易排錯(cuò)。在第一種方法中的Values后面的值要一一對(duì)應(yīng)如果該值為空可以不填寫但表示分隔的“’”號(hào)不能省略。本設(shè)計(jì)中添加用戶的核心程序如下所示:Ifmsg=””thenIfInstr(username,"=")>0orInstr(username,"%")>0orInstr(username,chr(32))>0orInstr(username,"?")>0Instr(username,",")>0Instr(username,chr(34))>0orInstr(username,chr(9))>0orInstr(username,"Instr(username,"$")>0ThenendIfsql="selectcount(*)from[manage_user]where(m_username='"&username&"'orm_email='"&email&"')"’連接數(shù)據(jù)庫(kù)setrs=Conn.execute(sql)ifrs(0)>0then‘返回用戶名或郵箱相同的記錄個(gè)數(shù)以進(jìn)行判斷endifrs.close’最快的關(guān)閉Recordset對(duì)象setrs=nothing’將不用的對(duì)象進(jìn)行釋放ifmsg=""thenm_email,m_address,m_zip,m_purview)"ororInstr(username,"&")>0Instr(username,"'")>0ororInstr(username,";")>0Instr(username,",")>0oror")>0ormsg="用戶名包含非法字符!"endifmsg="用戶名或郵箱已存在!"sql="insertinto[manage_user](m_username,m_password,m_realname,m_Sex,m_tel,endif在添加用戶的時(shí)候?qū)τ脩裘M(jìn)行了一長(zhǎng)竄的判斷,用了Vbscript中的Conn.execute(sql)Instr()函數(shù)它的作用是返回某字符串在另一字符串中第一次出現(xiàn)的位子。如Instr(username,"%")在該表達(dá)式中username代表了接受搜索的字符串表達(dá)式“%”代表要搜索的字符串表達(dá)式。如果在username中找到了“%”則將會(huì)返回“%”的具體位于第幾個(gè)字符上沒有找到則返回0所以這里進(jìn)行了判斷是否大于0來確認(rèn)用戶名中是否包含有字符。其主要目的是判斷的哪些字符不能在用戶名中存在因?yàn)檫@些符號(hào)如果不能被數(shù)據(jù)庫(kù)很好的處理數(shù)據(jù)庫(kù)則會(huì)將有關(guān)的東西反饋到用戶端危害系統(tǒng)的安全性。所以要避免一些特殊字符的輸入。5.3患者管理模塊患者管理模塊基本功能時(shí)錄入患者個(gè)人基本信息及有無患病史,為醫(yī)生的近一步判斷打下基礎(chǔ)。該模塊主要有三個(gè)部分組成。5.3.1患者基本信息的錄入患者基本信息的錄入患者在就醫(yī)過程中,第一步應(yīng)該是登記自己的個(gè)人信息,在這里稱為注冊(cè)。信息的錄入對(duì)時(shí)間的準(zhǔn)確性要求很搞,因?yàn)槿绻霈F(xiàn)醫(yī)療糾紛,那么患者的就診時(shí)間會(huì)直接影響到醫(yī)院是否為該患者在指定的時(shí)間中診斷過。因?yàn)獒t(yī)院中的電腦屬于統(tǒng)一配置,統(tǒng)一管理,不能用自己的電腦登錄醫(yī)院病歷系統(tǒng)并且不能自行修改時(shí)間,所以所有的時(shí)間均是以本機(jī)時(shí)間作為為患者診斷時(shí)間進(jìn)行登錄的直接保存在user表中updatetime中。在醫(yī)生和病人數(shù)量較多時(shí),為了便于快速的區(qū)分患者是在哪位醫(yī)生看病的,以及能只顯示該醫(yī)生的診斷記錄,在添加患者個(gè)人基本信息時(shí)候把用戶登錄時(shí)的seisson<”name”>的值寫入患者個(gè)人信息user表中的author字段,在管理患者界面中則可以顯示該醫(yī)生已診斷的人數(shù)和詳細(xì)的資料。在醫(yī)生輸入病歷時(shí)紀(jì)錄病人所屬醫(yī)生添加患者信息時(shí)候,為了保證能迅速和準(zhǔn)確的聯(lián)系到患者本人,其個(gè)人基本信息是必須完全填寫的,包括身份證信息,住址和電話等等,在這個(gè)頁(yè)面醫(yī)生可以填寫病人的基本資料,如圖6-3圖5-3患者基本信息錄入界面病歷添加的代碼如下所示:<%CallServer.CreateObject("ADODB.Recordset")sql="select*fromdisease"rs.opensql,conn,1,3rs.addnew’這一行為加入一個(gè)記錄如果漏掉就會(huì)改以前的記錄了。rs("username")=usernamers("riqi")=riqirs("jibing")=jibingrs("chuyuan")=chuyuan…………(省略代碼)rs.update’將更新寫入數(shù)據(jù)庫(kù)中rs.close’關(guān)閉Recordest對(duì)象rsuser.opensqluser,conn,1,3%>looprsuser.closesetrsuser=nothing<%setre=nothing’將不用的對(duì)象從內(nèi)存中釋放response.redirect"Manage_dis.asp"endif%>為了保證數(shù)據(jù)的準(zhǔn)確性,在添加患者信息時(shí)候先用javascript進(jìn)行初步判斷信息是否填寫完和填寫是否標(biāo)準(zhǔn),比如電話、姓名、住址等。在后臺(tái)用SQL語句保證用戶名和身份證沒有重復(fù)。后臺(tái)程序如下所示:<%callDB_Connect(strconn)iffounderr=falsethendimsqlReg,rsReg,rssqlReg="select*from[User]whereshenfenzheng='"&shenfenzheng&"'orusername='"&username&"'"setrsReg=server.createobject("adodb.recordset")rsReg.opensqlReg,conn,1,3ifnot(rsReg.bofandrsReg.eof)then?6?8判斷數(shù)據(jù)集中有無記錄founderr=trueerrmsg=errmsg&"你注冊(cè)的身份證已經(jīng)存在!"elsesql="insertinto[user](username,password,cname,age,sex,zhiye,hunyin,minzu,jiguan,address,phone,guomin,dis,updatetime,note,author)"sql=sql&"values('"&username&"','"&password&"','"&cname&"','"&age&"','"&sex&"','"&zhiye&"','"&hunyin&"','"&minzu&"','"&jiguan&"','"&address&"','"&phone&"','"&guomin&"','"&shenfenzheng&"','"&dis&"','"&updatetime&"','"?e&"','"&author&"')"Conn.execute(sql)founderr=falseendifrsReg.closesetrsReg=nothingendif%><%callDB_DisConnect%>5.3.2患者管理的刪除和修改醫(yī)生在患者管理頁(yè)面可以看到經(jīng)過自己診斷過的患者個(gè)人信息或是已經(jīng)在醫(yī)生那里登記過的患者信息醫(yī)生可以查看患者的詳細(xì)信息。如果該患者有病歷的則可以直接轉(zhuǎn)入病歷頁(yè)面部分所實(shí)現(xiàn)的主要功能是幫助醫(yī)生統(tǒng)計(jì)當(dāng)日患病信息以便于醫(yī)院在藥物采購(gòu)時(shí)有依據(jù)。在該頁(yè)面中如果是管理員查看則可以查看所有醫(yī)生的病人信息若不是則只能查看當(dāng)前醫(yī)生添加的用戶信息。在患者管理的頁(yè)面可以看到病人的基本信息比如重要疾病和聯(lián)系電話其主要目的是方便醫(yī)生瀏覽以往的病人資料做到病人的回訪如圖6-4。圖5-4病歷的刪除、修改界面圖5-4病歷的刪除、修改界面,分頁(yè)的代碼如下。<%constMaxPerPage=20dimstrFileName,rs,sqltext,i,sqldimtotalPut,CurrentPage,TotalPagesstrFileName="manage_dis.asp"ifrequest("page")<>""thencurrentPage=cint(request("page"))elsecurrentPage=1endif%><%ifrs.eofandrs.bofthenelsetotalPut=rs.recordcountresponse.write"目前共有0個(gè)注冊(cè)用戶"ifcurrentpage<1thencurrentpage=1endifif(current1)*MaxPerPage>totalputthenendififcurrentPage=1thenshowpagestrFileName,totalput,MaxPerPage,true,true,"個(gè)用戶"showContentshowpagestrFileName,totalput,MaxPerPage,true,true,"個(gè)用戶"rs.move(current1)MaxPerPageshowContentshowpagestrFileName,totalput,MaxPerPage,true,true,"個(gè)用戶"elseendif%>為了提高頁(yè)面讀取速度不能將所有的病歷羅列在一頁(yè)上顯示而是將其分if(totalPutmodMaxPerPage)=0thenelsecurrentpage=totalPut\MaxPerPage+1endifcurrentpage=totalPut\MaxPerPageelseif(current1)*MaxPerPage<totalPutthendimbookmarkshowpagestrFileName,totalput,MaxPerPage,true,true,"個(gè)用戶"bookmark=rs.bookmarkcurrentPage=1showpagestrFileName,totalput,MaxPerPage,true,true,"個(gè)用戶"endifshowContentshowpagestrFileName,totalput,MaxPerPage,true,true,"個(gè)用戶"多頁(yè)顯示每頁(yè)顯示一定數(shù)目的病歷樹分頁(yè)主要有兩種方法。1)將數(shù)據(jù)庫(kù)中所有符合:查詢條件的記錄一次性讀Recordest中并存放在內(nèi)存中然后同過ADORecordest象所提供的專門分頁(yè)處理的屬性——PageSize頁(yè)大小、PageCount頁(yè)數(shù)目、AbsolutePage絕對(duì)頁(yè)來管理分頁(yè)處理。2)根據(jù)客戶指示每次分別從符合查詢條件的記錄中將規(guī)定的記錄數(shù)目顯示出來。這里采用的是第一種方法。AbsolutePage屬性指示當(dāng)錄數(shù)都等于PageSizeBookMark屬性指示唯一標(biāo)識(shí)Recordest對(duì)象中的當(dāng)前記錄的書簽或者將Recordest對(duì)象的當(dāng)前記錄設(shè)置為有效書簽標(biāo)識(shí)的記錄若要保存當(dāng)前記錄的書簽將Bookmark屬性的值分配給一個(gè)變量。MaxRecords屬性指示由查詢由查詢返回給Recordet的最大記錄數(shù)目該屬性在Recordet關(guān)閉時(shí)為讀寫在Recordet打開是為只讀。PageSize屬性指示Recordet中一頁(yè)包含的記錄數(shù)目默認(rèn)值為10可以一次查看一定數(shù)量的記錄。病歷的刪除由于病歷的特殊性所以病歷的刪除有著嚴(yán)格的權(quán)限管理在整個(gè)系統(tǒng)中病歷的刪除和恢復(fù)都是由專人負(fù)責(zé),如果沒有權(quán)限操作系統(tǒng)會(huì)有無權(quán)限的提示,且操作行為會(huì)被系統(tǒng)記錄。無權(quán)限操作的提示信息其代碼如下所示。<%Dimsql,id,msg,rs,sqltext,usernamemsg=""id=request("id")Ifsession("vip")<>3thenmsg="你沒有刪除的權(quán)限請(qǐng)與系統(tǒng)管理員聯(lián)系"elsesql="update[disease]setshanchu=1Whereid="&idConn.execute(sql)msg="記錄已被刪除該行為已被系統(tǒng)記錄。"callDB_DisConnectendif%>病歷的刪除必然有病歷的恢復(fù)病例的恢復(fù)和刪除是不同的人所執(zhí)行的如CallDB_Connect(strconn)果刪除和恢復(fù)在一起將在人事管理方面引起嚴(yán)重的后果。在病歷查看頁(yè)面管理員可以選擇恢復(fù)病歷或者是徹底的刪除病歷。第六章醫(yī)院病歷管理系統(tǒng)的實(shí)現(xiàn)按結(jié)構(gòu)化的程序設(shè)計(jì)思想,在完成了系統(tǒng)分析、系統(tǒng)設(shè)計(jì)后,就可以進(jìn)行系統(tǒng)實(shí)現(xiàn)階段了,系統(tǒng)實(shí)現(xiàn)是每指把系統(tǒng)的物理模型轉(zhuǎn)換成實(shí)際運(yùn)行系統(tǒng)的全過程。其基本任務(wù)是:前期準(zhǔn)備系統(tǒng)平臺(tái)的安裝與調(diào)試程序的編制與調(diào)試信息系統(tǒng)調(diào)試數(shù)據(jù)庫(kù)與文件的建立系統(tǒng)轉(zhuǎn)換試運(yùn)行、驗(yàn)收與維護(hù)6.1系統(tǒng)源代碼1.病人就診情況表單1)表單構(gòu)成相關(guān)控件和事件:新建一表單,保存在醫(yī)院病歷管理系統(tǒng)下,命名為病人就診情況表單.scx,修改表單的Caption屬性為“病人就診情況表”;為表單引入病人就診情況表數(shù)據(jù)表數(shù)據(jù)環(huán)境,拖放病人就診情況表數(shù)據(jù)表字段到表單中,形成一個(gè)grd病人就診情況表;在表單上放置兩個(gè)命令銨鈕組選項(xiàng)銨鈕控件,并用它的生成器選項(xiàng)生成10個(gè)命令銨鈕,分別修改命令銨鈕的Caption屬性為“第一條記錄”、“下一條記錄”、“前一條記錄”、“最后一條記錄”、“添加”、“編輯”、“刪除”、“打印”、“查詢”、“關(guān)閉”。2)表單構(gòu)成相關(guān)源代碼:第一條記錄代碼thisform.grd病人就診情況表.setfocusgotopmessagebox('記錄已經(jīng)在第一條',0,'記錄信息')thisform.refresh前一條記錄代碼:thisform.grd病人就診情況表.setfocusifrecno()<>1skip-1thisform.refreshelsemessagebox('記錄已經(jīng)在第一條了',0,'記錄信息')endif下一條記錄代碼:thisform.grd病人就診情況表.setfocusifnoteof()skipthisform.refreshelsemessagebox('記錄已經(jīng)在未尾了',0,'記錄信息')endif最后一條記錄代碼:thisform.grd病人就診情況表.setfocusgobottomthisform.refreshmessagebox('記錄在未尾了',0,'記錄信息')添加銨鈕代碼:ifmand1.caption='添加'thisform.grd病人就診情況表.readonly=.mand1.caption='保存'mand2.enabled=.mand3.enabled=.f.appemand1.caption='添加'thisform.grd病人就診情況表.readonly=.mand2.enabled=.mand3.enabled=.t.endifthisform.grd病人就診情況表.setfocusthisform.grd病人就診情況表.refresh編輯銨鈕代碼:ifmand2.caption='編輯'thisform.grd病人就診情況表.readonly=.mand2.caption='保存'mand1.enabled=.mand3.enabled=.mand2.caption='編輯'thisform.grd病人就診情況表.readonly=.mand1.enabled=.mand3.enabled=.t.endifthisform.grd病人就診情況表.setfocusthisform.grd病人就診情況表.refresh刪除銨鈕代碼:sele病人就診情況表thisform.grd病人就診情況表.setfocusifmessagebox("是否刪除當(dāng)前記錄!",32+4+256,"刪除記錄")=6this.tag=thisform.grd病人就診情況表.recordsourcedeletenext1packthisform.grd病人就診情況表.recordsource=this.tagthisform.refreshendif打印銨鈕代碼:IFsys(102)!="OFF" ELSE=messagebox("打印機(jī)沒有準(zhǔn)備好!",0+48,"警告")ENDIF查詢銨鈕代碼:doform醫(yī)院病歷管理系統(tǒng)\病人就診情況查詢表單.scxthisform.refresh關(guān)閉銨鈕代碼:thisform.release2、病人就診情況查詢表單1)表單構(gòu)成相關(guān)控件和事件新建一表單,保存在醫(yī)院病歷管理系統(tǒng)\病人就診情況查詢表單.scx下,修改表單的caption屬性為“病人情況查詢表”;為表單引入病人就診情況表數(shù)據(jù)表數(shù)據(jù)環(huán)境,拖放病人就診情況表數(shù)據(jù)表字段到表單中,形成一個(gè)grd病人就診情況表;在表單上放置一個(gè)選項(xiàng)按鈕組控件,用它的生成器選項(xiàng)生成兩個(gè)選項(xiàng)銨鈕,修改其caption屬性為“按姓名查找”、“按就診科室查找”;在表單上放置一個(gè)標(biāo)簽控件,一個(gè)文本框控件,一個(gè)命令銨鈕組控件生成的兩個(gè)命令選項(xiàng)銨鈕,分別修改其caption屬性為“請(qǐng)輸入就診科室或姓名”,“查找”、“結(jié)束查找”。2)表單構(gòu)成相關(guān)源代碼:查找銨鈕源代碼:thisform.grd病人就診情況表.setfocusdocasecasethisform.optiongroup1.value=1locateallforalltrim(病人就診情況表.姓名)==alltrim(this.parent.parent.text1.value)iffound()y=recno()goymessagebox("病人已經(jīng)找到!")elsemessagebox("未找到此病人,請(qǐng)確認(rèn)!")endifcasethisform.optiongroup1.value=2locateallforalltrim(病人就診情況表.就診科室)==alltrim(this.parent.parent.text1.value)iffound()y=recno()goymessagebox("病人已經(jīng)找到!")elsemessagebox("未找到此病人,請(qǐng)確認(rèn)!")endifendcase結(jié)束查找銨鈕代碼:Thisform.release3、醫(yī)務(wù)人員基本情況表1)表單構(gòu)成相關(guān)事件和控件:新建一表單,保存在醫(yī)院病歷管理系統(tǒng)下,命名為醫(yī)務(wù)人員基本情況表.scx,修改表單的Caption屬性為“醫(yī)務(wù)人員基本情況表”;為表單引入醫(yī)務(wù)人員基本情況表數(shù)據(jù)表數(shù)據(jù)環(huán)境,拖放醫(yī)務(wù)人員基本情況表數(shù)據(jù)表字段到表單中,形成一個(gè)grd醫(yī)務(wù)人員基本情況表;在表單上放置兩個(gè)命令銨鈕組選項(xiàng)銨鈕控件,并用它的生成器選項(xiàng)生成10個(gè)命令銨鈕,分別修改命令銨鈕的Caption屬性為“第一條記錄”、“下一條記錄”、“前一條記錄”、“最后一條記錄”、“添加”、“編輯”、“刪除”、“打印”、“查詢”、“關(guān)閉”。2)表單構(gòu)成相關(guān)源代碼:第一條記錄代碼:thisform.grd醫(yī)務(wù)人員基本情況表.setfocusgotopmessagebox('記錄已經(jīng)在第一條',0,'記錄信息')thisform.refresh前一條記錄代碼:thisform.grd醫(yī)務(wù)人員基本情況表.setfocusifrecno()<>1skip-1thisform.refreshelsemessagebox('記錄已經(jīng)在第一條了',0,'記錄信息')endif下一條記錄代碼:thisform.grd醫(yī)務(wù)人員基本情況表.setfocusifnoteof()skipthisform.refreshelsemessagebox('記錄已經(jīng)在未尾了',0,'記錄信息')endif最后一條記錄代碼:thisform.grd醫(yī)務(wù)人員基本情況表.setfocusgobottomthisform.refreshmessagebox('記錄在未尾了',0,'記錄信息')添加按鈕代碼:ifmand1.caption='添加'thisform.grd醫(yī)務(wù)人員基本情況表.readonly=.mand1.caption='保存'mand2.enabled=.mand3.enabled=.f.appemand1.caption='添加'thisform.grd醫(yī)務(wù)人員基本情況表.readonly=.mand2.enabled=.mand3.enabled=.t.endifthisform.grd醫(yī)務(wù)人員基本情況表.setfocusthisform.grd醫(yī)務(wù)人員基本情況表.refresh編輯銨鈕代碼:ifmand2.caption='編輯'thisform.grd醫(yī)務(wù)人員基本情況表.readonly=.mand2.caption='保存'mand1.enabled=.mand3.enabled=.mand2.caption='編輯'thisform.grd醫(yī)務(wù)人員基本情況表.readonly=.mand1.enabled=.mand3.enabled=.t.endifthisform.grd醫(yī)務(wù)人員基本情況表.setfocusthisform.grd醫(yī)務(wù)人員基本情況表.refresh刪除銨鈕代碼:sele醫(yī)務(wù)人員基本情況表thisform.grd醫(yī)務(wù)人員基本情況表.setfocusifmessagebox("是否刪除當(dāng)前記錄!",32+4+256,"刪除記錄")=6this.tag=thisform.grd醫(yī)務(wù)人員基本情況表.recordsourcedeletenext1packthisform.grd醫(yī)務(wù)人員基本情況表.recordsource=this.tagthisform.refreshendif刪除銨鈕代碼:IFsys(102)!="OFF"ELSE=messagebox("打印機(jī)沒有準(zhǔn)備好!",0+48,"警告")ENDIF打印銨鈕代碼:IFsys(102)!="OFF" ELSE=messagebox("打印機(jī)沒有準(zhǔn)備好!",0+48,"警告")ENDIF查詢銨鈕代碼:doform醫(yī)院病歷管理系統(tǒng)\醫(yī)務(wù)人員查詢表單.scxThisform.refresh關(guān)閉銨鈕代碼:thisform.release4、醫(yī)務(wù)人員查詢表單1)表單構(gòu)成相關(guān)控件和事件新建一表單,保存在醫(yī)院病歷管理系統(tǒng)\醫(yī)務(wù)人員查詢表單.scx下,修改表單的caption屬性為“醫(yī)務(wù)人員查詢表單”;為表單引入醫(yī)務(wù)人員基本情況表數(shù)據(jù)表數(shù)據(jù)環(huán)境,拖放醫(yī)務(wù)人員基本情況表數(shù)據(jù)表字段到表單中,形成一個(gè)grd醫(yī)務(wù)人員基本情況表;在表單上放置一個(gè)選項(xiàng)按鈕組控件,用它的生成器選項(xiàng)生成兩個(gè)選項(xiàng)銨鈕,修改其caption屬性為“按姓名查找”、“按工號(hào)查找”;在表單上放置一個(gè)標(biāo)簽控件,一個(gè)文本框控件,一個(gè)命令銨鈕組控件生成的兩個(gè)命令選項(xiàng)銨鈕,分別修改其caption屬性為“請(qǐng)輸入工號(hào)或姓名”,“查找”、“結(jié)束查找”。2)表單構(gòu)成相關(guān)源代碼:查找銨鈕源代碼:thisform.grd醫(yī)務(wù)人員基本情況表.setfocusdocasecasethisform.optiongroup1.value=1locateallforalltrim(醫(yī)務(wù)人員基本情況表.姓名)==alltrim(this.parent.parent.text1.value)iffound()y=recno()goymessagebox("醫(yī)務(wù)人員已經(jīng)找到!")elsemessagebox("未找到此醫(yī)務(wù)人員,請(qǐng)確認(rèn)!")endifcasethisform.optiongroup1.value=2locateallforalltrim(醫(yī)務(wù)人員基本情況表.工號(hào))==alltrim(this.parent.parent.text1.value)iffound()y=recno()goymessagebox("醫(yī)務(wù)人員已經(jīng)找到!")elsemessagebox("未找到此醫(yī)務(wù)人員,請(qǐng)確認(rèn)!")endifendcase結(jié)束查找銨鈕代碼:thisform.release5、系統(tǒng)主表單1)表單構(gòu)成相關(guān)事件和控件:新建一表單,保存在醫(yī)院病歷管理系統(tǒng)\系統(tǒng)主表單.scx下,修改表單的caption屬性為“醫(yī)院病歷管理系統(tǒng)”;在表單上放置一個(gè)標(biāo)簽控件,3個(gè)命令銨鈕控件,分別修改其caption屬性為“醫(yī)務(wù)人員管理”、“病人管理”、“關(guān)閉”。2)表單構(gòu)成相關(guān)源代碼:醫(yī)務(wù)人員管理系統(tǒng)銨鈕代碼:setpathto醫(yī)院病歷管理系統(tǒng)doform醫(yī)務(wù)人員基本情況表單.scx病人管理銨鈕代碼:setpathto醫(yī)院病歷管理系統(tǒng)doform病人就診情況表單.scx關(guān)閉銨鈕代碼:thisform.release()6、密碼表單1)表單構(gòu)成相關(guān)控件和事件:新建一表單,保存在醫(yī)院病歷管理系統(tǒng)\密碼表單.scx下,修改表單的caption屬性為“用戶權(quán)限驗(yàn)證窗口”;為表單引入密碼表數(shù)據(jù)表作為數(shù)據(jù)環(huán)境,在表單上放置兩個(gè)標(biāo)簽控件,修改其Caption屬性為“用戶
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 曲靖云南曲靖市馬龍區(qū)應(yīng)急管理局招聘10名綜合應(yīng)急救援隊(duì)員筆試歷年參考題庫(kù)附帶答案詳解
- 惠州廣東惠州市惠東縣吉隆鎮(zhèn)人民政府招聘治安聯(lián)防隊(duì)員13人筆試歷年參考題庫(kù)附帶答案詳解
- 2025年輕便傻瓜機(jī)項(xiàng)目可行性研究報(bào)告
- 2025年色織絲油提花面料項(xiàng)目可行性研究報(bào)告
- 2025至2031年中國(guó)纏繞膜復(fù)卷機(jī)行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025年電動(dòng)式潤(rùn)滑泵項(xiàng)目可行性研究報(bào)告
- 2025年洗甲護(hù)甲水項(xiàng)目可行性研究報(bào)告
- 2025年有線電視鄰頻調(diào)制器項(xiàng)目可行性研究報(bào)告
- 2025至2031年中國(guó)工商兩用條形碼打印機(jī)行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025年天線延長(zhǎng)線項(xiàng)目可行性研究報(bào)告
- 廣匯煤炭清潔煉化有限責(zé)任公司1000萬噸年煤炭分級(jí)提質(zhì)綜合利用項(xiàng)目變更環(huán)境影響報(bào)告書
- 小學(xué)數(shù)學(xué)六年級(jí)解方程練習(xí)300題及答案
- 大數(shù)據(jù)在化工行業(yè)中的應(yīng)用與創(chuàng)新
- 光伏十林業(yè)可行性報(bào)告
- 小學(xué)綜合實(shí)踐《我做環(huán)保宣傳員 保護(hù)環(huán)境人人有責(zé)》
- 鋼煤斗內(nèi)襯不銹鋼板施工工法
- 公司人事招聘面試技巧培訓(xùn)完整版課件兩篇
- 出國(guó)勞務(wù)派遣合同(專業(yè)版)電子版正規(guī)范本(通用版)
- 公路工程安全風(fēng)險(xiǎn)辨識(shí)與防控手冊(cè)
- 供應(yīng)商評(píng)估報(bào)告范本
- 職業(yè)生涯規(guī)劃-自我認(rèn)知-價(jià)值觀
評(píng)論
0/150
提交評(píng)論