劉慶金 牛恒星 張寒彬
摘要:目的:為院長(zhǎng)正確決策,醫(yī)療質(zhì)量評(píng)價(jià),醫(yī)院等級(jí)評(píng)審,醫(yī)院管理流程優(yōu)化等提供數(shù)據(jù)支持。方法:通過(guò)ETL,CDC等多種技術(shù)抽取生產(chǎn)數(shù)據(jù)庫(kù)的數(shù)據(jù),構(gòu)建基于Oracle數(shù)據(jù)庫(kù)的數(shù)據(jù)倉(cāng)庫(kù)。然后基于數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)進(jìn)行分析,對(duì)生產(chǎn)數(shù)據(jù)庫(kù)和在線業(yè)務(wù)系統(tǒng)不產(chǎn)生影響。結(jié)果及結(jié)論:醫(yī)院決策支持系統(tǒng)的研究和實(shí)現(xiàn)將改變醫(yī)院管理現(xiàn)狀,提高醫(yī)院管理水平和效率,促進(jìn)醫(yī)院健康發(fā)展。
關(guān)鍵詞:醫(yī)院管理;決策系統(tǒng);數(shù)據(jù)倉(cāng)庫(kù)
中圖分類(lèi)號(hào):R-058 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)32-0011-03
1背景
隨著信息化不斷發(fā)展,對(duì)醫(yī)院信息化建設(shè)要求越來(lái)要高。多年來(lái),醫(yī)院在信息化建設(shè)方面進(jìn)行許多探索,實(shí)現(xiàn)不同程度的信息化。醫(yī)院信息化建設(shè)極大地提高醫(yī)院運(yùn)行效率,為醫(yī)院能更好地服務(wù)病人提供保障。
現(xiàn)在,國(guó)內(nèi)大型醫(yī)院都有比較成熟的信息化系統(tǒng),醫(yī)院內(nèi)實(shí)施有HIS,LIS,PACS,EMR,OA,臨床路徑等系統(tǒng)。對(duì)系統(tǒng)進(jìn)行集成,從業(yè)務(wù)系統(tǒng)查詢(xún)報(bào)表,進(jìn)行統(tǒng)計(jì),統(tǒng)計(jì)結(jié)果可以為醫(yī)院管理提供數(shù)據(jù)支持。但是從系統(tǒng)進(jìn)行查詢(xún)報(bào)表存在許多問(wèn)題,首先各個(gè)業(yè)務(wù)系統(tǒng)的統(tǒng)計(jì)口徑不一致,導(dǎo)致查詢(xún)出的報(bào)表結(jié)果存在很大的差別。其次,在業(yè)務(wù)系統(tǒng)中不能統(tǒng)計(jì)時(shí)間過(guò)長(zhǎng),否則,會(huì)影響業(yè)務(wù)系統(tǒng)的使用。最后,各個(gè)系統(tǒng)賬號(hào)和密碼不同,如果要進(jìn)入不同的系統(tǒng),操作頻繁。因此,一套既能滿(mǎn)足業(yè)務(wù)部門(mén)的業(yè)務(wù)需求,又能為院長(zhǎng)提供決策支持的系統(tǒng)顯得尤為重要。醫(yī)院決策支持系統(tǒng)可以查詢(xún)所有想要的信息,而不必登錄多個(gè)系統(tǒng)。醫(yī)院決策支持系統(tǒng)擁有集中,統(tǒng)一,宏觀的操作界面,更加簡(jiǎn)潔,人性,滿(mǎn)足院長(zhǎng)需求。
2系統(tǒng)設(shè)計(jì)
2.1系統(tǒng)架構(gòu)
醫(yī)院決策支持系統(tǒng)可以基于多層架構(gòu)實(shí)現(xiàn),在業(yè)務(wù)層,是醫(yī)院已經(jīng)應(yīng)用的各種業(yè)務(wù),包括HIS,ERM,LIS,RIS,PACS,手術(shù),麻醉,體檢,人事,財(cái)務(wù),人工管理以及其他業(yè)務(wù)系統(tǒng)。各個(gè)業(yè)務(wù)系統(tǒng)每天運(yùn)行,運(yùn)行過(guò)程當(dāng)中,產(chǎn)生各種運(yùn)行數(shù)據(jù),這些數(shù)據(jù)保存在各自系統(tǒng)的數(shù)據(jù)庫(kù)之中。每種業(yè)務(wù)系統(tǒng)使用的數(shù)據(jù)庫(kù)不盡相同,包括Oracle,SQLserver,DB2,My SQL,Sybase,Cache等多種數(shù)據(jù)庫(kù)。系統(tǒng)架構(gòu)如圖1所示。
醫(yī)院決策支持系統(tǒng)在后臺(tái)基于大型數(shù)據(jù)庫(kù)Oracle,構(gòu)建數(shù)據(jù)倉(cāng)庫(kù)。利用ETL,CDC等多種技術(shù)從各個(gè)業(yè)務(wù)系統(tǒng)中,抽取各種數(shù)據(jù)庫(kù)中的源數(shù)據(jù)。通過(guò)這種方式,所有的數(shù)據(jù)查詢(xún)與檢索都基于構(gòu)建的數(shù)據(jù)倉(cāng)庫(kù),不占用各個(gè)業(yè)務(wù)子系統(tǒng)的生產(chǎn)數(shù)據(jù)庫(kù)資源,因此不會(huì)影響醫(yī)院業(yè)務(wù)系統(tǒng)的運(yùn)行效率。
2.2數(shù)據(jù)倉(cāng)庫(kù)
對(duì)醫(yī)院中已有的業(yè)務(wù)系統(tǒng)和信息系統(tǒng)中分散的數(shù)據(jù)庫(kù),進(jìn)行數(shù)據(jù)抽取,清理,經(jīng)過(guò)加工,匯總和整理,從而構(gòu)建醫(yī)院決策支持系統(tǒng)所需要的數(shù)據(jù)倉(cāng)庫(kù),利用這種方法消除源數(shù)據(jù)庫(kù)中數(shù)據(jù)的不一致性,從而保證數(shù)據(jù)倉(cāng)庫(kù)內(nèi)數(shù)據(jù)的一致。通過(guò)數(shù)據(jù)倉(cāng)庫(kù),為前端查詢(xún)和分析作基礎(chǔ)。數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)隨著時(shí)間變化,但同時(shí)大量數(shù)據(jù)保持相對(duì)穩(wěn)定。
醫(yī)院決策支持系統(tǒng)中數(shù)據(jù)倉(cāng)庫(kù)的架構(gòu)已經(jīng)非常成熟,首先利用Flume進(jìn)行數(shù)據(jù)采集,采集的數(shù)據(jù)經(jīng)過(guò)處理后被存儲(chǔ)下來(lái),然后利用Hive,MR,SparkSQL等技術(shù)進(jìn)行數(shù)據(jù)的分析和計(jì)算。分析和計(jì)算得到的有用的結(jié)果共享,為報(bào)表應(yīng)用提供數(shù)據(jù)。醫(yī)院決策支持系統(tǒng)中,主要對(duì)數(shù)據(jù)進(jìn)行查詢(xún)操作,沒(méi)有數(shù)據(jù)庫(kù)的增加,刪除,修改操作。
數(shù)據(jù)倉(cāng)庫(kù)設(shè)計(jì)中,首先要根據(jù)醫(yī)院的需求確定主題域的邊界,在醫(yī)院決策支持系統(tǒng)中需要提供的主題有:綜合運(yùn)營(yíng)主題,門(mén)診主題,住院主題,手術(shù)主題和臨床路徑主題。確定主題域后要確定各個(gè)主題的量度,綜合運(yùn)營(yíng)主題需要考慮的指標(biāo)包括:門(mén)急診收入,住院收入,門(mén)診人均費(fèi)用,住院人均費(fèi)用,住院耗材,門(mén)診耗材等。門(mén)診主題需要考慮的指標(biāo)包括:門(mén)診預(yù)約類(lèi)型,門(mén)診量統(tǒng)計(jì),門(mén)診病人來(lái)源,門(mén)診費(fèi)用分類(lèi)等。住院主題需要考慮的指標(biāo)包括:床位資源,醫(yī)療組,平均住院費(fèi)用,平均住院天數(shù),藥占比等。手術(shù)主題需要考慮的指標(biāo)包括:手術(shù)例數(shù),出院手術(shù)占比,手術(shù)分級(jí)占比等。臨床路徑主題包括:使用率,入徑率,完成率,變異率等。
2.3ETL
ETL技術(shù)將數(shù)據(jù)從來(lái)源端經(jīng)過(guò)抽取,交互轉(zhuǎn)換,加載至目的端。醫(yī)院中各個(gè)業(yè)務(wù)系統(tǒng)中的數(shù)據(jù)經(jīng)過(guò)抽取,清洗,轉(zhuǎn)換后加載到數(shù)據(jù)倉(cāng)庫(kù)。形成標(biāo)準(zhǔn)統(tǒng)一的數(shù)據(jù)集合,為醫(yī)院決策提供分析依據(jù)。
在ETL設(shè)計(jì)中,主要分為三個(gè)部分。數(shù)據(jù)抽取,數(shù)據(jù)清洗轉(zhuǎn)換,和數(shù)據(jù)加載。ETL實(shí)現(xiàn)的方法很多,其中有ETL工具,SQL方式實(shí)現(xiàn)以及兩者結(jié)合的方式。當(dāng)數(shù)據(jù)抽取的時(shí)候,對(duì)于與數(shù)據(jù)倉(cāng)庫(kù)相同數(shù)據(jù)庫(kù)系統(tǒng)的數(shù)據(jù)源,抽取的方式采用兩者之間建立鏈接關(guān)系的方式即可。如果數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)源的數(shù)據(jù)庫(kù)系統(tǒng)不同,可以通過(guò)ODBC方式建立數(shù)據(jù)庫(kù)連接。對(duì)于文件類(lèi)型數(shù)據(jù)庫(kù),需要利用數(shù)據(jù)庫(kù)工具導(dǎo)入指定數(shù)據(jù)庫(kù),然后從指定數(shù)據(jù)庫(kù)進(jìn)行提取。對(duì)于數(shù)據(jù)量巨大的數(shù)據(jù)庫(kù)系統(tǒng),采用增量更新的方式進(jìn)行抽取。
抽取后的數(shù)據(jù)需要進(jìn)行沖洗和轉(zhuǎn)換,對(duì)于不完整的數(shù)據(jù),首先將其選擇出來(lái),然后對(duì)缺失部分進(jìn)行補(bǔ)充完整,然后再寫(xiě)入數(shù)據(jù)庫(kù)。對(duì)于錯(cuò)誤數(shù)據(jù),通過(guò)SQL語(yǔ)句查詢(xún),交給醫(yī)院業(yè)務(wù)部門(mén)修改后,再進(jìn)行抽取。對(duì)于重復(fù)數(shù)據(jù),刪除重復(fù)部分,然后進(jìn)行抽取。有時(shí)候,對(duì)不一致數(shù)據(jù)還要進(jìn)行數(shù)據(jù)轉(zhuǎn)換,這是一個(gè)不同業(yè)務(wù)系統(tǒng)數(shù)據(jù)整合的過(guò)程。有些業(yè)務(wù)系統(tǒng)的數(shù)據(jù)非常詳細(xì),但是數(shù)據(jù)倉(cāng)庫(kù)并不需要如此詳細(xì)的數(shù)據(jù),因此業(yè)務(wù)系統(tǒng)的數(shù)據(jù)需要按照數(shù)據(jù)倉(cāng)庫(kù)粒度進(jìn)行聚合。ETL需要記錄運(yùn)行日志,日志包括執(zhí)行過(guò)程日志,錯(cuò)誤日志和總體日志。如果ETL運(yùn)行出錯(cuò),可以向系統(tǒng)管理員發(fā)送警告。
2.4CDC
CDCESJ是一種增量數(shù)據(jù)采集的解決方案,這種技術(shù)是在or-aele數(shù)據(jù)庫(kù)中使用的,這種技術(shù)可以識(shí)別上次提取后發(fā)生變化的數(shù)據(jù)。CDC技術(shù)結(jié)構(gòu)基于發(fā)布者和訂閱者模型,發(fā)布者可以捕捉系統(tǒng)中變化的數(shù)據(jù),訂閱者從發(fā)布者得到變化的數(shù)據(jù)。在Oracle系統(tǒng)中,CDC擁有一個(gè)發(fā)布者和多個(gè)訂閱者。