本文通過分析現(xiàn)今主流的數(shù)據(jù)庫存儲模型,對基于MML標準的電子病歷構建存儲模型。針對對象一關系型和關系型2種存儲模型比較分析,給出了基于MML標準的電子病歷系統(tǒng)的數(shù)據(jù)庫存儲模型設計方案。
1 引 言
MML(Medical Markup Language)作為一套不同醫(yī)療信息系統(tǒng)之間的數(shù)據(jù)交換規(guī)格于1995年開發(fā),是一套比較完整的使用xm[x]l結構電子病歷交換標準,目前新版本是3.0。采用MML標準可以將基于異構電子病歷的醫(yī)療信息系統(tǒng)很好的結合起來,實現(xiàn)數(shù)據(jù)的共享。
目前大多數(shù)采用電子病歷醫(yī)療信息系統(tǒng)的醫(yī)院都使用關系型數(shù)據(jù)庫,主要考慮到關系型數(shù)據(jù)庫有強大易用的查詢分析工具和易與醫(yī)院遺留系統(tǒng)整合的能力。但是由于基于MML的電子病歷映射到關系型數(shù)據(jù)庫時,原有的層次結構信息將丟失,此外關系型數(shù)據(jù)庫對基于MML的電子病歷內的嵌套和遞歸結構支持也較弱。
2數(shù)據(jù)庫類型選擇
針對醫(yī)療信息系統(tǒng)的研究發(fā)現(xiàn),兩類數(shù)據(jù)庫系統(tǒng)操作是必須的:操作類型(例如,統(tǒng)計、分析);研究類型(例如,查詢)。在分析應當選取何種類型的數(shù)據(jù)庫存儲模型作為研究對象時,首要前提是要支持這兩類操作?,F(xiàn)有3種數(shù)據(jù)庫系統(tǒng)可以作為MML電子病歷的存儲模型,分別是xm[x]l原生數(shù)據(jù)庫、關系型數(shù)據(jù)庫和對象一關系型數(shù)據(jù)庫。
xm[x]l原生數(shù)據(jù)庫是專門為存儲xm[x]l數(shù)據(jù)設計的,支持DOM模型和斷言查詢。但現(xiàn)在缺乏商業(yè)級的產(chǎn)品,同時開發(fā)人員需要花費相當?shù)臅r間來熟悉和適應,在未來可能作為xm[x]l存儲的重要應用但這里不作為分析研究的重點。
對于關系型數(shù)據(jù)庫系統(tǒng),當MML電子病歷映射到數(shù)據(jù)庫時,文檔內在的層次關系將丟失。這可能不影響操作類型的操作,可是對審計跟蹤將有一定影響。作為現(xiàn)在主流的數(shù)據(jù)庫系統(tǒng),關系型數(shù)據(jù)庫系統(tǒng)有豐富強大的查詢和分析工具,各種優(yōu)化技術又使得性能高效,因此將其作為研究MML電子病歷系統(tǒng)存儲模型的對象。
相比之下對象一關系數(shù)據(jù)庫作為較新的數(shù)據(jù)庫系統(tǒng),其在關系型數(shù)據(jù)庫和面向對象數(shù)據(jù)庫之間搭起了一座橋梁。對象一關系數(shù)據(jù)庫基于關系模型,存儲結構和數(shù)據(jù)訪問都是基于標準的面向對象版本的SQL。因為引進了OO概念,對象一關系數(shù)據(jù)庫也附加了、繼承和多態(tài)等OO特性。對象能存儲在表內并包含方法。由于擴展了面向對象的特性,支持復雜數(shù)據(jù)類型,對象一關系數(shù)據(jù)庫比傳統(tǒng)關系型數(shù)據(jù)庫更適合作為MML電子病歷的存儲模型。
MML電子病歷包括各種檢驗表、圖形等對象需要專門的方法來查詢,在這種情形下對象一關系型數(shù)據(jù)庫就尤顯優(yōu)勢。
3存儲模型設計和實現(xiàn)
采用傳統(tǒng)的ANSI三層數(shù)據(jù)庫模型(外層、邏輯或內層、物理層)來設計MML電子病歷存儲模型。概念設計階段的目標是構造出獨立于具體數(shù)據(jù)庫管理系統(tǒng)的數(shù)據(jù)庫概念模式。在邏輯層設計的過程中,選用特定的數(shù)據(jù)模型將概念模式映射到邏輯模式。后一步按照物理存儲結構開發(fā)數(shù)據(jù)庫的規(guī)范,底層算法用來設計執(zhí)行數(shù)據(jù)榆索和數(shù)據(jù)管理。
3.1 基于MML電子病歷的ER模型
在概念設計階段采用廣為使用的實體一關系(ER)模型。根據(jù)MML電子病歷處理過程,設計了包括3個實體和8種關系的模型,3個實體分別為:Person,MML-emr和Organization。
針對設計出的ER模型(見圖1),町以選用對象導向的方法或傳統(tǒng)的純關系數(shù)據(jù)模型方法。下而將詳細討論對比兩種方法,找出各自的優(yōu)缺點。