《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于B/S結(jié)構(gòu)的電子病歷管理系統(tǒng)的開發(fā)
基于B/S結(jié)構(gòu)的電子病歷管理系統(tǒng)的開發(fā)
來源:微型機(jī)與應(yīng)用2012年第15期
楊艷麗1,曹 巖2,龐艷丹1
(1.深圳大學(xué) 計(jì)算機(jī)與軟件學(xué)院,廣東 深圳 518060; 2.西安工業(yè)大學(xué) 先進(jìn)制造工程研究所,
摘要: 電子病例系統(tǒng)研究是醫(yī)院信息系統(tǒng)和建立數(shù)字化醫(yī)院的關(guān)鍵課題。首先,討論了作為醫(yī)院管理系統(tǒng)實(shí)現(xiàn)信息化的重要環(huán)節(jié)——電子病例管理系統(tǒng)的定義和作用。由于B/S結(jié)構(gòu)具有伸縮性、維護(hù)性和擴(kuò)展性等多方面的優(yōu)勢,因此系統(tǒng)開發(fā)采用B/S結(jié)構(gòu);其次,對(duì)電子病歷管理系統(tǒng)的系統(tǒng)功能進(jìn)行分析和功能模塊劃分;再次,進(jìn)行數(shù)據(jù)庫的需求分析、概念結(jié)構(gòu)分析以及邏輯結(jié)構(gòu)分析,并對(duì)數(shù)據(jù)庫進(jìn)行實(shí)現(xiàn)和連接;最后,利用Dreamweaver實(shí)現(xiàn)JSP頁面。
Abstract:
Key words :

摘  要: 電子病例系統(tǒng)研究是醫(yī)院信息系統(tǒng)和建立數(shù)字化醫(yī)院的關(guān)鍵課題。首先,討論了作為醫(yī)院管理系統(tǒng)實(shí)現(xiàn)信息化的重要環(huán)節(jié)——電子病例管理系統(tǒng)的定義和作用。由于B/S結(jié)構(gòu)具有伸縮性、維護(hù)性和擴(kuò)展性等多方面的優(yōu)勢,因此系統(tǒng)開發(fā)采用B/S結(jié)構(gòu);其次,對(duì)電子病歷管理系統(tǒng)的系統(tǒng)功能進(jìn)行分析和功能模塊劃分;再次,進(jìn)行數(shù)據(jù)庫的需求分析、概念結(jié)構(gòu)分析以及邏輯結(jié)構(gòu)分析,并對(duì)數(shù)據(jù)庫進(jìn)行實(shí)現(xiàn)和連接;最后,利用Dreamweaver實(shí)現(xiàn)JSP頁面。
關(guān)鍵詞: 電子病歷;B/S;JSP;struts;數(shù)據(jù)庫

 電子病歷EMR(Electronic Medical Record)也稱為算機(jī)化的病歷或基于計(jì)算機(jī)的病人記錄CMR(Computer Based Mdical Record),它是用電子設(shè)備保存、管理和傳輸數(shù)字化的病人醫(yī)療記錄,是取代手寫紙張的病歷。對(duì)電子病歷一致的理解與定義目前尚未形成。病歷在醫(yī)療科研、教學(xué)和醫(yī)院管理方面起著提供數(shù)據(jù)源的重要作用。紙張病歷在服務(wù)方面是被動(dòng)式的,而電子病案則可以是主動(dòng)式的,包括病案檢索、智能知識(shí)庫、醫(yī)療質(zhì)量統(tǒng)計(jì)、醫(yī)療評(píng)價(jià)、經(jīng)濟(jì)統(tǒng)計(jì)分析等等,這是電子病歷的服務(wù)功能。
 電子病歷內(nèi)涵應(yīng)包括:一是信息共享。醫(yī)院各個(gè)部門、科室在任何時(shí)間和地點(diǎn)都能調(diào)閱到病人所在醫(yī)院的全部病歷記錄;二是具有預(yù)警功能,對(duì)藥物配伍禁忌、醫(yī)療方法不當(dāng)進(jìn)行提示;三是支持醫(yī)療信息資料庫,供醫(yī)療人員在工作時(shí)查詢使用。電子病歷是醫(yī)療信息的核心,病歷信息貫穿于病人在醫(yī)院就診的各個(gè)環(huán)節(jié),因此,電子病歷絕不僅是病案的電子存儲(chǔ),它實(shí)質(zhì)上是醫(yī)療過程的全面信息化,不是靜態(tài)的病案本身,而是動(dòng)態(tài)的智能信息源。
1 基于B/S模式的系統(tǒng)結(jié)構(gòu)
 一般來講,基于B/S結(jié)構(gòu)模式[1-4]的電子病歷管理的應(yīng)用系統(tǒng)具有如圖1所示的三個(gè)層次。三層結(jié)構(gòu)中,底層是電子病歷的數(shù)據(jù)服務(wù)器,用于存儲(chǔ)和管理電子病歷數(shù)據(jù);中間層是應(yīng)用服務(wù)器和Web服務(wù)器,其中應(yīng)用服務(wù)器用于實(shí)現(xiàn)系統(tǒng)的業(yè)務(wù)邏輯,如電子病歷的管理、電子病歷的歸檔、電子病歷的查詢、統(tǒng)計(jì)報(bào)表等組建管理,還可以通過網(wǎng)關(guān)和外部系統(tǒng)進(jìn)行數(shù)據(jù)交換和傳遞;最上面的是客戶端,用戶可以通過瀏覽器進(jìn)行使用。
 

 當(dāng)醫(yī)生選中其中的某個(gè)病人時(shí),可以進(jìn)入到該病人的詳細(xì)病歷資料的頁面,查看病人已往的病情記錄、當(dāng)前臨床病癥和檢查結(jié)果,并據(jù)此做出診斷,并填寫病歷詳細(xì)資料中的診斷信息。
 病人在掛號(hào)后,系統(tǒng)生成病人的病歷號(hào)碼,并且初始化病人的登錄密碼和病歷號(hào)碼一致,病人根據(jù)病案號(hào)碼和登錄密碼登錄到相應(yīng)的病歷信息中。
3 數(shù)據(jù)庫設(shè)計(jì)
3.1 數(shù)據(jù)庫需求分析

 通過對(duì)醫(yī)院門診部門的實(shí)際運(yùn)作和管理流程進(jìn)行分析,設(shè)計(jì)的數(shù)據(jù)結(jié)構(gòu)如下:
?。?)掛號(hào)處掛號(hào)員登錄信息:包括的數(shù)據(jù)項(xiàng)有姓名和密碼。
 (2)醫(yī)生登錄信息:包括的數(shù)據(jù)項(xiàng)有科室選擇、醫(yī)生姓名和登錄密碼。
