国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于openEHR的臨床醫(yī)療數(shù)據(jù)倉庫構(gòu)建方法

2016-09-15 09:11王冬冬呂旭東閔令通
關(guān)鍵詞:數(shù)據(jù)模型數(shù)據(jù)倉庫集市

王冬冬 葉 楓 呂旭東 閔令通 王 利

1(浙江工業(yè)大學(xué)經(jīng)貿(mào)管理學(xué)院, 杭州 310023)2(浙江大學(xué)生物醫(yī)學(xué)工程與儀器科學(xué)學(xué)院,杭州 310027)

基于openEHR的臨床醫(yī)療數(shù)據(jù)倉庫構(gòu)建方法

王冬冬1葉 楓1呂旭東2*閔令通2王 利2

1(浙江工業(yè)大學(xué)經(jīng)貿(mào)管理學(xué)院, 杭州 310023)2(浙江大學(xué)生物醫(yī)學(xué)工程與儀器科學(xué)學(xué)院,杭州 310027)

醫(yī)療信息的復(fù)雜性和動(dòng)態(tài)性給醫(yī)療信息系統(tǒng)帶來巨大的挑戰(zhàn),openEHR規(guī)范的兩層建模思想提高醫(yī)療信息系統(tǒng)的靈活性,適應(yīng)醫(yī)療信息需求的變化。但面臨查詢數(shù)據(jù)量巨大、查詢條件復(fù)雜多變的個(gè)性化操作需求時(shí),基于openEHR兩層建模方法實(shí)現(xiàn)醫(yī)療信息系統(tǒng)查詢性能較低,這主要與底層數(shù)據(jù)存儲(chǔ)模型有關(guān)。數(shù)據(jù)倉庫多維數(shù)據(jù)模型具有高性能查詢的優(yōu)點(diǎn),通過建立滿足個(gè)性化需求的數(shù)據(jù)集市,可以加快數(shù)據(jù)查詢速度。由于基于openEHR規(guī)范兩層建模方法實(shí)現(xiàn)的醫(yī)療信息系統(tǒng)的特殊性,傳統(tǒng)的數(shù)據(jù)倉庫構(gòu)建方法使得用戶的參與性較低并且費(fèi)時(shí)費(fèi)力。針對(duì)這一問題,以openEHR規(guī)范的兩層建模思想為基礎(chǔ),提出模板到動(dòng)態(tài)數(shù)據(jù)倉庫多維數(shù)據(jù)模型的映射方法,實(shí)現(xiàn)多維數(shù)據(jù)模型的用戶可配置,利用映射路徑加快ETL的實(shí)施,為醫(yī)療行業(yè)提供一種可操控、可擴(kuò)展并真實(shí)反映用戶需求的數(shù)據(jù)倉庫構(gòu)建方法。對(duì)該方法進(jìn)行性能上的驗(yàn)證,結(jié)果表明,在10 861 522條數(shù)據(jù)中查詢329條數(shù)據(jù)時(shí),基于該方法構(gòu)建的數(shù)據(jù)集市是基于openEHR兩層建模方法生成的數(shù)據(jù)庫的5.6倍,是基于傳統(tǒng)方法構(gòu)建的數(shù)據(jù)集市的0.97倍。

openEHR;模板;數(shù)據(jù)倉庫;多維數(shù)據(jù)模型

引言

醫(yī)療領(lǐng)域的醫(yī)學(xué)知識(shí)和醫(yī)療業(yè)務(wù)需求復(fù)雜多變,采取傳統(tǒng)的醫(yī)療信息系統(tǒng)開發(fā)方法,工程技術(shù)人員不僅要在醫(yī)療信息系統(tǒng)開發(fā)之時(shí)即與醫(yī)療領(lǐng)域?qū)<曳磸?fù)討論確認(rèn),而且在系統(tǒng)的使用過程中還要不斷對(duì)系統(tǒng)進(jìn)行維護(hù)和更新,這使得醫(yī)療信息系統(tǒng)很難及時(shí)響應(yīng)醫(yī)療人員對(duì)醫(yī)療信息的需求。openEHR規(guī)范作為一套開放的EHR(electronic health record)體系結(jié)構(gòu),其核心在于將醫(yī)療領(lǐng)域知識(shí)從具體的臨床信息中分離出來,并建立兩層模型——參考模型和原型模型[1-2]。按照openEHR規(guī)范的設(shè)計(jì),系統(tǒng)底層結(jié)構(gòu)的開發(fā)主要基于參考模型,而系統(tǒng)中所涉及的領(lǐng)域概念全部由原型定義,這就有效降低了系統(tǒng)底層結(jié)構(gòu)對(duì)領(lǐng)域知識(shí)的依賴性,從而使系統(tǒng)對(duì)領(lǐng)域知識(shí)變化的適應(yīng)能力大大增強(qiáng)。領(lǐng)域知識(shí)層由原型和模板組成,允許領(lǐng)域?qū)<抑苯佣x,從而“把臨床醫(yī)生放回了駕駛員的座位上”[3]。

