康世英
(咸陽師范學(xué)院信息工程學(xué)院,咸陽712000)
“后關(guān)系型”數(shù)據(jù)庫Caché在HIS中的應(yīng)用研究
康世英
(咸陽師范學(xué)院信息工程學(xué)院,咸陽712000)
通過分析國內(nèi)外HIS(Hospital Information System)系統(tǒng)的現(xiàn)狀,指出我國現(xiàn)有HIS系統(tǒng)的主要問題,并以這些問題為前提對HIS系統(tǒng)作了深入研究。分析了后關(guān)系型數(shù)據(jù)庫Caché在HIS中的應(yīng)用優(yōu)勢,并給出了基于后關(guān)系型數(shù)據(jù)庫Caché的HIS架構(gòu),最后,以科室管理為例給出了詳細(xì)的設(shè)計過程。
后關(guān)系型;Caché數(shù)據(jù)庫;醫(yī)院信息系統(tǒng);Web服務(wù)
醫(yī)院信息系統(tǒng)(HIS)在國際學(xué)術(shù)界被公認(rèn)為新興的醫(yī)學(xué)信息學(xué)(Medical Informatics)的重要分支。HIS就是應(yīng)用計算機(jī)和網(wǎng)絡(luò)通信等高科技手段對醫(yī)院內(nèi)大量信息進(jìn)行數(shù)字化管理的現(xiàn)代信息系統(tǒng),它能提供全院的經(jīng)濟(jì)運(yùn)行狀態(tài)、醫(yī)療質(zhì)量狀態(tài)、工作質(zhì)量狀態(tài)等,以及獲取各部門的信息反饋,從而使各部門的管理者進(jìn)行計劃決策、組織實(shí)施、協(xié)調(diào)控制。
根據(jù)衛(wèi)生部統(tǒng)計,國內(nèi)有17000多家縣以上的醫(yī)療機(jī)構(gòu),有5000多家醫(yī)院建設(shè)了HIS。但是多數(shù)HIS還是以單純的經(jīng)濟(jì)核算為核心的收費(fèi)及經(jīng)濟(jì)管理初級階段的信息系統(tǒng),實(shí)際上達(dá)不到真正意義上的HIS。而較為完整的HIS應(yīng)是以管理為核心的信息系統(tǒng),包括醫(yī)院內(nèi)部所有信息,如收費(fèi)、病案、藥品管理、財務(wù)、經(jīng)管、職能科室、總務(wù)后勤、醫(yī)技等等,其范圍大,信息量多。完整的HIS系統(tǒng)既要為醫(yī)院管理服務(wù),又要為臨床科研及教學(xué)服務(wù),既包括基層窗口實(shí)時業(yè)務(wù)處理,又包括中高層信息綜合與分析,應(yīng)當(dāng)是通過全面聯(lián)網(wǎng),實(shí)現(xiàn)基于成本核算的現(xiàn)代經(jīng)營管理和基于提高醫(yī)療質(zhì)量的現(xiàn)代醫(yī)院主題管理的系統(tǒng)。
HIS系統(tǒng)大多存在如下一些共同問題:只能做些初級的事務(wù)處理,模仿原有的手工工作流程,而缺乏對所采集數(shù)據(jù)的整理分析;基本上都是使用一個主服務(wù)器的規(guī)模,若同時在線的用戶數(shù)量太多,服務(wù)器就有些不能滿足了;主要功能還只是著眼于完成醫(yī)院收費(fèi)和財務(wù)管理方面的工作,還不能完整的覆蓋患者就醫(yī)和醫(yī)院管理的每個環(huán)節(jié),造成數(shù)據(jù)采集不完整,進(jìn)而影響HIS系統(tǒng)的功能和運(yùn)行效率;數(shù)據(jù)庫里的數(shù)據(jù)量增長過快,幾個月就要做一次數(shù)據(jù)清除,這樣已經(jīng)積累的信息也就隨著垃圾數(shù)據(jù)一起被“請”出去,清除數(shù)據(jù)后還要因此停機(jī)重新做索引,這也會影響系統(tǒng)的正常運(yùn)行[1]。
而產(chǎn)生這些問題的很重要原因是數(shù)據(jù)庫選用。目前大多數(shù)HIS系統(tǒng)所采用的是Oracle,SQL Server等關(guān)系型數(shù)據(jù)庫[2,5]。關(guān)系數(shù)據(jù)庫對于有些行業(yè)中的應(yīng)用來說是個很好的數(shù)據(jù)庫,但是對于數(shù)據(jù)復(fù)雜的醫(yī)療行業(yè)就不是最佳選擇了。因?yàn)殛P(guān)系數(shù)據(jù)庫主要適合于數(shù)據(jù)關(guān)系比較簡單的場合,所有數(shù)據(jù)要存進(jìn)關(guān)系數(shù)據(jù)庫中,都要拆分成二維的關(guān)系表格,否則就不能存儲。但現(xiàn)實(shí)世界的數(shù)據(jù)很難分解為這種簡單的行列結(jié)構(gòu),結(jié)果就產(chǎn)生了大量的表,表和表之間的關(guān)系就變得很難記憶和表達(dá)。行列結(jié)構(gòu)是簡單,但是留給程序完成的外連接、存儲過程、觸發(fā)器就不是這么簡單了。另外,關(guān)系數(shù)據(jù)庫里的關(guān)系表格的結(jié)構(gòu)事先需要定義,結(jié)果不僅在表格結(jié)構(gòu)擴(kuò)展變動時會有麻煩,而且特別是實(shí)際上并沒有數(shù)據(jù)存儲的空表也會白白占用一部分?jǐn)?shù)據(jù)存儲空間,這種浪費(fèi)和占用數(shù)據(jù)空間的直接影響是造成醫(yī)院信息系統(tǒng)在使用中數(shù)據(jù)會動態(tài)增長過快的重要原因。
4.1 多維數(shù)據(jù)模型
通過使用高效多維數(shù)據(jù)模型存儲技術(shù)來替代傳統(tǒng)的二維表,只要少量的磁盤讀寫就能完成數(shù)據(jù)訪問和更新。降低I/O意味著應(yīng)用程序運(yùn)行得更快。
Caché數(shù)據(jù)庫的核心是高效的多維數(shù)據(jù)引擎。通過內(nèi)置的CachéObjectScript腳本語言,可以直接訪問多維數(shù)據(jù)結(jié)構(gòu),這樣可以獲得最高的性能和最好的存儲利用率[3]。
由圖1可以看到,用戶可以通過多種方式(對象,XML,關(guān)系(SQL),Global,可以根據(jù)用戶習(xí)慣或者歷史原因進(jìn)行靈活選擇)創(chuàng)建數(shù)據(jù)定義和輸入、修改數(shù)據(jù);相反地,也可以用這些方式提取和分析數(shù)據(jù)??梢钥闯?,無論是表還是持久化對象,都是以同一種方式(Global)保存于數(shù)據(jù)庫中,只是在訪問時通過不同的機(jī)制將它們投影(Project)成為對象或是關(guān)系的形式[4]。
4.2 Caché的事務(wù)處理
快速查詢中,通過使用事務(wù)型位圖索引技術(shù),使用者能夠快速搜索大型數(shù)據(jù)庫——通常查詢成百萬記錄只需要不到一秒時間,這種數(shù)據(jù)庫上運(yùn)行的主要是用于處理事務(wù)的系統(tǒng)。Caché的事務(wù)型位圖處理允許在實(shí)時更新的數(shù)據(jù)上進(jìn)行實(shí)時數(shù)據(jù)分析。
圖1 Caché存儲體系
4.3 Caché的分布式應(yīng)用
當(dāng)使用不斷增加時,Caché里的企業(yè)緩存協(xié)議(ECP)允許任意增加應(yīng)用服務(wù)器。每個增加的應(yīng)用服務(wù)器都好像在使用本地數(shù)據(jù)庫一樣。因此如果磁盤吞吐量成為瓶頸,可以采取增加數(shù)據(jù)服務(wù)器的措施,并且數(shù)據(jù)庫可在邏輯上分區(qū)。如果一個數(shù)據(jù)服務(wù)器死機(jī)并重啟,或者出現(xiàn)暫時的網(wǎng)絡(luò)斷連情況,應(yīng)用服務(wù)器仍可以繼續(xù)進(jìn)行處理,而用戶除了能感受到一點(diǎn)延遲之外沒有什么影響。
系統(tǒng)采用B/S和C/S相結(jié)合的三層架構(gòu),即從下到上為數(shù)據(jù)層、業(yè)務(wù)邏輯層和表示層(如圖2所示)。這種面向服務(wù)的層次架構(gòu)可以實(shí)現(xiàn)所有數(shù)據(jù)信息的集中存放和統(tǒng)一管理,安全可靠,而且還能有效提高系統(tǒng)的可擴(kuò)展性和可靠性。系統(tǒng)開發(fā)時,將所有模塊都集中在一個命名空間HIS下。建立命名空間的主要工作就是建立與數(shù)據(jù)庫的映射,這樣做可以將程序邏輯與物理存在的數(shù)據(jù)獨(dú)立開來,便于開發(fā)人員專注于系統(tǒng)功能的設(shè)計,不需要為未來實(shí)施時不同的系統(tǒng)架構(gòu)而作出額外工作,系統(tǒng)架構(gòu)也因?yàn)檫@樣變得更靈活。
數(shù)據(jù)層:負(fù)責(zé)存儲數(shù)據(jù)信息和數(shù)據(jù)邏輯,同時也為業(yè)務(wù)邏輯和底層數(shù)據(jù)信息提供了一個數(shù)據(jù)交換平臺,使得數(shù)據(jù)信息保持了良好的安全性和一致性;用以大寫字母C開頭的類,表示存儲類,存儲類定義了所存儲數(shù)據(jù)的類型結(jié)構(gòu),如病區(qū)信息類CWard;
業(yè)務(wù)邏輯層:負(fù)責(zé)接受客戶的服務(wù)請求,進(jìn)行數(shù)據(jù)處理,使數(shù)據(jù)信息有良好的封裝性和保密性,同時提供標(biāo)準(zhǔn)的服務(wù)接口,為進(jìn)一步調(diào)用和返回數(shù)據(jù)結(jié)果提供服務(wù);
表示層:用ZEN開發(fā)用戶界面,業(yè)務(wù)單純,它主要實(shí)現(xiàn)與用戶交互,處理收集數(shù)據(jù),向業(yè)務(wù)邏輯層的業(yè)務(wù)邏輯請求調(diào)用,并顯示處理結(jié)果。
由于篇幅所限,以科室管理為例來說明系統(tǒng)開發(fā)過程。
圖2 系統(tǒng)的層次架構(gòu)
5.1 數(shù)據(jù)層
科室管理系統(tǒng)是HIS涉及科室的分系統(tǒng)使用的基礎(chǔ)數(shù)據(jù)。凡使用到科室信息的分系統(tǒng)都與其有關(guān)。所以科室系統(tǒng)設(shè)計得合理與否,對于整個HIS系統(tǒng)都有很大的影響。
針對科室管理系統(tǒng)所完成的功能將模塊劃分為三個類:科室臨床屬性類(CDeptClinicAttrDict)、病區(qū)信息類(CWard)和科室類(CDept),如圖3所示。
圖3 科室管理類
其中,CDeptClinicAttrDict是CDept的一個引用類,病區(qū)類CWard和科室類CDept之間是一對多的關(guān)系,即一個病區(qū)可以包含多個科室對應(yīng)的患者,病區(qū)不能為空,所以有關(guān)系1..n,F(xiàn)aOrgnization(父組織機(jī)構(gòu))和FaReckDept(父核算級科室)是調(diào)用自身類,其中父組織機(jī)構(gòu)用于解釋該科室的組織層次關(guān)系,方便管理;父核算級科室用于解釋該科室所屬的核算機(jī)構(gòu),方便財務(wù)結(jié)算。因?yàn)橛械臅r候,組織機(jī)構(gòu)和核算機(jī)構(gòu)并不是一致的。
5.2 業(yè)務(wù)邏輯層
系統(tǒng)中所有的顯示邏輯、應(yīng)用邏輯、控制邏輯都在業(yè)務(wù)邏輯層。該層的作用是作為紐帶將表示層和數(shù)據(jù)庫緊密聯(lián)系在一起,它不但支持客戶端讀取、存儲數(shù)據(jù),而且在業(yè)務(wù)方面也起到對表示層的支撐作用。業(yè)務(wù)邏輯層主要是基于XML的Web Services服務(wù)接口。
例如在AddDept(添加科室)頁面,如圖4所示,當(dāng)填寫好必需的科室名稱和科室代碼之后點(diǎn)擊“添加新的科室”按鈕,頁面就會向服務(wù)器發(fā)送“添加新科室”的請求,這個請求就通過業(yè)務(wù)邏輯層的接口來實(shí)現(xiàn)。它通過調(diào)用接口函數(shù)DeptExists判斷該科室名稱和科室代碼是否已經(jīng)存在,由于科室名稱和科室代碼被設(shè)置成唯一索引,而Caché數(shù)據(jù)庫對于已建立唯一索引的屬性進(jìn)行Open,Delete和Exists操作時,可以不用實(shí)例化而直接操作,所以,通過接口建立了與數(shù)據(jù)庫的連接。
圖4 添加科室界面
部分接口代碼如下:
接口類還有:取得所有科室SelectAllDept(),添加病區(qū)與科室的對照AddRelationShipOfDeptAnd Ward(),更新病區(qū)信息UpdateWard(),取得科室細(xì)節(jié)GetDeptDetail()等。
5.3 表示層
表示層負(fù)責(zé)處理用戶輸入和向用戶輸出,但并不負(fù)責(zé)解釋其含義??剖夜芾硐到y(tǒng)的表示層界面主要是針對病區(qū)和科室屬性的設(shè)置,以及病區(qū)和科室間一對多關(guān)系的設(shè)置。
HIS臨床積累的信息很多,數(shù)據(jù)類型及相互關(guān)系錯綜復(fù)雜,并且多分散在各科室、各專業(yè)和各層次的人手中。采用后關(guān)系型數(shù)據(jù)庫對各種信息進(jìn)行加工、處理、交換和保存,能提供全院的經(jīng)濟(jì)運(yùn)行狀態(tài)、醫(yī)療質(zhì)量狀態(tài)、工作質(zhì)量狀態(tài)等等,以及獲取各部門的信息反饋,從而提高醫(yī)院的工作效率和質(zhì)量,具有很強(qiáng)的現(xiàn)實(shí)意義和應(yīng)用前景。
[1]周吉文.醫(yī)院HIS系統(tǒng)數(shù)據(jù)庫優(yōu)化技術(shù)淺析[J].科技資訊,2008(23):29.
[2]姚琦.基于多維數(shù)據(jù)庫的財務(wù)數(shù)據(jù)管理[J].長春師范學(xué)院學(xué)報,2011(6):23-25.
[3]InterSystems Corporation.CachéTechnology Guide[EB/OL].http://www.intersystems.cn/cache/technology/techguide,2010-01-11.
[4]InterSystems Corporation.Caché技術(shù)手冊[EB/OL].http://www.intersystems.cn/cache/technology/techguide/index.html,2010-01-11.
[5]陳躍文,李永紅.基于多層結(jié)構(gòu)醫(yī)院管理信息系統(tǒng)的開發(fā)與研究[D].山東:山東科技大學(xué),2005.
Research on Application of Post-relational Database Caché in Hospital Information System
KANG Shi-ying
(School of Information Engineering,Xianyang Normal University,XianYang 712000,China)
After analyzing the domestic and international actualities,according to themain problem of the current HIS(Hospital Information System)in China,the system is researched deeply in this paper.It proposes the architecture of HIS based on the advantages of post-relational database cache.Then,the detailed design procedure is provided as the system is applied to the departmentmanagement.
Post-relational;CachéDatabase;HIS;Web Services
10.3969/j.issn.1002-2279.2014.05.013
TP311
:B
:1002-2279(2014)05-0043-04
康世英(1980-),女,山西大同人,碩士研究生,講師,研究方向:計算機(jī)網(wǎng)絡(luò)應(yīng)用。
2014-12-23