?。?)掛號(hào)處登記的病人基本信息:包括的數(shù)據(jù)項(xiàng)目有患者姓名、患者年齡、患者性別、身份證號(hào)碼、住宅電話、移動(dòng)號(hào)碼、入院科室、家庭地址和診斷時(shí)間。
 (4)病人病歷詳細(xì)信息:包括的數(shù)據(jù)項(xiàng)有患者姓名、患者年齡、患者性別、身份證號(hào)碼、住宅電話、移動(dòng)號(hào)碼、入院科室、家庭地址、診斷時(shí)間、病歷號(hào)碼、總費(fèi)用、胸透檢查、血檢結(jié)果、B超檢查結(jié)果、臨床癥狀、家族病史、診斷結(jié)果、病人處方、手術(shù)方案、手術(shù)情況、用戶密碼的修改以及既往病史等。
 (5)病人登錄信息:包括的數(shù)據(jù)項(xiàng)有病歷號(hào)和登錄密碼。
3.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)
 在需求分析的基礎(chǔ)上,設(shè)計(jì)出能滿足用戶需求的各種實(shí)體以及它們之間的關(guān)系,為邏輯結(jié)構(gòu)設(shè)計(jì)打下基礎(chǔ)。本文采用E-R圖的方法來進(jìn)行數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)。
 圖3為掛號(hào)信息的實(shí)體E-R關(guān)系圖,圖4為病歷信息的實(shí)體E-R關(guān)系圖。實(shí)體與實(shí)體之間的關(guān)系如圖5所示。
