黎 明,施 濤,李 琳,徐軍榮,李四海
(甘肅中醫(yī)藥大學(xué)信息工程學(xué)院,甘肅 蘭州 730000)
?
基于HL7和XML的區(qū)域醫(yī)療平臺電子病歷數(shù)據(jù)共享
黎明,施濤,李琳,徐軍榮,李四?!?/p>
(甘肅中醫(yī)藥大學(xué)信息工程學(xué)院,甘肅蘭州730000)
摘要:建立以居民健康檔案和電子病歷為基礎(chǔ)的區(qū)域醫(yī)療衛(wèi)生平臺是醫(yī)院信息化未來的發(fā)展方向,但目前醫(yī)院信息系統(tǒng)所使用的軟件不同、電子病歷的標(biāo)準(zhǔn)不同,給各級醫(yī)院病歷數(shù)據(jù)共享帶來困難。針對各個醫(yī)院使用的醫(yī)院信息管理系統(tǒng)所產(chǎn)生數(shù)據(jù)的異構(gòu)性,設(shè)計了一種基于HL7和XML語言的電子病歷數(shù)據(jù)共享方法,討論了XML文檔的結(jié)構(gòu),標(biāo)準(zhǔn)XML文檔的存儲及解析問題。
關(guān)鍵詞:電子病歷;XML;區(qū)域衛(wèi)生信息平臺
近年來,我國醫(yī)療信息化建設(shè)取得了較大的進(jìn)展,90%以上的縣級及以上醫(yī)院建立了以掛號收費、藥品器械、醫(yī)院管理為主要內(nèi)容的HIS系統(tǒng);30%以上的醫(yī)院建立了以病人為中心、以電子病歷為基礎(chǔ)的掛號、收費、處方及診療一體化的管理信息系統(tǒng)[1]。但由于各級醫(yī)療機構(gòu)所使用的醫(yī)院信息管理系統(tǒng)(HIS)的平臺不同、數(shù)據(jù)庫環(huán)境不同,造成各自醫(yī)院存儲的病歷檔案數(shù)據(jù)結(jié)構(gòu)的異構(gòu),無法實現(xiàn)醫(yī)療數(shù)據(jù)的共享。
建立以健康檔案和電子病歷為基礎(chǔ)的區(qū)域衛(wèi)生信息平臺,不僅可以實現(xiàn)各級醫(yī)療機構(gòu)之間的數(shù)據(jù)共享,減少患者的重復(fù)檢查;也能夠滿足醫(yī)療大數(shù)據(jù)挖掘的需要,為疾病的診治提供一種新的模式。建立區(qū)域衛(wèi)生信息平臺的一個關(guān)鍵問題是實現(xiàn)各級醫(yī)療機構(gòu)之間異構(gòu)數(shù)據(jù)的共享。
本文以HL7標(biāo)準(zhǔn)為基礎(chǔ),以XML語言作為電子病歷內(nèi)容的描述性語言,通過定義XML文檔的結(jié)構(gòu),實現(xiàn)了不同醫(yī)院電子病歷數(shù)據(jù)的共享,解決了建立區(qū)域衛(wèi)生信息平臺的數(shù)據(jù)共享、數(shù)據(jù)交換和數(shù)據(jù)一致性問題。
HL7是醫(yī)療領(lǐng)域不同應(yīng)用之間電子傳輸?shù)臉?biāo)準(zhǔn)協(xié)議,是醫(yī)學(xué)數(shù)據(jù)傳輸?shù)臉?biāo)準(zhǔn)。HL7匯集了不同廠商用來設(shè)計應(yīng)用軟件之間接口的標(biāo)準(zhǔn)格式,它將允許各個醫(yī)療機構(gòu)在異構(gòu)系統(tǒng)之間進(jìn)行數(shù)據(jù)共享和交互。
HL7的主要應(yīng)用領(lǐng)域是醫(yī)院管理信息系統(tǒng),它涉及到病房和病人信息管理、LIS系統(tǒng)、藥房系統(tǒng)、PACS系統(tǒng)、收費系統(tǒng)等各個方面。HL7的宗旨是開發(fā)和研制醫(yī)院數(shù)據(jù)信息傳輸協(xié)議和標(biāo)準(zhǔn),規(guī)范臨床醫(yī)學(xué)和管理信息格式,降低醫(yī)院信息系統(tǒng)互連的成本,提高醫(yī)院信息系統(tǒng)之間數(shù)據(jù)信息共享的程度。
HL7是作為規(guī)范各醫(yī)療機構(gòu)之間,醫(yī)療機構(gòu)與病人、醫(yī)療事業(yè)行政單位之間各種不同信息系統(tǒng)之間進(jìn)行醫(yī)療數(shù)據(jù)傳遞的標(biāo)準(zhǔn)。作為標(biāo)準(zhǔn),它是開放系統(tǒng)互聯(lián)(OSI)協(xié)議的第七層,即應(yīng)用層。在HL7通信協(xié)議中,消息(Message)是數(shù)據(jù)交換的基本單位。消息包括規(guī)則數(shù)據(jù)庫和程序數(shù)據(jù)結(jié)構(gòu)代碼。具體通信則由構(gòu)造器(Builder)和解析器(Parser)負(fù)責(zé)。
XML即可擴展置標(biāo)語言(Extensible Markup Language),它是一種標(biāo)記文件的語言,這種語言具有較強的數(shù)據(jù)描述功能、可擴展性以及一定的結(jié)構(gòu)性。XML是由W3C(全球資訊網(wǎng)標(biāo)準(zhǔn)制定組織)在1998年2月制定并推薦。在它之前有兩種較為熟悉的標(biāo)志語言:SGML(第一個標(biāo)準(zhǔn)化的信息結(jié)構(gòu)化技術(shù)語言)和HTML(超文本標(biāo)記語言)。
XML語言的特點主要有[2-3]:
1)XML為純文本文件,與操作系統(tǒng)及軟件平臺無關(guān)。
2)XML采用樹形結(jié)構(gòu)組織數(shù)據(jù),運用標(biāo)記定義數(shù)據(jù)對象,在描述復(fù)雜的病歷數(shù)據(jù)時具有巨大的優(yōu)勢。
3)XML使數(shù)據(jù)內(nèi)容和表現(xiàn)形式相分離,便于數(shù)據(jù)的存儲、傳遞和顯示。
基于XML的數(shù)據(jù)共享和交互關(guān)鍵問題是實現(xiàn)數(shù)據(jù)的標(biāo)準(zhǔn)化和結(jié)構(gòu)化。首先要將被交換的數(shù)據(jù)轉(zhuǎn)換為XML文檔,接收方只需具有和發(fā)送方相同的XML規(guī)范文檔,雙方就可以進(jìn)行與平臺無關(guān)的數(shù)據(jù)共享和交互。
3.1應(yīng)用流程圖
基于HL7和XML的電子病歷數(shù)據(jù)共享分包括以下兩個方面:
1)以HL7為標(biāo)準(zhǔn),將醫(yī)院病歷數(shù)據(jù)規(guī)范化為標(biāo)準(zhǔn)的電子病歷。
2)定義XML文檔結(jié)構(gòu),將異構(gòu)的電子病歷集成到區(qū)域醫(yī)療平臺數(shù)據(jù)中心,設(shè)計XML文檔的存儲結(jié)構(gòu);利用XML的平臺無關(guān)性,就可以實現(xiàn)對XML格式的電子病歷數(shù)據(jù)的解析。
圖1給出了電子病歷數(shù)據(jù)共享流程圖。
3.2數(shù)據(jù)解析
3.2.1XML文檔結(jié)構(gòu)
本文基于Web表格的方法定義了XML文檔的格式,便于實現(xiàn)XML數(shù)據(jù)到關(guān)系數(shù)據(jù)庫的映射。要將不同醫(yī)療平臺異構(gòu)數(shù)據(jù)庫中的標(biāo)準(zhǔn)化后的XML文檔導(dǎo)入到中心數(shù)據(jù)庫中,要首先定義XML文檔的結(jié)構(gòu)。
以下給出一個XML文檔的例子:
<?xml version=”1.0”encoding=”GB2312”?>
<Patient Info>
<id>GSSRM0000001</id>
<Name>張三</Name>
<Sex>男</Sex>
<Age>30歲</Age>
<病區(qū)>城關(guān)區(qū)</病區(qū)>
<病案號>30010</病案號>
<床號>010</床號>
<術(shù)前診斷>闌尾炎</術(shù)前診斷>
</Patient Info>
……
從中可以看出XML文檔的結(jié)構(gòu)。在XML文件中的每一個XML元素就代表數(shù)據(jù)庫中的一個數(shù)據(jù)項,一個XML文檔就代表關(guān)系數(shù)據(jù)庫中的一張表。一個XML文檔是由帶有起始標(biāo)記和結(jié)束標(biāo)記的XML元素(element)組成,文檔信息包含在這兩個標(biāo)記之間。在XML文件中可以用<ElementTypename=”屬性名稱”content=“xxx”>…</ElementType>來聲明元素的內(nèi)容類型,可以用<AttributeTypename=“元素類型”type=“xxx”></AttributeType>來聲明元素的數(shù)據(jù)類型。
3.2.2XML文檔的存儲與解析
區(qū)域醫(yī)療平臺中的XML文檔的存儲方式有三種:(1)以文件形式存儲。(2)以數(shù)據(jù)庫的形式存儲。(3)文件和數(shù)據(jù)庫形式并存。三種存儲方式本質(zhì)上都是將XML模型轉(zhuǎn)換為關(guān)系數(shù)據(jù)模型,便于病歷查詢和統(tǒng)計分析[4-5]。
對XML文檔的解析主要有三種方法,本文采用DOM解析XML數(shù)據(jù),由于DOM在解析XML數(shù)據(jù)的時候是內(nèi)存消耗很大,特別是多文檔任務(wù)解析時容易引起內(nèi)存空間溢出。因此,在解析時要定義XML文檔的大小。
為了便于分批執(zhí)行數(shù)據(jù)加載,將解析的XML數(shù)據(jù)存為數(shù)據(jù)對象,每個對象中包括表名,字段名,字段類型和記錄。之后需要查詢?nèi)蝿?wù)數(shù)據(jù)庫,根據(jù)表映射查找到原表對應(yīng)的目標(biāo)表;根據(jù)字段映射查找到原字段對應(yīng)的目標(biāo)字段。最后將數(shù)據(jù)對象中的記錄存入目標(biāo)數(shù)據(jù)庫中對應(yīng)的目標(biāo)表[6]。
本文以HL7標(biāo)準(zhǔn)為基礎(chǔ),以XML為電子病歷的描述性語言,實現(xiàn)了不同醫(yī)院電子病歷數(shù)據(jù)的共享,結(jié)構(gòu)化的共享數(shù)據(jù)可以表達(dá)任意復(fù)雜的病歷數(shù)據(jù),也可以基于Internet實現(xiàn)基于Web的病歷瀏覽,使得醫(yī)院電子病歷數(shù)據(jù)的交互變得更為流暢。
XML作為一個中間件技術(shù),非常適合于描述半結(jié)構(gòu)化的病歷數(shù)據(jù),
圖1 電子病歷數(shù)據(jù)共享
通過與醫(yī)療數(shù)據(jù)交互標(biāo)準(zhǔn)HL7相結(jié)合,為區(qū)域醫(yī)療平臺的數(shù)據(jù)共享提供了一種便捷、有效的方法。
參考文獻(xiàn):
[1]姜騰.基于電子病歷的醫(yī)院衛(wèi)生信息平臺的數(shù)據(jù)標(biāo)準(zhǔn)和數(shù)據(jù)交換的研究[D].中國海洋大學(xué),2013,5.
[2]李君,郭幽燕.基于HL7標(biāo)準(zhǔn)的居民健康檔案研究[J].生物醫(yī)學(xué)工程,2011,30(5):516-519.
[3]李艷軍,李初民.基于XML的HIS接口模型設(shè)計[J].重慶醫(yī)學(xué),2011,40(35):3553-3555.
[4]方潔,劉廣鐘.XML模式到關(guān)系數(shù)據(jù)模式轉(zhuǎn)換的研究[J].計算機工程與應(yīng)用,2009,45(9):157-160.
[5]耿飆,宋余慶,梁成全,陳健美.XML文檔到關(guān)系數(shù)據(jù)庫映射方法的研究[J].計算機應(yīng)用研究,2010,27(3):951-954.
[6]徐亮,宋海濤,杜軍平.電子病歷共享系統(tǒng)中數(shù)據(jù)解析系統(tǒng)的實現(xiàn)[J].計算機仿真,2012,29(3):40-43.
通訊作者:△李四海,男,副教授。
中圖分類號:R319