請用此 Handle URI 來引用此文件:
http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/28556
標題: | 以XML為本之DRG編審系統實作 Implementation of an XML-based DRG Coding System |
作者: | I-Ying Chou 周宜穎 |
指導教授: | 陳俊良 |
關鍵字: | 診斷關聯群,可擴展置標語言,可擴展置標語言結構描述,文件物件模型,規格, DRG,XML,schema,DOM,specification, |
出版年 : | 2007 |
學位: | 碩士 |
摘要: | 在軟體開發的過程中,規格(specification)描述一直是使用者以及開發者之間衝突的根源。為何規格描述會如此難以完善?軟體開發者沒有足夠特定領域的專業背景,以及使用者隨性的描述都是導致衝突的原因。
現今談到資料,XML是個不該被忽略的語言,由於XML的格式規範相當的完善,加上它的可處理性以及開放性,所以我們提出使用XML來描述規格資料的構想。 目前已有許多標準的XML剖析器(XML parser)。最有名的兩者應該是SAX以及DOM。在Java語言中,JAXP包含了這兩種剖析的API。SAX機制的處理概念是把XML文件視為一個循序的資料流(data stream),程式依序掃過XML文件中的每一元素(element)及屬性(attribute),每碰到一個元素或屬性就去執行其對應的事件處置器(event handler)。SAX提供掃描的機制,程式設計者只需負責撰寫事件處置器。相對的,DOM機制的作法是先把整份XML文件讀入記憶體中,組織成一個樹狀結構,這個結構被稱為DOM樹(DOM tree)。然後程式設計者利用DOM提供的API在DOM樹上任意拜訪節點;並不限定要循序的拜訪節點,每個節點亦可被拜訪多次。DOM機制的處理方式比SAX機制靈活了許多,所以我們選擇採用DOM機制來做為剖析器。 診斷關聯群(DRG)資訊系統是醫療資訊系統的一環,給定一個病人的診斷碼以及處置碼,判斷其條件符合哪一個DRG為其流程。但大部分情況會有僵局產生,一個病例可能會符合一個以上的DRG,這時必須要引用其他的規則來解決僵局,找出最適合的DRG。以資訊的術語,這裡存在著一相當龐大的決策樹(decision tree)。對DRG資訊系統而言,這些條件以及僵局解決的規矩就是規格需求的主要內容,這是一種資料性規格需求。程式開發階段,這些資料必須被整理、推導、歸類,然後放入資料庫或是直接嵌入程式碼中。DRG的規範主控權在健保局,目前是用excel以及word (實際上是很多visio圖檔)來呈現。DRG的規範不是死的,將會根據實際的醫療情形調整疾病的分類規則。顯然DRG資訊系統是一個會根據規格資料而更動的特殊用途應用軟體。為求能夠貼近實務,我們將以DRG資訊系統當成我們的展示系統。 我們用兩種方法來實作。一種是完全利用DOM機制。DOM機制有剖析器可以把整份XML格式規格需求書讀入記憶體,DOM機制也有API可以用來操作DOM樹。這種方法就是用DOM API來操作DOM樹,進而實作出應用軟體的需求。軟體開發者必須花工夫實作的部份就是驅動程式(driver)。驅動程式的程式碼是根據規格的結構來寫,必要時軟體開發者須參考對應的XSD檔。另一方面驅動程式執行的效果是根據DOM樹的內容。而DOM樹的內容是由XML格式規格需求書轉入的。如果規格內容改了,只要結構不改,驅動程式亦不需做任何變更,這是我們的目標。概念上,應用軟體是由XML格式規格需求書、標準DOM剖析器,以及自行開發的驅動程式組成。 第二種方法是軟體開發者花工夫實作程式產生器(program generator)。我們還是用標準的DOM剖析器把XML格式規格需求書讀入成DOM樹,也用DOM API來操作DOM樹。不過實作出的效果是產生另外一支程式,也就是所需的應用程式。程式產生器的程式碼是根據規格的結構來寫,另一方面程式產生器輸出的程式,也就是應用程式,會根據DOM樹的內容而變。同理,規格內容改了,DOM樹跟著改,只要結構不改,程式產生器就不需要更改,重新執行一次即可產生新規格的應用程式以供使用。一樣達得到目標。這種方法,開發階段以及應用階段分得很清楚。開發階段的程式產生器是跟DOM機制綁在一起,程式產生器所用的語言就是DOM機制的語言。不過,產生的應嫆程式則可以視程式產生器開發者的寫法,並不受限於開發時所使用的語言。 How to describe an acceptable specification is an important topic to discuss. The reasons to disagree on specification are: users often describe information at will and programmers are not familiar with information on another field. Programmers have difficulty in communicating with users because of different backgrounds. As we known it, a satisfying specification is required to be error-free, complete, formal, processable, and open. XML conform to the above-mentioned points. Besides, XML is flexible and well-support. Therefore we choose it as our structure. To manipulate an XML document, you need an XML parser. At present, two major API specifications define how XML parsers work: SAX and DOM. SAX chooses to give you access to the information in your XML document as a sequence of events. On the contract, the DOM presents an XML document as a tree-structure, with the elements, attributes, and text defined as nodes. DOM would be proper, because the program needs to access widely separated parts of the document at the same time. DRG is a patient classification method of determining reimbursement from medical insurance according to diagnoses, procedures, and so on. The method to classify patient cases is a kind of specifications. And the method may be changed according to the Excel and Word documents provided by Bureau of National Health Insurance. Therefore we chose this application program as a demonstration. We implement DRG coding system using two approaches: traverse-and-go approach and code-generation approach. Programs using traversal-and-go approach traverse DOM trees and process information. DOM trees are regarded as decision trees. Programs using code-generation approach collect information in DOM tree and generate a program we demand. The generated program is inserted information. Programs using traverse-and-go approach is simpler to design while ones using code-generation approach are more flexible. |
URI: | http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/28556 |
全文授權: | 有償授權 |
顯示於系所單位: | 資訊工程學系 |
文件中的檔案:
檔案 | 大小 | 格式 | |
---|---|---|---|
ntu-96-1.pdf 目前未授權公開取用 | 556.24 kB | Adobe PDF |
系統中的文件,除了特別指名其著作權條款之外,均受到著作權保護,並且保留所有的權利。