//Logo Image
作者:李哲熙(2009-07-13);推薦:徐業良(2009-07-15)

Mobile DDS軟體設計

本文敘述分散式遠距居家照護系統中,以筆記型電腦搭配3.5G行動網路,成為移動型分散式資料伺服器(Mobile Distributed Data Server, DDS)所需相關軟體之設計。

1.     研究背景與目的

1為元智大學老人福祉科技研究中心發展之分散式遠距居家照護系統資訊架構,以分散式資料伺服器為核心。以血壓血糖監測為例,感測器端血壓血糖計透過RS232有線方式將量測的血壓血糖資料傳送至DDS端加以儲存;照護者或使用者本身可由網路流覽器下載應用伺服器中的Java Applet,登入DDS讀取歷史量測資訊、日誌的新增或是系統的相關設定;預設事件發生時,DDS會主動透過應用伺服器以email或簡訊告知遠端照護者。

DDS可以是專用的精簡型伺服器(thin server),也可以將DDS軟體裝置在個人電腦上。本文以筆記型電腦搭配3.5G行動網路,成為移動型分散式資料伺服器(Mobile DDS)Mobile DDS軟體以微軟VB 2005圖形化介面設計程式進行開發,整合泰博TD-3250B血壓血糖計,以HTTP通訊架構下建構出完整的遠距居家照護系統。當使用者於電腦中安裝Mobile DDS軟體,即可將量測血壓血糖值記錄至電腦中,達成自我的健康管理,並透過後端3.5G行動網路連線,遠端照護者也能掌控使用者目前的健康狀態。

 

1. 分散式遠距居家照護系統資訊架構

Mobile DDS軟體較專用的精簡型伺服器版本增添了許多設計的可能性,例如近端生理訊號的擷取與顯示、歷史資訊的查詢、圖形的繪製以及系統設定等基本功能,或是進階語音功能、用藥提醒等等相關功能,均可直接在程式介面中達成,使用上更加容易方便。

2.     系統硬體設備

Mobile DDS傳輸架構中所需應用的硬體設備包含TD-3250B血壓血糖計、筆記型電腦以及市售3.5G行動網卡等三項裝置,本節說明相關的系統硬體設備。

2.1 TD-3250B血壓血糖計

TD-3250B為泰博科技所開發的二合一血壓血糖計(如圖2),可量測使用者的血壓值、脈搏值以及血糖值等三項生理訊號並儲存於主機記憶體內,透過搭配的傳輸線以及Cleverchek軟體,將使用者量測的生理訊號透過USB傳送至電腦端,進行血壓血糖資料的儲存、顯示與管理。

2. 泰博TD-3250B血壓血糖計

2.2 行動網路的選擇

台灣目前已有中華電信、遠傳電信、台灣大哥大、亞太電信、威寶電信等多家電信業者推動3G3.5G行動上網服務,根據不同的服務內容有著不同的資費方式。本文挑選中華、遠傳、台灣大哥大以及威寶電信等四家主要電信業者的資費方式進行比較,就Mobile DDS使用特性挑選較為適當的資費方式。

1為四家電信業者的資費方式,大致可分為定額無限上網(吃到飽)、限定流量以及限定上網天數等三種類型方案,且契約大多以兩年為期限。四家電信業者中,中華電信、遠傳電信以及威寶電信等三家電信業者有定額無限上網方案,分別為每月850775以及517元。台灣大哥大與遠傳電信有限定流量型的方案,台灣大哥大有450以及699種方案,流量限制分別為每月500MB800MB;遠傳電信為350方案,流量限制為每月40MB計算。兩家電信業者在不同資費方案下,有著不同的流量過載的資費方式以及收費上限的制度。除網路流量限制方案外,遠傳電信也推出以天計費的250方案,每月可無限上網3天,超過以每天69元另計。

1. 電信業者3G3.5G行動網路資費比較表

 

中華電信

台灣大哥大

遠傳電信

威寶電信

契約期限(年)

2

2

2

2.5

定額無限上網方案

850(元/月)

 

775(元/月)

517(元/月)

限定網路流量方案(元/月)

 

450型(網路流量限制500MB以下,超過以4.7/MB計算,上限1000元)。