電子病歷管理系統(tǒng)數(shù)據(jù)庫具備5個(gè)表格的設(shè)計(jì),分別是錄入員信息表、醫(yī)生信息表、病人登錄信息表、病人病歷基本信息表和病人既往病史信息表。

 

 


 在需求分析、概念結(jié)構(gòu)設(shè)計(jì)的基礎(chǔ)上,就可以創(chuàng)建數(shù)據(jù)庫表格,然后將表格結(jié)構(gòu)導(dǎo)入數(shù)據(jù)庫系統(tǒng),這樣就實(shí)現(xiàn)了數(shù)據(jù)庫的邏輯結(jié)構(gòu)[7]。
3.3 建立數(shù)據(jù)庫的連接
 網(wǎng)頁上各個(gè)請(qǐng)求的實(shí)現(xiàn)都需要連接數(shù)據(jù)庫,下面的程序包文件中,DataSource是用來查找在struts架構(gòu)中定義的數(shù)據(jù)源,它是在jre/lib文件庫里定義的rt.jar,引入的Connection類用來得到DataSource返回的連接;ResultSet用來獲取Statement對(duì)象執(zhí)行SQL語句后返回的數(shù)據(jù)信息;SQLException用來捕獲在執(zhí)行數(shù)據(jù)庫操作時(shí)產(chǎn)生的異常信息,以便拋出并讓用戶了解數(shù)據(jù)庫操作過程中的出錯(cuò)信息;Statement類用來得到Connection類創(chuàng)建的SQL語句陳述類。
package dan;//定義包
import dan.struts.form.*;
import java.io.UnsupportedEncodingException;
import java.sql.Connection;//引入java.sql.*
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;
import javax.sql.DataSource;//引入接口,與數(shù)據(jù)庫的連接
import org.apache.struts.action.DynaActionForm;
4 服務(wù)端應(yīng)用
 服務(wù)端的具體運(yùn)行過程如圖6所示。struts應(yīng)用程序中的所有組件在struts-config.xml文件中注冊(cè),配置文件struts-config.xml是整個(gè)struts應(yīng)用的核心。struts應(yīng)用在啟動(dòng)時(shí),就會(huì)自動(dòng)加載該文件到內(nèi)存中,以后用戶的每一次請(qǐng)求以及struts自身的每一次請(qǐng)求轉(zhuǎn)發(fā)都會(huì)依賴該文件。


 其中,struts配置文件如下:
<struts-config>
  <data-sources>
   <data-source key="MS"        
      type="org.apache.commons.dbcp.BasicDataSource">
        <set-property property="password"                            value="pass"></set-property>
        <set-property property="username" value="user"/>
        <set-property property="driverClassName"
        value="net.sourceforge.jtds.jdbc.Driver"                    ></set-property>
     <set-property property="description" value="MSSQL"/>
     <set-property property="url"
        value="JDBC:jtds:sqlserver://127.0.0.1:1433;
     DatabaseName=test" ></set-property>
     <set-property property="autoCommit" value="true"/>
     <set-property value="5" property="maxActive"/>
       </data-source>
    </data-sources>
5 客戶端應(yīng)用
 利用Dreamweaver實(shí)現(xiàn)了JSP頁面[8-12]。系統(tǒng)登錄時(shí),輸入用戶名和密碼進(jìn)入主要功能頁面,包括:病人登錄,醫(yī)生登錄和掛號(hào)員登錄。
