506.臨床試驗(yàn)室信息系統(tǒng)_第1頁
506.臨床試驗(yàn)室信息系統(tǒng)_第2頁
506.臨床試驗(yàn)室信息系統(tǒng)_第3頁
506.臨床試驗(yàn)室信息系統(tǒng)_第4頁
506.臨床試驗(yàn)室信息系統(tǒng)_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、臨床試驗(yàn)室信息系統(tǒng)摘要伴隨著信息技術(shù)的發(fā)展,臨床實(shí)驗(yàn)室信息系統(tǒng)(clinical laboratory information system, clis)已經(jīng)成為實(shí)驗(yàn)室最重要的組成部分之一。尤其是自動(dòng)化程度高、標(biāo)本量大的實(shí)驗(yàn)室,clis出現(xiàn)故障,日常工作將受到嚴(yán)重的影響,甚至停止。clis是以支持實(shí)驗(yàn)室日常工作、管理決策、科研等為目標(biāo)的信息收集、處理、存儲(chǔ)、傳播和應(yīng)用的系統(tǒng),由信息系統(tǒng)和管理系統(tǒng)兩部分組成。信息系統(tǒng)以實(shí)驗(yàn)室標(biāo)本檢測(cè)全過程中產(chǎn)生的數(shù)據(jù)管理為主,管理系統(tǒng)以實(shí)驗(yàn)室的經(jīng)濟(jì)、物資、人事、科研等管理決策為主。本系統(tǒng)總結(jié)了課題研制開發(fā)醫(yī)院檢驗(yàn)科信息管理系統(tǒng)的設(shè)計(jì)思路與實(shí)現(xiàn)方法,主要內(nèi)容包括:

2、1.開發(fā)背景、目的與意義;2.軟件系統(tǒng)的功能和用戶界面設(shè)計(jì);3.數(shù)據(jù)庫設(shè)計(jì)與管理;4.主要設(shè)計(jì);5.預(yù)期結(jié)果;6.設(shè)計(jì)總結(jié)。課題研制開發(fā)的管理系統(tǒng)界面采用delphi 7.0設(shè)計(jì),數(shù)據(jù)庫管理采用cach數(shù)據(jù)庫,并且利用 sql語句實(shí)現(xiàn)查詢和統(tǒng)計(jì),并以printer對(duì)象和quick report設(shè)計(jì)器實(shí)現(xiàn)報(bào)表打印。整個(gè)管理系統(tǒng)功能全面、界面美觀、數(shù)據(jù)庫運(yùn)行穩(wěn)定,基本實(shí)現(xiàn)了臨床實(shí)驗(yàn)室管理常用管理功能,達(dá)到了當(dāng)初設(shè)計(jì)的要求。關(guān)鍵詞:lis,檢驗(yàn)科信息系統(tǒng),cachclinical laboratory information systemabstractfollowing the informati

3、on technology development,clinical laboratory information system already became one of laboratory most important constituents. especially the laboratory with high automaticity, big specimen quantity. clis presents the breakdown, the routine work will come under the serious influence, even stops. cli

4、s is take supports the laboratory routine work, the management decision, the scientific research and so on as the goal collection of information, processing, the memory, the dissemination and the application system, is composed of the information system and the management system management system tw

5、o parts. the information system examines the data management which by the laboratory specimen in the entire process produces primarily, the management system management system by management decisions and so on laboratory economy, commodity, human affairs, scientific research primarily.the system sum

6、marizes the research and development topics hospital laboratory information management system design and implementation, main contents include:1. development background, purpose and significance; 2. software system functionality and user interface design; 3. database design and management; 4. main d

7、esign; 5. expected results; 6. design summary. development of the issue management system using delphi 7.0 interface design, cach database management using database, and use sql query and statistics, and printer objects, and quick report designer print achieve statements. entire management system fu

8、lly functional, beautiful interface, database operation stability, basically achieved in the management of clinical laboratory management functions commonly used to achieve the original design. keywords: lis, laboratory information systems, cach 目 錄摘要iabstractii1 前言11.1 研究背景、現(xiàn)狀11.2 目的、意義21.3 主要內(nèi)容22

9、軟件系統(tǒng)的功能及用戶界面設(shè)計(jì)42.1 功能模塊及系統(tǒng)設(shè)計(jì)42.2 用戶界面設(shè)計(jì)43 數(shù)據(jù)庫的設(shè)計(jì)與管理63.1 數(shù)據(jù)庫及開發(fā)語言的選擇63.1.1 開發(fā)語言的選擇63.1.2 數(shù)據(jù)庫的選擇73.2 數(shù)據(jù)庫的建立83.3 數(shù)據(jù)庫的設(shè)計(jì)思路及結(jié)構(gòu)83.4 數(shù)據(jù)庫查詢143.5 ado概述144 詳細(xì)設(shè)計(jì)154.1 系統(tǒng)項(xiàng)目文件154.2主控制平臺(tái)的界面效果174.3 用戶登陸174.4 基本資料錄入模塊194.5 用戶管理214.5.1 權(quán)限管理214.5.2 添加用戶214.5.3 修改密碼234.6 查詢244.7 檢驗(yàn)?zāi)K264.7.1 血常規(guī)設(shè)置264.7.2 檢驗(yàn)數(shù)據(jù)的手動(dòng)錄入284.8