350型(網路流量限制40MB以下,超過以20.5/MB計算,上限1100元)。

 

699型(網路流量限制800MB以下,超過以4.0/MB計算,上限800元)。

限定上網天數方案(元/月)

 

 

250型(可無限上網3天,超過以69/天計算)

 

備註

 

450方案3.5G行動網卡需花費990元加購。

250350方案3.5G行動網卡需花費990元加購。

 

Mobile DDS應用中,網路流量可分為遠端照護者登入DDSDDS定時回報Application Server以及Application Server定時查尋DDS網路連線狀態等三種網路傳輸流量,均為純文字資訊,無圖片或是動畫等大檔案資訊,網路流量相當不大,採用限定網路流量方案應較適合。台灣大哥大與遠傳電信均有限定網路流量方案,然而遠傳電信350方案的網路流量僅為40MB,且當超過流量時每MB收費高達20.5元,以使用者對網路需求來說必定會超越流量限制的上限。台灣大哥大有450以及699種方案,450699方案在超過流量時收費分別為4.7元以及4元上下,遠低於遠傳電信的20.5元,應為較適合的選擇。然而699方案已遠高於威寶電信的517定額無限上網方案,使用台灣大哥大450方案(網路流量限制500MB以下)應為使用者最適當的資費方式。本研究最後選擇台灣大哥大450資費方案,並額外加購990Sony Ericsson MD300行動網卡。

3.     系統功能需求

本節將說明Mobile DDS軟體程式所需達成的功能,從系統的基本功能、血壓血糖資料的讀取流程設計,到後端軟體介面的顯示與管理,透過條列式方式逐步達成所需的設計需求。

3.1 系統基本功能

Mobile DDS實質上為架構於HTTP通訊的網路伺服器,需隨時與遠端照護者以及Application Server進行網路資訊交流,在系統功能上需達成下列四項基本要求:

(1)    3G3.5G行動網路需隨電腦系統開機而自動連線,並使網路持續保持連線狀態。當行動網路斷線時,系統需立即自動連接上網路,無需手動重新連線或是重新啟動電腦。

(2)    Mobile DDS需隨電腦系統開機而自動開啟,並使Mobile DDS成為常駐程式,不可因作業系統待機或進入省電模式而停止運作。

(3)    Mobile DDS為網路伺服器,程式的撰寫需強健可靠,不可因程式不當的操作或是網路不當的連線而造成程式的當機。

(4)    由於使用者多半以高齡者為主,Mobile DDS程式介面顏色的選用應採用長波長顏色為主,如紅、澄、黃等顏色讓高齡者能輕易辨別。此外背景與文字顏色的對比度也相當重要,應使用高對比度的兩顏色來呈現,讓使用者可以輕鬆閱讀所需的資訊。

3.2 讀取量測數據操作

電腦系統在非進行生理訊號量測時,Mobile DDS應為電腦螢幕右下角的常駐程式,而當使用者需要上傳血壓血糖資料時才加以顯示。為使程式介面達成簡單操作的訴求,可能需包含有以下三點的設計需求:

(1)     軟體自動監測TD-3250B裝置是否存在,當使用者接上TD-3250B時,Mobile DDS自動監測TD-3250B裝置已連線,並將程式介面提至螢幕最前頁顯示。

(2)     TD-3250B裝置連接狀態下,使用者可按下Mobile DDS中按鍵或是透過按壓鍵盤上的特定按鈕兩種方式,將血壓血糖資料上傳至筆記型電腦中。

(3)     Mobile DDS需顯示最新擷取的血壓血糖資料,並以語音方式告知使用者量測的數據值,讓使用者可以清楚瞭解。

3.3 生理資料管理功能

生理資料的管理功能應在程式介面的第二層,也就是當使用者有閱讀需求時再逐一點選顯示,應避免同一頁面顯示所有資訊,造成使用者閱讀的困難度。整體上來說程式系統的管理功能,需包含以下五項功能:

(1)   可查看或修改個人基本資料,包含姓名、PID碼、年齡、身高、體重以及相關疾病等項次。

(2)   可查看或新增日誌,讓使用者可在程式端直接留言給遠端照護者;照護者的留言也將動態更新顯示在程式介面上。

(3)   可查詢歷史生理資料顯示,無需透過Java Applet登入顯示。