?。?)病人進(jìn)入醫(yī)院,填寫紙質(zhì)的病歷,填寫病人的基本的信息,病人將紙質(zhì)的病歷交給信息錄入員后,錄入員登錄到錄入界面,錄入病人的基本信息,并根據(jù)病人選擇的科室給病人分配一個(gè)病案號(hào),這樣相應(yīng)科室的醫(yī)生一旦登錄,就能馬上調(diào)出其所在科室的所有病人的基本信息列表。
?。?)醫(yī)生登錄時(shí),輸入其所在的部門科室的名稱、姓名和密碼就能夠進(jìn)入到下一個(gè)頁面,這里的關(guān)鍵字是部門科室,系統(tǒng)根據(jù)填寫的部門科室的名稱自動(dòng)調(diào)出該部門科室的所有病人的基本信息列表,醫(yī)生能大致了解該科室的病人的狀況。醫(yī)生可以選擇某一個(gè)病人,選擇后進(jìn)入詳細(xì)信息頁面,即病人病情頁面。
?。?)病人第一次進(jìn)入系統(tǒng)的時(shí)候,根據(jù)分配的病案號(hào)和密碼填寫并登錄到病人的詳細(xì)信息頁面中了解自己的病癥狀況,但是病人無權(quán)修改。只有用戶密碼這一欄里,病人有修改的權(quán)限,病人在成功修改后,系統(tǒng)會(huì)有成功修改的提示,以后病人登錄的密碼將是修改后的密碼。
 目前醫(yī)療信息系統(tǒng)正處于由傳統(tǒng)的面向醫(yī)院事務(wù)管理向與臨床醫(yī)療信息相結(jié)合的轉(zhuǎn)變過程,由于電子病歷是臨床醫(yī)療信息的出發(fā)點(diǎn)和醫(yī)院信息系統(tǒng)的核心,因此,電子病歷系統(tǒng)研究是醫(yī)院信息系統(tǒng)研究和建立數(shù)字化醫(yī)院的關(guān)鍵課題。本文對(duì)電子病歷管理系統(tǒng)進(jìn)行了系統(tǒng)功能分析和功能模塊劃分,設(shè)計(jì)了服務(wù)端、客戶端以及數(shù)據(jù)庫,所開發(fā)的系統(tǒng)用戶界面友好、使用方便。
參考文獻(xiàn)
[1] 柳永坡,劉雪梅,趙長海.JSP應(yīng)用開發(fā)[M].北京:人民郵電出版社,2005.
[2] 柏亞軍.JSP編程基礎(chǔ)及應(yīng)用實(shí)例集錦[M].北京:人民郵電出版社,2001.
[3] 馬斗,邱哲,王駿標(biāo).JSP開發(fā)答疑200問[M].北京:人民郵電出版社,2005.
[4] 吳其慶.JSP編程思想與實(shí)踐[M].北京:冶金工業(yè)出版社,2003.
[5] GAMMA E,  BECK K. Contributing to Eclipse中文版[M].熊節(jié),譯. 北京:中國電力出版社,2003.
[6] 張?jiān)茲?,龔玲.Eclipse精要與高級(jí)開發(fā)技術(shù)[M].北京:電子工業(yè)出版社,2005.
[7] 施威銘研究室.SQLServer2000中文版管理實(shí)務(wù)[M].北京:人民郵電出版社,2001.
[8] 孫素華.Dreamweaver MX2004完美網(wǎng)頁設(shè)計(jì)[M].北京:中國青年出版社,2006.
[9] 王黎.Flex+JSP Web應(yīng)用開發(fā)實(shí)戰(zhàn)詳解[M].北京:清華大學(xué)出版社,2010.
[10] 張倍,趙國鋒.JSP數(shù)據(jù)庫通用模塊開發(fā)與系統(tǒng)移植[M].北京:清華大學(xué)出版社,2007.
[11] 張銀鶴,劉治國,張豪.JSP動(dòng)態(tài)網(wǎng)站開發(fā)實(shí)踐教程[M].北京:清華大學(xué)出版社,2007.
[12] 王永茂,JSP程序設(shè)計(jì)—用JSP開發(fā)WEB應(yīng)用[M].北京:清華大學(xué)出版社,2010.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。