10、 聯(lián)機(jī)模式304.8.1 rs-232接口的基本原理304.8.2檢驗(yàn)結(jié)果自動(dòng)化數(shù)據(jù)實(shí)時(shí)采集314.9報(bào)表324.9.1 報(bào)表的類型及選擇324.9.2 打印報(bào)表的實(shí)現(xiàn)345 預(yù)期結(jié)果365.1 軟件的優(yōu)點(diǎn)365.2 經(jīng)濟(jì)效益預(yù)測(cè)366 總結(jié)與展望37致 謝39參 考 文 獻(xiàn)40 1 前言1.1 研究背景、現(xiàn)狀 隨著醫(yī)院信息化進(jìn)程的推進(jìn),各級(jí)醫(yī)院在門診、住院、病房、藥房等各部門的信化已經(jīng)有了長足的進(jìn)展。醫(yī)院檢驗(yàn)科作為醫(yī)院的一個(gè)重要部門,在疾病的診斷和治療過程中起著重要的作用,其自動(dòng)化水平體現(xiàn)和制約著醫(yī)院整體水平的發(fā)展。甚至可以說現(xiàn)代醫(yī)學(xué),特別是循證醫(yī)學(xué)的發(fā)展在很大程度上依賴和取決于實(shí)驗(yàn)室醫(yī)學(xué)的

11、發(fā)展。衡量一個(gè)醫(yī)院整體水平的高低,很重要的一方面是看這個(gè)醫(yī)院的實(shí)驗(yàn)室檢測(cè)項(xiàng)目的數(shù)量、質(zhì)量及其所采用的檢測(cè)技術(shù)手段。隨著科學(xué)技術(shù)和現(xiàn)代醫(yī)學(xué)的發(fā)展,以及實(shí)驗(yàn)室醫(yī)學(xué)本身的進(jìn)步、實(shí)驗(yàn)方法的不斷更新和拓展,檢驗(yàn)科在臨床診治中的地位愈發(fā)重要。實(shí)現(xiàn)計(jì)算機(jī)自動(dòng)化的醫(yī)院信息系統(tǒng)是醫(yī)院現(xiàn)代化的標(biāo)志之一,對(duì)于提高醫(yī)院管理水平、改善醫(yī)療服務(wù)質(zhì)量,加速臨床醫(yī)學(xué)研究步伐都有巨大的效益和深遠(yuǎn)的影響。在我國,醫(yī)院管理信息系統(tǒng)的應(yīng)用,始于20世紀(jì)80年代。為了管理和引導(dǎo)醫(yī)院軟件的開發(fā),衛(wèi)生部設(shè)立了專門的管理機(jī)構(gòu)衛(wèi)生部信息化領(lǐng)導(dǎo)小組,并制定了醫(yī)院管理信息系統(tǒng)評(píng)審規(guī)范。 檢驗(yàn)科管理的信息化是醫(yī)院管理信息系統(tǒng)的一個(gè)組成部分,將lis

12、(laboratory information system)系統(tǒng)嵌入his(hospital information system),檢驗(yàn)信息資源才能得到更充分的利用。實(shí)驗(yàn)室信息管理系統(tǒng),是結(jié)合臨床檢驗(yàn)科日常工作的需求,按實(shí)驗(yàn)室的工作流程設(shè)計(jì),將實(shí)驗(yàn)室各項(xiàng)工作集合到一起,集分析檢測(cè)、質(zhì)量控制及實(shí)驗(yàn)室綜合管理一體化、模塊化、開放化的信息平臺(tái),實(shí)現(xiàn)儀器檢測(cè)與醫(yī)療信息自動(dòng)化、智能化的實(shí)驗(yàn)室管理應(yīng)用軟件系統(tǒng)。lis在與 his融合后其主要功能是將檢驗(yàn)數(shù)據(jù)分析后生成檢驗(yàn)報(bào)告,通過網(wǎng)絡(luò)存儲(chǔ)在網(wǎng)絡(luò)數(shù)據(jù)庫中供臨床醫(yī)生調(diào)用。為全面實(shí)現(xiàn)醫(yī)院管理的信息化,作為醫(yī)院的重要信息產(chǎn)生部門,檢驗(yàn)科的信息化工作勢(shì)在必行。

13、現(xiàn)代檢驗(yàn)醫(yī)學(xué)的進(jìn)步很大程度上體現(xiàn)于檢驗(yàn)科自動(dòng)化程度的提高。隨著各種先進(jìn)的自動(dòng)化檢驗(yàn)儀器相繼進(jìn)入臨床,在取代了以前的手工操作、提高了檢驗(yàn)效率和質(zhì)量的同時(shí),也為實(shí)現(xiàn)檢驗(yàn)科的信息化管理提供了必要的物質(zhì)基礎(chǔ)。計(jì)算機(jī)信息管理技術(shù)的應(yīng)用,除了能在相當(dāng)大的程度上代替人工作業(yè)、減少人員工作量和工作中因?yàn)槿藶樵蚨a(chǎn)生的錯(cuò)誤外,更重要的是能建立準(zhǔn)確、暢通的信息流通渠道,為臨床工作提供準(zhǔn)確、及時(shí)的信息以幫助臨床醫(yī)生做出正確、及時(shí)的診療決定。 國外lis的發(fā)展到目前為止經(jīng)歷了三個(gè)階段,第一階段為20世紀(jì) 80年代,第二階段為20世紀(jì)90年代中期,目前處于第三階段。其技術(shù)特點(diǎn)如下:基于瀏覽器/服務(wù)器的三層結(jié)構(gòu)體系,硬

14、件平臺(tái):pc機(jī)、小型機(jī)、按 intemet/intranet和web原理構(gòu)建局域網(wǎng),操作系統(tǒng)有unix, windons9.x/2000, windows nt。數(shù)據(jù)庫采用access, sql, oracle等,并能動(dòng)態(tài)訪問。如starlims, labsystem, beckman于 1998、1999年成功地推出了三層結(jié)構(gòu)的商品化 lis,它凝結(jié)了信息技術(shù)的創(chuàng)新成果,代表了當(dāng)前l(fā)is的發(fā)展方向。它的優(yōu)點(diǎn)是客戶機(jī)都使用了統(tǒng)一的瀏覽器(ie,netscape),業(yè)務(wù)邏輯共用性好,安全可靠、開放性好、信息共享性好。目前向著internet/intranet和 web技術(shù)發(fā)展,它已跳出了單獨(dú)的實(shí)