(4)   需有歷史生理資料繪圖的功能,透過圖形化介面的顯示讓使用者能更清楚瞭解血壓血糖的控制。

(5)   需有表單列印功能,讓使用者可以自行列印歷史量測資料。

3.4 網路通報功能

完整的分散式遠距居家照護系統除血壓血糖資料的擷取、儲存與管理之外,還包含定時向應用伺服器回報,以及異常事件通報等功能:

(1)     程式可設定Mobile DDS自動向應用伺服器回報IP的頻率,包含5分鐘、15分鐘、30分鐘、1小時、3小時、6小時以及12小時等7種回報頻率。

(2)     當擷取新的血壓血糖資料時,自動向應用伺服器回報有新的量測事件發生,倘若血壓血糖資料不在設定預設合理區間內,也會主動向應用伺服器回報異常事件發生,而由應用伺服器代為轉發E-Mail或是手機簡訊。

(3)     程式可直接設定E-Mail以及手機簡訊發送的號碼、選擇透過何種方式通知,以及是否每筆量測資訊均通知等三項功能。

4.     系統軟體設計

本章將說明如何以Visual Basic 2005建構完整的分散式遠距居家照護系統,首先介紹Mobile DDS軟體介面的操作流程,接著依據系統子功能依序介紹軟體程式的撰寫,包含TD-3250B血壓血糖計資料擷取流程、HTTP Server網路伺服器的建立、生理資料傳遞格式的制定、生理資料儲存格式的制訂、以及異常量測事件通報的格式制定等五項。

4.1 軟體介面操作流程

3Mobile DDS軟體主程式畫面,主頁面包含系統狀態、資料上傳、以及最近量測記錄等三部份。系統狀態包含使用者姓名、Mobile DDS系統時間以及網路連線是否正常等三部份;資料上傳區顯示最新上傳記錄,包含血壓以及血糖資料的上載;右側為最近血壓、血糖、以及日誌資料,均動態顯示於程式介面中,可讓使用者得知最近5筆量測資料以及是否有照護者的留言日誌。當使用者將TD-3250B連接至筆記型電腦後,按下「上傳資料」鍵或空白鍵即可讀取儲存於TD-3250B中的血壓血糖資料,擷取完畢後播放特定音告知使用者,並於主程式介面中顯示。資料上傳過程中,程式自動判斷血壓血糖資料是否超出設定的臨界值,超過立即以E-Mail或是SMS方式通知照護者。

3. Mobile DDS主程式畫面

按下「檢視資料」鍵後進入第二頁歷史資料查詢區。如圖4所示,當月完整的血壓血糖以及日誌記錄均顯示於此頁面中,血壓、脈搏以及血壓記錄於上方繪圖區顯示,透過圖形化介面讓使用者能清楚瞭解當月歷史記錄,並可由左右鍵進行個別月份歷史資料查詢。當使用者需列印歷史資料表單時,選擇至所需的月份記錄後,按下「列印報告」鍵即可進入預覽列印畫面,列印該月份之歷史資料記錄(如圖5)。此外使用者可按下「新增日誌」鍵於軟體中新增留言日誌,而照護者以Java applet登入時除了可觀查看使用者留言記錄外,也可同樣在遠端留言,適時給予使用者關懷。

4. 歷史資料報告

5. 列印歷史資料報告

需要進行系統設定時,按下「系統設定」鍵後,立即跳出帳號密碼輸入對話框(如圖6),此對話框需輸入系統管理員帳號與密碼,正確無誤後方可進入系統設定視窗。

6. 管理介面登入視窗

7為系統設定視窗,可分為基本資料區、生理訊號臨界值設定區、警示方式設定區、帳號管理區、以及系統/網路相關設定區五部份。基本資料區內除可設定使用者的姓名、性別、年齡、身高、體重、以及相關疾病外,設定完畢後系統也會將修改後的姓名以及目前IP位置傳送至應用伺服器進行變更,提供姓名登入Java Applet系統的IP位置對應。生理訊號臨界設定區用來設定生理訊號警示臨界值,包含收縮壓、舒張壓、脈搏以及血糖等四項生理訊號的臨界值範圍,當使用者上傳生理訊號高於或是低於臨界值時,即以E-Mail或是SMS方式通知照護者,而E-Mail帳號以及SMS手機號碼則由下方警示方式設定區來設定。程式右上方為帳號管理區,在此可設定系統管理員、照護者以及使用者各別的帳號密碼,提供Java Applet登入使用。右方為系統設/網路相關設定區,可設定泰博血壓計與電腦端的連接埠位置、應用伺服器的IP位置與其監聽埠、Mobile DDS監聽埠、以及Mobile DDS定時回報頻率。

