王曉霞,蔣伏松,王宇,熊贇
1. 復旦大學計算機科學技術(shù)學院,上海 201203;
2. 上海市數(shù)據(jù)科學重點實驗室,上海 201203;
3. 西北師范大學計算機科學與工程學院,甘肅 蘭州 730070;
4. 上海市第六人民醫(yī)院,上海 200233;
5. 上海市普陀區(qū)疾病預防控制中心,上海 200333
在長時間的發(fā)展過程中,很多慢性病都會引發(fā)并發(fā)癥,比如慢性阻塞性肺病、抑郁癥等,這些并發(fā)癥是導致慢性病患者殘疾、死亡的重要原因之一。了解慢性病與其并發(fā)癥的關(guān)系以及研究相關(guān)并發(fā)癥的發(fā)展,無論是對控制和預防慢性病并發(fā)癥的發(fā)生、提高患者的自我監(jiān)管能力,還是對慢性病的臨床防治以及藥物研發(fā)都有重要意義。
在醫(yī)療大數(shù)據(jù)環(huán)境下,對電子病歷(electronic medical record)中的海量數(shù)據(jù)進行利用與分析能夠促進醫(yī)療服務水平的提高以及對疾病的理解[1]。在電子病歷中,對患者的診斷結(jié)果一般使用國際疾病分類(international classification of diseases,ICD)編碼進行分類標注,近年來使用的是全世界通用的第10次修訂本《疾病和有關(guān)健康問題的國際統(tǒng)計分類》,即ICD-10診斷編碼。例如,對于糖尿病及其并發(fā)癥[2],雖然在ICD-10診斷編碼中根據(jù)疾病已知的病因、病理、臨床表現(xiàn)和解剖位置等特性進行了一些詳細的分類編碼,但對于一些有可能由糖尿病引發(fā)的并發(fā)癥并沒有加以體現(xiàn)(比如抑郁癥)。為了更好地利用電子病歷中的數(shù)據(jù)分析各種目標疾病及其并發(fā)癥的關(guān)系,將大量疾病診斷合理歸類到若干種并發(fā)癥類型是一項重要的任務。由于數(shù)據(jù)量巨大,對這些診斷結(jié)果按照研究目標的邏輯進行分類的工作,很難全部由具有醫(yī)學知識的醫(yī)生們來完成。本文設計了一種基于半監(jiān)督聚類的慢性病并發(fā)癥歸類方法,聚類的依據(jù)是ICD-10診斷編碼系統(tǒng)自身的編碼特點:對于那些依據(jù)ICD-10診斷編碼的分類規(guī)則劃分為類似的疾病,其代碼也會相鄰。
在機器學習領域,根據(jù)學習任務的不同分為兩種學習方法:一種是無監(jiān)督學習,在無人工標記的數(shù)據(jù)集中發(fā)現(xiàn)數(shù)據(jù)自身蘊含的結(jié)構(gòu)信息;另一種是有監(jiān)督學習,在有人工標記的訓練數(shù)據(jù)集中尋找數(shù)據(jù)與給定標記之間的映射關(guān)系,對測試數(shù)據(jù)集中的未標記數(shù)據(jù)進行分類或預測[3]。在很多具體的應用中,獲取大量有標記的數(shù)據(jù)是很困難、很昂貴且很費時的,也就是說有標記的數(shù)據(jù)數(shù)量是相對有限的,對于有監(jiān)督學習,學習結(jié)果令人不滿意的重要原因之一是有限的標記數(shù)據(jù)很難為機器學習算法提供足夠的分布信息,而對于不使用標記數(shù)據(jù)的無監(jiān)督學習方法,在處理海量數(shù)據(jù)時很難保證算法的精度[4]。在此背景下,半監(jiān)督學習方法引起了人們的關(guān)注,它的學習目標是綜合利用少量有標記數(shù)據(jù)和大量無標記數(shù)據(jù)來更好地完成學習任務。半監(jiān)督聚類分析基本思想是通過引入標記數(shù)據(jù)(或約束關(guān)系)來指導聚類過程,幫助算法更好地劃分樣本數(shù)據(jù),提高聚類算法的性能[5]。
電子病歷存儲了大量的健康信息,其絕大部分數(shù)據(jù)的獲取、收集、存儲與管理是面向醫(yī)療機構(gòu)信息管理系統(tǒng)的,針對不同的研究任務,可能會遇到以下一些問題:標記與未標記數(shù)據(jù)同時存在、有標記數(shù)據(jù)常常是少量的、需要醫(yī)學先驗知識來指導數(shù)據(jù)的處理等。為了應對這些問題,越來越多的半監(jiān)督學習方法被用來處理與分析電子病歷。Huyen D T T等人[6]在對電子病歷中的醫(yī)療行為與住院費用信息進行分析的過程中,認為在聚類過程中融合先驗知識非常有必要,其通過設計的半監(jiān)督模糊協(xié)同聚類方法,發(fā)現(xiàn)了一些能在降低治療費用的同時提高服務質(zhì)量的方案,能輔助醫(yī)院更好地對醫(yī)療行為進行管理與決策。為了使更多的研究者能夠共享臨床數(shù)據(jù),電子病歷的去身份化是一項重要任務,參考文獻[7]提出的混合半監(jiān)督學習方法,能夠準確地識別以及劃分受保護的健康信息。Khan F M等人[8]構(gòu)造了一種直推式的半監(jiān)督神經(jīng)網(wǎng)絡回歸學習框架,利用在預后生存分析中存在的大量無標記數(shù)據(jù),顯著提升了前列腺癌和乳腺癌的預后分析性能。在這些工作中可以看到,在對醫(yī)療數(shù)據(jù)的分析與研究工作中,采用能夠融合醫(yī)學先驗知識的半監(jiān)督算法能夠獲得更好的結(jié)果。
設目標慢性病的N個疾病診斷編碼集合為C,C={C1,C2,…,CN},Ci表示ICD-10診斷編碼,已知目標疾病有K類并發(fā)癥,學習任務是得到一個數(shù)據(jù)集C的K-劃分使得C中所有的ICD-10診斷編碼能夠依據(jù)先驗醫(yī)學知識被盡可能地劃分到正確的目標疾病并發(fā)癥中。目標疾病并發(fā)癥的先驗醫(yī)學知識是以種子數(shù)據(jù)的形式給出的,設種子數(shù)據(jù)集為,對于目標疾病的K類并發(fā)癥,即C中的每一個劃分Ck都至少包含一個種子數(shù)據(jù)Ci∈Sk,這樣種子數(shù)據(jù)集S也是一個K-劃分
例如,設某目標慢性病的疾病診斷編碼集合:C={A05.9,B17.1,H25.1,H28.0,H43.3,I12.0,I74.3,N02.0,N17.0,Z49.2},其中,有10個不同的診斷編碼,即N=10,已知該慢性病有3種并發(fā)癥,分別是眼睛病變、腎病變和其他,為方便描述,分別用第1、2、3類表示,即K=3。醫(yī)生給的種子數(shù)據(jù)集為S={A05.9,也就是已知S中所有疾病診斷編碼的并發(fā)癥類別,在此例中,A05.9屬于第3類,H28.0屬于第1類,N17.0屬于第2類,可表示為S={A05.9:3,H28.0:1,N17.0:2},本文算法的任務是在所給種子數(shù)據(jù)的指導下,將集合中所有的診斷編碼盡可能正確地歸到相應的并發(fā)癥分組中。
半監(jiān)督聚類算法ConstrainedK-means[9]是一種基于約束的算法,在對目標慢性病并發(fā)癥的聚類問題中,首先利用種子數(shù)據(jù)約束集(有并發(fā)癥類別標簽的ICD-10疾病診斷編碼集合)初始化K個簇中心,K是給定的目標慢性病并發(fā)癥種類數(shù)量,然后利用期望最大化(expectation maximization,EM)算法將在ICD-10診斷編碼空間上距離相近的疾病聚在一起。由于直到聚類結(jié)束種子數(shù)據(jù)的標簽都不允許被更改,因此種子數(shù)據(jù)自始至終都指導著整個聚類過程,使得與種子數(shù)據(jù)在ICD-10空間上相近的編碼被聚到同一類,從而達到將數(shù)據(jù)集中的ICD-10編碼按照醫(yī)學先驗知識聚為K類并發(fā)癥的目的。為了使聚類效果更精確,半監(jiān)督聚類算法ConstrainedK-means對種子數(shù)據(jù)集的要求是聚類集合中的每一類并發(fā)癥都至少包含一個種子數(shù)據(jù)。
世界衛(wèi)生組織提供了4位ICD-10國際標準診斷編碼,雖然我國在醫(yī)療系統(tǒng)中使用的是在此基礎上擴展到6位的代碼,但為了增加算法的適應性,也為了更好地利用ICD-10診斷編碼自身的分類信息,本文提出的算法只使用ICD-10診斷編碼的前4位進行聚類。ICD-10診斷編碼的前4位是字母與數(shù)字的混合編碼,第一位是英文字母,其后是阿拉伯數(shù)字,編碼的前3位與后面的數(shù)字用點號隔開,是具有實際意義的類目碼,第4位數(shù)字編碼是前3位碼的亞分類。例如:在編碼“E11.3”中,前3位“E11”表示“2型糖尿病”,與第4位“3”合起來表示“2型糖尿病伴眼并發(fā)癥”,而編碼“E11.4”表示“2型糖尿病伴神經(jīng)并發(fā)癥”。根據(jù)ICD-10的編碼規(guī)律,越相似的疾病使用越相近的編碼空間,比如E10~E14代表的是各種類型的糖尿病,而編碼首字母為“E”(即編碼區(qū)間E00~E90)代表內(nèi)分泌、營養(yǎng)和代謝疾病。
按照ICD-10診斷編碼本身的編碼規(guī)則,當兩個診斷編碼的首字母不同時,很難使用編碼自身的信息度量其表示的疾病之間的距離,比如,從編碼的角度看,E00.0(先天性碘缺乏綜合征,神經(jīng)病型)距離F00.0(阿爾茨海默(Alzheimer)病,早老型)比E00.0距離G00.0(嗜血桿菌腦膜炎)更近,然而從它們所代表疾病的角度來看,編碼E00.0與F00.0之間的距離很難說就一定比 E00.0與G00.0之間的距離小。因此本文采用將疾病診斷編碼按首字母不同進行分組的策略進行聚類,每組中編碼的首字母是相同的,只需考慮首字母相同時疾病診斷編碼之間的距離。疾病診斷編碼空間中的第2位、第3位之間的遠近關(guān)系在一定程度上反映了疾病之間的差異程度,首先將編碼的第2位作為十位數(shù)、第3位作為個位數(shù),合起來轉(zhuǎn)換為一個兩位的十進制整數(shù),然后使用曼哈頓距離(Manhattan distance)來度量兩個ICD-10診斷編碼之間的距離。
設C1與C2是首字母相同的兩個不同ICD-10疾病診斷編碼,基于ICD-10診斷編碼的疾病距離DICD(C1,C2)定義如下:
其中,int_C(C)函數(shù)的作用是將ICD-10診斷編碼C中的第2位、第3位取出并轉(zhuǎn)換為整數(shù),該距離的取值范圍是0~99。
本文提出的采用分組策略的慢性病并發(fā)癥聚類(complications semisupervised clustering by grouping,CSSC-G)算法是基于半監(jiān)督聚類算法(ConstrainedK-means)算法框架的,完整的算法如算法1所示。CSSC-G算法的基本思想是,首先將所有ICD-10診斷編碼以及種子數(shù)據(jù)按照將首字母是否相同進行分組,然后對每一組數(shù)據(jù)按照ConstrainedK-means算法進行聚類,以種子數(shù)據(jù)形式給出的先驗知識指導每一組聚類過程的完成,且在整個聚類過程中不改變種子數(shù)據(jù)的類別,最后再將所有分組的聚類結(jié)果進行整合。設Ω為ICD-10診斷編碼集C的首字母集,α∈Ω是其中的某個首字母,用表示首字母為α的ICD-10診斷編碼分組,Kα≤K表示此分組中并發(fā)癥的類別數(shù)量,其類別分別為l1,l2,…,lKα,Sα∈S表示在分組Cα中的種子數(shù)據(jù),Sα中的種子數(shù)據(jù)是一個Kα-劃分,為了使ConstrainedK-means算法能夠有效進行,要求Cα中的每一個劃分,都至少包含一個種子數(shù)據(jù)x∈Sα。組Cα的聚類任務是通過該組的種子數(shù)據(jù),指導聚類過程得到一個該組的Kα-劃分為相應劃分的中心,使得Cα中所有的ICD-10診斷編碼能夠利用以種子數(shù)據(jù)形式給出的先驗醫(yī)學知識,盡可能正確地將目標疾病的相同并發(fā)癥聚在一起。
算法1: 分組的半監(jiān)督并發(fā)癥聚類算法。
輸入:ICD-10編碼集以及科室就診頻率;種子數(shù)據(jù)集。
輸出:ICD-10編碼集的一個K-劃分。
算法描述:
初始化Ω為數(shù)據(jù)集C的首字母集
對于糖尿病并發(fā)癥的分類,從不同的角度以及不同的應用出發(fā),有很多不同的劃分。在參考文獻[10]中依據(jù)身體系統(tǒng)的不同,將糖尿病慢性并發(fā)癥基于ICD-9編碼劃分為心血管疾病、腎病、視網(wǎng)膜病、周圍血管疾病、中風、神經(jīng)病變、新陳代謝病七大類,用來計算糖尿病并發(fā)癥嚴重指數(shù)(diabetes complications severity index,DCSI)。在對此工作的擴展研究中[11],將中風修改為腦血管疾病。在參考文獻[2]中,首先將糖尿病并發(fā)癥分為急性并發(fā)癥、慢性并發(fā)癥以及其他三大類,然后對每一大類再進行細分,具體的分類結(jié)果如圖1所示。
在我國早期的糖尿病報告卡管理中,對于新增并發(fā)癥記錄的選項有酮酸癥中毒、高滲性高血糖狀態(tài)、糖尿病乳酸性酸中毒、糖尿病腎臟病變、視網(wǎng)膜病變和失明、糖尿病神經(jīng)病變、糖尿病心腦血管病、下肢血管病變、糖尿病足,這也是對糖尿病并發(fā)癥的一種劃分。
國際糖尿病聯(lián)合會將糖尿病并發(fā)癥首先分為兩大類:急性并發(fā)癥與慢性并發(fā)癥。其中急性并發(fā)癥被細分為低血糖、酮酸癥中毒、高滲性高血糖狀態(tài)、高血糖糖尿病昏迷、癲癇或失去意識、感染;慢性并發(fā)癥包括微血管并發(fā)癥和大血管并發(fā)癥。微血管并發(fā)癥包括腎病、視網(wǎng)膜病變以及神經(jīng)病變,大血管并發(fā)癥包括冠心病(會導致心絞痛、心肌梗死)、外周動脈疾?。〞е轮酗L、糖尿病腦病和糖尿病足)。另外,糖尿病還會使癌癥、肺結(jié)核、生理殘疾和認知障礙、抑郁癥等疾病的發(fā)病率上升[12]。
根據(jù)以上醫(yī)療領域的知識,本文將糖尿病并發(fā)癥的類別設為13種,分別是:急性并發(fā)癥、感染性疾病、心血管類疾病、腎病、眼病、周圍血管疾病、腦血管疾病、神經(jīng)病變、代謝類疾病、癌癥、肌肉骨骼類疾病、免疫系統(tǒng)疾病、精神疾病??紤]到算法的需要,對糖尿病自身的編碼單獨設置一類,另外再設置一類不屬于以上13種并發(fā)癥的其他并發(fā)癥,則算法中的并發(fā)癥總類別數(shù)為15,即K=15。
圖1 醫(yī)學領域中關(guān)于糖尿病并發(fā)癥的一種分類方法
本文的數(shù)據(jù)來源是整合了上海市7家醫(yī)院以及10家社區(qū)醫(yī)院臨床診療數(shù)據(jù)的區(qū)域衛(wèi)生平臺,按照 ICD-10診斷編碼從中篩選了至少有一次診斷在 E10~E14范圍內(nèi)的患者長達4年(2012—2015年)的電子病歷,在28 910條有科室信息的記錄中共整理出758種ICD-10診斷(只取前4位)。出現(xiàn)次數(shù)最頻繁的前15個科室與ICD-10診斷編碼的具體頻數(shù)分別如圖2(a)與圖2(b)所示。
本文對CSSC-G算法與沒有分組的聚類算法進行了比較,并分別展示了不同數(shù)量的種子數(shù)據(jù)對算法聚類效果的影響,從實驗結(jié)果來看,采用分組策略的聚類算法明顯優(yōu)于沒有進行分組的聚類方法。不分組的慢性病并發(fā)癥聚類(complications semi-supervised clustering,CSSC)算法也是基于ConstrainedK-means算法框架的,但是沒有根據(jù)首字母的不同對數(shù)據(jù)集進行分組。
CSSC算法將所有的疾病診斷編碼放在一起進行聚類,但首字母的不同也意味著數(shù)據(jù)點之間的距離增大。為了體現(xiàn)首字母對數(shù)據(jù)點之間距離的影響,CSSC算法采用一個分段函數(shù)來度量包含首字母的不同ICD-10診斷編碼間的距離。當疾病診斷編碼的首字母相同時,使用同CSSC-G算法相同的距離計算方法,當編碼首字母不同時,給定一個常數(shù)作為距離,因為首字母不同意味著診斷編碼所代表的疾病之間的距離要比首字母相同的時候大,所以該常數(shù)的取值應該大于首字母相同情況下編碼距離的最大值。具體如式(2)所示。
距離|int_C(C1)-int_C(C2)|的取值范圍是0~99,因此當編碼首字母不同時,CSSC算法取常數(shù)值100作為其距離。
兩種算法采用的聚類策略不同,對種子數(shù)據(jù)的要求也不同。在CSSC-G算法中每一個分組是分別進行聚類的,因此要求每一個分組中的每一個簇至少包含一個種子數(shù)據(jù),即任意一個ICD-10診斷編碼分組中的每一個簇至少包含一個種子數(shù)據(jù)。而CSSC算法只需要所有數(shù)據(jù)中的每一個簇至少包含一個種子數(shù)據(jù),即對于K類并發(fā)癥,每一類至少包含一個種子數(shù)據(jù)。圖3展示了CSSC算法與CSSC-G算法在以上兩種情況下,不同種子數(shù)量占比對聚類效果的影響。
從圖3(a)中可以看到,即使種子數(shù)據(jù)只滿足CSSC算法的要求,CSSC-G算法對聚類效果也有明顯的提升,且隨著種子數(shù)據(jù)數(shù)量占比的增加,兩種算法的聚類效果都有不同程度的提升。CSSC-G算法的聚類性能在有些情況下會有明顯的下降,比如在種子數(shù)量占比為0.26時,造成這種情況的主要原因是給定的種子數(shù)據(jù)不滿足CSSC-G算法的要求,盡管如此,CSSC-G算法的聚類效果總是優(yōu)于CSSC算法的。
圖3(b)說明,在種子數(shù)據(jù)滿足CSSC-G算法要求的情況下,CSSC算法的性能會隨著種子數(shù)據(jù)數(shù)量占比的增加而穩(wěn)步提升,而CSSC-G算法在種子數(shù)據(jù)量較少的情況下(數(shù)量占比為0.25)就達到了較好的聚類效果(正確率在80%以上)。隨著種子數(shù)據(jù)量的增加,聚類效果提升很快,當種子數(shù)據(jù)量占比是0.31時就達到了90%以上,之后再增加種子數(shù)據(jù)對CSSC-G算法的效果提升不是很大(盡管還是在提升)。造成這種結(jié)果的原因是在CSSC-G算法中,當種子數(shù)據(jù)量達到一定比例以后(在本實驗中是0.31),每一組中種子數(shù)據(jù)的分布已經(jīng)能夠較好地表達并發(fā)癥的分類特點,在增加的種子數(shù)據(jù)中有很多是不用再增加其他先驗知識就可以得到正確分類的數(shù)據(jù),而且新增加的種子數(shù)據(jù)對每一組中其他數(shù)據(jù)聚類結(jié)果的影響也不大,因此再增加種子數(shù)據(jù)對此算法的提升作用不是很大。而對于CSSC算法,由于沒有采用分組策略,需要更多的種子數(shù)據(jù)來更好地表達并發(fā)癥在整體數(shù)據(jù)集中的分類特點,因此隨著種子數(shù)據(jù)的增加,CSSC算法的效果一直在逐步提升。但從總體來看CSSC-G算法的聚類效果在各種種子數(shù)據(jù)占比的情況下一直優(yōu)于CSSC算法。
綜上所述,無論是在所給種子數(shù)據(jù)滿足CSSC-G算法要求的情況下,還是在只滿足CSSC算法要求的情況下,本文提出的CSSC-G算法在聚類效果上都有很大的優(yōu)勢,并且CSSC-G算法能在比CSSC算法擁有更少種子數(shù)據(jù)的情況下,獲得更好的聚類效果。
圖2 科室和ICD-10編碼的頻數(shù)
圖3 種子數(shù)據(jù)滿足不同算法要求情況下不同種子數(shù)占比對聚類效果的影響
本文提出的基于ICD-10診斷編碼的慢性病并發(fā)癥半監(jiān)督聚類算法,利用以種子數(shù)據(jù)形式給出的目標慢性病并發(fā)癥先驗分類知識,輔助臨床醫(yī)師完成對電子病歷中出現(xiàn)的所有與目標疾病患者有關(guān)的相關(guān)并發(fā)癥歸類工作,在數(shù)據(jù)的分析與處理方面減輕了臨床醫(yī)師們的負擔。本文所提算法只應用到了糖尿病及其并發(fā)癥分析中,若提供其他目標慢性病數(shù)據(jù)集以及相關(guān)種子數(shù)據(jù)集,也能用于其他慢性病的并發(fā)癥分析。實驗結(jié)果表明,對于基于ICD-10診斷編碼的慢性病并發(fā)癥聚類問題,采用分組策略的算法要明顯優(yōu)于不采用分組策略的算法,并且采用分組策略的算法利用更少的種子數(shù)據(jù)就能夠較好地反映并發(fā)癥的分布特點,從而獲得更好的聚類效果。
[1]WANG X, SONTAG D, WANG F.Unsupervised learning of disease progression models[C]// The 20th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining,August 24-27, 2014, New York, USA.New York: ACM Press, 2014: 85-94.
[2]JOHNSON L W, WEINSTOCK R S. Medical complications of diabetes mellitus[M].Hoboken: John Wiley & Sons, Inc, 2014.
[3]CHAPELLE O, SCH?LKOPF B, ZIEN A.Semi-supervised learning[M]. Cambridge:MIT Press, 2006.
[4]李昆侖, 曹錚, 曹麗蘋, 等. 半監(jiān)督聚類的若干新進展[J]. 模式識別與人工智能, 2009,22(5): 735-742.LI K L, CAO Z, CAO L P, et al. Some developments on semi-supervised clustering[J]. Pattern Recognition And Artificial Intelligence, 2009, 22(5): 735-742.
[5]ZHU X J, GOLDBERG A B. Introduction to semi-supervised learning[J]. Synthesis Lectures on Artificial Intelligence and Machine Learning, 2009, 3(1): 130.
[6]HUYEN D T T, LE H S, TUAN T M, et al.Semi-supervised fuzzy co-clustering for hospital-cost analysis from electronic medical records[C]// The 8th IEEE International Conference on Knowledge and Systems Engineering, October 6-8,2016, Hanoi, Vietnam. Piscataway: IEEE Press, 2016: 25-30.
[7]PHUONG N D, CHAU V T N, BAO H T. A hybrid semi-supervised learning approach to identifying protected health information in electronic medical records[C]// The 2016 ACM International Conference on Ubiquitous Information Management and Communication, January 4-6, 2016,Danang, Vietnam. New York: ACM Press,2016: 80.
[8]KHAN F M, KULIKOWSKI C A.Survival analysis via transduction for semi-supervised neural networks in medical prognosis[C]// The 2015 IEEE International Conference on Bioinformatics and Biomedicine, November 9-12, 2015,Washington, DC, USA. Piscataway: IEEE Press, 2015: 433-437.
[9]BASU S, BANERJEE A, MOONEY R J. Semi-supervised clustering by seeding[C]// The 19th International Conference on Machine Learning, July 8-12, 2002, Sydney, Australia. New York: ACM Press, 2002: 27-34.
[10]YOUNG B A, LIN E, KORFF M V, et al.Diabetes complications severity index and risk of mortality, hospitalization, and healthcare utilization[J]. American Journal of Managed Care, 2008, 14(1): 15-23.
[11]GLASHEEN W P, RENDA A, DONG Y T.Diabetes complications severity index(DCSI)-update and ICD-10 translation[J].Diabetes Complications, 2017, 31(6):1007-1013.
[12]International Diabetes Federation[R]. IDF Diabetes Atlas 8th Edition, 2017.