目前,國(guó)際上開展了很多基于openEHR規(guī)范的醫(yī)療信息系統(tǒng)的研究[4-5],對(duì)openEHR兩層建模思想進(jìn)行了驗(yàn)證。在基于openEHR規(guī)范構(gòu)建的醫(yī)療信息系統(tǒng)數(shù)據(jù)持久化層方面,國(guó)內(nèi)外已研究出基于openEHR兩層模型方法建立的醫(yī)療數(shù)據(jù)存儲(chǔ)平臺(tái)。該平臺(tái)通過讀取由領(lǐng)域?qū)<叶x的openEHR領(lǐng)域模型來滿足相應(yīng)的數(shù)據(jù)存儲(chǔ)需求,實(shí)現(xiàn)醫(yī)療數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)的高度可適應(yīng)性和可擴(kuò)展性。其中,開源的基于openEHR體系結(jié)構(gòu)的Opereffa原型系統(tǒng)底層使用關(guān)系數(shù)據(jù)庫存儲(chǔ)醫(yī)療數(shù)據(jù)[6],瑞典林雪平大學(xué)的Sergio Miranda Freire等實(shí)現(xiàn)了使用XML數(shù)據(jù)庫存儲(chǔ)基于openEHR規(guī)范的醫(yī)療數(shù)據(jù)文檔[7],日本會(huì)津大學(xué)的Aastha Madaan等實(shí)現(xiàn)了由原型驅(qū)動(dòng)的基于NoSQL數(shù)據(jù)庫的醫(yī)療數(shù)據(jù)存儲(chǔ)平臺(tái)[8]。除此之外,浙江大學(xué)的王利等為了管理復(fù)雜和不斷發(fā)展的醫(yī)療信息,利用openEHR兩層模型和原型驅(qū)動(dòng)方法的高度可適應(yīng)性和可擴(kuò)展性,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)由原型驅(qū)動(dòng)的基于關(guān)系型數(shù)據(jù)庫的醫(yī)療數(shù)據(jù)存儲(chǔ)平臺(tái),由原型映射到關(guān)系型數(shù)據(jù)庫表(ARM,archetype relational mapping)來實(shí)現(xiàn)靈活的數(shù)據(jù)存儲(chǔ)。在ARM的基礎(chǔ)上,該研究將AQL擴(kuò)展為具有完整數(shù)據(jù)操作功能的數(shù)據(jù)操作語言,并在數(shù)據(jù)存儲(chǔ)平臺(tái)上進(jìn)行了技術(shù)實(shí)現(xiàn),從而使該數(shù)據(jù)存儲(chǔ)平臺(tái)通過一組網(wǎng)絡(luò)服務(wù)對(duì)外提供靈活的數(shù)據(jù)訪問[9]。

基于openEHR兩層建模實(shí)現(xiàn)的醫(yī)療信息系統(tǒng)提高了系統(tǒng)的靈活性,適應(yīng)了醫(yī)療信息的變化和更新,但面臨數(shù)據(jù)查詢量巨大、查詢條件復(fù)雜多變的個(gè)性化操作需求(報(bào)表、集成視圖等)時(shí),基于openEHR兩層建模實(shí)現(xiàn)的醫(yī)療信息系統(tǒng)查詢性能較低。這主要與底層數(shù)據(jù)存儲(chǔ)模型有關(guān),數(shù)據(jù)倉庫多維數(shù)據(jù)模型擁有高性能查詢的優(yōu)點(diǎn),通過改變基于openEHR兩層建模實(shí)現(xiàn)的醫(yī)療信息系統(tǒng)底層數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),可以解決個(gè)性化操作需求中存在的性能問題。對(duì)于此類問題,目前采用數(shù)據(jù)驅(qū)動(dòng)和應(yīng)用驅(qū)動(dòng)相結(jié)合的數(shù)據(jù)倉庫開發(fā)方法,即根據(jù)數(shù)據(jù)源和具體的需求來設(shè)計(jì)多維數(shù)據(jù)模型,再進(jìn)行相應(yīng)的ETL(extract, transform, load)設(shè)計(jì)實(shí)現(xiàn),建立數(shù)據(jù)倉庫[10]。由于基于openEHR規(guī)范兩層建模方法實(shí)現(xiàn)的醫(yī)療系統(tǒng)的特殊性,系統(tǒng)持久化層會(huì)伴隨領(lǐng)域知識(shí)的改變而發(fā)生變化,相應(yīng)的數(shù)據(jù)倉庫多維數(shù)據(jù)模型以及ETL設(shè)計(jì)都需隨之發(fā)生改變;采用傳統(tǒng)的數(shù)據(jù)倉庫構(gòu)建方法,在數(shù)據(jù)倉庫的開發(fā)與維護(hù)過程中,技術(shù)開發(fā)人員需要不斷地與用戶進(jìn)行溝通交流來明確用戶的需求,費(fèi)時(shí)費(fèi)力且容易出錯(cuò),用戶的參與性較低,不能很好地適應(yīng)領(lǐng)域知識(shí)的變化。

針對(duì)這一問題,為了提高數(shù)據(jù)倉庫構(gòu)建時(shí)用戶的參與性,加快數(shù)據(jù)倉庫的構(gòu)建速度,更好地滿足用戶的個(gè)性化需求,本研究以國(guó)際標(biāo)準(zhǔn)openEHR為基礎(chǔ),采用兩層建模的方法,提高用戶的可操控性,利用數(shù)據(jù)倉庫多維數(shù)據(jù)模型高性能查詢的優(yōu)點(diǎn),提出模板到動(dòng)態(tài)數(shù)據(jù)倉庫多維數(shù)據(jù)模型的映射方法。與傳統(tǒng)的數(shù)據(jù)倉庫構(gòu)建方法相比,該方法實(shí)現(xiàn)了數(shù)據(jù)倉庫多維數(shù)據(jù)模型的用戶配置,提高了建立數(shù)據(jù)倉庫時(shí)用戶的參與性;在多維數(shù)據(jù)模型與數(shù)據(jù)源之間建立了映射關(guān)系,根據(jù)自動(dòng)生成的映射路徑可以快速地訪問數(shù)據(jù)源中的數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)類型等信息,加快了ETL工作的進(jìn)行,降低了構(gòu)建數(shù)據(jù)倉庫的周期。