7. 系統設定視窗

4.2 TD-3250B血壓血糖計資料擷取流程

當使用者按下「上傳資料」或空白鍵後開始執行生理資料的擷取,流程依序為(1)開啟序列埠、(2)讀取資料筆數N(3)依序讀取每筆的時間與資料直至第2筆量測記錄、(4)判斷第2筆量測資料是否超過設定警示範圍,並依設定方式傳送警示訊息、(5)讀取第1筆量測記錄的時間與數據、(6)判斷第1筆量測資料是否超過設定警示範圍,並依設定方式傳送警示訊息、(7)清除TD-3250B記憶體中資料、(8)校正TD-3250B時間、(9)關閉序列埠、(10)儲存生理資料共10個步驟(如圖8),完成一次生理資料的讀取。按下「上傳資料」鍵或由鍵盤空白鍵進行血壓血糖資料的擷取程式碼相同,差異僅在事件驅動方式,上傳資料鍵事件驅動為Button_Click,而空白鍵擷取資料則為Form_KeyPress驅動事件。

8. TD-3250B血壓血糖資料擷取流程

4.2.1 序列埠的開啟與資料筆數的讀取

9程式碼包含序列埠的開啟以及資料量筆數的讀取兩部份,當序列埠開啟後即可開始與TD-3250B進行溝通。{&H51, &H2B, &H0, &H0, &H0, &H0, &HA3, &1F}8位元組矩陣為讀取資料量的筆數指令,透過寫入(write)屬性即可將該8位元組依序傳送至TD-3250B中,完畢後TD-3250B立即回傳資料量筆數至電腦端,透過序列埠DataReceived屬性程式的撰寫即可加以接收。

9. 開啟序列埠與讀取TD-3250B資料量的筆數

10為序列埠TDDataReceived屬性中程式的撰寫,首先設定一固定長度的位元組矩陣,並將擷取的位元組資料依序填入矩陣內。當完整擷取8個位元組時,代表TD-3250B回傳資訊已傳送完畢,令變數instring_buf等於Byte0~Byte7,中間皆以*號加以區隔,方便後續資料的處理。DataReceived與主程式隸屬不同執行緒,instring_buf資料無法直接於主程式中顯示,需經由委派函式DisplayTD方可於主程式中加以顯示。

10. 序列埠TDDataReceived屬性中程式的撰寫

11為委派函式DisplayTDcomData代表經委派後的變數instring_buf的資料。令主程式中物件getdata等於comData,即可顯示instring_buf資料,達成資料的委派顯示。完畢後物件getdata經由文字的拆解(split),取出Data_0以及Data_1資訊後即可計算出TD-3250B中資料量的筆數。

11. displayTD委派函式

4.2.2 生理資料時間與數值的擷取

得知儲存於TD-3250B中資料量的筆數後,即可依序讀取儲存於TD-3250B中所有的生理資料。生理資料包含量測的時間以及數據兩部份,透過不同指令傳送至TD-3250加以顯示,並以READ_TD_TIME以及READ_RECORD兩副函式加以解析,擷取出正確的資訊。圖12代表讀取最近1筆的量測資料,傳送時間指令{&H51, &H25, &H0, &H0, &H0, &H0, &HA3, &19}以及資料指令{&H51, &H26, &H0, &H0, &H0, &H0, &HA3, &1A}即可在getdata物件中讀取最新的量測時間以及資料數據(與先前所述DataReceived位元組的擷取以及資訊的委派相同,故不再贅述),並由READ_TD_TIME以及READ_RECORD副函式位元組的解析,擷取出正確的量測時間與數據。

12. 讀取最新量測的生理資料

