28
263 June 2015 第十七卷 第二期 2015 6 月(pp.263290開發慢性腎臟病(CKD)在飲食照護的諮詢系統 戚玉樑 a, * 莊珮蓉 a 陳滄堯 a 張財源 b 廖美玲 c a 中原大學資訊管理學系  b 銘傳大學資訊管理學系  c 壢新醫院營養科 摘要 慢性腎臟病(Chronic Kidney Disease, CKD)的照護與日常飲食密切相關,須 嚴格限制食物種類、份量、與營養素攝取。CKD 飲食諮詢是多知識源及知識密集問 題,本研究以開發知識系統的觀點,整理「問題解決」所須的相關資料成為知識模 型,另考量提升知識分享與再利用,因此採用本體方法並利用 OWLWeb Ontology Language)做為塑模語言,開發為飲食諮詢知識系統。本研究初期建立的模型,已先 排除合併症與併發症等干擾因素,再依據建置的知識庫開發為 Web-based 知識系統, 協助使用者操作。在實驗評估部分,使用 36 筆個案資料進行測試,分別對臨床症 狀、理論性的食物分類、敏感營養素限制值等進行推估,其次加入個案實際的飲食清 單,檢驗理論值與實際攝取之差異。由實驗評估顯示,在排除前述干擾因素與部分非 醫學因素後,本研究已獲得初步成果,未來可再擴充問題解決的範圍,建置更完善的 飲食諮詢系統。 關鍵詞:慢性腎臟病、知識系統、問題解決、本體、語意規則 Developing A Dietary Consolation System for Chronic Kidney Disease Patient Care Yu-Liang Chi a Pei-Rong Chuang a Tsang-Yao Chen a Tsair-Yuan Chang b Mei-Ling Liao c a Department of Information Management, Chung Yuan Christian University b Department of Information Management, Ming Chuan University c Nutrition Department, Landseed Hospital Abstract The care for patients with chronic kidney disease (CKD) is closely related to the patient‘s daily diet management. The type, quantity, and nutrient content of the patient’s * 通訊作者 電子郵件:[email protected] 本研究感謝科技部經費補助 (102-2410-H-033-036-MY2)、壢新醫院營養科專業諮詢、與審查委員寶貴意見。 DOI: 10.6188/JEB.2015.17(2).04

開發慢性腎臟病(CKD)在飲食照護的諮詢系統jeb.cerps.org.tw/files/JEB2015-008.pdf · 開發慢性腎臟病(CKD)在 飲食照護的諮詢系統 戚玉樑a, * 莊珮蓉a

  • Upload
    others

  • View
    11

  • Download
    1

Embed Size (px)

Citation preview

Page 1: 開發慢性腎臟病(CKD)在飲食照護的諮詢系統jeb.cerps.org.tw/files/JEB2015-008.pdf · 開發慢性腎臟病(CKD)在 飲食照護的諮詢系統 戚玉樑a, * 莊珮蓉a

263June 2015

第十七卷 第二期 2015 年 6 月(pp.263~290)

開發慢性腎臟病(CKD)在飲食照護的諮詢系統戚玉樑 a, * 莊珮蓉 a 陳滄堯 a 張財源 b 廖美玲 c

a中原大學資訊管理學系 b銘傳大學資訊管理學系 c壢新醫院營養科

摘要

慢性腎臟病(Chronic Kidney Disease, CKD)的照護與日常飲食密切相關,須嚴格限制食物種類、份量、與營養素攝取。CKD飲食諮詢是多知識源及知識密集問題,本研究以開發知識系統的觀點,整理「問題解決」所須的相關資料成為知識模

型,另考量提升知識分享與再利用,因此採用本體方法並利用 OWL(Web Ontology Language)做為塑模語言,開發為飲食諮詢知識系統。本研究初期建立的模型,已先排除合併症與併發症等干擾因素,再依據建置的知識庫開發為Web-based知識系統,協助使用者操作。在實驗評估部分,使用 36筆個案資料進行測試,分別對臨床症狀、理論性的食物分類、敏感營養素限制值等進行推估,其次加入個案實際的飲食清

單,檢驗理論值與實際攝取之差異。由實驗評估顯示,在排除前述干擾因素與部分非

醫學因素後,本研究已獲得初步成果,未來可再擴充問題解決的範圍,建置更完善的

飲食諮詢系統。

關鍵詞:慢性腎臟病、知識系統、問題解決、本體、語意規則

Developing A Dietary Consolation System for Chronic Kidney Disease Patient Care

Yu-Liang Chia Pei-Rong Chuanga Tsang-Yao Chena Tsair-Yuan Changb Mei-Ling Liaoc aDepartment of Information Management, Chung Yuan Christian University

bDepartment of Information Management, Ming Chuan UniversitycNutrition Department, Landseed Hospital

AbstractThe care for patients with chronic kidney disease (CKD) is closely related to the

patient‘s daily diet management. The type, quantity, and nutrient content of the patient’s

* 通訊作者 電子郵件:[email protected] 本研究感謝科技部經費補助 (102-2410-H-033-036-MY2)、壢新醫院營養科專業諮詢、與審查委員寶貴意見。 DOI: 10.6188/JEB.2015.17(2).04

Page 2: 開發慢性腎臟病(CKD)在飲食照護的諮詢系統jeb.cerps.org.tw/files/JEB2015-008.pdf · 開發慢性腎臟病(CKD)在 飲食照護的諮詢系統 戚玉樑a, * 莊珮蓉a

開發慢性腎臟病(CKD)在飲食照護的諮詢系統

264 June 2015

food intake need to be strictly controlled. CKD dietary consultation involves multiple knowledge sources and is thus a knowledge-intensive task. We approach the task from the perspective of knowledge system development by constructing related problem solving knowledge into a knowledge model. In addition, considering knowledge sharability and reuse, we adopt an ontological methodology and use OWL (Web Ontology Language) as the modeling language for the development of a dietary consultation knowledge system. In the early stage of the study, we have excluded the interference factors of complications & comorbidities from the knowledge model for scope definition. The constructed knowledge base is then developed into a Web-based knowledge system for better user experience. In terms of experimental evaluation, data from 36 case patients are used for testing. The system’s inference capability was tested, respectively, in clinical condition estimation, theoretical food group recommendation, and key nutrient restriction. The dietitian-advised diet lists are then added to examine the differences between the theoretical and actual intake values. The evaluation results show that, excluding the interference factors and certain non-medical reasons, the system has achieved the research goal of CKD dietary consultation. For future studies, the problem solving scope can be expanded to implement a more comprehensive dietary consultation system.

Keywords: Chronic Kidney Disease (CKD), Knowledge-based System, Problem Solving, Ontology, Semantic Rules

1. 緒論

慢性腎臟病(Chronic Kidney Disease, CKD)是國人常見的慢性疾病之一,因為腎功能急遽下降,病患無法正常處理一些營養素而堆積體內,因此須嚴格限制飲食的

種類與份量。然而,建議妥適的 CKD飲食清單並不容易,通常須經由一連串的資料估算、關係對應、知識串聯,這些過程包括:(1)收集個案的體檢、生化資料等做為基礎資訊;(2)估算個案的臨床期數、搭配個案其他資料,推估均衡飲食下的食物分類份數(Servings)、各敏感營養素限制等標準值;(3)依據病患的飲食清單,推估實際攝取之食物分類份數、營養素總量;最後 (4)比較標準值與實際攝取量之差異,並做出判斷與建議(National Kidney Foundation, 2002; 衛生福利部國民健康署、高雄醫學大學附設中和紀念醫院腎臟照護團隊,2013)。由於知識來源複雜且變數太多,因

Page 3: 開發慢性腎臟病(CKD)在飲食照護的諮詢系統jeb.cerps.org.tw/files/JEB2015-008.pdf · 開發慢性腎臟病(CKD)在 飲食照護的諮詢系統 戚玉樑a, * 莊珮蓉a

電子商務學報 第十七卷 第二期

265June 2015

此醫療院所通常僅給予原則性的飲食衛教指導,而大多數病患也因不易充分了解如何

調整飲食,反而對疾病控制產生負面影響(McCullough et al., 2002)。本研究嘗試發展一個以本體(Ontology)1為基礎的知識系統(Knowledge-based

System, KBS),用於協助解決 CKD病患的飲食諮詢問題。由於「飲食諮詢」須要多項知識來源及各種因素的互動,因此邏輯關係運算處理將更甚於資料處理,宜經由

事前完整分析並定義「問題解決」(Problem Solving)的知識模型,此模型是一個抽象化的解題框架,新增事實只要依模型框架安排,即可承襲既有的邏輯關係,不須

再額外轉換資料定義及程序。簡言之,我們選擇以 KBS方式解決這類知識密集的問題,聚焦知識模型的建置。本研究首先界定範圍在 CKD症狀、營養素、食物,但排除如合併症(Co-morbidity)、併發症(Complication)等干擾因素,藉以建立核心的知識模型;其次,近年來W3C2大力推廣語意網(Semantic Web)與 OWL3技術,提

倡將陳述性資料、網路資料、開放資料等領域知識,編製為 OWL-based Ontology,提供更豐富的知識語意(Gaines, 2013; Shadbolt, 2013),這些新興的網路技術也影響知識獲得方式,例如過去知識獲得為發展 KBS的瓶頸,現在則可藉由網路更容易取得(Aussenac-Gilles and Gandon, 2013),而在各國政府的開放資料運動下,許多專業知識(如技術手冊、調查資料等),已大量在網路上釋出,提供開發者多元的知識