1 多維數(shù)據(jù)模型映射方法

openEHR原型通常是對(duì)臨床知識(shí)完整定義,而在實(shí)際的醫(yī)療環(huán)境中,往往不需要記錄如此完整詳盡的信息。openEHR模板是根據(jù)實(shí)際臨床需求,對(duì)若干原型合理組合并做進(jìn)一步的語義約束,不會(huì)對(duì)原型施加任何新的語義。模板與原型的不同之處主要在于:原型通常需要在國(guó)家甚至國(guó)際層面上進(jìn)行統(tǒng)一制定,以保證得到的原型具有通用性,可以被廣泛共享。而模板的制作通常是相對(duì)局部化、本地化的事情,每個(gè)軟件系統(tǒng)都可以根據(jù)自己的本地化需求,定義出一系列特定的模板。研究模板到動(dòng)態(tài)數(shù)據(jù)倉庫數(shù)據(jù)存儲(chǔ)模型映射方法,更能切實(shí)地滿足醫(yī)療工作者的個(gè)性化需求[11-12]。

基于openEHR原型關(guān)系映射方法構(gòu)建醫(yī)療信息系統(tǒng),在顯著提高數(shù)據(jù)持久化性能的同時(shí),使醫(yī)療信息系統(tǒng)能夠適應(yīng)醫(yī)療信息需求快速發(fā)展變化的形勢(shì),促進(jìn)醫(yī)療信息系統(tǒng)的應(yīng)用[9]。目前,該構(gòu)建方法被廣泛采用,本研究選取基于openEHR原型關(guān)系映射方法生成的關(guān)系型數(shù)據(jù)庫,作為構(gòu)建數(shù)據(jù)倉庫的數(shù)據(jù)源。

數(shù)據(jù)倉庫技術(shù)采用多維數(shù)據(jù)模型,多維數(shù)據(jù)模型把數(shù)據(jù)看作是多維空間中的點(diǎn)集,把集合的屬性分為維和度量?jī)深悾壕S屬性用來描述度量屬性,是多維空間的維度;度量屬性的值用來進(jìn)行分析處理,是多維空間中的點(diǎn)。根據(jù)事實(shí)表和維表的關(guān)系,又可將常見的模型分為星型模型和雪花模型。兩者在數(shù)據(jù)冗余度和查詢性能上有所區(qū)別:雪花模型冗余度低,查詢性能較低;星型模型雖然冗余度高,但查詢性能好。因此,在冗余可以接受的前提下,實(shí)際中運(yùn)用星型模型更多,也更有效率[13-14]。

采用基于openEHR的臨床醫(yī)療數(shù)據(jù)倉庫構(gòu)建方法,其主要技術(shù)路線如圖1所示。

圖1 技術(shù)路線Fig.1 Technology route

模板真實(shí)反映了基于openEHR規(guī)范兩層建模方法實(shí)現(xiàn)的醫(yī)療信息系統(tǒng)底層數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)。該技術(shù)路線從模板出發(fā),通過映射模塊在模板與多維數(shù)據(jù)模型之間建立關(guān)聯(lián),在此基礎(chǔ)上進(jìn)行基于模板的元數(shù)據(jù)處理和ETL過程,實(shí)現(xiàn)數(shù)據(jù)集市建立。映射模塊實(shí)現(xiàn)模板到動(dòng)態(tài)數(shù)據(jù)倉庫多維數(shù)據(jù)模型的映射,具體實(shí)現(xiàn)方法為:映射模塊對(duì)傳入的模板進(jìn)行解析,生成反應(yīng)模板內(nèi)部數(shù)據(jù)結(jié)構(gòu)信息的樹形結(jié)構(gòu),根據(jù)原型關(guān)系映射規(guī)則對(duì)樹形結(jié)構(gòu)中的可選項(xiàng)進(jìn)行篩選。用戶通過對(duì)樹形結(jié)構(gòu)中節(jié)點(diǎn)的挑選,組合成滿足需求的多維數(shù)據(jù)模型,并自動(dòng)收集模板到多維數(shù)據(jù)模型的映射關(guān)系以及必要的元數(shù)據(jù)。

ASP.NET是建立、部署以及執(zhí)行Web應(yīng)用程序的平臺(tái),它為構(gòu)建新一代動(dòng)態(tài)網(wǎng)站和基于網(wǎng)絡(luò)的分布式應(yīng)用提供了有力的支持。ASP.NET下MVC設(shè)計(jì)模式將程序分成相對(duì)獨(dú)立而又能協(xié)同工作的3個(gè)部分——模型、視圖、控制器,可以清楚地分離用戶界面與業(yè)務(wù)邏輯,能夠?yàn)橄到y(tǒng)開發(fā)提供基本的分析方法和清晰的設(shè)計(jì)框架[15]。本研究基于ASP.NET下MVC設(shè)計(jì)模式開發(fā)來實(shí)現(xiàn)。

1.1 模板解析