READ_TD_TIME副函式用於擷取生理資料的時間,時間可由Data_2以及Data_3位元組直接顯示,然而Data_0Data_1位元組包含年、月、日(Year+Month+Day)等三種資訊,需先將兩位元組進行十進位轉二進位進行解析(如圖13),完畢後的將兩位元組彙整成1601的字串。根據TD-3250B通訊協定,前7個位元代表年資訊,以西元加以計算,09代表西元2009年,接續4位元代表月資訊,而最後5位元代表日資訊。經由上述位元資訊的剖析後,即可得到生理資料量測的日期與時間。

13. 日期位元組十進位轉二進位

輸入{&H51, &H26, &H0, &H0, &H0, &H0, &HA3, &1A}指令後,即可於getdata物件中讀取最近量測的生理資訊,並透過READ_RECORD副函式擷取血壓血糖資料。根據TD-3250B通訊協定中,收縮壓和脈搏資料的擷取較為簡易,可由Data_2Data_3數據中直接取得,而收縮壓亦或血糖資料,則同樣需經由十進位轉二進位方式進行剖析,再轉化成1601的字串,進而求得實際的資料。圖14READ_RECORD副函式的部份程式碼,血壓或是血糖資料以Data_2Data_3來判斷,當兩位元組均為0代表為血糖資料的量測,否則即為血壓資料的量測,並將生理資料製作成特定的格式,用於後續生理資料的儲存。

14. 血壓血糖資料的讀取

4.2.3 E-MailSMS警示事件的發送

Mobile DDS軟體與Application Server之間警示訊息的溝通採用HTTP通訊協定,以Application Server8080連接埠進行訊息的傳遞。當量測血壓、脈搏或是血糖超過設定臨界值時,立即傳送特定訊息至Application Server進行E-Mail或是SMS量測警示通知。表2為事件警示格式,訊息內容可分為編碼、聯絡方式、聯絡資訊、生理訊號類別、以及生理訊號數值,訊息間以「*」字號做區分。

2. DDS事件警示格式

Code

E-Mail(0)

SMS(1)

E-Mail

Phone

BP(0)

BG(1)

Date

Time

SP

DP

Pulse

5566

0

xxxx@gmail.com

0

2009-06-15

12:05

120

80

70

Code

E-Mail(0)

SMS(1)

E-Mail

Phone

BP(0)

BG(1)

Date

Time

BG

5566

1

0929xxxxxx

0

2009-06-15

12:05

120

Application Server網路位置為140.138.40.190,以E-Mail傳送血壓、脈搏警示訊息為例,需傳送指令

http://140.138.40.190:8080/*5566*0*xxxx@gmail.com*2009-06-05*12:05*120*80*70*

若傳送血糖警示訊息,則傳送指令變為

http://140.138.40.190:8080/*5566*0*xxxx@gmail.com*2009-06-05*12:05*120*

SMS傳送血壓、脈搏警示訊息,需傳送

http://140.138.40.190:8080/*5566*1*0929xxxxxx*2009-06-05*12:05*120*80*70*

若為血糖警示訊息,則傳送指令為

http://140.138.40.190:8080/*5566*1*0929xxxxxx*2009-06-05*12:05*120*

15SMS傳送血壓警示範例,URL即為上述簡訊傳送血壓的制定格式,透過GetWebPage函式將訊息傳送至Application Server進行手機簡訊的發送。

15. SMS傳送血壓量測警示事件

4.2.4 生理資料的儲存

完整擷取生理資料後,需將血壓血糖資料以特定格式以及位置進行儲存。Mobile DDS軟體會自動於系統硬碟槽下建立DDS資料夾,而生理資料的儲存為DDS中的Combine資料夾,以20096月為例,其儲存路徑為C:\DDS\Combine\0906.txt。圖1620096月量測記錄檔,第一行為標頭檔告知此生理資料的年月,接續則實際血壓血糖量測記錄。血壓血糖資料的儲存格式依序為量測日期、量測時間、生理資料類別、以及量測數值等四部份,資料間以Tab鍵進行分隔,並於最後一行加入EOF字元代表訊息結束。以圖16前兩筆量測資料為例,第1筆代表2009/6/1909:28有血壓量測記錄,收縮壓為124mmHg、舒張壓為88mmHg、而脈搏為90bpm;第2筆代表2009/6/1909:34有血糖量測記錄,血糖值為103mg/dl