15、驗(yàn)室運(yùn)行環(huán)境,打破了地區(qū)和時(shí)空界限,實(shí)現(xiàn)遠(yuǎn)程樣品登錄、訪問、遠(yuǎn)程信息交換。雖然國外 lis生產(chǎn)商具有比較高的技術(shù)水平,但是在將 lis與實(shí)驗(yàn)室儀器和其它硬件產(chǎn)品完全融合,實(shí)現(xiàn)實(shí)驗(yàn)室的完全自動(dòng)化控制等方面仍然有不少需要解決的問題。同時(shí)由于國外lis產(chǎn)品不能很好的漢化,針對(duì)中文系統(tǒng)有不少技術(shù)問題沒有解決,不適于國內(nèi)臨床實(shí)驗(yàn)室的模式,為實(shí)驗(yàn)室量身定做的解決方案又十分昂貴,加上其它服務(wù)實(shí)施費(fèi)用也同樣昂貴,國內(nèi)多數(shù)臨床實(shí)驗(yàn)室難以負(fù)擔(dān)。所以開發(fā)自主的同時(shí)又符合中國國情的lis系統(tǒng)是迫切需要的。1.2 目的、意義 隨著醫(yī)療保險(xiǎn)制度的實(shí)施和醫(yī)療行為的市場(chǎng)化,要求對(duì)醫(yī)院的管理完全實(shí)現(xiàn)自動(dòng)化、規(guī)范化和信息化。同時(shí)

16、現(xiàn)代化醫(yī)院的發(fā)展方向要求改變傳統(tǒng)的工作方式,把病人信息充分共享、實(shí)施無紙化醫(yī)療。這樣既可以縮短診治時(shí)間又可以減少醫(yī)院感染的機(jī)會(huì)。而lis作為醫(yī)院信息系統(tǒng)的一個(gè)重要分支,其重要性不言而喻?;谖覈蟛糠峙R床檢驗(yàn)科的管理現(xiàn)狀,以及在工作中使用過的部分lis系統(tǒng)時(shí)發(fā)現(xiàn)的部分問題,為克服大多數(shù)實(shí)驗(yàn)室先進(jìn)的檢測(cè)儀器與落后的實(shí)驗(yàn)室管理之間的矛盾,加速實(shí)現(xiàn)實(shí)驗(yàn)室管理的自動(dòng)化進(jìn)程,滿足臨床實(shí)驗(yàn)室的管理與業(yè)務(wù)發(fā)展需要,如何實(shí)現(xiàn)實(shí)用、方便、安全、穩(wěn)定的實(shí)驗(yàn)室管理顯得尤為重要,而開發(fā)相應(yīng)的管理系統(tǒng)也成為醫(yī)院信息化建設(shè)的重要課題之一。希望本課題的成果可以積累更多的相關(guān)經(jīng)驗(yàn)和資料,以便在以后的工作中為lis及his的發(fā)

17、展提供一些有價(jià)值的參考意見,起到拋磚引玉的作用。1.3 主要內(nèi)容 本研究課題按照臨床實(shí)驗(yàn)室的管理、應(yīng)用要求,以滿足檢驗(yàn)科日常工作與管理需求為目的,通過反復(fù)實(shí)驗(yàn)和思索,建立了一套實(shí)用、方便、安全、穩(wěn)定的實(shí)驗(yàn)室管理系統(tǒng)。課題研究的主要內(nèi)容包括: 1.設(shè)計(jì)交互式圖形中文用戶界面??紤]到大多數(shù)檢驗(yàn)科用戶對(duì)計(jì)算機(jī)的認(rèn)知和使用能力有限,所以力求操作界面實(shí)用、方便,使用戶能通過鍵盤、鼠標(biāo)和顯示器等計(jì)算機(jī)外部設(shè)備來控制和管理檢驗(yàn)數(shù)據(jù),宗旨是建立 “傻瓜式”的操作界面1。 2.設(shè)計(jì)結(jié)構(gòu)合理、安全可靠的數(shù)據(jù)庫存儲(chǔ)和管理系統(tǒng)。由于lis的主要功能就是處理數(shù)據(jù),包括檢驗(yàn)數(shù)據(jù)的產(chǎn)生、存儲(chǔ)、更新、備份等一系列過程;檢驗(yàn)數(shù)

18、據(jù)的正確與否關(guān)系到病人的健康甚至生命安全,所以數(shù)據(jù)庫的安全可靠至關(guān)重要。在數(shù)據(jù)的存儲(chǔ)、傳輸過程中要求有合理、安全的渠道和保障。 3.設(shè)計(jì)實(shí)用、有效的數(shù)據(jù)查詢系統(tǒng)。保存、傳輸檢驗(yàn)數(shù)據(jù)的根本目的是為了在需要的時(shí)候重新獲取數(shù)據(jù),因此建立有效的數(shù)據(jù)查詢渠道是相當(dāng)有必要的。查詢條件的輸入方式和結(jié)果的準(zhǔn)確性是體現(xiàn)軟件系統(tǒng)方便實(shí)用的一個(gè)重要衡量標(biāo)準(zhǔn)。4.設(shè)計(jì)美觀、詳細(xì)、結(jié)構(gòu)合理的打印報(bào)告。實(shí)驗(yàn)室檢測(cè)的結(jié)果最終需要報(bào)告給患者和臨床醫(yī)生,以達(dá)到輔助診療的目的。所以,報(bào)告的打印是管理系統(tǒng)的輸出項(xiàng)目,要求 做到結(jié)構(gòu)合理、準(zhǔn)確、美觀。2 軟件系統(tǒng)的功能及用戶界面設(shè)計(jì)2.1 功能模塊及系統(tǒng)設(shè)計(jì) 本軟件系統(tǒng)的功能模塊包括

