莫智懿
【關鍵詞】XML,跨庫檢索,并發(fā),異構數(shù)據(jù)庫
引言
區(qū)域衛(wèi)生信息平臺是一個集城鎮(zhèn)醫(yī)保系統(tǒng)、新型農村合作醫(yī)療管理信息系統(tǒng)、區(qū)域內各級醫(yī)療機構HIS系統(tǒng)和區(qū)域疾病防控系統(tǒng)想結合的衛(wèi)生信息平臺,在該平臺內。該平臺內將不同類型、不同結構、不同環(huán)境、不同用法的各種異構數(shù)據(jù)庫納入統(tǒng)一的區(qū)域衛(wèi)生信息平臺,對各信息點異構數(shù)據(jù)庫進行跨庫檢索。
一、系統(tǒng)設計的基本思想
區(qū)域衛(wèi)生信息平臺的建設使醫(yī)療服務人員在任何時間、任何地點都能及時獲取必要的信息,以支持高質量的醫(yī)療服務;使公共衛(wèi)生工作者能全面掌握人群健康信息,做好疾病預防、控制和健康促進工作;使居民能掌握和獲取自己完整的健康資料,參與健康管理,享受持續(xù)、跨地區(qū)、跨機構的醫(yī)療衛(wèi)生服務;使衛(wèi)生管理者能動態(tài)掌握衛(wèi)生服務資源和利用信息,實現(xiàn)科學管理和決策,從而達到有效地控制醫(yī)療費用的不合理增長、減少醫(yī)療差錯、提高醫(yī)療與服務質量的目的。通過區(qū)域衛(wèi)生信息平臺,將分散在不同機構的以人為核心的健康數(shù)據(jù)整合為一個邏輯完整的信息整體,滿足與其相關的各種機構和人員需要。這是一種全新的衛(wèi)生信息化建設模式。
建立這樣一個區(qū)域衛(wèi)生平臺,需要對建立一種跨系統(tǒng)、跨數(shù)據(jù)庫的數(shù)據(jù)檢索技術,從而使各醫(yī)療衛(wèi)生信息點數(shù)據(jù)能集成于區(qū)域衛(wèi)生平臺,同時也方便各醫(yī)療衛(wèi)生信息點查詢相關數(shù)據(jù),實現(xiàn)對不同數(shù)據(jù)庫的檢索的關鍵是建立一種通用的開放的數(shù)據(jù)庫中間件來屏蔽各系統(tǒng)數(shù)據(jù)庫之間的異構差異。為了使得區(qū)域衛(wèi)生信息平臺具有良好的擴展性,能在該平臺中任意增加信息采集點,本文所研究的一種基于XML技術的數(shù)據(jù)庫中間件用于區(qū)域衛(wèi)生信息平臺對連接平臺的各信息點進行信息采集。這種基于XML技術的數(shù)據(jù)庫中間件不僅多種異構數(shù)據(jù)庫,同時提供一個開放透明的數(shù)據(jù)環(huán)境,當增加信息點時,只需要通過簡單配置中間件就能將信息點加入?yún)^(qū)域衛(wèi)生平臺。
構建一個數(shù)據(jù)庫中間件,區(qū)域衛(wèi)生信息平臺統(tǒng)計數(shù)據(jù)時將檢索命令拆分到各信息點的檢索表達式中,利用命令檢索表達的方式進入各自信息點,再把檢索到的結果用XML數(shù)據(jù)格式取回,在設計過程中采用雙線程技術,一個線程負責向各數(shù)據(jù)信息點分發(fā)檢索命令,分發(fā)完成后即撤銷,一個線程負責監(jiān)聽返回結果,結果返回完成后負責整裝XML文件,對其數(shù)據(jù)進行去重和排序。這種設計思想在執(zhí)行檢索過程中兩個線程異步執(zhí)行,可大幅提高檢索速度。
二、系統(tǒng)模型分析和設計
在區(qū)域衛(wèi)生信息平臺中,信息檢索較為廣泛,以病患信息為基礎的各相關信息,如各醫(yī)院系統(tǒng)中的入院相關信息,檢查相關信息,農合系統(tǒng)中的補償相關信息,健康檔案系統(tǒng)中的相關信息??鐜鞕z索技術不等同于搜索引擎,跨庫檢索主要是檢索各大異構數(shù)據(jù)庫的整體信息資源,幫助用戶定位資源,并且通過知識元的搜索得到用戶想要的信息,在區(qū)域衛(wèi)生信息平臺中異構數(shù)據(jù)庫跨庫檢索系統(tǒng)應該具有以下的功能:
(1)瀏覽與檢索
系統(tǒng)應提供主題樹等索引系統(tǒng),幫助用戶以瀏覽的方式選取合適的檢索詞進行查詢。檢索應包括簡單和高級檢索,簡單檢索應包括自然語言、短語檢索及布爾算符、位置算符、截詞符和通配符等檢索。高級檢索應提供多字段檢索和多種限制選項。同時,系統(tǒng)還應提供檢索策略的保存及定題跟蹤服務,以方便用戶再次檢索。
(2)數(shù)據(jù)間的連接
系統(tǒng)應兼容CrossRef、OpenURL、SFX等數(shù)據(jù)庫無縫鏈接技術或標準,使不同數(shù)據(jù)庫之間的各種記錄能互相鏈接,包括書目數(shù)據(jù)庫、文摘數(shù)據(jù)庫、全文數(shù)據(jù)庫中各種數(shù)據(jù)之間的互連。
(3)數(shù)據(jù)的顯示與保存
系統(tǒng)應對來源于不同數(shù)據(jù)庫的結果進行融合,檢索結果輸出應具備排序功能,如按病患姓名、就診時間、疾病代碼、檢查診斷排序。檢索記錄應可以打印、下載、Email發(fā)送。最好能兼容各種Citation Manager軟件,如Reference Manager、Endnote、Refworks等。
(4)動態(tài)增加數(shù)據(jù)源
系統(tǒng)能做到一定的擴展性,能夠隨時增加一個數(shù)據(jù)源,無論數(shù)據(jù)源是本地服務器的還是遠程服務器的,而且能夠做到對數(shù)據(jù)源的管理。
(5)管理異構系統(tǒng)中的所有數(shù)據(jù)源
對于本機上的全部異構數(shù)據(jù)源,能做到管理它的信息,如果某一數(shù)據(jù)源發(fā)生改變的變化,該檢索平臺能夠迅速地修改數(shù)據(jù)源使得能夠繼續(xù)訪問而不至于癱瘓。能隨時刪除數(shù)據(jù)源,從而達到維護檢索系統(tǒng)的目的。
(6)數(shù)據(jù)安全權限管理
醫(yī)療數(shù)據(jù)是一種涉及到病患隱私的數(shù)據(jù)集,在區(qū)域衛(wèi)生信息平臺中對各用戶實行嚴格的權限控制,檢索結果一般只定義數(shù)據(jù)來源列表,詳細信息需經患者本人同意和相關醫(yī)療機構允許才能調用。
具體的系統(tǒng)功能構件圖如圖1所示。
三、系統(tǒng)流程
檢索系統(tǒng)主要流程可以分為:收集查詢數(shù)據(jù)、處理查詢數(shù)據(jù)、分發(fā)查詢數(shù)據(jù)、處理結果數(shù)據(jù)、顯示結構數(shù)據(jù)。
檢索系統(tǒng)具體的流程可以分為以下幾步:
1.客戶從地址欄訪問檢索主頁面,到達查詢頁面之后填寫檢索的關鍵字。
2.系統(tǒng)內部將會獲取用戶的數(shù)據(jù),如果沒有獲取成功就重新獲取一次,直到獲取成功為止。
3.獲取數(shù)據(jù)之后就會整理好數(shù)據(jù),整理完畢。
4.此時的數(shù)據(jù)將會分組,分組的內容是根據(jù)數(shù)據(jù)庫來分組的,如果用戶想要查詢的數(shù)據(jù)庫是5個數(shù)據(jù)庫,那么就會分成5組數(shù)據(jù),然后是查詢本地數(shù)據(jù)庫與這5個數(shù)據(jù)庫各自相關的信息,其中包括數(shù)據(jù)庫的連接信息、數(shù)據(jù)庫的表的信息、查詢字段等信息。
5.查詢完畢之后就會利用消息隊列向每一個服務器發(fā)送查詢請求。
6.遠程數(shù)據(jù)庫收到查詢請求會返回查詢結果。
7.本地服務器得到遠程數(shù)據(jù)庫的查詢結果,做相應的處理(經過本地數(shù)據(jù)的核對,加入到XML文檔)。
8.查詢完畢之后,本地服務器從磁盤中取出所有的數(shù)據(jù)生成XML文檔。
9.針對XML文檔進行再次去重、排序、分頁顯示、顯示結果。
系統(tǒng)流程詳細圖如圖2所示。
用戶登錄檢索系統(tǒng)的檢索頁面之后,用戶填入檢索的關鍵字以及勾選查詢的數(shù)據(jù)庫之后,系統(tǒng)得到用戶數(shù)據(jù)的信息,系統(tǒng)后臺此時會建立兩個線程,第一個線程的任務是分發(fā)檢索語句,而不管接受數(shù)據(jù),接受數(shù)據(jù)會交給第二個線程做,兩個線程是異步執(zhí)行的,這樣就打破了傳統(tǒng)查詢常規(guī),提高系統(tǒng)性能。第二個線程主要建立監(jiān)聽程序,會循環(huán)檢查數(shù)據(jù)庫是否有發(fā)回結果文件的請求,有請求就會接收數(shù)據(jù)庫結果文件,沒有請求就會一直循環(huán)等待,當多個數(shù)據(jù)庫在同一時刻向本系統(tǒng)返回結果,此時會接收結果文件會建立隊列接收,第一個先接收結果文件,第二個處于阻塞狀態(tài),第一個接收完畢之后會激活第二個接收,然后第三個會處于阻塞狀態(tài),一直循環(huán)下去直到接收完畢。從分發(fā)查詢語句起,3秒之后會整合數(shù)據(jù)庫返回的所有XML文件,對于3秒之后返回的結果文件就不在接收(檢索時間定義可根據(jù)具體網(wǎng)絡和各節(jié)點硬件環(huán)境自定義),整合完畢所有文件之后把再次對結果文件進行查詢分頁,顯示第一頁的內容,最后返回第一頁的結果文件。
四、結束語
本文設計了一個基于XML的跨庫檢索系統(tǒng)模型,應用于梧州市區(qū)域衛(wèi)生信息平臺中,成功的連接了市內各級定點醫(yī)療機構HIS系統(tǒng),梧州市醫(yī)保系統(tǒng)和各縣市區(qū)新型農村合作醫(yī)療系統(tǒng)及自身設計的梧州市健康檔案管理信息系統(tǒng)。實現(xiàn)了各信息系統(tǒng)的互聯(lián)互通,在任意系統(tǒng)節(jié)點可檢索其他業(yè)務系統(tǒng)的相關信息,雖然各信息節(jié)點的醫(yī)療數(shù)據(jù)已實現(xiàn)信息化管理,但由于涉及到醫(yī)療數(shù)據(jù)的保密性,系統(tǒng)之間檢索結果調閱還需要人工審核和人工調取。但是,使用XML技術的區(qū)域衛(wèi)生信息平臺初步解決了醫(yī)療信息孤島問題。