來源(Kassen, 2013)。另一方面,學者也認為知識工程師應善用這些知識,他們即使不具有該專業,但在理解與應用這些專業知識是足夠的(意指使用陳述性的領域知

識)(Breuker, 2013)。因此,本研究為解決多項知識來源的獲得問題,也將使用這類網路資料,以加速 KBS開發的效率。

語意網帶動本體技術引發學術界重視,但部分易引起誤解的觀念須予以澄清。

首先,「本體」在資訊的應用是一個具有階層性的「術語架構」(Welty and Guarino, 2001),而 OWL-based Ontology是將「知識」建立為具有類別(Class)、屬性關係(Property)、實例(Instance)等的階層架構,表達靜態性或陳述性的知識,主要提供參考、溝通用途。另一方面,「知識系統」(KBS)是以問題解決為主要訴求的應用系統,因此本體在功能上還未達到一個知識系統的範圍(Gómez-Pérez and Benjamins,1999; Welty and Guarino, 2001)。簡言之,就 OWL-based KBS角度而言,本體須要結合目標導向的問題解決機制,才能成為一個知識系統(Cairó and Guardati, 2012; Fernández-López et al., 2013; Musen, 2013)。開發 OWL-based KBS是具有挑戰性的工作,因為 OWL的塑模元素主要用在定義邏輯關係(Beimel and Peleg, 2011;

1 在哲學領域中,Ontology常見之中譯為「本體論」,而在資訊科學領域,常見使用「本體」、「知識本體」與哲學用

語區分,本研究以下統一稱 Ontology為「本體」。2 網際網路標準組織(W3C)(http://www.w3.org/)3 OWL(Web Ontology Language)(http://www.w3.org/TR/owl-features/)

Page 4: 開發慢性腎臟病(CKD)在飲食照護的諮詢系統jeb.cerps.org.tw/files/JEB2015-008.pdf · 開發慢性腎臟病(CKD)在 飲食照護的諮詢系統 戚玉樑a, * 莊珮蓉a

開發慢性腎臟病(CKD)在飲食照護的諮詢系統

266 June 2015

García-Castro and Gómez-Pérez, 2010);換言之,有別於程式語言的程序性語法,因而須要專家與知識工程師共同參與,建置邏輯性的知識模型(O’Connor et al., 2008 ; Wielinga , 2013)。

本研究在發展知識模型的前置準備中,首先須收集專門知識,包括 CKD定義、臨床分期、食物分類、食物營養成分等,經由包含營養師在內的研究人員,進行知識

內涵的拆解、合併及重組,藉以釐清問題本質、邏輯關係及知識範圍;其次,依據

本體技術建立概念化的分類架構(Taxonomy)並定義概念的知識組成;最後,考量OWL塑模是在概念層,故納入語意規則(Semantic Rules)協助實例層的推論設計。在建置 OWL-based KBS的主要設計包括:(1)將一般性的背景或陳述知識建立為領域本體(Domain Ontology),其內容是由共通性的概念架構及實例組成,利用”is-a”的階層關係建立從屬與繼承,提供其他領域或系統在應用時的標準或溝通術語;(2)針對問題解決發展目標導向的任務本體(Task ontology),利用”has-a”表達概念的組成(Composition)、或與其他概念之間的包含(Subsumption)、聚合(Aggregation)等;(3)利用語意規則建立實例層的解題步驟,藉由已知的事實為基礎,推論隱含性知識。

本研究後續的內容安排如下:第二節為文獻探討,包含慢性腎臟病的定義、食物

分類、食物營養素等背景知識,本體及語意規則的技術應用;第三節為研究設計,藉

由問題分析探討建置知識系統所須的元素;第四節主要說明語意規則的開發及用途;

第五節說明Web-based系統開發與實驗評估;最後,第六節是本研究的討論與結論。

2. 文獻探討

2.1 慢性腎臟病的相關背景

腎臟的主要功能為代謝蛋白質在體內產生的含氮廢物(如尿酸、尿毒),維持體

內礦物質含量的平衡(如磷、鉀、鈉),以及協助控制血壓與製造血細胞(Richards, 2011)。腎臟病變時,因無法將含氮廢物排出,導致過多的含氮廢物堆積在血液引起尿毒症,嚴重時尿液排泄減少,導致過多的鈉、鉀離子也無法靠腎臟排出體外(吳明

儒,2007)。慢性腎臟病(CKD)是一種影響腎臟結構和功能異常的疾病總稱,已成為全球關注的公共健康問題(Levey et al., 2003)。CKD病患通常與糖尿病、高血壓、肥胖症、心血管疾病等有密切關聯(Levey and Coresh, 2012),因此 CKD可能伴隨有合併症與併發症。CKD的臨床定義,通常以美國腎臟基金會 4提出的「腎絲球

過濾率」(Glomerular Filtration Rate, GFR)為基準,亦即每分鐘由腎臟過濾乾淨的

4 The National Kidney Foundation(http://www.kidney.org/)

Page 5: 開發慢性腎臟病(CKD)在飲食照護的諮詢系統jeb.cerps.org.tw/files/JEB2015-008.pdf · 開發慢性腎臟病(CKD)在 飲食照護的諮詢系統 戚玉樑a, * 莊珮蓉a

電子商務學報 第十七卷 第二期

267June 2015

血漿量來研判,CKD臨床分期因而以「估算」腎絲球過濾率 (estimated GFR,或簡稱 eGFR)的數據來推估(Myers et al., 2006; Stevens et al., 2006),在各種計算 eGFR的公式中,美國腎臟基金會及台灣腎臟醫學會 5均建議採用MDRD(Modification of Diet in Renal Disease),該公式使用年齡、性別、血清肌酸酐(Serum Creatinine, Scr)等進行乘積計算 eGFR,提供判斷慢性腎臟病的臨床分期數(如表 1)。

表 1 慢性腎臟病的臨床分期

臨床分期 第 1期 第 2期 第 3期 第 4期 第 5期

eGFR 90 60~893A 3B

15~29 1545~59 30~44

根據世界衛生組織(WTO)的報告 6,飲食的營養攝取對慢性疾病的照護與防

治,扮演極為重要的關聯性,其中更對熱量(Calorie)、蛋白質(Protein)、磷(Phosphorous)、鉀(Potassium)、鈉(Sodium)等 5項,須特別加以注意,因此本研究稱之為 CKD的「敏感營養素」,而維持良好的敏感營養素攝取,將有助於延緩腎臟衰退的速度(Richards, 2011)。由於 CKD與敏感營養素之攝取限制,有許多不同的建議原則或經驗值,本研究收集美國 NKF-KDOQI準則、衛生福利部國民健康署與高雄醫學大學附設中和紀念醫院腎臟照護團隊(2013)之 慢性腎臟病 CKD健康管理手冊 、各醫院的衛教資訊、營養師之臨床經驗等,整理為如下的領域知

識,提供後續 KBS使用。 熱量需求估算:使用美國運動醫學協會 7的基礎代謝率(Basal Metabolic Rate,

BMR)為計算基礎,再依個案不同「活動程度」給予係數,例如靜坐無運動(1.2)、輕度活動(1.375)、中度活動(1.55)、重度活動(1.725)、體力勞動型(1.9)。而為配合其他知識之間的參考,須將熱量需求再轉換為區段式的「卡路里需求」級別。

其他敏感營養素:蛋白質之攝取概略以體重來加權計算,並限制高生理價蛋白質(亦即魚肉蛋奶類、黃豆)須大於低生理價蛋白質。磷、鉀、鈉等營養

素的攝取,概略以每日總和量來限制。

5 台灣腎臟醫學會(http://www.tsn.org.tw/)6 世界衛生組織,飲食、營養與慢性疾病預防(http://whqlibdoc.who.int/trs/who_trs_916.pdf )7 美國運動醫學協會(http://www.acsm.org)

Page 6: 開發慢性腎臟病(CKD)在飲食照護的諮詢系統jeb.cerps.org.tw/files/JEB2015-008.pdf · 開發慢性腎臟病(CKD)在 飲食照護的諮詢系統 戚玉樑a, * 莊珮蓉a

開發慢性腎臟病(CKD)在飲食照護的諮詢系統

268 June 2015

2.2 食物與營養攝取

飲食涉及食物、分類、營養成分等知識,它們與慢性疾病的照護密不可分

(McCullough et al., 2002),我國衛福部前已完成一千餘項食品的成分調查,並建立名為「台灣地區食品營養成分資料庫」8,共分為 18類(包括穀物類、澱粉類、⋯、糕餅點心類、及加工調理食品類等),每項食品均含有熱量、脂肪、膳食纖維、維

生素、礦物質、微量元素等 23項的調查數據(行政院衛生福利部食品藥物管理署,2012a)。另一方面,人類的均衡飲食與食物分類有關,美國飲食協會 9將總體膳食的

攝取視為健康的重點,強調飲食攝取須各類平衡、適當的份量,而不是只攝取單一種

食物或單一餐。在食物分類上,美國農業部 2011年以MyPlate10取代「食物金字塔」

(My Pyramid),修正成為 6大類食物分類(包括 Grains, Protein Food, Daily, Fruits, Vegetables, Oils)。我國衛生福利部也訂出類似的全穀根莖類、豆魚肉蛋類、低脂奶類、蔬菜類、水果類、油脂與堅果種子類等。

本研究根據上述之分類並參考衛生福利部公布的「每日飲食指南」,將依據不同

的熱量(卡路里)須求之級別,使用食物類型的建議攝取份數(行政院衛生福利部食

品藥物管理署,2011;2012b)。另一方面,根據 慢性腎臟病 CKD健康管理手冊,CKD病患因營養素攝取須有所節制,因此進一步調整適合 CKD病患的攝取建議份數,主要是將 CKD臨床分期分為二群(1~3A期及 3B~5期),1~3A期主要對「豆蛋魚肉類」及「低脂奶類」減量,3B~5期進一步對蔬菜類、水果類減量。上述各項事實數據視為領域知識,將建置於知識本體之中。

2.3 本體技術與開發知識系統的挑戰

本體(Ontology)是源自於哲學上探討事物的「存在」問題,強調以「追本溯源」方式,分析事物是如何形成的學說。由於本體是一項方法論,因此可以廣泛應用

在各類學科中,主要是塑模事物的分類架構(Plessers et al., 2007),因此本體也等同於概念化模型的意思(Welty and Guarino, 2001)。近年來,在資訊科學中也應用本體來發展解題模型,尤其是在智慧型或知識系統領域,更在概念化模型上加入諸如屬

性及關係的描述,因此「概念」不僅只是一個控制詞彙(Controlled Vocabulary),更是包含有邏輯定義且可被運算的對象,使得知識更容易演繹與歸納(García-Castro and Gómez-Pérez, 2010)。隨著 XML技術的成熟,本體的表達方式也採用註標語言,以期獲得再利用與分享的效益,網際網路標準組織訂定 OWL(Web Ontology Language)為正式規範,各種支援工具也逐漸完備,使得 OWL成為目前最重要的知

8 台灣地區食品營養成分資料庫(https://consumer.fda.gov.tw/FoodAnalysis/)9 美國飲食協會(http://www.eatright.org/)10 美國農業部食物分類(http://www.choosemyplate.gov/)

Page 7: 開發慢性腎臟病(CKD)在飲食照護的諮詢系統jeb.cerps.org.tw/files/JEB2015-008.pdf · 開發慢性腎臟病(CKD)在 飲食照護的諮詢系統 戚玉樑a, * 莊珮蓉a

電子商務學報 第十七卷 第二期

269June 2015

識表達規範(Horrocks et al., 2003)。OWL結合描述邏輯(Description Logic),因此也成為知識推論採用的新興方法之一(Motik et al., 2009)。目前可供編輯 OWL的工具以 Protégé軟體 11較為完整,它是由史丹佛大學醫學資訊中心所研發,除提供

發展 OWL-based Ontology外,也做為執行知識系統的載台,並提供隨插即用模組(Gennari et al., 2003)。另一方面,本體除了描述邏輯用在概念層的推論外,實例層的推論主要是以語意規則語言 SWRL (Semantic Web Rule Language)12開發規則

(Horrocks et al., 2005),SWRL可結合現行 OWL-based的知識庫,並可利用規則推論引擎進行隱含性知識的推論(Corsar and Sleeman, 2006)。發展 SWRL規則的作法,主要是在 protégé 平台上使用 SWRLTab套件撰寫規則,編輯前須收集實務上對問題如何解決的經驗,利用邏輯上的「前提結論」形式,描述解題的因果關係,

規則開發另於第 4節說明,SWRL規則可利用規則引擎執行,如 JESS (Java Expert System Shell)(Lezcano et al., 2011)。

知識系統的內容依其性質分成二項,包括「陳述性知識」(Declarative Knowledge)、「程序性知識」(Procedural Knowledge)(Lai, 2007);知識也可依類型分成領域知識、任務知識、推論知識等三項(Wielinga, 2013)。陳述性知識通常是指一些顯著或容易取得的背景資訊,例如一些知識分類、技術手冊等,因此類似

「領域知識」的內涵;「程序性知識」通常是針對特定目標所產生的問題解決方法,

相當於「任務知識」、「推論知識」的集成,相對較不易取得或模型化。簡言之,本

體是一個具有階層性的術語架構,提供陳述性(或領域)知識,實務上還未達到一個

知識系統的功能範圍(Gómez-Pérez and Benjamins, 1999),而 OWL-based Ontology只是以「類別」(Class)建立的階層化架構,須要再加入任務知識、推論知識才能達到所謂的 OWL-based KBS (Cairó and Guardati, 2012 ; Fernández-López, et. al, 2013; Musen, 2013)。

自 90年代起,本體技術即曾運用在開發 KBS,為方便區分知識塑模作業,通常將一般性背景知識稱為「領域知識」(Domain Ontology)、用於問題解決的知識稱為「任務知識」(Task Ontology)(Guarino, 1997; Benjamins and Perez, 2000)。隨著語意網時代來臨,愈來愈多的陳述性知識以 OWL-based Ontology形式存在,使得領域知識更普及也易於取得,然而對於建立「問題解決」並沒有受到同等的重

視(Aussenac-Gilles and Gandon, 2013),甚至目前研究過於集中在領域本體的資料採集和管理問題,導致 KBS失去為解決問題的原始目標(Motta, 2013)。因此,Musen(2013)即曾指出:知識模型的焦點應從獲得專家知識(Expert’s Head),轉變為針對問題解決進行知識獲得,而為了進行模型化工作,專家和知識工程師必須建

11 Protégé(http://protege.stanford.edu/)12 SWRL(http://www.w3.org/Submission/SWRL/)

Page 8: 開發慢性腎臟病(CKD)在飲食照護的諮詢系統jeb.cerps.org.tw/files/JEB2015-008.pdf · 開發慢性腎臟病(CKD)在 飲食照護的諮詢系統 戚玉樑a, * 莊珮蓉a

開發慢性腎臟病(CKD)在飲食照護的諮詢系統

270 June 2015

立能溝通或容易獲得共識的中介或媒介方式,例如利用演算法、公理(axiom)等,降低轉置的誤差。另一方面,OWL的資料模型原本只是協助資料的語意化或階層化,因此僅提供如 class, property, individual等塑模元素、及 is-a, has-a, restrictions等邏輯關係(Beimel and Peleg, 2011; García-Castro and Gómez-Pérez, 2010);換言之,開發者只能在上述環境下去模型化如業務邏輯(Business Logic)或推理等的「問題解決」,因此開發知識系統需要更多人工智慧參與塑模工作(O’Connor et al., 2008 ; Wielinga , 2013)。

2.4 知識系統在醫學資訊的應用

知識系統常用於疾病照護或營養諮詢的相關研究,由於這類知識的關係複雜,因

而突顯利用知識系統可推理的優點。例如 Abu-Hanna et al.(2005)等學者利用本體開發工具 Protégé建立「醫療術語系統」,他們認為本體的定義方式,如概念框架、屬性關係、邏輯等,可以有效將醫學上的概念與術語整合,協助其他應用程序分享

知識。Roventa and Rosu (2009)利用 Prolog建立腎臟病專家系統,因腎臟病有許多類似的症狀,此系統建立適當之判別模型,協助醫療專家(醫生)對病患做出適當

的診斷,該研究聚焦於腎臟病臨床定義與分期,但未納入飲食照護問題。Meemasuk and Chantrapornchai(2013)針對腎臟病患者,利用資料庫方式開發一個飲食諮詢系統,收集病患資料及部分食物營養素(蛋白質、磷、鉀、鈉),藉由問答方式提供

飲食建議,惟該研究未納入均衡飲食及未處理食物組合與建議標準值的關係。Chen et al. (2012)等學者利用人工智慧發展營養診斷專家系統,納入營養照護處理模型(NCPM),建立以規則為基礎的營養診斷,營養師可以根據基本資料、人體測量、體檢、生化資料、食品 /營養史等產生診斷決策。實驗應用以檢驗腎臟病患在蛋白質 -能量營養不良(PEM)問題為例,實驗結果呈現系統比人類專家更精確。

3. 研究設計

開發 OWL-based KBS的挑戰是如何建立「問題解決」至知識模型中,我們首先藉由抽象化的問題分析,逐步分解各項子任務(例如推估臨床分期、營養素限制

等),並利用定義公理(Axiom)方式,包括建立 Logical Axiom (使用已知事實的推論)與 Non-Logical Axiom (使用算數式或定理運算),協助傳遞問題解決的構想,亦即藉由「公理」做為專家與知識工程師之間的知識中介;其次,因為 OWL資料模型主要使用 class, property, individual等註標元素,須再引進語意規則(SWRL)協助設計推論機制;最後,將傳統知識系統的分類,包括領域知識、任務知識、推論

Page 9: 開發慢性腎臟病(CKD)在飲食照護的諮詢系統jeb.cerps.org.tw/files/JEB2015-008.pdf · 開發慢性腎臟病(CKD)在 飲食照護的諮詢系統 戚玉樑a, * 莊珮蓉a

電子商務學報 第十七卷 第二期

271June 2015

知識等,對應至 OWL-based KBS的領域本體、任務本體、語意規則,以利開發者能分別進行知識塑模及整合。

3.1 問題分析

慢性腎臟病患的飲食照護問題,可概略繪成如圖 1所示的邏輯關係。圖中第(A)~(C)項代表三項專門知識,包括臨床分期與飲食相關標準、個案資訊與飲食清單、食物營養成分等;圖中第 (1)~(4)為衍生知識,須給予「問題解決」的程序,以做為後續撰寫推論規則的依據,說明如下:

(1) 本項獲得個案的 eGFR、臨床狀態、熱量需求、食物分類份數、敏感營養素理論值等,須利用第 (A)項個案資訊中的「體檢生化」及第 (B)項的相關標準進行估算或推論,部分項目須發展對應公式。

(a) 估算腎絲球過濾率(eGFR):使用性別、年齡、血清肌酸酐值等屬性值,代入MDRD公式計算 eGFR。

(b) 熱量(卡路里)需求:使用性別、年齡、體重、活動量等屬性值,代入BMR公式及加權活動係數,並換算卡路里需求級別。

(c) 臨床分期:利用個案 eGFR值,換算 CKD臨床期數。(d) 敏感營養素限制(Nurtient Restrition, NR)之理論值:式 (1)為個案(p)在估算敏感營養素限制量(NRp)的表達公式,各營養素(N)的理論值須依 stage (臨床分期),查找熱量(calorie)、蛋白質(protein)、磷(phosphorous)、鉀(potassium)、鈉 (sodium)等的攝取限制量,其中蛋白質另須加權個案之體重(wp)。

NR N w N Np stage Calorie p stage otein stage Phosp= ×( ' , ' , ', , Pr , hhorus

stage Potassium stage SodiumN N,

' , ' ), ,

= ( , , , ,PrN N N N NCalorie otein Phosphorus Potassium Sodiumm ) (1)

(e) 食物分類份數(Food Servings, FS)之理論值:食物分類份數須依臨床分期分成 2群(1~3A, 3B~5),每組再依卡路里及食物分類組成的矩陣,其中卡路里有 7級、食物有 6類。式 (2)為食物分類份數 FS(p, i, s)之表達公

式,須依個案(p)、卡路里級別(i)、臨床分期(Stage),對應各分類之食物份數理論值(S)。

FS S S S S Sp i stage grains meat milk vegetable frui( , , ) ( , , , , tt oil nuts S, )& (2)

Page 10: 開發慢性腎臟病(CKD)在飲食照護的諮詢系統jeb.cerps.org.tw/files/JEB2015-008.pdf · 開發慢性腎臟病(CKD)在 飲食照護的諮詢系統 戚玉樑a, * 莊珮蓉a

開發慢性腎臟病(CKD)在飲食照護的諮詢系統

272 June 2015

個案之CKD分期、食物分類份數、敏感營養素理論值

臨床分期、食物、營養素標準

個案之體檢生化資訊與飲食清單

計算飲食清單獲得實際攝取之食物分類份數、敏感營養素總和

食物營養素成分知識庫

敏感營養素差異量(實際攝取vs.理論值)

食物分類份數差異(實際攝取vs.理論值)

(B)

(A)

(C)

(1)

(2)

(3)

(4)

推估

推估

推估

推估

推估推估

飲食習慣(每日食物組合)

(體檢與生化資料)

圖 1 慢性腎臟病患在飲食照護的邏輯關係

(2) 本項獲得個案實際攝取的食物分類份數及敏感營養素總和等,須利用第 (A)項個案資訊中的飲食清單及第 (C)項的食品營養素成分計算或推論,各項目均發展對應公式。

(a) 實際攝取之敏感營養素總和:依個案飲食清單計算,式 (3)為統計 n項食物之敏感營養素數量,例如 fi,Calorie*si表示第 i項食物的熱量(calorie)與攝取份數 (si)進行乘積。

( * ), ( * ), (, , ,f s f s fi Calorie i

i

n

i otein ii

n

i Phospho= =

∑ ∑1 1

Pr rrus ii

n

i Potassium ii

n

i Sodium ii

s

f s f s

* ),

( * ), ( * ), ,

=

= =

∑1

1 1

nn

(3)

(f) 實際攝取之食物分類份數:依個案飲食清單計算,式 (4)為累計 n項食物對應之分類份數,例如 fi,grains,servings 表示第 i項食物、全穀根莖類(Grains)、份數(Servings)。

( ), ( ),, , , , ,f f fi grains servings

i

n

i meat servingsi

n

i v= =

∑ ∑1 1

eegetable servingsi

n

i Potassium ii

n

i fr

f s

f

, ,

,

), ( * ),

(

= =

∑ ∑1 1

uuit servingsi

n

i oil nuts servingsi

n

f, , & ,), ( )= =

∑ ∑

1 1

(4)

(3) 敏感營養素差異量:檢驗個案(p)在敏感營養素差異量(Case(p, nutrients))如

Page 11: 開發慢性腎臟病(CKD)在飲食照護的諮詢系統jeb.cerps.org.tw/files/JEB2015-008.pdf · 開發慢性腎臟病(CKD)在 飲食照護的諮詢系統 戚玉樑a, * 莊珮蓉a

電子商務學報 第十七卷 第二期

273June 2015

式 (5),本公式利用敏感營養素的實際攝取式 (3)與理論值式 (1),進行差值運算。

Case

f s N f

p nutrients

i Calorie ii

n

Calorie i

( , )

, ( ( * ) ), ( (

=

−=

∑1

,, Pr Pr

,

* ) ),

( * )

otein i oeini

n

i Phosphorus ii

n

s N

f s N

=

=

1

1PPhosphorus i Potassium i Potassium

i

n

i

f s N

f

), ( * ) ),

( (

,

,

−=

∑1

SSodium i Sodiumi

n

s N* ) )−

=

∑1

(5)

(4) 食物分類份數差異量:檢驗個案(p)在在食物分類份數(Case(p, food_group))如

式 (6),本公式利用食物分類的實際攝取式 (4)與理論值式 (2),進行差值運算。

Case

f S

p food group

i grains servingsi

n

grains

( , _ )

, ,( ( ) ),

=

−=

∑1

( ( ) ),

( (

, ,

, ,

f S

f

i meat servings meati

n

i vetetable servi

−=

∑1

nngsi

n

vegetable i milk servingsi

n

milk S f S) ), ( ) ),

(

, ,= =

∑ ∑− −1 1

(( ) ), ( (, , , & ,f S fi fruit servingsi

n

fruit i oil nuts servin=

∑ −1

ggs oil nutsi

n

S) )&−

=

∑1

(6)

3.2 建置知識模型之領域本體

領域本體是由一般性的概念化架構及實例組成,利用 is-a關係建立具有父子階層的從屬關係,概念內可包含實例群,因此類似一種分類架構,這個分類架構通常是以

共通性認知為基礎,因此做為溝通用途的標準術語或提供其他概念定義知識組成的素

材。本研究根據第 3.1節的分析,將其中通用的專門術語,建置為「共用詞彙」,另外依據第 2節的背景資訊,將其中「慢性腎臟病 CKD」、「食物營養成分」的已知事實建置為起始概念。本研究採用 Protégé編輯軟體建置 OWL-based Ontology,內容包括類別 (概念)、屬性、及實例。圖 2是 Protégé編輯實例的介面,由左至右包含3個區域:類別(CLASS BROWSER)、實例(INSTANCE BROWSER)、實例內容(INDIVIDUAL EDITOR)。圖中標示 (1)~(3)說明「CKD病患臨床 1-3a期、熱量需求 1200大卡、各類食物攝取份數之標準值」的建置過程,以下說明其他類別項目的建置內容:

Page 12: 開發慢性腎臟病(CKD)在飲食照護的諮詢系統jeb.cerps.org.tw/files/JEB2015-008.pdf · 開發慢性腎臟病(CKD)在 飲食照護的諮詢系統 戚玉樑a, * 莊珮蓉a

開發慢性腎臟病(CKD)在飲食照護的諮詢系統

274 June 2015

圖 2 利用 Protégé OWL editor建置領域本體概念架構與實例

(1) 共用詞彙:包含 4項子概念,每項概念下宣告通用的專門術語(以實例呈現),提供其他概念或實例參考使用。

(a) 卡路里需求:建立卡路里(熱量)實例,由 1200大卡至 2700大卡等計 7項實例,如「Kcal_1200」。

(b) 活動程度:依據 2.1節說明,建立 5項活動程度及對應之係數值,例如實例「輕度活動」及係數值 1.375。

(c) 營養素:建立慢性腎臟病須限制之營養素專門術語,如熱量、蛋白質、磷、鉀、鈉等 5項。

(d) 食物名稱:將「台灣地區食品營養成分資料庫」的食物名稱欄轉入,經整理剔除不適合資料,建立專門術語共 6大分類及 632項實例。

(e) 食物種類:建立 6大食物分類,例如「全穀根莖類」。(2) 慢性腎臟病 CKD:建立 3項子概念。

(a) CKD分期:依據表 1定義,共宣告 6項分期的實例,各實例內包含 has_stage, has_eGFR_min, has_eGFR_max等 3項屬性,分別用於說明 CKD臨床分期、eGFR下標值、eGFR上標值等項目。

(b) CKD營養素限制:本概念定義敏感營養素限制的屬性共 5項,例如 has_蛋白質限制。

(c) CKD食物攝取份數:本概念包括 7項屬性,例如卡路里級別(has_卡路

Page 13: 開發慢性腎臟病(CKD)在飲食照護的諮詢系統jeb.cerps.org.tw/files/JEB2015-008.pdf · 開發慢性腎臟病(CKD)在 飲食照護的諮詢系統 戚玉樑a, * 莊珮蓉a

電子商務學報 第十七卷 第二期

275June 2015

里階層)及 6項食物分類之理論份數屬性,例如 has_全穀根莖類份數。 (3) 建立「食物營養成分」知識:本研究的「食物營養成分」使用我國衛生福利部的「台灣地區食品營養成分資料庫」,由於該資料格式與前述知識模型不

同,因此在進行資料轉換前須進行必要的準備程序,協助與其他領域或任務

本體結合,綜合本研究之準備經驗認為應包括: (a) 資料淨化:原始資料含有許多符號、空白、或無意義的標示,轉換前須去除淨化。

(b) 知識項目對應:須考量資料庫轉換至知識庫的相容性,因此在設計概念、屬性時,須事前規劃衍生項目並預留適當的對應方式。

(c) 邏輯關係設計:資料庫轉換為知識庫的實例,須補充設計與現有知識模型各概念、屬性的邏輯關係,以利融入知識模型中。

圖 3展示轉換食物「奇異果」的實例,包括二項子圖:左側為食品營養成分資料庫的原始資料 (以 Excel格式呈現)、右側為轉換至知識庫以 Protégé 呈現。本程序須利用格式轉換套件執行(例如 DataMaster及 xlSQL-Y8套件)。

圖 3 食品營養成分資料庫格式轉換

3.3 建置知識模型之任務本體

任務本體是以解決實務議題為目標,除了概念設計外,更要定義各概念的組成

屬性。為標記 OWL-based屬性的細節定義,首先須確認屬性內容目前為「可知」或「未知」,用以對應至設定 protégé的「宣告屬性」(Asserted Property)或「推論屬性」(Inferred property);其次,須對屬性註記其定義域(Domain)、值域(Range),前者表示擁有此屬性的概念、後者表示屬性值的允許範圍,若值域使用基本資料型態,稱為「資料屬性」(Data Property),若值域使用實例,則稱為「物件屬性」(Object Property)。本研究為解決 CKD病患在飲食照護的問題,須利用

Page 14: 開發慢性腎臟病(CKD)在飲食照護的諮詢系統jeb.cerps.org.tw/files/JEB2015-008.pdf · 開發慢性腎臟病(CKD)在 飲食照護的諮詢系統 戚玉樑a, * 莊珮蓉a

開發慢性腎臟病(CKD)在飲食照護的諮詢系統

276 June 2015

前述領域本體提供的陳述性知識,設計解題的概念架構,以下共設計 5項概念,包括「個案資料」、「個案均衡飲食」、「個案膳食檢驗」、「膳食來源」、「匯入

CSVData」等,相關之概念與屬性定義如附錄,說明如下:(1) 個案資料:本概念針對病患個案共設計 14項屬性,包含 6項宣告屬性,例如病患的性別、年齡、身高、體重、活動強度、肌酸酐值等;8項推論屬性,包括 CKD臨床分期、腎絲球過濾率、熱量需求、卡路里階層、估算 5項敏感營養素之限制值,推論屬性對應推論規則 (A1)~(A10)。(請參考附錄一概念定義 )

(2) 個案均衡飲食:本概念共設計 7 項屬性,包含 1 項宣告屬性 (has_person);6項推論屬性,用於對應 CKD病患理想的六類食物分類份數,推論屬性對應至推論規則 (B1)~(B6)。(請參考附錄一概念定義)

(3) 個案膳食檢驗:本概念共設計 4項屬性,包含 2項宣告屬性(如 has_person, has_攝取食物等);2項推論屬性,包括檢驗 _營養素比較、檢驗 _六類食物份數,推論屬性對應推論規則 (C1), (C2), (D1)~(D5), (E1)~(E6)。(請參考附錄一概念定義)

(4) 膳食來源:本概念包含六類食物分類的孫概念,各概念皆有 3項宣告屬性,描述食物名稱、食物分類及份數等。(請參考附錄二概念定義)

(5) 匯入 CSVData:本概念包含孫概念 Nutrition, Serving,用途為預留給個案在攝取食物的營養素及食物分類之統計數。(請參考附錄一概念定義)

4. 語意規則開發

在 3.3節的任務本體中,附錄一之部分屬性設計為「推論」者,代表該屬性須撰寫語意規則,已知的事實為「前提」,協助推導隱含性的「結論」。語意規則的解題

分析,通常由該屬性所屬的概念開始,逐步串聯可用的「事實」,直到抵達目標為

止,因此各步驟具有執行順序性。每項事實視為一個具體單元(Atom),單元串聯的邏輯式寫成 “(atom1 ∧⋯ ∧ atomn) Consequence”。以下以描述方式,解析問題解決的「因果」關係,例如我們對病患臨床分期(has_stage)的求解步驟,實務作業是由取得個案之 eGFR的數值開始,再參照 CKD臨床分期的上、下區間值,即能獲得相對之期數,上述步驟分解為 atom1~atom7:

{atom1:在「個案資料」概念下,設定個案為實例 (x);atom2:取得個案 (x)「估算腎絲球過濾率」(has_eGFR)之屬性值 (y);

Page 15: 開發慢性腎臟病(CKD)在飲食照護的諮詢系統jeb.cerps.org.tw/files/JEB2015-008.pdf · 開發慢性腎臟病(CKD)在 飲食照護的諮詢系統 戚玉樑a, * 莊珮蓉a

電子商務學報 第十七卷 第二期

277June 2015

atom3:在「CKD分期」概念下,設定臨床分期為實例 (s)atom4:取得臨床分期 (s)「eGFR下標值」(has_eGFR_min)之屬性值 (b)atom5:取得臨床分期 (s)「eGFR上標值」(has_eGFR_max)之屬性值 (c) atom6:使用 SWRL內建函數,比較屬性值 (y)是否大於屬性值 (b)atom7:使用 SWRL內建函數,比較屬性值 (y)是否大於屬性值 (c)Consequence:通過驗證的分期 (s),寫入個案 (x)「臨床分期」(has_stage) }

前述規則分析中的 ‘x’, ‘y’, ‘s’ , ‘b’ , ‘c’等均為變數,開發人員依據各步驟,利用Protégé中的 SWRL-Tab套件工具,編輯成為 SWRL的語意規則,前述病患臨床分期的規則寫成如下列 (A1):

個案資料 (?x) ∧ has_eGFR (?x, ?y) ∧ CKD分期 (?s) ∧ has_eGFR_min (?s, ?b) ∧ has_eGFR_max (?s, ?c) ∧ swrlb:greaterThan(?y, ?b) ∧ swrlb:lessThanOrEqual (?y, ?c) → has_stage(?x, ?s)

(A1)

本研究共開發 29項語意規則,分佈於「個案資料」、「個案均衡飲食」、「個案膳食檢驗」等 3項概念中,以下依概念別,摘要說明部分規則。

(1) 「個案資料」概念之語意規則(a) 估算腎絲球過濾率(has_eGFR):因男、女性之 eGFR計算方式不同,須分別開發為規則 (A2)及 (A3),其內容是依據MDRD公式發展而成,以下範例為估算男性 eGFR之規則 (A2)。

個案資料 (?x) ∧ has_Cr (?x, ?y) ∧ has_年齡 (?x, ?z) ∧has_性別 (?x, “Male”) ∧ swrlb:pow (?a, ?y, -1.154) ∧ swrlb:pow (?b, ?z, -0.203) ∧ swrlb:multiply (?c, ?a, ?b) ∧ swrlb:multiply (?M_ans, ?c, 186) →has_eGFR (?x,?M_ans)

(A2)

(b) 估算熱量需求 (has_熱量需求 ):因男、女性之熱量需求計算方式不同,須分別開發為規則 (A4)及 (A5),其內容是依據 BMR及活動量係數計算,以下範例為估算男性熱量需求之規則 (A4)。

個案資料 (?x) ∧ has_體重 (?x, ?w) ∧ has_身高 (?x, ?t) ∧ has_年齡 (?x, ?a) ∧ has_性別 (?x, “Male”) ∧ has_活動係數 (?x, ?z) ∧ swrlb:multiply (?a1, ?w, 13.7) ∧ swrlb:multiply (?a2, ?t, 5) ∧ swrlb:multiply (?a3, ?a, 6.8) ∧ swrlb:add(?b, ?a1, 66) ∧ swrlb:add (?c, ?b, ?a2) ∧ swrlb:subtract (?C_Male, ?c, ?a3) ∧ swrlb:multiply (?ans, ?C_Male, ?z) → has_熱量需求 (?x, ?ans)

(A4)

Page 16: 開發慢性腎臟病(CKD)在飲食照護的諮詢系統jeb.cerps.org.tw/files/JEB2015-008.pdf · 開發慢性腎臟病(CKD)在 飲食照護的諮詢系統 戚玉樑a, * 莊珮蓉a

開發慢性腎臟病(CKD)在飲食照護的諮詢系統

278 June 2015

(c) 估算敏感營養素(蛋白質、磷、鉀、鈉)之理論值:依據式 (1),代入相關之事實屬性估算,4項營養素之理論攝取分別開發為規則 (A7)~A(10),以下範例為估算「蛋白質」理論值之規則 (A7)。

個案資料 (?x) ∧ has_體重 (?x, ?w) ∧ has_stage (?x, ?s) ∧ CKD營養素限制 (?c) ∧ has_stage (?c, ?s) ∧ has_蛋白質限制 (?c, ?p) ∧ swrlb:multiply (?ans, ?p, ?w) → has_蛋白質 (?x, ?ans)

(A7)

(2) 「均衡飲食份數」概念之語意規則:依據個別病患的狀況,推估在均衡飲食原則下之食物分類理論份數值。依據式 (2)須代入個案之臨床分期、卡路里階層等事實屬性值、建議標準份數等。六項食物分類分別定義規則 (B1)~( B6),以下範例為估算「全榖根莖類份數」之規則 (B1),其餘各食物分類之規則類似。

個案均衡飲食 (?x) ∧ has_person (?x, ?p) ∧ 個案資料 (?p)∧ has_stage (?p, ?s) ∧ has_卡路里階層 (?p, ?k) ∧ CKD食物攝取份數 (?y) ∧ has_stage (?y, ?s)∧ has_卡路里階層 (?y, ?k) ∧ has_全榖根莖類份數 (?y, ?ans) → has_全榖根莖類份數 (?x, ?ans)

(B1)

(3) 「個案膳食檢驗」概念之語意規則:上述之各項規則,主要以個案資料推估在 CKD情境中的症狀分類、相關限制等。以下之規則將以個案的飲食清單為基礎,結合食物之營養素成分,具體對個案在均衡飲食、敏感營養素攝取量

進行檢驗。為核算飲食清單中的份數及營養素成分含量,我們採用 SQWRL13

語法分別開發統計規則,計算結果將以 CSV14格式輸出再匯入知識庫中。 (a) 統計個案飲食清單的敏感營養素攝取總和:依據式 (3)之發展規則 (C1),計算完成後,依個案、5項敏感營養素名稱輸出,並以 CSV格式儲存備用。此規則因過於繁雜,以下之示範規則僅摘取其中統計「熱量」部分,

其餘 4項營養素之統計方式類似。

13 SQWRL(Semantic Query-Enhanced Web Rule Language)是一個 SWRL 為基礎的語義查詢語言,提供類似於 SQL的操作,主要用於補充 SWRL 的運算能力,例如分類、集合運算。

14 CSV(Comma Separated Value)是以逗號分隔值的檔案格式,因 SQWRL僅提供查詢無法覆寫 OWL檔案,本研究利

用 CSV儲存查詢結果,再轉換資料至 OWL檔案。

Page 17: 開發慢性腎臟病(CKD)在飲食照護的諮詢系統jeb.cerps.org.tw/files/JEB2015-008.pdf · 開發慢性腎臟病(CKD)在 飲食照護的諮詢系統 戚玉樑a, * 莊珮蓉a

電子商務學報 第十七卷 第二期

279June 2015

個案膳食檢驗 (?x) ∧ has_person (?x, ?x1) ∧ has_case_name(?x1, ?x2) ∧ has_攝取食物 (?x, ?y) ∧ 膳食來源 (?y) ∧ has_food (?y, ?f) ∧ has_servings (?y, ?n) ∧ p1:has_Food_name (?z, ?f) ∧ p1:has_Calorie (?z, ?k1) ∧ swrlb:multiply (?a, ?k1, ?n) ˚sqwrl:makeSet (?s1, ?a) ∧ sqwrl:groupBy (?s1, ?x) ˚ sqwrl:sum (?ans, ?s1) → sqwrl:select (?x2, ?ans) ∧ sqwrl:columnNames(“CSV_NAME”, “CSV_CALORIE”)

(C1)

(b) 統計個案飲食清單的食物分類份數:依據式 (4)之運算式發展規則 (C2),計算完成後,依個案、食物分類、攝取份數輸出。

個案膳食檢驗 (?x) ∧ has_person (?x, ?x1) ∧ has_case_name (?x1, ?x2) ∧ has_攝取食物 (?x, ?y) ∧ has_food_group (?y, ?g) ∧ has_food_group_name (?g, ?g1) ∧ has_servings (?y, ?n) ˚ sqwrl:makeBag (?s, ?n) ∧ sqwrl:groupBy (?s, ?x, ?g) ˚ sqwrl:sum (?ans, ?s) → sqwrl:select (?x2, ?g1, ?ans) ∧ sqwrl:columnNames (“CSV_NAME”, “CSV_FOOD_GROUP”, “CSV_SERVINGS”)

(C2)

(c) 檢驗敏感營養素攝取量的差異:依據式 (5) 之檢驗式,發展規則(D1)~(D5)分別對各敏感營養素進行差值,檢驗結果將匯集於屬性「檢驗_營養素比較」中,以下為檢驗「熱量」的規則 (D1),其餘各食物份數之檢驗規則類似。

個案膳食檢驗 (?x) ∧ has_person (?x, ?x1) ∧ has_case_name (?x1, ?x2) ∧ 個案資料 (?x1) ∧ has_熱量需求 (?x1, ?y1) ∧ Nutrient.Nutrient (?z) ∧ CSV_NAME (?z, ?x2) ∧ CSV_CALORIE (?z, ?z1) ∧ swrlb:subtract (?ans, ?z1, ?y1) ∧ swrlb:stringConcat(?ans1, “ 熱量檢驗限制量 :”, ?y1, “ 食物擇取 : “, ?z1,”超額數 :”, ?ans) → 檢驗 _營養素比較 (?x, ?ans1)

(D1)

(d) 檢驗食物分類的份數差異:依據式 (6)發展規則 (E1)~(E6),分別檢驗各食物分類份數的差異,檢驗結果將匯集於屬性「檢驗 _六類食物份數」中,以下為「全榖根莖類」的檢驗規則 (E1),其餘各份數之檢驗規則類似。

Page 18: 開發慢性腎臟病(CKD)在飲食照護的諮詢系統jeb.cerps.org.tw/files/JEB2015-008.pdf · 開發慢性腎臟病(CKD)在 飲食照護的諮詢系統 戚玉樑a, * 莊珮蓉a

開發慢性腎臟病(CKD)在飲食照護的諮詢系統

280 June 2015

個案膳食檢驗 (?x) ∧ has_person (?x, ?x1) ∧ has_case_name (?x1, ?x2) ∧ 個案均衡飲食 (?y) ∧ has_person (?y, ?x1) ∧has_全榖根莖類份數 (?y, ?y1) ∧ Servings.Servings (?z) ∧ CSV_NAME (?z, ?x2) ∧ CSV_FOOD_GROUP (?z, “全榖根莖類 ”)∧ CSV_SERVINGS (?z, ?z1) ∧swrlb:subtract (?ans, ?z1, ?y1) ∧ swrlb:stringConcat (?ans1, “全榖根莖類標準值 : “, ?y1, “個案 : “, ?z1,”超額數 :”,?ans, “份 ”) → 檢驗 _六類食物份數 (?x, ?ans1)

(E1)

5. 系統開發與實驗評估

5.1 開發 Web-based 知識系統

為協助使用者易於諮詢操作,本研究將知識系統建置為Web-based形式(如圖4之系統架構)。研究人員採用 Java語言及 Protégé, SWRL rule engine bridge, JESS等軟體之開發套件(API),開發後端知識庫存取及推論引擎操控,前端介面則利用 JSP製作網頁畫面,最後佈署於應用系統伺服器上(例如 Apache Tomcat)。簡言之,Web-based知識系統已整合了操作介面、知識庫、推論引擎等,以下利用主要網頁介面說明運作方式:

使用者(病患)

(1)病患資料輸入網頁

(2)飲食諮詢結果網頁

知識庫OWL-bascd Ontology

JESS規則推論器

Java-based 應用程式(Protégé API, JESS API, JENA, SWRL rule engine bridge, etc.)

invokeinput

response

OWL-based 知識系統

圖 4 Web-based知識系統架構

(1) 病患資料輸入網頁:使用者利用此網頁提供基本資料,例如男性、66歲、177cm、66Kg、Cr值 2.5及、中度運動型等;其次以「一日」為單位提供食

Page 19: 開發慢性腎臟病(CKD)在飲食照護的諮詢系統jeb.cerps.org.tw/files/JEB2015-008.pdf · 開發慢性腎臟病(CKD)在 飲食照護的諮詢系統 戚玉樑a, * 莊珮蓉a

電子商務學報 第十七卷 第二期

281June 2015

物清單,每項食物須包括類型、名稱、份數,逐項匯集至「我的食物清單」

中,在完成資料編輯輸入後,啟動後端知識系統,規則推論引擎將與知識庫

產生邏輯運算。

(2) 飲食諮詢結果網頁:系統完成知識推論後,將利用此網頁呈現飲食諮詢結果 (參考圖 5)。本例依據病患資料估算為 CKD第 4期(eGFR 27.6),圖中其他 4項欄位是語意規則的執行結果,說明如下:(a) 理論值 -敏感營養素限制量:此欄位是執行規則 (A6)~(A10)的結果,表達推估個案在敏感營養素的理論限制量。在本例中,由「卡路里」起的五

項限制值,依序為 2179.92大卡 , 39.6 g, 528 mg, 3000 mg, 3000 mg。(b) 理論值 -食物分類份數:此欄位是執行規則 (B1)~(B6)的結果,表達推估個案在食物分類的理論份數。在本例中,由「全榖根莖類」起的六項分類

份數值依序為 3.5, 4.0, 1.0, 4.0, 3.0, 6.0。 (c) 實際攝取 -敏感營養素限制量與差異:利用規則 (C1) 先計算個案的食物清單,再由規則 (D1)~(D5) 獲得攝取敏感營養素的總和。此欄位最後顯示實際攝取營養素總和、與理論值的差異值(正值為超額攝取數量,負值為

不足額攝取數量)、差異百分比等三項。在本例中,實際攝取的熱量略大

於理論值(0.8%),其餘之蛋白質、磷、鉀、鈉等分別為 -17.1%, -5.9%, -43.8%, -68.5%,表示未超過限制量。

圖 5 CKD飲食諮詢結果網頁

Page 20: 開發慢性腎臟病(CKD)在飲食照護的諮詢系統jeb.cerps.org.tw/files/JEB2015-008.pdf · 開發慢性腎臟病(CKD)在 飲食照護的諮詢系統 戚玉樑a, * 莊珮蓉a

開發慢性腎臟病(CKD)在飲食照護的諮詢系統

282 June 2015

(d) 實際攝取 -食物分類份數與差異:利用規則 (C2) 先計算個案的食物清單,再由規則 (E1)~(E6)獲得攝取食物的分類份數。此欄位最後顯示實際攝取份數、與理論值的差異值(正值為超額攝取份數,負值為不足額攝取

份數) 等二項。在本例中,差異值均為 0表示實際攝取理論值與相符。

5.2 實驗設計與評估

在實驗設計部分,我們使用某醫療機構 2011~2012年之 CKD病患飲食諮詢歷史資料,由於知識模型尚未包括合併症、併發症等「問題解決」之設計,因此由收集的

61筆資料中篩選剔除具有上述干擾因素的病患後,計獲得 36筆資料進行後續實驗。實驗方式是由研究人員逐筆輸入病患資料、經執行知識系統並記錄諮詢結果(如圖

5),最後由 2位營養師協助檢核實驗。以下說明實驗設計: (1) 實驗目標:驗證本研究知識系統推導 CKD飲食諮詢的能力。(2) 實驗資料:去除 CKD病患之個資項目,使用基本之體檢、生化資料、飲食清單(營養師曾對個案建議的記錄)。

(3) 實驗假設:視營養師提供之飲食清單為妥適之建議,使用此清單做為系統推估之比較基準。

(4) 驗證項目:估算病患之臨床症狀與理論值(臨床分期、食物分類、敏感營養素)、在已建議個案的飲食清單中,檢驗理論值與實際攝取之差異(食物分

類、敏感營養素)。 在知識系統評估部分,前述 36筆病患資料,經由執行知識系統產生的統計與比

較記錄如表 2,在「臨床症狀與理論值」部分,各項驗證項目均完全符合,代表知識模型已依照目前 CKD飲食的經驗原則設計;在「實際攝取與理論值之差異」部分,其中「食物分類」項目計有 7筆病患資料在六大分類(全穀根莖、豆魚肉蛋、低脂奶類、蔬菜類、水果類、油脂與堅果種子),至少產生一項(含)以上之誤差,其餘

29筆(81%)完全相符;在「敏感營養素」項目,熱量攝取須大於理論值,其餘之4項均須小於理論值,而磷、鉀、鈉可由飲食佐料如食鹽中獲得,因此食物攝取愈小愈佳。在前述條件設定下,計有 4筆病患資料在敏感營養素的比較中,至少有一項營養素違反上述之判定原則,其餘 32筆(89%)相符。上述產生誤差的病患資料,經由營養師檢視原始諮詢資料,發現這些個案都具有其他非醫學因素造成,例如素食主

義、宗教信仰、特殊飲食偏好等,因此未來可考量再補足此類干擾因素的知識塑模。

Page 21: 開發慢性腎臟病(CKD)在飲食照護的諮詢系統jeb.cerps.org.tw/files/JEB2015-008.pdf · 開發慢性腎臟病(CKD)在 飲食照護的諮詢系統 戚玉樑a, * 莊珮蓉a

電子商務學報 第十七卷 第二期

283June 2015

表 2 系統推估與專家核算之比較

驗證項目臨床症狀與理論值 實際攝取與理論值之差異

臨床分期 食物分類 敏感營養素 食物分類 敏感營養素

系統與歷史資料符合率 100% 100% 100% 81% 89%

6. 討論與結論

慢性腎臟病(CKD)的飲食諮詢是知識來源多樣化及知識密集問題,本研究因此採用本體相關技術開發知識系統。在實驗設計與評估部分,測試資料是篩選自病患

資料及已實際發生的飲食諮詢記錄,經剔除尚未納入問題解決範圍的合併症、併發症

等 36筆資料,進行知識系統效能評估。在「臨床症狀與理論值」驗證,各檢驗項目完全符合;在「理論值與實際攝取之差異」部分,採用營養師對個案建議之食物清單

進行檢驗,其中食物分類符合率為 81%、敏感營養素符合率為 89%,分析發生差異之原因主要為其他非醫學因素之影響。然而在各類干擾因素後,飲食諮詢之正確性已

獲得初步成果。由於知識模型須在事前完成分析與定義,新的事實只要依既定照格式

存放,即可依定義承襲既有的邏輯關係,不須再額外去轉換資料定義及程序;因此,

在實務應用意涵是:可再利用現有的知識模型,藉由擴充「問題解決」的知識範圍,

使飲食諮詢知識系統更加完善。

本研究主要學術貢獻是展示運用開放資料成為領域知識、在 OWL-based環境下發展「問題解決」的知識系統等二項,研究貢獻討論如下:

(1) 本研究在 2.3節探討語意網對知識獲得的影響,特別是來自於專業機構或官方的開放資料非常豐富,開發者應善用這些有價值的知識性資料,以加速知

識系統的開發效率。本研究使用的「台灣地區食品營養成分資料庫」,原為

陳述性知識且僅做瀏覽或查詢用途,但經由適當的格式轉換設計及後續模型

定義,即可成為我們領域本體的項目之一。對建置知識系統的學術意涵為開

發者已易由網路取得陳述性知識,應將開發重點置於「問題解決」。 (2) 本研究曾說明:本體尚未達到一個知識系統的功能範圍。因此建置一個

OWL-based KBS除須納入「問題解決」知識外,知識塑模工作也受限於OWL的資料模型。為創造專家與知識工程師之間的知識中介,我們建議利用定義公理方式分解各項子任務,以協助傳遞問題解決的構想,而在公理中也

提供塑模所須的線索(如概念、屬性、邏輯關係),開發者可應用於規劃知

識框架與關係配置;最後,由領域本體、任務本體、語意規則共構的知識模

型,必須具有協調及相互影響能力,才能達到推論隱性知識之目的。

Page 22: 開發慢性腎臟病(CKD)在飲食照護的諮詢系統jeb.cerps.org.tw/files/JEB2015-008.pdf · 開發慢性腎臟病(CKD)在 飲食照護的諮詢系統 戚玉樑a, * 莊珮蓉a

開發慢性腎臟病(CKD)在飲食照護的諮詢系統

284 June 2015

在未來研究方向上,建議優先納入合併症、併發症的知識,其中特別是糖尿病

(Diabetes)、心血管疾病與 CKD的關聯性高,並且也與日常飲食密切相關,因此擴充此類問題解決知識,對提高飲食清單的正確性將產生顯著效果。

參考文獻

吳明儒(2007)。評估腎臟功能的方法。腎臟與透析,19(2),45-49。衛生福利部國民健康署、高雄醫學大學附設中和紀念醫院腎臟照護團隊(2013)。慢性腎臟病(CKD)健康管理手冊。臺北市:行政院衛生福利部國民健康署。

行政院衛生福利部食品藥物管理署(2011)。國人膳食營養素參考攝取量。取自2014年 2月 12日,https://consumer.fda.gov.tw/Pages/List.aspx?nodeID636

行政院衛生福利部食品藥物管理署(2012a)。台灣地區食品營養成分資料庫。取自2014年 2月 12日,http://www.fda.gov.tw/TC/index.aspx

行政院衛生福利部食品藥物管理署(2012b)。每日飲食指南行。取自 2014年 2月12日,http://health99.hpa.gov.tw/media/public/pdf/21733.pdf

Abu-Hanna, A., Cornet, R., de Keizer, N., Crubézy, M., & Tu, S. (2005). Protégé as a vehicle for developing medical terminological systems. International Journal of Human-Computer Studies, 62(5), 639-663.

Aussenac-Gilles, N., & Gandon, F. (2013). From the knowledge acquisition bottleneck to the knowledge acquisition overflow: A brief French history of knowledge acquisition. International Journal of Human-Computer Studies, 71(2), 157-165.

Beimel, D., & Peleg, M. (2011). Using OWL and SWRL to represent and reason with situation-based access control policies. Data & Knowledge Engineering, 70(6), 596-615.

Benjamins, V. R., & Perez, A. G. (2000). Knowledge System Technology: Ontologies and problem-solving methods. Retrieved February 12, 2014, from http://www.swi.psy.uva.nl/usr/richard/pdf/kais.pdf

Breuker, J. (2013). A cognitive science perspective on knowledge acquisition, International Journal of Human-Computer Studies, 71(2), 177-183.

Cairó, O., & Guardati, S. (2012). The KAMET II methodology: Knowledge acquisition, knowledge modeling and knowledge generation. Expert Systems with Applications, 39(9), 8108-8114.

Chen, Y., Hsu, C.-Y., Liu, L., & Yang, S. (2012). Constructing a nutrition diagnosis expert

Page 23: 開發慢性腎臟病(CKD)在飲食照護的諮詢系統jeb.cerps.org.tw/files/JEB2015-008.pdf · 開發慢性腎臟病(CKD)在 飲食照護的諮詢系統 戚玉樑a, * 莊珮蓉a

電子商務學報 第十七卷 第二期

285June 2015

system. Expert Systems with Applications, 39(2), 2132-2156.Corsar, D., & Sleeman, D. (2006). Reusing JessTab rules in Protégé. Knowledge Based

Systems, 19(5), 291-297.Fernández-López, M., Gómez-Pérez, A., & Suárez-Figueroa, M. C. (2013). Methodological

guidelines for reusing general ontologies. Data & Knowledge Engineering, 86, 242-275.

Gaines, B. R. (2013). Knowledge acquisition: Past, present and future. International Journal of Human-Computer Studies, 71(2), 135-156.

García-Castro, R., & Gómez-Pérez, A. (2010). Interoperability results for Semantic Web technologies using OWL as the interchange language. Web Semantics: Science, Services and Agents on the World Wide Web, 8(4), 278-291.

Gennari, J. H., Musen, M. A., Fergerson, R. W., Grosso, W. E., Crubézy, M., Eriksson, H., Noy, N. F., & Tu, S. W. (2003). The evolution of Protégé: an environment for knowledge-based systems development. International Journal of Human-Computer Studies, 58(1), 89-123.

Gómez-Pérez, A., & Benjamins, V. R. (1999). Applications of Ontologies and Problem-Solving Methods. AI-Magazine, 20(1), 119-122.

Guarino, N. (1997). Understanding and building, using ontologies. International Journal of Human-Computer Studies, 46(2-3), 293-310.

Horrocks, I., Patel-Schneider, P. F., & Van Harmelen, F. (2003). From SHIQ and RDF to OWL: The making of a web ontology language. Web Semantics: Science, Services and Agents on the World Wide Web, 1(1), 7-26.

Horrocks, I., Patelschneider, P., Bechhofer, S., & Tsarkov, D. (2005). OWL rules: A proposal and prototype implementation. Web Semantics: Science, Services and Agents on the World Wide Web, 3(1), 23-40.

Kassen, M. (2013). A promising phenomenon of open data: A case study of the Chicago open data project. Government Information Quarterly, 30(4), 508-513.

Lai, L. F. (2007). A knowledge engineering approach to knowledge management. Informa-tion Sciences, 177(19), 4072-4094.

Lezcano, L., Sicilia, M. -A., & Rodríguez-Solano, C. (2011). Integrating reasoning and clinical archetypes using OWL ontologies and SWRL rules. Journal of Biomedical Informatics, 44(2), 343-353.

Levey, A. S., & Coresh, J. (2012). Chronic kidney disease. The lancet, 379(9811), 165-180. Levey, A. S., Coresh, J., Balk, E., Kausz, A. T., Levin, A., Steffes, M. W., Hogg, R.J.

Page 24: 開發慢性腎臟病(CKD)在飲食照護的諮詢系統jeb.cerps.org.tw/files/JEB2015-008.pdf · 開發慢性腎臟病(CKD)在 飲食照護的諮詢系統 戚玉樑a, * 莊珮蓉a

開發慢性腎臟病(CKD)在飲食照護的諮詢系統

286 June 2015

Perrone, R. D., Lau, J., & Eknoyan, G. (2003). National kidney foundation practice guidelines for chronic kidney disease: evaluation, classification, and stratification. Annals of internal medicine, 139(2), 137-147.

McCullough, M. L., Feskanich, D., Stampfer, M. J., Giovannucci, E. L., Rimm, E. B., Hu, F. B., Spiegelman, D., Hunter, D. J., Colditz, G. A., & Willett, W. C. (2002). Diet quality and major chronic disease risk in men and women: moving toward improved dietary guidance. The American Journal of Clinical Nutrition, 76(6), 1261-1271.

Meemasuk, P., & Chantrapornchai, C. (2013). On the Development of Nutrition Informa-tion Systems for Kidney Disease Patients. International Journal of Database Theory & Application, 6(3), 33-38.

Motik, B., Cuenca Grau, B., Horrocks, I., & Sattler, U. (2009). Representing ontologies using description logics, description graphs, and rules. Artificial Intelligence, 173(14), 1275-1309.

Motta, E. (2013). 25 Years of Knowledge Acquisition. International Journal of Human-Computer Studies, 71(2), 131-134.

Musen, M. A. (2013). The knowledge acquisition workshops: A remarkable convergence of ideas. International Journal of Human-Computer Studies, 71(2), 195-199.

Myers, G. L., Miller, W. G., Coresh, J., Fleming, J., Greenberg, N., Greene, T., & Eckfeldt, J. H. (2006). Recommendations for Improving Serum Creatinine Measurement: A Report from the Laboratory Working Group of the National Kidney Disease Education Program. Clinical Chemistry, 52(1), 5-18.

National Kidney Foundation (NKF) (2002). Clinical practice guidelines for chronic kidney disease: evaluation, classification, and stratification. Retrieved February 12, 2014, from https://www.kidney.org/professionals/kdoqi/pdf/ckd_evaluation_ classification_stratification.pdf

O’Connor, M. J., Shankar, R. D., Nyulas, C., Tu, S. W., & Das, A. K. (2008). Developing a Web-Based Application using OWL and SWRL. AAAI Spring Symposium: AI Meets Business Rules and Process Management, 93-98.

Plessers, P., De Troyer, O., & Casteleyn, S. (2007). Understanding ontology evolution: A change detection approach. Web Semantics: Science, Services and Agents on the World Wide Web, 5(1), 39-49.

Richards, M. (2011). The kidney medical nutrition therapy-yesterday and today. Nutrition in clinical practice, 26(2), 143-150.

Roventa, E., & Rosu, G. (2009). The diagnosis of some kidney diseases in a small prolog

Page 25: 開發慢性腎臟病(CKD)在飲食照護的諮詢系統jeb.cerps.org.tw/files/JEB2015-008.pdf · 開發慢性腎臟病(CKD)在 飲食照護的諮詢系統 戚玉樑a, * 莊珮蓉a

電子商務學報 第十七卷 第二期

287June 2015

Expert System. In 3rd International Workshop on Soft Computing Applications, 219-224.

Shadbolt, N. (2013). Knowledge acquisition and the rise of social machines. International Journal of Human-Computer Studies, 71(2), 200-205.

Stevens, L. A., Coresh, J., Greene, T., & Levey, A. S. (2006). Assessing Kidney Function- Measured and Estimated Glomerular Filtration Rate. New England Journal of Medicine, 354(23), 2473-2483.

Welty, C., & Guarino, N. (2001). Supporting ontological analysis of taxonomic relation-ships. Data & Knowledge Engineering, 39, 51-74.

Wielinga, B. J. (2013). Reflections on 25 years of knowledge acquisition. International Journal of Human-Computer Studies, 71(2), 211-215.

Page 26: 開發慢性腎臟病(CKD)在飲食照護的諮詢系統jeb.cerps.org.tw/files/JEB2015-008.pdf · 開發慢性腎臟病(CKD)在 飲食照護的諮詢系統 戚玉樑a, * 莊珮蓉a

開發慢性腎臟病(CKD)在飲食照護的諮詢系統

288 June 2015

附錄1 個案資料、個案均衡飲食、個案膳食檢驗之概念定義

概念屬性定義

名稱 格式 用途 值域 推論式

個案資料

has_性別 Data 宣告 String

has_年齡 Data 宣告 int

has_身高 Data 宣告 float

has_體重 Data 宣告 float

has _活動係數 Data 宣告 float

has _Cr Data 宣告 float

has _stage Object 推論 CKD分期 (A1)

has_ eGFR Data 推論 float (A2)(A3)

has_熱量需求 Data 推論 float (A4)(A5)

has_卡路里階層 Object 推論 卡路里需求 (A6)

has_蛋白質 Data 推論 float (A7)

has_磷 Data 推論 float (A8)

has_鉀 Data 推論 float (A9)

has_鈉 Data 推論 float (A10)

個案均衡飲食

has _person Object 宣告 個案資料

has_全榖根莖類份數 Data 推論 float (B1)

has_豆魚肉蛋類份數 Data 推論 float (B2)

has_低脂奶類份數 Data 推論 float (B3)

has_蔬菜類份數 Data 推論 float (B4)

has_水果類份數 Data 推論 float (B5)

has_油脂與堅果類份數 Data 推論 float (B6)

個案膳食檢驗

has _person Object 宣告 個案資料

has_攝取食物 Object 宣告 膳食來源 (C1)/(C2)

檢驗 _營養素比較 Data 推論 String (D1)~(D5)

檢驗 _六類食物份數 Data 推論 String (E1)~(E6)

Page 27: 開發慢性腎臟病(CKD)在飲食照護的諮詢系統jeb.cerps.org.tw/files/JEB2015-008.pdf · 開發慢性腎臟病(CKD)在 飲食照護的諮詢系統 戚玉樑a, * 莊珮蓉a

電子商務學報 第十七卷 第二期

289June 2015

附錄2 個案資料、個案均衡飲食、個案膳食檢驗之概念定義

概念名稱屬性定義

格式 用途 值域

膳食來源

全榖根莖類食物

豆魚肉蛋類食物

低脂奶類食物

蔬菜類食物 水果類 油脂與堅果種子類

has_food Object 宣告 食物名稱

has_food_group Object 宣告 食物種類

has_servings Data 宣告 float

匯入 CSVdata

Nutrition

CSV_FOOD_GROUP Object 宣告 String

CSV_NAME Object 宣告 String

CSV_CALORIE Data 宣告 double

CSV_PHOSPHOROUS Data 宣告 double

CSV_POTASSIUM Data 宣告 double

CSV_PROTEIN Data 宣告 double

CSV_SERVINGS Data 宣告 double

CSV_SODIUM Data 宣告 double

Serving

CSV_FOOD_GROUP Data 宣告 String

CSV_NAME Data 宣告 String

CSV_SERVINGS Data 宣告 double

Page 28: 開發慢性腎臟病(CKD)在飲食照護的諮詢系統jeb.cerps.org.tw/files/JEB2015-008.pdf · 開發慢性腎臟病(CKD)在 飲食照護的諮詢系統 戚玉樑a, * 莊珮蓉a

開發慢性腎臟病(CKD)在飲食照護的諮詢系統

290 June 2015