19、病人資料錄入、接收數(shù)據(jù)、報(bào)告查詢、報(bào)告打印、用戶管理、數(shù)據(jù)備份、數(shù)據(jù)更新等。其相互關(guān)系如圖2-1所示:檢驗(yàn)儀器修改密碼添加用戶聯(lián)機(jī)模式報(bào)告打印病人資料錄入病人信息查詢數(shù)據(jù)庫數(shù)據(jù)庫備份數(shù)據(jù)庫更新rs-232用戶管理圖2-1 實(shí)驗(yàn)室管理系統(tǒng)功能模塊關(guān)系圖所有模塊都以數(shù)據(jù)庫為核心,其中資料輸入和接收數(shù)據(jù)、以及系統(tǒng)設(shè)定是對(duì)數(shù)據(jù)庫的寫入操作,而報(bào)告的查詢和打印是通過用戶界面對(duì)數(shù)據(jù)庫進(jìn)行讀出操作。2.2 用戶界面設(shè)計(jì)用戶界面是以用戶使用方便和設(shè)計(jì)的科學(xué)性為根本原則,吸收和積累了部分較成功的lis系統(tǒng)的開發(fā)經(jīng)驗(yàn),以windows的標(biāo)準(zhǔn)界面為準(zhǔn)則做出的設(shè)計(jì)。1.用戶登陸:用戶登陸界面包括啟動(dòng)界面和登陸界面便于

20、審核用戶的合法信息,維護(hù)系統(tǒng)安全。2.系統(tǒng):1) 修改密碼:以防用戶密碼泄漏,檢驗(yàn)員可以改變密碼。2) 添加用戶: 便于檢驗(yàn)員人員管理調(diào)用。3) 系統(tǒng)備份:便于數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)管理安全。4) 系統(tǒng)還原:便于數(shù)據(jù)庫系統(tǒng)。3.資料錄入:用于錄入病人的基本信息并能夠和his信息系統(tǒng)實(shí)現(xiàn)無縫連接便于整個(gè)醫(yī)院信息系統(tǒng)的管理。4.檢驗(yàn):1) 檢驗(yàn)項(xiàng)目的設(shè)置:用于設(shè)置不同檢驗(yàn)項(xiàng)目,不僅包括檢驗(yàn)標(biāo)本不同的設(shè)置而且還包括標(biāo)本內(nèi)部檢驗(yàn)項(xiàng)目的設(shè)置。2) 檢驗(yàn)項(xiàng)目的錄入:用于錄入不同項(xiàng)目的數(shù)據(jù)。5.查詢:對(duì)病人的基本信息和檢驗(yàn)歷史紀(jì)錄進(jìn)行查詢操作,選擇相應(yīng)的查詢條件,包括門診號(hào)、檢驗(yàn)編號(hào)、姓名等。6.聯(lián)機(jī)模式:選擇系統(tǒng)

21、聯(lián)機(jī)設(shè)置,包括兩個(gè)串口的設(shè)置,串口述、波特率、檢驗(yàn)方式、數(shù)據(jù)位、停止位等,根據(jù)不同的聯(lián)機(jī)儀器來設(shè)置。7.關(guān)于:用于介紹本系統(tǒng)的用戶操作規(guī)范,并介紹本系統(tǒng)的基本功能實(shí)現(xiàn)。3 數(shù)據(jù)庫的設(shè)計(jì)與管理3.1 數(shù)據(jù)庫及開發(fā)語言的選擇3.1.1 開發(fā)語言的選擇目前,開發(fā)c/s應(yīng)用程序的可視化工具較多,最常用的如powerbuilder, visual basic(vb), visual foxpro等。delphi是borland公司開發(fā)的面向?qū)ο蟮目梢暬浖_發(fā)工具系統(tǒng)。delphi發(fā)展到現(xiàn)在已經(jīng)歷了7代產(chǎn)品的歷程。它具有強(qiáng)大的功能、運(yùn)行速度快、易于使用及開發(fā)迅速等特點(diǎn)。而且它結(jié)合了可視化技術(shù)、面向?qū)ο缶?/p>

22、程、數(shù)據(jù)庫和分布式應(yīng)用技術(shù)等先進(jìn)的軟件編程技術(shù)和思想,并使用了全特征的代碼編程器和高速度的編譯器及高級(jí)而獨(dú)特的集成開發(fā)環(huán)境。delphi憑借這些特點(diǎn)使其在所用的應(yīng)用軟件開發(fā)工具之中成為倍受程序員青睞的焦點(diǎn)。delphi 7并不是計(jì)算機(jī)語言,而是一個(gè)基于對(duì)象pascal語言的windows應(yīng)用程序開發(fā)工具系統(tǒng)。delphi提供的只是一個(gè)應(yīng)用程序框架,而這個(gè)程序框架就是一個(gè)已經(jīng)完成的可運(yùn)行的應(yīng)用程序,只是不處理任何事情。程序員需要做的就是在程序中加入完成所需功能的代碼而已,開發(fā)過程簡便、易學(xué)。其突出的特點(diǎn)表現(xiàn)在下列幾個(gè)方面2。1) 可視化的開發(fā)環(huán)境的(ide)特性borland把可視化開發(fā)的概念發(fā)

23、揮的淋漓盡致,delphi則是其突出的體現(xiàn)。通常,windows程序的可視化開發(fā)環(huán)境分為三個(gè)組成部分:編輯器、調(diào)試器和窗體設(shè)計(jì)器。這三部分是協(xié)同工作的,當(dāng)程序員在窗體設(shè)計(jì)器中工作時(shí),delphi可以在后臺(tái)自動(dòng)為正在窗體中操作的控件及事件生成代碼,這就是所謂的code complete技術(shù)??梢宰约涸诰庉嬈髦屑尤氪a來定義應(yīng)用程序的行為,同時(shí)還可以在同一編輯器中通過設(shè)置斷點(diǎn)和監(jiān)控點(diǎn)來調(diào)試程序。2) 編譯器的速度和已編譯代碼的執(zhí)行效率快速的編譯器可以提高運(yùn)行效率,節(jié)約運(yùn)行時(shí)間,其優(yōu)越性是顯而易見的。delphi的編譯器最著名的特點(diǎn)就是速度快,從pascal時(shí)代就是如此。microsoft visu