模板遵循TOM(template object model)定義,原型由ADL(archetype definition language)定義。openEHR模板是根據(jù)實(shí)際需求對(duì)若干原型的合理組合,在模板解析中需要訪問模板引用的原型。openEHR參考模型和原型定義了大量的類和屬性,以及類之間的關(guān)系,尤其是參考模型,它不僅定義了openEHR的上層組織結(jié)構(gòu),而且對(duì)openEHR中各類信息的組織結(jié)構(gòu)以及數(shù)據(jù)類型、數(shù)據(jù)結(jié)構(gòu)等都進(jìn)行了詳細(xì)定義。因此,直接訪問完整的參考模型和原型的實(shí)施將會(huì)是一項(xiàng)非常龐大的工程。目前,國(guó)際上已經(jīng)出現(xiàn)了多個(gè)openEHR規(guī)范實(shí)施項(xiàng)目,其中比較有代表性的是瑞典Link?ping大學(xué)Rong Chen等人組織開展的openEHR JAVA開源參考實(shí)施項(xiàng)目。該項(xiàng)目已經(jīng)對(duì)RM和AM進(jìn)行了比較完整的實(shí)現(xiàn),因此,本研究RM和AM的實(shí)現(xiàn)直接基于此JAVA參考實(shí)施項(xiàng)目。根據(jù)實(shí)際需要,采用了openEHR JAVA的模塊adl-parser和模塊xml-serializer。模塊adl-parser實(shí)現(xiàn)了ADL文件到AOM、AP對(duì)象的解析,模塊xml-serializer實(shí)現(xiàn)了AOM、AP對(duì)象到XML文件的序列化。通過以上兩個(gè)模塊,可以將ADL文件轉(zhuǎn)化為既方便計(jì)算機(jī)處理又具有一定可讀性的XML數(shù)據(jù)文件。JAVA類文件并不能直接在ASP.NET下運(yùn)行,IKVM.NET是開源的基于.NET CLR的JAVA虛擬機(jī),該項(xiàng)目雖然在安全性上有待改進(jìn),但實(shí)現(xiàn)了JAVA程序在.NET下的運(yùn)行。本研究通過引用以上兩個(gè)模塊和IKVM.NET,將ADL文件轉(zhuǎn)化為方便計(jì)算機(jī)處理并且具有一定可讀性的XML數(shù)據(jù)文件。

JSON作為一種輕量級(jí)的數(shù)據(jù)傳輸格式,可以在多種語言之間進(jìn)行數(shù)據(jù)交換。JSON易于閱讀和編碼,并且是JavaScript規(guī)范的子集,能夠被支持JavaScript的瀏覽器所解析;相比XML,它減少了解析時(shí)帶來的性能和兼容性問題,使其成為了理想的數(shù)據(jù)交換語言[16]。因此,本研究將JSON作為數(shù)據(jù)交換語言。在實(shí)現(xiàn)中,主要是XML文件到JSON對(duì)象的轉(zhuǎn)換,這一過程借助XML2JSON插件完成。

模板解析技術(shù)的實(shí)現(xiàn)路線如圖2所示。

圖2 模板解析路線Fig.2 Template parsing route

將模板轉(zhuǎn)化為JSON對(duì)象后,傳入后臺(tái)解析模塊,后臺(tái)解析模塊依次調(diào)用需要的原型,原型經(jīng)過一系列的轉(zhuǎn)化后轉(zhuǎn)變?yōu)镴SON對(duì)象,返回后臺(tái)解析模塊,后臺(tái)解析模塊解析模板,并生成一個(gè)真實(shí)反映模板內(nèi)部結(jié)構(gòu)的JSON對(duì)象,傳入前臺(tái)解析模塊,前臺(tái)解析模塊遍歷該JSON對(duì)象,生成模板對(duì)應(yīng)的樹形結(jié)構(gòu)。

在本研究中,將基于openEHR原型關(guān)系映射方法生成的關(guān)系型數(shù)據(jù)庫作為構(gòu)建數(shù)據(jù)倉庫的數(shù)據(jù)源。為了真實(shí)地反映數(shù)據(jù)源中的數(shù)據(jù)結(jié)構(gòu)信息,根據(jù)原型關(guān)系映射規(guī)則,對(duì)樹形結(jié)構(gòu)中的可選項(xiàng)進(jìn)行了篩選,原型關(guān)系映射規(guī)則[9]如下:

1)每個(gè)原型映射為一個(gè)關(guān)系數(shù)據(jù)庫表,數(shù)據(jù)庫表名為原型名。

2)每個(gè)基本類型的原型屬性映射為一個(gè)關(guān)系數(shù)據(jù)庫表字段,字段名為屬性名,字段類型為屬性數(shù)據(jù)類型,字段長(zhǎng)度為屬性數(shù)據(jù)長(zhǎng)度。

3)每個(gè)集合類型的原型屬性映射為一個(gè)單獨(dú)的數(shù)據(jù)庫表,數(shù)據(jù)庫表名為“原型名_集合類型屬性名”,包括主鍵字段,字段名為“原型名_集合類型屬性名”;關(guān)聯(lián)到原型對(duì)應(yīng)的數(shù)據(jù)庫表的外鍵字段,字段名為原型名,字段類型與原型對(duì)應(yīng)的數(shù)據(jù)庫表的主鍵字段類型相同;集合類型屬性對(duì)應(yīng)的字段,字段名為集合類型屬性名,字段類型為集合類型屬性數(shù)據(jù)類型,字段長(zhǎng)度為集合類型屬性數(shù)據(jù)長(zhǎng)度。

