三、 註解系統分析、設計與實做
3.6 實做說明
3.6.1 實做使用工具
我們的程式使用 Java 進行開發,選擇使用 Java 的原因如下:
一、 支援 XML 格式:Java 內建 XML Parser 及 Generator,對 CDA 文件的處理、
CDA 樣板上能提供極大的幫助,。
二、 影音功能可利用 JMF(Java Media Framework)所提供的 Library,快速實做出所 需要的螢幕錄影及錄音功能。 來產生 JFrame,Frame 內包含 MainToolPane 及 MedicalRecordPane,其功能分述如下:
1. MainToolPane 包含各種主要功能的按鍵,條列如下:
(1) Open:開啟診療紀錄檔 (2) Save:產生診療紀錄檔。
(3) Save Recording File:產生螢幕錄影及錄音檔案作為多媒體註解。
(4) Select Examination Template:開啟選擇樣板(如健康檢查)功能的面板。
(5) Modify Examination:開啟用來抽換 Objective 檢查項目的樣板,及新增/
刪除 Subjective、Assessment、Plan 註解內容的面板。
2. MedicalRecordPane 包含以下功能:
(1) 呈現電子病歷中病人、醫師、醫院、病歷紀錄及 SOAP 的內容 (2) 提供使用者新增/刪除/修改檢查項目內容及註解內容的區塊。
(3) 解析診療紀錄檔
3. Navigator 上會列出診療記錄檔中所包含的每份 CDA 文件之日期,當使用者點 選該日期,MedicalRecordPane 會直接跳到該診療記錄的位置供使用者檢視。
圖 21 使用者介面示意圖
整個註解系統的 Class Diagram 如圖 22 所示,診療紀錄檔中的所有紀錄在解析後都 會在 MedicalRecordPane 中的 SOAP 相對應欄位呈現。
MedicalRecord_Displayer MainToolPane
MedicalRecordPane Subjective
Assessment Plan Objective Evidence 1 Evidence 2
Navigator
圖 22 註解系統 Class Diagram
我另外設計出輸入欄位,分別是 textAnnotations 及 fileChooserSet(圖 23),其主要功 能分述如下:
1. textAnnotations:
(1) 包含一個 JLabel 作為欄位描述及 JTextArea 作為輸入區塊。
(2) 定義 getInput()方法用來取得此 JTextArea 的實體。
(3) exam 用 來 得 知 此 輸 入 元 件 是 屬 於 哪 一 個 檢 查 項 目 或 是 Subjective 、 Assessment、Plan 哪個部分。
2. fileChooserSet:
(1) JLabel 作為欄位描述
(2) JTextArea 作為顯示多媒體註解檔案位址,並提供點及後開啟多媒體檔案 的能力。
(3) JButton 用來開啟 fileChooser 以選擇作為多媒體註解的檔案。
在 pattern 的設計上,先設計出 PatternPanel Class(圖 22)作為 SOAP 樣板的根本。它 提供快速取得樣板上 Component 的能力,所有 Objective 的檢查項目都繼承此 class。提 供取得 JPanel 上所有 Component 的能力是為了將來在產生診療紀錄檔時,能根據這些欄 位產生 CDA 文件中<item>的內容。
SAPPatternPanel 繼承 PatternPanel 作為 Subjective、Assessment 及 Plan 樣板的母板,
因為這三個樣板上的註解欄位數量不定,因此在 SAPPatternPanel 新增 text 與 multimedia 的 counter , 用 來 配 合 SAPDefaultTextAnnotationOID 與 SAPDefaultMultiMediaAnnotationOID 的常數產生辨認註解欄位的 identifier,並將此 identifier 賦予在新增的註解 Panel(即 textAnnotations 或 fileChooserSet)上。
圖 23 textAnnotations Class 及 fileChooserSet Class
我想先
系統所提供的功能及實作敘述如下:
1. PatternSelecterPanel(圖 24):提供 Objective 內之檢查項目樣板抽換功能及新增/
刪 除 Subjective 、 Assessment 及 Plan 功 能 。 利 用 Third Party Library
「CheckboxTree」為基礎,建構出內含可抽換之樣板及註解的樹,使用者利用 勾選/取消勾選 checkbox 的方式進行操作。
2. 螢幕錄影及錄音功能是利用 JMF(Java Multimedia Framework)實作。
圖 24 PatternPanel Class 及 SAPPatternPanel Class
圖 25 PatternSelecterPanel Class