24、al c+的編譯器就比delphi的編譯器速度慢了許多。3) 編譯語言的功能及復(fù)雜性delphi是集強(qiáng)大性和易用性于一身的一個(gè)開發(fā)平臺(tái)。delphi的語言基礎(chǔ)是object pascal,它很好的把握了復(fù)雜性和功能性的平衡。使用delphi,可以很容易的開發(fā)出功能強(qiáng)大的windows應(yīng)用程序,而且object pascal可以在最大程度上保證程序的嚴(yán)謹(jǐn)性。4) 強(qiáng)大的數(shù)據(jù)庫支持功能delphi具有所有工具中最靈活的數(shù)據(jù)庫結(jié)構(gòu),對(duì)大多數(shù)基于數(shù)據(jù)庫平臺(tái)的應(yīng)用程序來說,bde(borland database engineer)的功能都足夠強(qiáng)大,程序設(shè)計(jì)人員無需直接同數(shù)據(jù)庫文件打交道,就可以操作和處

25、理各個(gè)數(shù)據(jù)庫文件。5) 靈活的vcl(visual component library)組件vcl是delphi最重要的組成部分。在設(shè)計(jì)時(shí)添加/刪除組件、自定義組件、使用面向?qū)ο蠹夹g(shù)繼承其他組件的行為,這些能力都是決定delphi效率的關(guān)鍵因素。3.1.2 數(shù)據(jù)庫的選擇提起數(shù)據(jù)庫軟件,人們想到的是關(guān)系數(shù)據(jù)庫(relational-database-management)和 ibm(db2、informix)、microsoft、oracle(甲骨文)、sybase等廠商。很少有人聽說過cach、post-relational-database-management(后關(guān)系數(shù)據(jù)庫/面向?qū)ο蟮臄?shù)據(jù)

26、庫)、inter systems公司。這主要是因?yàn)閏ach和inter-systems才剛剛進(jìn)入中國市場(chǎng) 。 美國的inter systems公司是全球唯一擁有后關(guān)系數(shù)據(jù)庫科技,并在商業(yè)上獲得成功的公司。在短短的五年內(nèi)就占領(lǐng)了美國嵌入式數(shù)據(jù)庫23%的市場(chǎng)。(比較:關(guān)系數(shù)據(jù)庫的四大供應(yīng)商則花了30年的時(shí)間才取得近70%的市場(chǎng))。公司在醫(yī)療行業(yè)的數(shù)據(jù)庫解決方案被公認(rèn)為是國際醫(yī)療衛(wèi)生數(shù)字化的標(biāo)準(zhǔn)解決方案,運(yùn)用于五大洲十七個(gè)國家的大型醫(yī)院和衛(wèi)生系統(tǒng)。inter systems是世界醫(yī)療衛(wèi)生數(shù)字化數(shù)據(jù)庫軟件最大的供應(yīng)商。世界最大的50家銀行有約30%采用cach科技管理資產(chǎn)和證券交易。荷蘭和比利時(shí)近一半

27、的圖書館采用cach科技作為數(shù)據(jù)庫。取得這個(gè)成就,是因?yàn)楣镜暮诵目芻ach有加快研發(fā)時(shí)間(快1/3的時(shí)間),減少營運(yùn)護(hù)理成本(-30%到70%),提高讀取數(shù)據(jù)速度(快7-20倍),適合處理大型復(fù)雜數(shù)據(jù)的優(yōu)點(diǎn)。公司的產(chǎn)品還用于機(jī)械、通訊、旅店、政府、物流、零售等行業(yè)。日本ntt docomo,vodafone,at&t,丹麥電信,愛爾蘭電信,戴姆勒(奔馳)-克萊斯勒集團(tuán)、科達(dá)、飛利浦、殼牌石油都不同程度地采用了cach 數(shù)據(jù)庫。 cach是一種后關(guān)系型數(shù)據(jù)庫。之所以叫做后關(guān)系型數(shù)據(jù)庫,是因?yàn)閏ach不僅支持面向?qū)ο蟮臄?shù)據(jù)庫的訪問和存儲(chǔ)的方式,而且支持傳統(tǒng)的關(guān)系型數(shù)據(jù)庫的訪問方式。 cach是一

28、種兼容性非常強(qiáng)的數(shù)據(jù)庫。支持現(xiàn)在流行的多種操作系統(tǒng)和服務(wù)器平臺(tái)。目前大家常用的開發(fā)語言都可以在cach上面進(jìn)行開發(fā)。大家可以通過odbc、jdbc等傳統(tǒng)的方式進(jìn)行高效率的訪問,也可以把邏輯封裝在數(shù)據(jù)庫的對(duì)象里,得到更高效率的訪問。cach也不僅僅是一個(gè)數(shù)據(jù)庫。他有很多現(xiàn)在其他的主流數(shù)據(jù)庫不具備的功能。cach自帶了一個(gè)網(wǎng)絡(luò)服務(wù)器。一般的開發(fā)用戶,數(shù)量少,在安裝了cach以后,沒有安裝網(wǎng)絡(luò)服務(wù)器的話,也可以使用cach的服務(wù)器進(jìn)行網(wǎng)絡(luò)軟件的開發(fā);而且cach的這個(gè)服務(wù)器網(wǎng)關(guān)也為您提供了更好的數(shù)據(jù)安全性。另外,cach有一個(gè)工具叫csp。這是一個(gè)類似jsp等等網(wǎng)絡(luò)開發(fā)的工具。在csp上進(jìn)行網(wǎng)絡(luò)開發(fā)