4)每一個(gè)archetype slot 類型的原型屬性映射為一個(gè)單獨(dú)的數(shù)據(jù)庫表,數(shù)據(jù)庫表名為“原型名_archetype slot 屬性名”,包括主鍵字段,字段名為“原型名_集合類型屬性名”;關(guān)聯(lián)到原型對(duì)應(yīng)的數(shù)據(jù)庫表的外鍵字段,字段名為原型名,字段類型與原型對(duì)應(yīng)的數(shù)據(jù)庫表主鍵字段類型相同; archetype slot類型屬性對(duì)應(yīng)的字段,字段名為“archetype slot 類型屬性名”,并關(guān)聯(lián)到目標(biāo)原型對(duì)應(yīng)的數(shù)據(jù)庫表。

根據(jù)以上規(guī)則,樹形結(jié)構(gòu)中能夠映射到關(guān)系型數(shù)據(jù)庫表字段名的節(jié)點(diǎn)為可選項(xiàng),其他節(jié)點(diǎn)為不可選項(xiàng)。

樹形結(jié)構(gòu)各節(jié)點(diǎn)name按照是否可選進(jìn)行了不同的命名方式。不可選項(xiàng)name為對(duì)應(yīng)模板層次結(jié)構(gòu)中節(jié)點(diǎn)的屬性名,可選項(xiàng)name由對(duì)應(yīng)模板層次結(jié)構(gòu)中節(jié)點(diǎn)的屬性名、屬性數(shù)據(jù)類型、該屬性節(jié)點(diǎn)在模板中的完整路徑三者拼接而成,以方便信息的傳遞。

1.2 可操控配置

個(gè)性化需求復(fù)雜多變,而模板包含了滿足實(shí)際應(yīng)用的信息,用戶通過對(duì)解析模板生成的樹形結(jié)構(gòu)中有價(jià)值節(jié)點(diǎn)的選擇,組合成滿足個(gè)性化需求的事實(shí)表和維表,構(gòu)建數(shù)據(jù)集市的多維數(shù)據(jù)模型。具體實(shí)現(xiàn)方法如下:

根據(jù)數(shù)據(jù)倉庫多維數(shù)據(jù)模型的相關(guān)定義,允許用戶在建立數(shù)據(jù)集市時(shí)創(chuàng)建一張事實(shí)表和多張維表。在創(chuàng)建表的過程中,表名由用戶手動(dòng)輸入,并進(jìn)行唯一性檢驗(yàn),避免表名重復(fù)。用戶通過對(duì)樹形結(jié)構(gòu)中有價(jià)值節(jié)點(diǎn)的選擇,將該選中項(xiàng)的name信息傳送到對(duì)應(yīng)表,生成對(duì)應(yīng)表的行信息,用戶可以指定已創(chuàng)建表中的某一行為主鍵或某些行組合成復(fù)合主鍵,并可以對(duì)已創(chuàng)建的事實(shí)表和維表進(jìn)行主/外鍵關(guān)聯(lián)操作,組合成多維數(shù)據(jù)模型。

數(shù)據(jù)集市是聚焦的、面向特定主題的,它通常致力于單一的某個(gè)領(lǐng)域,且為特定用戶服務(wù)。為了方便對(duì)數(shù)據(jù)集市的使用與管理,在用戶建立多維數(shù)據(jù)模型時(shí),需用戶輸入數(shù)據(jù)集市的唯一性命名以及面向?qū)ο蟮仍獢?shù)據(jù)信息。

1.3 數(shù)據(jù)庫生成

該模塊的主要功能是根據(jù)用戶已經(jīng)建立好的多維數(shù)據(jù)模型,生成數(shù)據(jù)庫,并收集部分元數(shù)據(jù)信息。

用戶輸入命名的事實(shí)表名和維表名通常不符合實(shí)際數(shù)據(jù)庫表名的命名規(guī)則,需經(jīng)過解析轉(zhuǎn)化符合命名標(biāo)準(zhǔn)的表名。解析用戶配置生成的事實(shí)表和維表的各個(gè)行信息,得到該行的屬性名、屬性數(shù)據(jù)類型、屬性節(jié)點(diǎn)的完整路徑。解析后的屬性名和屬性數(shù)據(jù)類型主要為生成數(shù)據(jù)庫表字段服務(wù),而屬性節(jié)點(diǎn)的完整路徑提供AQL查詢,可以查詢到生成表字段的對(duì)應(yīng)節(jié)點(diǎn)在原型中的信息,并可與通過原型關(guān)系映射生成的關(guān)系數(shù)據(jù)庫中的表字段關(guān)聯(lián)起來,方便數(shù)據(jù)的集成處理。

解析后的屬性名并不能直接作為生成數(shù)據(jù)庫表的字段名,需經(jīng)過解析和唯一性處理生成對(duì)應(yīng)表的字段名,字段類型為對(duì)應(yīng)屬性數(shù)據(jù)類型。然后,收集主/外鍵關(guān)聯(lián)信息,生成對(duì)應(yīng)的創(chuàng)建關(guān)系型數(shù)據(jù)庫表的SQL語句,在數(shù)據(jù)庫中創(chuàng)建事實(shí)表和維表,并記錄下生成的數(shù)據(jù)集市名、數(shù)據(jù)集市面向?qū)ο?、表名、表字段、表字段?duì)應(yīng)的屬性節(jié)點(diǎn)的完整路徑等元數(shù)據(jù)信息,便于對(duì)數(shù)據(jù)集市的管理。

2 結(jié)果

