摘 要: 電子病例系統研究是醫院信息系統和建立數字化醫院的關鍵課題。首先,討論了作為醫院管理系統實現信息化的重要環節——電子病例管理系統的定義和作用。由于B/S結構具有伸縮性、維護性和擴展性等多方面的優勢,因此系統開發采用B/S結構;其次,對電子病歷管理系統的系統功能進行分析和功能模塊劃分;再次,進行數據庫的需求分析、概念結構分析以及邏輯結構分析,并對數據庫進行實現和連接;最后,利用Dreamweaver實現JSP頁面。
關鍵詞: 電子病歷;B/S;JSP;struts;數據庫
電子病歷EMR(Electronic Medical Record)也稱為算機化的病歷或基于計算機的病人記錄CMR(Computer Based Mdical Record),它是用電子設備保存、管理和傳輸數字化的病人醫療記錄,是取代手寫紙張的病歷。對電子病歷一致的理解與定義目前尚未形成。病歷在醫療科研、教學和醫院管理方面起著提供數據源的重要作用。紙張病歷在服務方面是被動式的,而電子病案則可以是主動式的,包括病案檢索、智能知識庫、醫療質量統計、醫療評價、經濟統計分析等等,這是電子病歷的服務功能。
電子病歷內涵應包括:一是信息共享。醫院各個部門、科室在任何時間和地點都能調閱到病人所在醫院的全部病歷記錄;二是具有預警功能,對藥物配伍禁忌、醫療方法不當進行提示;三是支持醫療信息資料庫,供醫療人員在工作時查詢使用。電子病歷是醫療信息的核心,病歷信息貫穿于病人在醫院就診的各個環節,因此,電子病歷絕不僅是病案的電子存儲,它實質上是醫療過程的全面信息化,不是靜態的病案本身,而是動態的智能信息源。
1 基于B/S模式的系統結構
一般來講,基于B/S結構模式[1-4]的電子病歷管理的應用系統具有如圖1所示的三個層次。三層結構中,底層是電子病歷的數據服務器,用于存儲和管理電子病歷數據;中間層是應用服務器和Web服務器,其中應用服務器用于實現系統的業務邏輯,如電子病歷的管理、電子病歷的歸檔、電子病歷的查詢、統計報表等組建管理,還可以通過網關和外部系統進行數據交換和傳遞;最上面的是客戶端,用戶可以通過瀏覽器進行使用。
當醫生選中其中的某個病人時,可以進入到該病人的詳細病歷資料的頁面,查看病人已往的病情記錄、當前臨床病癥和檢查結果,并據此做出診斷,并填寫病歷詳細資料中的診斷信息。
病人在掛號后,系統生成病人的病歷號碼,并且初始化病人的登錄密碼和病歷號碼一致,病人根據病案號碼和登錄密碼登錄到相應的病歷信息中。
3 數據庫設計
3.1 數據庫需求分析
通過對醫院門診部門的實際運作和管理流程進行分析,設計的數據結構如下:
?。?)掛號處掛號員登錄信息:包括的數據項有姓名和密碼。
?。?)醫生登錄信息:包括的數據項有科室選擇、醫生姓名和登錄密碼。
?。?)掛號處登記的病人基本信息:包括的數據項目有患者姓名、患者年齡、患者性別、身份證號碼、住宅電話、移動號碼、入院科室、家庭地址和診斷時間。
(4)病人病歷詳細信息:包括的數據項有患者姓名、患者年齡、患者性別、身份證號碼、住宅電話、移動號碼、入院科室、家庭地址、診斷時間、病歷號碼、總費用、胸透檢查、血檢結果、B超檢查結果、臨床癥狀、家族病史、診斷結果、病人處方、手術方案、手術情況、用戶密碼的修改以及既往病史等。
?。?)病人登錄信息:包括的數據項有病歷號和登錄密碼。
3.2 數據庫概念結構設計
在需求分析的基礎上,設計出能滿足用戶需求的各種實體以及它們之間的關系,為邏輯結構設計打下基礎。本文采用E-R圖的方法來進行數據庫概念結構設計。
圖3為掛號信息的實體E-R關系圖,圖4為病歷信息的實體E-R關系圖。實體與實體之間的關系如圖5所示。
電子病歷管理系統數據庫具備5個表格的設計,分別是錄入員信息表、醫生信息表、病人登錄信息表、病人病歷基本信息表和病人既往病史信息表。
在需求分析、概念結構設計的基礎上,就可以創建數據庫表格,然后將表格結構導入數據庫系統,這樣就實現了數據庫的邏輯結構[7]。
3.3 建立數據庫的連接
網頁上各個請求的實現都需要連接數據庫,下面的程序包文件中,DataSource是用來查找在struts架構中定義的數據源,它是在jre/lib文件庫里定義的rt.jar,引入的Connection類用來得到DataSource返回的連接;ResultSet用來獲取Statement對象執行SQL語句后返回的數據信息;SQLException用來捕獲在執行數據庫操作時產生的異常信息,以便拋出并讓用戶了解數據庫操作過程中的出錯信息;Statement類用來得到Connection類創建的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;//引入接口,與數據庫的連接
import org.apache.struts.action.DynaActionForm;
4 服務端應用
服務端的具體運行過程如圖6所示。struts應用程序中的所有組件在struts-config.xml文件中注冊,配置文件struts-config.xml是整個struts應用的核心。struts應用在啟動時,就會自動加載該文件到內存中,以后用戶的每一次請求以及struts自身的每一次請求轉發都會依賴該文件。
其中,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 客戶端應用
利用Dreamweaver實現了JSP頁面[8-12]。系統登錄時,輸入用戶名和密碼進入主要功能頁面,包括:病人登錄,醫生登錄和掛號員登錄。
(1)病人進入醫院,填寫紙質的病歷,填寫病人的基本的信息,病人將紙質的病歷交給信息錄入員后,錄入員登錄到錄入界面,錄入病人的基本信息,并根據病人選擇的科室給病人分配一個病案號,這樣相應科室的醫生一旦登錄,就能馬上調出其所在科室的所有病人的基本信息列表。
?。?)醫生登錄時,輸入其所在的部門科室的名稱、姓名和密碼就能夠進入到下一個頁面,這里的關鍵字是部門科室,系統根據填寫的部門科室的名稱自動調出該部門科室的所有病人的基本信息列表,醫生能大致了解該科室的病人的狀況。醫生可以選擇某一個病人,選擇后進入詳細信息頁面,即病人病情頁面。
(3)病人第一次進入系統的時候,根據分配的病案號和密碼填寫并登錄到病人的詳細信息頁面中了解自己的病癥狀況,但是病人無權修改。只有用戶密碼這一欄里,病人有修改的權限,病人在成功修改后,系統會有成功修改的提示,以后病人登錄的密碼將是修改后的密碼。
目前醫療信息系統正處于由傳統的面向醫院事務管理向與臨床醫療信息相結合的轉變過程,由于電子病歷是臨床醫療信息的出發點和醫院信息系統的核心,因此,電子病歷系統研究是醫院信息系統研究和建立數字化醫院的關鍵課題。本文對電子病歷管理系統進行了系統功能分析和功能模塊劃分,設計了服務端、客戶端以及數據庫,所開發的系統用戶界面友好、使用方便。
參考文獻
[1] 柳永坡,劉雪梅,趙長海.JSP應用開發[M].北京:人民郵電出版社,2005.
[2] 柏亞軍.JSP編程基礎及應用實例集錦[M].北京:人民郵電出版社,2001.
[3] 馬斗,邱哲,王駿標.JSP開發答疑200問[M].北京:人民郵電出版社,2005.
[4] 吳其慶.JSP編程思想與實踐[M].北京:冶金工業出版社,2003.
[5] GAMMA E, BECK K. Contributing to Eclipse中文版[M].熊節,譯. 北京:中國電力出版社,2003.
[6] 張云濤,龔玲.Eclipse精要與高級開發技術[M].北京:電子工業出版社,2005.
[7] 施威銘研究室.SQLServer2000中文版管理實務[M].北京:人民郵電出版社,2001.
[8] 孫素華.Dreamweaver MX2004完美網頁設計[M].北京:中國青年出版社,2006.
[9] 王黎.Flex+JSP Web應用開發實戰詳解[M].北京:清華大學出版社,2010.
[10] 張倍,趙國鋒.JSP數據庫通用模塊開發與系統移植[M].北京:清華大學出版社,2007.
[11] 張銀鶴,劉治國,張豪.JSP動態網站開發實踐教程[M].北京:清華大學出版社,2007.
[12] 王永茂,JSP程序設計—用JSP開發WEB應用[M].北京:清華大學出版社,2010.