29、,可以得到更多的安全性和更高的效率。 3.2 數(shù)據(jù)庫的建立下面開始新建數(shù)據(jù)庫: 在windows中,選擇立方體-configuration manager,打開配置管理器(configuration manager); 以后我們可以通過配置管理器添加/刪除數(shù)據(jù)庫文件; 在配置管理器中,選擇 database 標(biāo)簽,進(jìn)入 數(shù)據(jù)庫(databases)頁面; 我們?cè)跀?shù)據(jù)庫頁面中可以看到系統(tǒng)中所有的數(shù)據(jù)庫文件; 在數(shù)據(jù)庫頁面中,選擇 add按鈕,彈出數(shù)據(jù)庫向?qū)?database wizard); 我們將通過數(shù)據(jù)庫向?qū)б徊讲絼?chuàng)建數(shù)據(jù)庫; 第一步:輸入數(shù)據(jù)庫名稱:我們?cè)赿atabase欄中輸入數(shù)據(jù)庫名稱

30、“hospital”,按next; 第二步:選擇數(shù)據(jù)庫所在的目錄:選擇目錄“c:hospital”,按next; 第三步:使用默認(rèn)值即可,按finish完成; 此時(shí)我們?cè)跀?shù)據(jù)庫頁面中可以看到新增的數(shù)據(jù)庫hospital; 我們必須更新cach以使剛才的操作生效: 在配置管理器中,按ok鍵確認(rèn), 此時(shí)有對(duì)話框彈出詢問是否更新(activate),選擇activate即可。在配置管理器中所作的修改都需要最后按ok鍵確認(rèn),否則不會(huì)生效。按ok鍵之后,有的更新不需要重新啟動(dòng)cach(稱為activate,像創(chuàng)建數(shù)據(jù)庫這樣的操作),有的則需要重新啟動(dòng)(稱為restart)。3.3 數(shù)據(jù)庫的設(shè)計(jì)思路及結(jié)構(gòu)

31、數(shù)據(jù)庫的設(shè)計(jì)是以病人的資料與檢驗(yàn)信息為中心的,其基本結(jié)構(gòu)是按照其使用界面和功能安排的,整個(gè)數(shù)據(jù)庫一共包括登陸信息、標(biāo)本類型、病人基本信息、科室分類、醫(yī)生信息、病人檢驗(yàn)信息等六個(gè)表,分別包含相應(yīng)的數(shù)據(jù)庫內(nèi)容,并按照一些索引建立關(guān)系。又基于cach和其他數(shù)據(jù)庫完全兼容,如果在其他數(shù)據(jù)庫開發(fā)的應(yīng)用軟件可以不花大的力氣從其他數(shù)據(jù)庫搬到cach數(shù)據(jù)庫上運(yùn)作,我對(duì)cach數(shù)據(jù)庫的操作不夠熟練性所以選擇了捷徑的方式。先在sql 上建立數(shù)據(jù)庫再平行數(shù)據(jù)遷移到cach上。遷移的方式和步驟如下:1. 數(shù)據(jù)表結(jié)構(gòu)的遷移過程: 1) 先配置一個(gè)odbc.odbc的名稱可以隨便命名。 如果是用sql server 等往

32、外導(dǎo),就建立一個(gè)cach的odbc。 見下圖:圖3-1 cachodbc數(shù)據(jù)源2) cach odbc 數(shù)據(jù)源建立cach odbc 數(shù)據(jù)源 圖3-2 數(shù)據(jù)源的建立圖3-3 建立好的數(shù)據(jù)源2存儲(chǔ)過程的改寫。 存儲(chǔ)過程在遷移的時(shí)候是需要改寫的。因?yàn)椋话愕臄?shù)據(jù)庫的存儲(chǔ)過程都有自己的一套語法和架構(gòu),就算傳統(tǒng)的關(guān)系型數(shù)據(jù)庫之間的數(shù)據(jù)遷移也是需要改寫存儲(chǔ)過程的。 下面我寫一段代碼,可以在sql manager里面的execute query里面執(zhí)行的代碼,他將create一個(gè)存儲(chǔ)過程。(execute query在sql manager 里面選擇一張表table然后在右邊最后一個(gè)頁簽就是了,如圖3-4

33、所示)。3-4 存儲(chǔ)過程改寫過程代碼: create procedure storedproc.sp(in stype var char(1), inout sname varchar(50), out ssex varchar(1) returns int language objectscript &sql(declare x cursor for select name,sex,dob into :name,:sex,:dobfrom storedproc.sp1 where type = :stype and name %startswith :sname) &sql(open x)

34、set count=0 for &sql(fetch x) if sqlcode=100 quit set count=count+1 if count=1 set sname=name,ssex=sex &sql(close x) if count=0 set sname=not found,ssex= quit count 上面的代碼的目的是說明我們的語法和一個(gè)簡單的結(jié)構(gòu)。 language objectscript是說明了存儲(chǔ)過程的語言是利用cach objectscript編寫的,&sql()這個(gè)是說明里面的語句是sql語句。3數(shù)據(jù)表結(jié)構(gòu)根據(jù)本系統(tǒng)的要求我設(shè)計(jì)了六個(gè)表結(jié)構(gòu)以為系統(tǒng)所用。

35、所以它是以病人的基本資料和檢驗(yàn)信息為中心的,其基本結(jié)構(gòu)是按照其使用界面和功能需求安排的,在本系統(tǒng)中涉及了六個(gè)表:登陸表、病人基本信息表、科室表、醫(yī)生基本信息表、標(biāo)本類型表和檢驗(yàn)信息表。如下各表所示:(1) 登陸信息表(表名稱標(biāo)識(shí):login)表3-1 檢驗(yàn)醫(yī)師登陸信息表字段名字段類型字段長度是否為空是否為主鍵usernamechar10noyespwdchar10nonorightint4nono(2) 科室信息表(表名稱標(biāo)識(shí):office)表3-2 科室分類表字段名字段類型字段長度是否為空是否為主鍵off_nochar10noyesoff_namechar10nono (3) 醫(yī)生信息表(表

36、名稱標(biāo)識(shí):doctor)表3-3 醫(yī)生信息表字段名字段類型字段長度是否為空是否為主鍵doc_nochar10noyesdoc_namechar20nonooff_nochar10nono (4) 病人基本信息表(表名稱標(biāo)識(shí):patient) 表3-4 病人基本信息表字段名字段類型字段長度是否為空是否為主鍵n1char10noyesnumchar20noyesnamechar20nonoageint4nonosexchar10nonopa_nochar10yesnoofficechar10nonodoctorchar20nonopa_typechar20nonotelchar20yesnoadd

37、char30yesnosong_datedatetime8nonoexam_datedatetime8nonob_typechar10nonooperatorchar20nonolinzhenchar50yesnobeizhuchar50yesno(5) 標(biāo)本類型表(表名稱標(biāo)識(shí):btype)表3-5 標(biāo)本信息表字段名稱字段類型字段長度是否為空是否為主鍵b_typechar10noyesb_namechar20nono(6) 檢驗(yàn)信息表(表名稱標(biāo)識(shí):exam_data)表3-6 檢驗(yàn)信息表字段名字段類型字段長度是否為空是否為主健n1char10noyesnumchar20noyesp_codec

38、har10nonop_namechar20nonosong_datedatetime8nonoexam_datedatetime8nonooperatorchar20nono3.4 數(shù)據(jù)庫查詢 我們采用直接調(diào)用sql語句的方式。該新功能將從雇員(employee)所在公司名稱和person本人或配偶的家庭住址郵編查找到可能的person:通過輸入公司名稱的片斷信息(如 “int”),以及郵編片斷信息(如 “10”),程序?qū)?huì)自動(dòng)匹配出符合的名單供選擇。匹配過程中執(zhí)行了相應(yīng)的sql 語句。 employee 為person 的繼承類(可以查看該類的類定義信息)。employee在person 基