16. 生理資料的儲存格式

4.3 HTTP Server網路伺服器的建立

Mobile DDS網路伺服器採用HTTP通訊協定,採用獨立執行緒(thread)的方式進行建置,以此方式可使執行HTTP Server與程式主畫面的程式隸屬不同執行緒,不會使HTTP Server執行Do While迴圈而造成主程式畫面如同當機一般情況發生。程式執行內容如圖17所示,令ListenerThread執行緒負責執行MainProcess的函式,由MainProcess函式設定網路監聽埠為3101埠,隨後進入ListenerProcess函式執行HTTP Server功能。

17. ListenerThread執行緒的執行內容

18HTTP Server部份程式內容,當ListenerProcess進入Do While迴圈後,程式不斷監聽3101連接埠是否有相關網路訊息(HttpListenerRequest)傳送至此,可分為Java Applet登入確認、讀取生理資料、讀取日誌、管理系統使用者、設定事件警示範圍、設定事件警示方式、以及變更使用者帳號密碼等訊息。程式中msg為擷取的網路訊息,程式判斷msg內容後給予適當的網路回應(HTTPListenerResponse),並透過特定搭配的委派函式進行訊息的後續處理,達成Mobile DDS分散式網路資訊的傳輸。

18. HTTP Server部份程式碼

4.3.1 生理資料與日誌記錄的管理

如同圖18所示,當HTTP Server擷取網路要求為

to_pic.egi?pas=I_am_supermain.?cmd=GDdate*A

時,判定為生理資料的查詢訊息,此時show_status狀態模式由0變為1,並由Displaystep委派函式加以顯示;變數show_date擷取所需生理資料的年月份資料date值,同樣由Displaydate委派函式顯示。經由上述過程完畢後,即可於data_status物件顯示為1,而getdate物件顯示所需的生理資料年月份(如圖19)。日誌記錄網路要求同樣為

to_pic.egi?pas=I_am_supermain.?cmd=GDdate+A

生理資料與日誌記錄的指令相近,為確保程式執行無誤,故透過Displaymsgstep委派程式將msg_status物件為0,使同一時間下僅有一物件狀態為1

19. DisplaystepDisplaydate委派函式

HTTP Server接收到vital.egi網路要求時,由於此時data_status狀態為1得知需上傳生理資料,並由getdate物件取得所需生理資料年月份加以回應,傳送完畢後生理資料狀態與日誌狀態均回復至0初始狀態,等待下一次的網路要求(如圖20)。

 20. 生理資料與日誌記錄的判斷

同樣當程式接收

to_pic.egi?pas=I_am_superman.?cmd=WDtimeAmsg+

時,代表新增日誌事件,msg為日誌內容而time為日誌時間,由年月日時分10個數字組成,以200971216:30分為例,需輸入

to_pic.egi?pas=I_am_superman.?cmd=WD0907121630Amsg+

程式擷取出日誌時間和內容後,透過Displayaddmsg委派函式加以顯示,並於特定路徑下加以儲存。圖2120096月日誌記錄,其檔案位於C:\DDS\Message\0906.txt中,儲存格式與生理資料相近,可分為日期、時間、類型、日誌內容四部份,中間以Tab鍵區隔每一項次。

21. 日誌記錄的儲存格式

4.3.2 使用者帳號密碼的管理

如圖22所示,當HTTP Server接收到由Java Applet所傳所送開頭為

to_pic.egi?pas=I_am_superman.?cmd=CPL*msg+”

時,程式自動判定為系統登入起始訊息,msg內容包含登入系統帳號與密碼,需將msg訊息以「*」號進行剖析,進而判定登入者為身份,透過Displayaccountstep委派函式顯示,將系統管理員定義為1、照護者為2~3,而使用者本身為4

22. Mobile DDS登入身份辨識

如圖23所示,Java applet送出操作者的帳號密碼後,接續會送出state.egi指令來確認操作者的身份。當程式接收到state.egi指令而account_status1時,程式回應<p>*1*1*</p>字串,第一個1代表登錄者為系統管理員,而第二個1則是代表帳號密碼正確。當操作者為照護者1~2或是使用者本身時,則依序回應<p>*2*1*</p><p>*3*1*</p>、以及<p>*4*1*</p>,而帳號密碼錯誤時則回應<p>*0*0*</p>字串。經由上述網路資訊的傳遞,即可讓操作者透過Java Applet登入Mobile DDS,並確認登入者的身份。

