前言:本站為你精心整理了DICOM標(biāo)準(zhǔn)圖像數(shù)據(jù)庫(kù)范文,希望能為你的創(chuàng)作提供參考價(jià)值,我們的客服老師可以幫助你提供個(gè)性化的參考范文,歡迎咨詢(xún)。
1dicom數(shù)據(jù)模型
在DICOM標(biāo)準(zhǔn)中,定義了一個(gè)以患者,研究(Study),序列(Series)、圖像四個(gè)層次的信息模型。這四個(gè)層次分別對(duì)應(yīng)了有關(guān)類(lèi)型信息的生成階段和不同來(lái)源。
(1)患者層次
患者層次包含了屬于某個(gè)研究的患者標(biāo)識(shí)和人口統(tǒng)計(jì)信息。由于一個(gè)患者可能存在多個(gè)研究,患者層次是信息系統(tǒng)模型中的最高層次,一個(gè)患者可能由于其它或以前的檢查而有多個(gè)研究。然而在DICOM標(biāo)準(zhǔn)中,患者信息卻被包含在研究模塊中。
(2)研究層次
研究層次是在信息模型中最重要的層次。一個(gè)研究是某個(gè)特定類(lèi)型檢查請(qǐng)求的結(jié)果。放射科的所有活動(dòng)都是圍繞著正確處理患者的研究請(qǐng)求而進(jìn)行的。在研究層次上,保存著患者的標(biāo)識(shí)信息,并包含有與同一個(gè)研究有關(guān)的醫(yī)院管理信息系統(tǒng)中的其它參考信息。一般地,一個(gè)研究的請(qǐng)求可能會(huì)涉及不同模式(Modality)的檢查過(guò)程,因而涉及一個(gè)或多個(gè)圖像的序列,這取決于檢查所定義的協(xié)議。研究作為DICOM的信息根將所有圖像數(shù)據(jù)收集到一起。在研究層次下收集了所有的圖像序列。
(3)序列層次
序列層次標(biāo)識(shí)了生成圖像的模式類(lèi)型、序列生成的日期、檢查類(lèi)型的細(xì)節(jié)和使用的設(shè)備等信息,是來(lái)自單一模式有關(guān)圖像的集合。圖像組合到序列中的方式取決于它們的臨床用途。而圖像在模式上是如何獲取的對(duì)序列的分組并不重要。但是不同的屬性將獲取標(biāo)識(shí)并在顯示圖像時(shí)表現(xiàn)出來(lái)。在許多情況下,圖像關(guān)系是通過(guò)獲取發(fā)生的方式定義的。當(dāng)按順序的獲取具有空間或普通的關(guān)系時(shí),這種獲取結(jié)果的圖像可以成組到一個(gè)序列中。當(dāng)存在于圖像之間的關(guān)系不再有效時(shí),必須開(kāi)始新序列。
(4)圖像層次
信息模型的最低層次是圖像層次,每個(gè)圖像包含獲取位置以及圖像數(shù)據(jù)本身,取決于模式的類(lèi)型。圖像層次包含有一幅(單幅)、兩幅(雙屏)和在相對(duì)短的時(shí)間內(nèi)收集的多幅圖像(多幀圖像)。多幀圖像的使用節(jié)約了高層次上信息的重復(fù),但這僅僅是在幀之間關(guān)系可以用簡(jiǎn)單方法描述時(shí)才有可能,例如時(shí)間間隔或系統(tǒng)移動(dòng)的增量在所有幀之間都是相等的。DICOM模型考慮了在醫(yī)院環(huán)境下所涉及到圖像的絕大部分信息,對(duì)于系統(tǒng)設(shè)計(jì)有很好的參考作用。必須說(shuō)明的是在信息模型中,不是所有內(nèi)容都是必須的。DICOM標(biāo)準(zhǔn)在第三部分詳細(xì)定義了各種信息對(duì)象的模塊組成和模塊中的屬性,允許根據(jù)設(shè)備的類(lèi)型、應(yīng)用系統(tǒng)的需求等具體情況有條件地取舍,但必須在兼容性聲明中加以說(shuō)明。正是由于DICOM標(biāo)準(zhǔn)中允許屬性是可選的,這種不確定性給數(shù)據(jù)庫(kù)的結(jié)構(gòu)定義帶來(lái)困難。
2數(shù)據(jù)的表示和關(guān)系表的設(shè)計(jì)
在DICOM標(biāo)準(zhǔn)中,所有的數(shù)據(jù)(即模塊中的屬性)都是以數(shù)據(jù)元素的形式出現(xiàn)的。一個(gè)數(shù)據(jù)元素是由標(biāo)記(Tag),值表示法(ValueRepresentation,VR),值長(zhǎng)度(ValueLength,VLen)和值(Value)四個(gè)部分組成。標(biāo)記用一對(duì)16位無(wú)符號(hào)整數(shù)組成,分別稱(chēng)為組號(hào)和元素號(hào)。標(biāo)記的值的指定和語(yǔ)義說(shuō)明在數(shù)據(jù)字典中定義。值表示法是用兩個(gè)字符組成,規(guī)定了該數(shù)據(jù)元素值的表示格式,如AS表示年齡字符串,DT是日期和時(shí)間,FD表示雙精度浮點(diǎn)數(shù)等。值長(zhǎng)度用16位或32位整數(shù)表示,值域則實(shí)際存放具體內(nèi)容。上述的信息模型并不能直接轉(zhuǎn)換到關(guān)系數(shù)據(jù)庫(kù)中,這是因?yàn)棰貲ICOM標(biāo)準(zhǔn)中數(shù)據(jù)是以數(shù)據(jù)元素的格式進(jìn)行交換和存放在可移動(dòng)介質(zhì)上的,即有(TAG,VR,VLen,V)的結(jié)構(gòu)的要求,這與關(guān)系數(shù)據(jù)庫(kù)中的原子屬性不一致;②對(duì)于同一個(gè)屬性存在著對(duì)應(yīng)多個(gè)值表示法,
這使得在數(shù)據(jù)庫(kù)定義的數(shù)據(jù)類(lèi)型上無(wú)法直接定義;③對(duì)于同一個(gè)屬性存在多個(gè)TAG,也要求存在有一種對(duì)應(yīng)的映射。由于上述原因,在關(guān)系數(shù)據(jù)庫(kù)的實(shí)現(xiàn)中,必須保存完整的數(shù)據(jù)元素結(jié)構(gòu)以及內(nèi)容,這樣既解決了數(shù)據(jù)元素結(jié)構(gòu)上的要求,也解決了由于屬性可選而帶來(lái)的數(shù)據(jù)稀疏問(wèn)題。在我們的設(shè)計(jì)中,無(wú)論是研究,序列圖像還是患者模塊,其實(shí)現(xiàn)的關(guān)系表結(jié)構(gòu)都是一樣,即以(UID,TAG,VR,VLen,V)多元組表示。各模塊之間以唯一標(biāo)識(shí)符(UniqueIDentifier,UID)作為關(guān)鍵字聯(lián)接。根據(jù)標(biāo)準(zhǔn)要求,主要設(shè)立下面幾個(gè)表:(1)患者表PatientTable=(PatientID,TagGroup,TagElement,VR,VLen,ValueContent):存放描述患者的靜態(tài)信息的數(shù)據(jù)元素,對(duì)于每個(gè)患者指定一個(gè)ID作為索引的鍵值。(2)研究表StudyTable=(StudyUID,TagGroup,TagElement,VR,VLen,ValueContent):存放所有研究模塊的數(shù)據(jù)元素,以及患者的動(dòng)態(tài)信息。(3)序列表SeriesTable=(SeriesUID,TagGroup,TagElement,VR,VLen,ValueContent):存放所有序列模塊的數(shù)據(jù)元素,以及設(shè)備信息和參考幀信息。(4)圖像表ImageTable=(ImageUID,TagGroup,TagElement,VR,VLen,ValueContent):存放所有描述圖像屬性的數(shù)據(jù)元素。(5)數(shù)據(jù)表DataTable=(DataUID,TagGroup,TagElement,VR,VLen,ValueContent):存放所有圖像的象素等類(lèi)型的數(shù)據(jù)。(6)訪問(wèn)表VisitTable=(VisitUID,TagGroup,TagElement,VR,VLen,ValueContent):存放所有訪問(wèn)模塊的數(shù)據(jù)元素。(7)患者聯(lián)接表PatientLinkTable=(PatientID,VisitUID,StudyUID,SeriesUID,ImageUID):存放所有患者與其研究、序列、圖像以及訪問(wèn)之間聯(lián)接的信息,這是一個(gè)有信息冗余的表,但可以提高數(shù)據(jù)操作的效率。除此以外,還有一些與管理類(lèi)、服務(wù)類(lèi)有關(guān)的表,這里就不再贅述。
3患者信息的處理
在DICOM標(biāo)準(zhǔn)中,患者信息雖然信息層次最高,但是從屬于研究模塊,這樣帶來(lái)兩個(gè)問(wèn)題:一是由于患者存在有多個(gè)研究,同樣的患者信息就存在于多處,容易造成患者數(shù)據(jù)不一致。二是對(duì)常用的操作(如查詢(xún)、存儲(chǔ)等),都是首先從患者信息開(kāi)始進(jìn)行的。如果患者信息存放在研究模塊中,必然先從研究模塊中查找患者信息,再由此查找到其它模塊中的索引信息,這樣的過(guò)程會(huì)引起系統(tǒng)效率的降低。患者信息可以分為不變的靜態(tài)信息和可變的動(dòng)態(tài)信息兩部分。靜態(tài)信息指患者出生年月,父母姓名等等。這些信息只要在患者模塊中保存一次,需要時(shí)直接引用即可。而其它的是屬于動(dòng)態(tài)變化的信息,如體重等,對(duì)于每次研究,這些信息可能都有變化,這些變化往往有醫(yī)療診斷價(jià)值,研究模塊必須反映出這種變化,因此這些動(dòng)態(tài)信息必須單獨(dú)保存在研究模塊中。這樣分離的結(jié)果使得患者模塊既提升到研究模塊之外,避免了在研究模塊中患者信息的重復(fù)存儲(chǔ),而又不造成信息丟失。當(dāng)需要使用患者的靜態(tài)信息時(shí),將患者模塊中的數(shù)據(jù)鏈接到研究模塊中即可。在DICOM標(biāo)準(zhǔn)中,規(guī)定了患者姓名、患者ID作為查詢(xún)的關(guān)鍵字,其它信息則是可選擇的。但無(wú)論對(duì)中國(guó)人還是外國(guó)人來(lái)說(shuō)都存在重名的問(wèn)題。因而在數(shù)據(jù)庫(kù)中姓名是不能作為主關(guān)鍵字,在查詢(xún)過(guò)程中也要對(duì)同名問(wèn)題加以處理。患者ID通過(guò)在系統(tǒng)中指定一個(gè)唯一的ID派發(fā)中心,可以保證在醫(yī)院范圍內(nèi)的唯一性,因而可以作為數(shù)據(jù)庫(kù)的主關(guān)鍵字。但是在網(wǎng)絡(luò)環(huán)境下存在著同一個(gè)人在不同地點(diǎn)、不同的醫(yī)院中有不同的編號(hào),這使得在醫(yī)院之間的信息交換過(guò)程更加復(fù)雜,一般是通過(guò)組合屬性查詢(xún)的方法解決這個(gè)問(wèn)題。
4SQL查詢(xún)過(guò)程
對(duì)于用上面各個(gè)關(guān)系表建立起來(lái)的數(shù)據(jù)庫(kù),基本的查詢(xún)、存儲(chǔ)、修改等功能都是用數(shù)據(jù)庫(kù)系統(tǒng)中SQL語(yǔ)言的存儲(chǔ)過(guò)程,配合通信網(wǎng)關(guān)模塊中的程序?qū)崿F(xiàn)。DICOM通信網(wǎng)關(guān)程序負(fù)責(zé)與網(wǎng)絡(luò)環(huán)境中的其它DICOM設(shè)備進(jìn)行通信,將DICOM消息交換協(xié)議(DIMSE)命令映射為對(duì)數(shù)據(jù)庫(kù)操作的SQL語(yǔ)句和其它處理過(guò)程,網(wǎng)關(guān)程序通過(guò)ODBC方式與數(shù)據(jù)庫(kù)互連。例如對(duì)于常用的從患者姓名得到某個(gè)圖像數(shù)據(jù)查詢(xún)過(guò)程如下:(1)從患者模塊中查出所有姓名為NameStr的患者IDSELECTPatientIDFROMPatientTableWHERETagGroup=16ANDTagElement=16ANDValuecon-tent=@NameStr(2)從同名的各個(gè)患者詳細(xì)信息中選出所要的患者的ID這是一個(gè)交互的過(guò)程,用戶(hù)通過(guò)應(yīng)用程序與數(shù)據(jù)庫(kù)得到具體的患者ID。(3)以患者ID為鍵值查患者聯(lián)接表,得到所有的研究、序列、圖像UID用SELECTStudyUIDFROMPatientLinkTableWHEREPatientID=@ID得到所有研究UID。用SELECTImageUIDFROMPatientLinkTableWHEREPatientID=@ID得到所有圖像UID。(4)以圖像UID可以從圖像數(shù)據(jù)表中得到圖像數(shù)據(jù):SELECTValueFROMDataTableWHERETagGroup=32736ANDTagElement=16ANDPatientID=@ID。(5)應(yīng)用程序以O(shè)DBC的調(diào)用取出圖像數(shù)據(jù)做進(jìn)一步的處理。必須說(shuō)明的是,上述操作僅僅是DICOM網(wǎng)關(guān)程序?qū)?shù)據(jù)庫(kù)的直接操作,而數(shù)據(jù)庫(kù)管理系統(tǒng)并不直接與系統(tǒng)中其它的DICOM設(shè)備交換信息。
5結(jié)論
盡管DICOM標(biāo)準(zhǔn)應(yīng)用了面向?qū)ο蟮姆治龇椒?但根據(jù)其信息模型,還是可以用簡(jiǎn)潔方式在關(guān)系數(shù)據(jù)庫(kù)上實(shí)現(xiàn)其信息存儲(chǔ)功能。本文提出的方案,在SQLServer7.0和Oracle8系統(tǒng)上都實(shí)現(xiàn)了設(shè)計(jì)目標(biāo)。本系統(tǒng)經(jīng)過(guò)實(shí)驗(yàn)檢驗(yàn),具有如下的優(yōu)點(diǎn):(1)庫(kù)結(jié)構(gòu)簡(jiǎn)單,構(gòu)造方便,這使得系統(tǒng)維護(hù)工作量大為減少。(2)數(shù)據(jù)存儲(chǔ)效率高,克服了記錄全部屬性所產(chǎn)生的數(shù)據(jù)稀疏問(wèn)題。(3)系統(tǒng)擴(kuò)充余地大,由于DICOM標(biāo)準(zhǔn)的是在不斷的修改和補(bǔ)充變化的過(guò)程中,用本方案不會(huì)為因?yàn)樽兓饠?shù)據(jù)庫(kù)結(jié)構(gòu)的變化。(4)數(shù)據(jù)庫(kù)輸出數(shù)據(jù)時(shí),易于組成標(biāo)準(zhǔn)所要求的數(shù)據(jù)集,數(shù)據(jù)轉(zhuǎn)換的開(kāi)銷(xiāo)小。(5)數(shù)據(jù)庫(kù)系統(tǒng)功能獨(dú)立,不參與DICOM的消息交換協(xié)議。(6)保留了數(shù)據(jù)標(biāo)記(Tag),使得數(shù)據(jù)有精確語(yǔ)義,不會(huì)引起語(yǔ)義的混淆。至于由于記錄了每個(gè)數(shù)據(jù)元素的標(biāo)記、值表示法和值長(zhǎng)所帶來(lái)的對(duì)存儲(chǔ)效率的影響,我們認(rèn)為在存儲(chǔ)設(shè)備容量不斷增大,性能飛速提高的現(xiàn)代技術(shù)條件下,以存儲(chǔ)空間換取系統(tǒng)結(jié)構(gòu)上的簡(jiǎn)單和程序的清晰等優(yōu)勢(shì)還是值得的。醫(yī)學(xué)圖像數(shù)據(jù)庫(kù)作為醫(yī)療信息系統(tǒng)的核心技術(shù),可廣泛應(yīng)用在PACS系統(tǒng)、遠(yuǎn)程醫(yī)療系統(tǒng)、醫(yī)療檔案系統(tǒng)以及醫(yī)療影象設(shè)備中。