39、礎(chǔ)上添加了一些屬性,其中包括聯(lián)系屬性company (類似于引用屬性spouse),該屬性指向了company類型的持久類實(shí)例。在新安裝的cach上,id號(hào)碼為101-200的person 實(shí)例是employee類型的。之前,我們一直把它們當(dāng)作person實(shí)例來引用,這是符合面向?qū)ο蟮脑瓌t的。下面,為類tform_main添加一個(gè)私有方法聲明,名為updatenamelist2,功能和updatenamelist相似。它將用來從ed_key_company和ed_key_zip中的信息匹配出符合的名單;代碼如下:procedure updateaddress;procedure updaten

40、amelist;procedure updatenamelist2;public在updatenamelist2 的實(shí)現(xiàn)部分輸入以下代碼:procedure tform_main.updatenamelist2;3.5 ado概述本系統(tǒng)是通過對(duì)象模型ado(activex data objects)來訪問數(shù)據(jù)庫的,ado使我們能夠編寫程序,以通過ole.db提供者訪問和操作數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù)。ado最主要的優(yōu)點(diǎn)是易于使用、速度快、內(nèi)存支出少和磁盤遺跡小。ado支持建立客戶端/服務(wù)器端和基于web的應(yīng)用程序的關(guān)鍵功能。ado的另一個(gè)功能是“遠(yuǎn)程數(shù)據(jù)訪問”(rds),能夠通過一個(gè)來回的傳輸將數(shù)據(jù)

41、從服務(wù)器移動(dòng)到客戶端應(yīng)用程序或web頁中,然后在客戶端對(duì)數(shù)據(jù)進(jìn)行操作,最后將更新數(shù)據(jù)返回服務(wù)器。ado對(duì)象模型是由八個(gè)對(duì)象組成的,它們中的大多數(shù)在功能上和rdo對(duì)象相似,只不過具有更強(qiáng)的功能性。下面介紹ado的幾個(gè)主要對(duì)象:1)command對(duì)象。包含關(guān)于某個(gè)命令,例如查詢字符串、參數(shù)定義等的信息。command對(duì)象在功能上和rdo的rdoquery對(duì)象是相似的。2)connection對(duì)象。包含關(guān)于某個(gè)數(shù)據(jù)提供程序的信息。connection對(duì)象在功能上和rdo的rdoconnection對(duì)象是相似的,并且包含了關(guān)于結(jié)構(gòu)描述的信息。它還包含某些rdoenvironment對(duì)象的功能,例如tr

42、ansaction控件。3)recordset對(duì)象。recordset對(duì)象包含某個(gè)查詢返回的記錄,以及那些記錄中的游標(biāo)。recordset對(duì)象在功能上和rdo的rdoresult對(duì)象相似。你可以在不用顯式地打開connection對(duì)象的情況下,打開一個(gè)recordset(例如,執(zhí)行一個(gè)查詢)。不過,如果你選擇創(chuàng)建一個(gè)connection對(duì)象,你就可以在同一個(gè)連接上打開多個(gè)recordset對(duì)象。4)parameter對(duì)象。包含參數(shù)化的command對(duì)象的某個(gè)參數(shù)的信息。該command對(duì)象有一個(gè)包含其所有parameter對(duì)象的parameters集合。parameter對(duì)象在功能上和rdo的

43、rdoparameter對(duì)象是相似的。ado的目標(biāo)是訪問、編輯和更新數(shù)據(jù)源,而編程模型體現(xiàn)了為了完成該目標(biāo)所必需的系列動(dòng)作的順序。ado提供類和對(duì)象以完成以下活動(dòng):連接到數(shù)據(jù)源(connection)??蛇x擇開始一個(gè)事物。1) 可選擇創(chuàng)建對(duì)象來表示sql命令(command)。2) 可選擇在sql命令中指定列、表和值作為變量參數(shù)(parameter)。3) 執(zhí)行命令(command、connection或recordset)。4) 如果命令執(zhí)行返回,則將行存儲(chǔ)在緩存中(recordset)。5) 可選擇創(chuàng)建緩存視圖,以便能對(duì)數(shù)據(jù)進(jìn)行排序、篩選和定位(recordset)。6) 通過添加、刪除或