為了驗(yàn)證該方法是否可行,筆者針對(duì)查詢檢驗(yàn)信息的相關(guān)報(bào)表中存在的性能問題,根據(jù)模板到動(dòng)態(tài)數(shù)據(jù)倉庫多維數(shù)據(jù)模型映射方法,構(gòu)建了滿足需求的多維數(shù)據(jù)模型,通過專業(yè)的ETL工具SSIS(Microsoft SQL Server Integration Services),對(duì)數(shù)據(jù)進(jìn)行了集成處理,建立數(shù)據(jù)集市,希望通過改變底層數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),提升查詢性能,實(shí)現(xiàn)數(shù)據(jù)倉庫的快速構(gòu)建。

選取了與檢驗(yàn)信息相關(guān)的模板中有價(jià)值的節(jié)點(diǎn),配置基于openEHR模板的多維數(shù)據(jù)模型,生成的數(shù)據(jù)庫表結(jié)構(gòu)如圖3所示。該模型為包含一張事實(shí)表和三張維表的星型模型,涵蓋了滿足個(gè)性化需求的所需數(shù)據(jù)。其中,事實(shí)表FactLaboratoryTest存放了檢驗(yàn)結(jié)果的相關(guān)數(shù)據(jù),復(fù)合主鍵為TestReport_ID、ItemOrder。維表DimPatient存放了病人基本信息的相關(guān)數(shù)據(jù),主鍵為PatientIdentifier_Identifier;維表DimAdmin_PatientAdmission存放了病人就診的相關(guān)數(shù)據(jù),主鍵為EncounterIdentifier;維表DimInst_LaboratoryTestRequest存放了檢驗(yàn)申請(qǐng)的相關(guān)數(shù)據(jù),主鍵為RequestorIdentifier。3個(gè)維表通過主鍵與事實(shí)表FactLaboratoryTest建立關(guān)聯(lián)。

圖3 數(shù)據(jù)模型Fig.3 Data model

在ETL過程中,基于openEHR原型關(guān)系映射生成的關(guān)系型數(shù)據(jù)庫為數(shù)據(jù)源,利用構(gòu)建多維數(shù)據(jù)模型時(shí)收集的表字段的完整路徑與基于openEHR原型關(guān)系映射生成的關(guān)系型數(shù)據(jù)庫中的表字段進(jìn)行關(guān)聯(lián),快速地查找到其在數(shù)據(jù)源中對(duì)應(yīng)數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)類型等相關(guān)信息,在此基礎(chǔ)上進(jìn)行數(shù)據(jù)的集成處理。數(shù)據(jù)抽取頻率設(shè)定為每天一次,抽取策略采用全量抽取,在ETL引擎中完成數(shù)據(jù)轉(zhuǎn)換,然后對(duì)數(shù)據(jù)進(jìn)行裝載。

為了檢驗(yàn)查詢性能是否得到了提升,在基于模板到動(dòng)態(tài)數(shù)據(jù)倉庫多維數(shù)據(jù)模型映射方法建立的數(shù)據(jù)集市和基于傳統(tǒng)方法建立的數(shù)據(jù)集市、基于原型關(guān)系映射生成的關(guān)系型數(shù)據(jù)庫間進(jìn)行查詢性能對(duì)比,挑選了三者中的部分?jǐn)?shù)據(jù)作為測(cè)試數(shù)據(jù)集,數(shù)據(jù)包括57 465位病人基本信息、1 210 798條檢驗(yàn)申請(qǐng)記錄、840 746條檢驗(yàn)報(bào)告記錄、10 861 522條檢驗(yàn)結(jié)果記錄。分別在三者中對(duì)某病人的相關(guān)信息、26條檢驗(yàn)申請(qǐng)記錄、24條檢驗(yàn)報(bào)告記錄、329條檢驗(yàn)結(jié)果記錄進(jìn)行了查詢。測(cè)試電腦配置CPU為Intel(R) Core(TM)2 Duo CPU,內(nèi)存為4GB,操作系統(tǒng)為Windows 7.1 Enterprise 32 位,數(shù)據(jù)庫為SQL Server 2012 Enterprise 32 位。在三者中,分別進(jìn)行了3次查詢,所花費(fèi)的時(shí)間以及各自平均查詢時(shí)間的結(jié)果如表1所示。

表1 數(shù)據(jù)查詢時(shí)間

查詢結(jié)果表明,在基于模板到動(dòng)態(tài)數(shù)據(jù)倉庫多維數(shù)據(jù)模型映射方法建立的數(shù)據(jù)集市中,對(duì)某病人的檢驗(yàn)相關(guān)信息進(jìn)行3次查詢所花費(fèi)的時(shí)間均值為274 ms。在基于傳統(tǒng)方法建立的數(shù)據(jù)集市中,花費(fèi)的時(shí)間均值為265 ms;在基于openEHR原型關(guān)系映射生成的關(guān)系型數(shù)據(jù)庫中,花費(fèi)的時(shí)間均值為1 520 ms。在查詢性能上,基于模板到動(dòng)態(tài)數(shù)據(jù)倉庫多維數(shù)據(jù)模型映射方法是基于傳統(tǒng)方法建立的數(shù)據(jù)集市的0.97倍,基本持平。與基于openEHR原型關(guān)系映射生成的關(guān)系型數(shù)據(jù)庫相比,基于模板到動(dòng)態(tài)數(shù)據(jù)倉庫多維數(shù)據(jù)模型映射方法構(gòu)建的數(shù)據(jù)集市在性能上提升了約5.6倍。