23. Mobile DDS登入確認

當使用者欲修改其帳號密碼時,點選Java Applet帳號密碼欄位即可顯示目前帳號密碼,並依登入者權限有不同的修改限制。如表3所示,點選不同權限使用者時,Java Applet即對Mobile DDS傳送不同的訊息:

3. 帳號密碼查詢訊息

登入身份

傳送訊息

系統管理員

to_pic.egi?pas=I_am_superman.?cmd=GUAD1

照護者1

to_pic.egi?pas=I_am_superman.?cmd=GUMD1

照護者2

to_pic.egi?pas=I_am_superman.?cmd=GUMD2

使用者

to_pic.egi?pas=I_am_superman.?cmd=GUGC1

如同上述帳號密碼登入,接收到上述訊息後透過Displayaccount委派函式將check_account物件內容命名為1~4,透過編號可使Mobile DDS得知目前Java applet所詢問的為何組帳號密碼外,也可做後續帳號密碼的上傳。如圖24所示,當程式接收到account.egi後,即依check_account物件的內容,回應相對應帳號與密碼;如收到to_pic.egi?pas=I_am_superman.?cmd=CPL*msg+訊息時表示為更新帳號密碼事件,需先將msg內容透過Displaychangeaccountserial委派函式顯示,接續將msg內容進行拆解得到帳號與密碼,並由上述1~4編號變更儲存於C:\DDS\User資料夾下的帳號密碼。

24. 取得操作者之帳號與密碼

4.3.3 使用者資料的相關設定

當程式接收到infor.egi訊息時,即回傳儲存於C:\DDS\information.txt內容,即可告知Java applet使用者相關基本資訊。如圖25所示,information.txt內容可分為使用者姓名、性別、年齡、身高、體重、以及相關疾病1~3等八項次,分項間以*號進行區隔。疾病1代表有眼睛相關疾病、疾病2代表有神經疾病、而疾病3則是代表高血壓、心絞痛、心肌梗塞、腎臟病等相關疾病。

25. 使用者資料的儲存

如圖26所示,當程式接收to_pic.egi?pas=I_am_superman.?cmd=BImsg*+時,代表變更使用者資料,擷取訊息msg透過Displayinformation委派函式加以顯示Msg內容包含有使用者姓名、性別、年齡、身高、體重、以及相關疾病1~3等八項次,整理完畢後將資訊儲存至C:\DDS\information.txt檔案中,並於Mobile DDS程式介面進行動態的變更顯示。由於使用者姓名已變更,為達成姓名與IP對應轉置功能,此時Mobile DDS會傳送更新後姓名至Application Server進行變更,傳送網址為

http://140.130.40.190/DDS/chgPatientName.asp?acnt=mobiledevice&dwp=m0654282&pid=PID&devid=90001&ip=IP&port=Port&pname=Name

需填入PID碼、Mobile DDSIP位置、連接埠以及使用者姓名等資訊。

26. 使用者資料的變更

4.3.4 警示事件的相關設定

警示事件可分為E-MailSMS的發送兩種方式,如何以Visual Basic 2005發送E-MailSMS已於上文中說明,在此僅針對E-Mail帳號以及SMS手機號碼的變更進行說明。表4為生理訊號變更要求訊息,當程式接收到特定訊息時,自動擷取出E-Mail帳號以及手機電話號碼,並於C:\DDS\Phone.txt檔案下依特定格式進行儲存,待接收phone.egi訊息時回傳至Java Applet(如圖27)。

4. E-Mail帳號與SMS手機號碼的變更

電子郵件1

to_pic.egi?pas=I_am_superman.?cmd=EM1msg#

電子郵件2

to_pic.egi?pas=I_am_superman.?cmd=EM2msg#

手機號碼1

to_pic.egi?pas=I_am_superman.?cmd=MB1msg#

手機號碼2

to_pic.egi?pas=I_am_superman.?cmd=MB2msg#

27. E-Mail帳號與SMS手機號碼的儲存