44、更改行和列編輯數(shù)據(jù)(recordset)。7) 在適當(dāng)情況下,使用緩存中更改內(nèi)容來更改數(shù)據(jù)源(recordset)。8) 在使用事物之后,可以接受或拒絕在事物期間所作的更改,結(jié)束事物 (connection)。4 詳細(xì)設(shè)計(jì)4.1 系統(tǒng)項(xiàng)目文件根據(jù)已有的需求信息和總體設(shè)計(jì),可以進(jìn)行系統(tǒng)的詳細(xì)設(shè)計(jì)和實(shí)現(xiàn)。為此,我要建立一個(gè)delphi工程。系統(tǒng)的實(shí)際和實(shí)現(xiàn)如下:program project2;uses forms, unit1 in unit1.pas login, unit2 in unit2.pas zhujm, xiugaimi in xiugaimi.pas xgmm, unit4 in

45、 unit4.pas jbzllrjm, unit5 in unit5.pas xcgjm, unit6 in unit6.pas addclient, unit8 in unit8.pas chaxun1, unit9 in unit9.pas chaxun2, unit3 in unit3.pas jylr, tuichu7 in tuichu7.pas form7, unit10 in unit10.pas form10, unitpaintrep in unitpaintrep.pas form11, unit12 in unit12.pas form12, unit13 in uni

46、t13.pas form13, main in unit 14 .pas lianji;$r *.resbegin application.initialize; form10:=tform10.create(form10); form10.show; form10.update; sleep(1000); form10.close; form10.free; application.createform(tlogin, login); application.createform(tzhujm, zhujm); application.createform(tjbzllrjm, jbzllr

47、jm); application.createform(txcgjm, xcgjm); application.createform(txgmm, xgmm); application.createform(taddclient, addclient); application.createform(tjbzllrjm, jbzllrjm); application.createform(txcgjm, xcgjm); application.createform(taddclient, addclient); application.createform(tchaxun1, chaxun1)

48、; application.createform(tchaxun2, chaxun2); application.createform(tchaxun1, chaxun1); application.createform(tjylr, jylr); application.createform(tform7, form7); application.createform(tform12, form12); application.createform(tform10, form10); application.createform(tform11, form11); application.c

49、reateform(tform13, form13); application.createform(tfrmmain, frmmain); application.run;end.4.2主控制平臺(tái)的界面效果主控界面直觀易懂如下圖所示:圖3-1 主控制平臺(tái)4.3 用戶登陸1) 用戶身份驗(yàn)證ipo圖輸入:用戶名和密碼。處理:a) 用戶登錄窗體啟動(dòng)。b) 從操作人員中讀取操作人員的名稱信息,并寫入用戶名下拉框中,以方便登錄。c) 用戶選擇用戶名并輸入密碼。d) 從操作員表中檢查是否有相應(yīng)的用戶名和密碼。e) 如果用戶名或密碼錯(cuò)誤,進(jìn)行提示。f) 進(jìn)入主控制平臺(tái)。輸出:主控制平臺(tái)。2) 用戶登錄模塊

50、的窗體設(shè)計(jì)用戶登錄模塊的窗體效果如圖4-2所示。圖4-2 登陸界面3) 用戶登錄模塊的主要代碼(unit1.pas)procedure tlogin.button1click(sender: tobject);begin if edit1.text= then begin showmessage(請(qǐng)輸入用戶名!); edit1.setfocus; exit; end; if edit2.text= then begin showmessage(請(qǐng)輸入密碼!); edit2.setfocus; exit; end; adoquery1.close; adoquery1.sql.clear; ad

51、oquery1.sql.add(select * from lis.login where username=:m and pwd=:n); adoquery1.parameters.parambyname(m).value:=edit1.text; adoquery1.parameters.parambyname(n).value:=edit2.text; adoquery1.open; if adoquery1.recordcount0 then begin zhujm.show; login.hide; end else showmessage(用戶名或密碼錯(cuò)誤請(qǐng)重新輸入!);end;4

52、.4 基本資料錄入模塊1) 錄入窗口自動(dòng)生成檢驗(yàn)編碼,由病人門診號(hào)作為預(yù)約檢驗(yàn)審核,其他基本信息由醫(yī)院數(shù)據(jù)庫自動(dòng)調(diào)入或者現(xiàn)場(chǎng)錄入由于本系統(tǒng)限制,只能由檢驗(yàn)醫(yī)師手動(dòng)錄入。2) 保存過程有很多必須信息需要錄入有條件限制。3) 繼續(xù)添加選項(xiàng),先確定是否繼續(xù)添加。確定繼續(xù)添加清空各個(gè)欄目內(nèi)容,生成新的檢驗(yàn)編碼,繼續(xù)錄入。4) 刪除紀(jì)錄只需輸入檢驗(yàn)編碼,便可刪除整條紀(jì)錄。5) 打印選項(xiàng)可以打印數(shù)據(jù)庫中的數(shù)據(jù)表以供醫(yī)院信息存檔。6) 具體實(shí)現(xiàn)界面如下圖所示:圖4-3 基本資料錄入窗口7) 主要代碼如下:procedure tjbzllrjm.button2click(sender: tobject); b

53、egin adoquery1.close; adoquery1.sql.clear; adoquery1.sql.add(insert into lis.patient values(:x,:a,:b,:c,:d,:e,:f,:g,:h,:i,:j,:k,:l,:m,:n,:y,:z); adoquery1.parameters.parambyname(x).value:=combobox8.text; adoquery1.parameters.parambyname(a).value:=label17.caption; adoquery1.parameters.parambyname(b).value:= trim(edit1.text); adoquery1.parameters.parambyname(c).value:= combobox3.text; adoquery1.parameters.parambyname(d).value:=edit3.text; adoquery1.parameters.parambyname(e).value:=combobox2.text; adoquery1.parameters.parambyname(f).value:=combobox4.text; adoquery1.parameters.paramb

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論