總體表明,根據(jù)模板到動(dòng)態(tài)數(shù)據(jù)倉庫多維數(shù)據(jù)模型映射方法,可以配置滿足個(gè)性化需求的多維數(shù)據(jù)模型,利用多維數(shù)據(jù)模型與數(shù)據(jù)源中數(shù)據(jù)建立的映射關(guān)系,方便了ETL過程的進(jìn)行,實(shí)現(xiàn)了數(shù)據(jù)集市的快速建立。查詢時(shí)間對(duì)比表明,該方法切實(shí)可行,大幅提升了個(gè)性化需求的查詢性能。

3 討論

在本研究中,基于openEHR規(guī)范,提出了模板到動(dòng)態(tài)數(shù)據(jù)倉庫多維數(shù)據(jù)模型的映射方法。與傳統(tǒng)的數(shù)據(jù)倉庫構(gòu)建方法相比,該方法充分利用了openEHR兩層建模思想的模板領(lǐng)域知識(shí)驅(qū)動(dòng)、易擴(kuò)展、反映本地化需求等優(yōu)點(diǎn),使用戶在無需了解數(shù)據(jù)源底層數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)的基礎(chǔ)上,實(shí)現(xiàn)了數(shù)據(jù)倉庫多維數(shù)據(jù)模型的用戶可配置,提高了在數(shù)據(jù)倉庫構(gòu)建過程中用戶的參與性,避免了數(shù)據(jù)倉庫開發(fā)前期的需求分析工作,滿足了用戶的個(gè)性化需求。在數(shù)據(jù)倉庫多維數(shù)據(jù)模型的構(gòu)建過程中,自動(dòng)收集了數(shù)據(jù)源與多維數(shù)據(jù)模型間的映射關(guān)系,利用映射路徑,方便ETL過程的處理,提高了數(shù)據(jù)倉庫的構(gòu)建效率。

用戶參與數(shù)據(jù)倉庫中多維數(shù)據(jù)模型的設(shè)計(jì)有利也有弊。用戶臨床醫(yī)療知識(shí)和計(jì)算機(jī)操作水平的差異,會(huì)影響到多維數(shù)據(jù)模型的質(zhì)量,并直接關(guān)系到數(shù)據(jù)集市的服務(wù)水平。在這一點(diǎn)上,本研究提出的模板到動(dòng)態(tài)數(shù)據(jù)倉庫多維數(shù)據(jù)模型的映射方法做了妥協(xié)。用戶需要在技術(shù)人員的指導(dǎo)下進(jìn)行模型的設(shè)計(jì),借助專業(yè)的ETL工具實(shí)現(xiàn)數(shù)據(jù)集成。

提高用戶在臨床醫(yī)療數(shù)據(jù)倉庫系統(tǒng)開發(fā)過程中的參與性,讓用戶成為數(shù)據(jù)倉庫構(gòu)建的主角,是縮短系統(tǒng)開發(fā)周期、滿足用戶個(gè)性化需求的重要手段。但是,讓用戶獨(dú)立配置數(shù)據(jù)倉庫還是具有一定的風(fēng)險(xiǎn),所以領(lǐng)域?qū)<业闹笇?dǎo)和培訓(xùn)非常重要。通過培訓(xùn),讓用戶了解臨床醫(yī)療數(shù)據(jù)倉庫的相關(guān)知識(shí),以及將醫(yī)療數(shù)據(jù)倉庫的領(lǐng)域概念與醫(yī)療領(lǐng)域知識(shí)相結(jié)合,對(duì)于數(shù)據(jù)倉庫配置過程中以用戶為主體具有一定的可操作性。

4 結(jié)論

在本研究中,針對(duì)基于openEHR兩層建模思想實(shí)現(xiàn)的醫(yī)療信息系統(tǒng)在個(gè)性化操作需求時(shí)存在的性能問題,提出了模板到動(dòng)態(tài)數(shù)據(jù)倉庫多維數(shù)據(jù)模型的映射方法。對(duì)該方法進(jìn)行了驗(yàn)證,表明通過該方法能夠建立滿足需求的多維數(shù)據(jù)模型,實(shí)現(xiàn)多維數(shù)據(jù)模型的用戶可配置。通過對(duì)數(shù)據(jù)的集成,在查詢性能上進(jìn)行了驗(yàn)證,表明基于該方法建立的數(shù)據(jù)集市與基于原型關(guān)系映射方法生成的數(shù)據(jù)庫相比,能夠大幅地提升查詢性能,與基于傳統(tǒng)方法構(gòu)建的數(shù)據(jù)集市在查詢性能上基本持平。該方法充分利用了openEHR規(guī)范領(lǐng)域知識(shí)驅(qū)動(dòng)的優(yōu)點(diǎn),為醫(yī)療行業(yè)提供一種可操控、可擴(kuò)展、能真實(shí)反映用戶需求的數(shù)據(jù)倉庫構(gòu)建方法。

[1] 曾薔,姚志洪,劉雷.雙模型健康檔案標(biāo)準(zhǔn)openEHR[J].中國(guó)醫(yī)療設(shè)備,2010,25(3):7-10.

[2] Beale T, Heard S, Kalra D, et al. OpenEHR architecture overview[J]. The OpenEHR Foundation, 2006.

[3] Kalra D, Beale T, Heard S. The openEHR foundation[J]. Studies in health technology and informatics, 2005,115: 153-173.

[4] Garde S, Hovenga E, Buck J, et al. Expressing clinical data sets with openEHR archetypes: a solid basis for ubiquitous computing [J]. Int J Med Inform, 2007, 76(3):334-341.

[5] Spth MB, Grimson J. Applying the archetype approach to the database of a biobank information management system [J]. Int J Med Inform, 2011,80(3):205-226.

[6] Arikan S, Shannon T, Ingram D. Opereffa 2009[EB/OL]. http://opereffa.chime.ucl.ac.uk/introduction.jsf, 2009-05-14/2015-09-10.

[7] Freire S M. Performance of XML databases for epidemiological queries in archetype-based EHRs[C]//Freire SM, Sundvall E, Karlsson D, eds. Proceedings Scandinavian Conference on Health Informatics 2012. Link?ping: Link?ping University Electronic Press, 2012:51-57.

[8] Madaan A, Chu W, Daigo Y, et al. Quasi-relational query language interface for peristent standardized EHRs: using NoSQL Databases[M]//Databases in Networked Information Systems. Berlin: Springer Berlin Heidelberg, 2013:182-196.

[9] 王利,閔靈通,呂旭東,等.基于openEHR的原型關(guān)系映射方法[J].中國(guó)生物醫(yī)學(xué)工程學(xué)報(bào),2014,33(4):432-437.

[10] 何彩升,鄒賽德.數(shù)據(jù)倉庫技術(shù)及其在醫(yī)院信息管理中的應(yīng)用[J].計(jì)算機(jī)醫(yī)學(xué)應(yīng)用, 2003,16(8):418-422.

[11] Leslie H, International developments in openEHR archetype and template[J].HIM J,2008,37(1):38-39.

[12] 李珍珍.基于openEHR的電子病歷系統(tǒng)開發(fā)方法研究與實(shí)踐[D].杭州:浙江大學(xué),2008.

[13] 李明芳,劉紅,姚敏.數(shù)據(jù)倉庫方法論[J].計(jì)算機(jī)應(yīng)用與軟件,2003,20(1):1-2.

[14] 宋擒豹,楊向榮,沈鈞毅.數(shù)據(jù)倉庫技術(shù)研究[J].計(jì)算機(jī)工程,2002, 28(1):125-127.

[15] 李園,陳世平.MVC設(shè)計(jì)模式在ASP.NET平臺(tái)中的應(yīng)用[J].計(jì)算機(jī)工程與設(shè)計(jì),2009,30(13):3180-3184.

[16] 高靜,段會(huì)川.JSON數(shù)據(jù)傳輸效率研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2011,32(7):2267-2270.

Construction Method of Clinical Medical Data Warehouse Based on openEHR

Wang Dongdong1Ye Feng1Lv Xudong2*Min Lingtong2Wang Li2

1(CollegeofBusinessAdministration,ZhejiangUniversityofTechnology,Hangzhou310023,China)2(CollegeofBiomedicalEngineeringandInstrumentScience,ZhejiangUniversity,Hangzhou310027,China)

Complexity and continuous evolution of healthcare information is the biggest challenge for healthcare information systems, and two-level information model from openEHR can facilitate healthcare information systems to adapt to the change of healthcare information requirements. However, the medical information system based on openEHR two-level modeling displays low performance when facing with specific operational demands such as a large number of data query and complex and mutative query conditions. This is mainly related to the fundamental data storage model. The multidimensional data model of data warehouse has the advantage of high-performance query, the data mart that is established for fulfilling users′ particular demand can increase the particular query speed. Due to the particularity of the medical information system that based on openEHR two-level modeling, the outcomes for traditional data warehouse construction method include low users′ participation and time consuming. In this work, a mapping method between template and multidimensional data model of data warehouse based on openEHR two-level modeling was proposed to solve this problem, aiming to achieve the configuration of multidimensional data model by users, and use the mapping path to accelerate the implementation of ETL. This research provided one kind of dirigible and scalable data warehouse construction method reflecting user′s requirements for medical industry. We also validated this method in performance. Results showed that the data mart that was built based on this method was 5.6 times faster than the database which was generated based on openEHR two-level modeling and was 0.97 times than the data mart that was built by traditional method when querying 329 results in 10861522 records.

openEHR; template; data warehouse; multidimensional data model

10.3969/j.issn.0258-8021. 2016. 02.006

2015-09-16, 錄用日期: 2015-12-12

國(guó)家高技術(shù)研究發(fā)展計(jì)劃(863計(jì)劃)(2012AA02A601)

R318

A

0258-8021(2016) 02-0162-07

*通信作者(Corresponding author), E-mail:slxdlxd7366@gmail.com

猜你喜歡
數(shù)據(jù)模型數(shù)據(jù)倉庫集市
基于數(shù)據(jù)倉庫的數(shù)據(jù)傾斜解決方案研究
熱鬧的集市
基于數(shù)據(jù)倉庫的住房城鄉(xiāng)建設(shè)信息系統(tǒng)整合研究
探訪于山“相親集市”
面板數(shù)據(jù)模型截面相關(guān)檢驗(yàn)方法綜述
探析電力系統(tǒng)調(diào)度中數(shù)據(jù)倉庫技術(shù)的應(yīng)用
經(jīng)濟(jì)全球化對(duì)我國(guó)勞動(dòng)收入份額影響機(jī)制研究——基于面板數(shù)據(jù)模型
基于數(shù)據(jù)倉庫的數(shù)據(jù)分析探索與實(shí)踐
熱鬧的集市
基于數(shù)據(jù)模型的編程應(yīng)用