###### tags: `paper`
# BEHRT: Transformer for Electronic Health Records
[TOC]
## Author
* ==Deep Medicine, Oxford Martin School, University of Oxford, Oxford, United Kingdom==
* Yikuan Li
* Shishir Rao
* José Roberto Ayala Solares
* Abdelaali Hassaine
* Rema Ramakrishnan
* Dexter Canoy
* Yajie Zhu
* Kazem Rahimi
* Gholamreza Salimi-Khorshidi
## 不知道在幹嘛
* concepts
* 診斷、干預、實驗室測試、臨床敘述
## Abstract
BEHRT: A deep neural sequence transduction model for electronic health records (EHR), capable of simultaneously predicting the likelihood of **301 conditions** in one’s future visits. When trained and evaluated on the data from nearly **1.6 million individuals**, BEHRT shows a striking improvement of **8.0–13.2%** (in terms of average precision scores for diferent tasks), over the existing state-of-the-art deep EHR models
*
## Introduction
* Ardila 藉由斷層影像預測肺癌的風險,有 94.4% 的準確度
* Poplin 藉由視網膜眼底照片預測一系列的心血管風險因子
* 國家的 EHR 系統,可以連結到個人的診斷、干預、實驗室測試、臨床敘述,只要一個人住一次院,就可以產生大量的資料,以便於訓練模型
* 近期的DL,不需要特別經過處理的資料和專家的指導,經過一層一層的layer 就可以有答案ㄌ
* Tran 使用 RBM 學習 EHR,可以預測一個人的自殺風險
* Miotto 展示出 SDA ,從 EHR 預測一些疾病,他的 model 優於其他的 feature extraction 和 feature transformation 的方法
* 早期的研究沒有考慮到 EHR資料的小缺點
* 可能有人很少生病,所以獲得的看診時間間隔不一
* 時間順序和事件
* 利用 embedding 的技術, 將不是數字的資料轉換到代數空間
* Nguyen 使用 CNN 預測再次入院的機率,把醫療歷史看成一系列的概念,並在每兩次看診的紀錄中間插入特殊的字來表示時間差
* Choi 使用 RNN 來預測下一次看醫生的診斷結果與藥物
* DL 用在 EHR 上的進展,能夠捕捉這些事件的長期依賴關係 (如:糖尿病在第一次發生以後會對一個人以後的人生帶來影響)
* BERT 是在 NLP 裡有利的 Transformer 的結構
## Methods
### Data
* 資料使用
* Clinical Practice Research Datalink (CPRD)
* longitudinal primary care data (縱向初級保健數據)
* 英國 674 家 GP(全科醫生、家庭醫生)診所
* 覆蓋了3500 萬患者,1000萬註冊
* 最新的是覆蓋了 6000 萬患者,1600 萬註冊
* 年齡 性別 種族
* 二級保健(即住院事件統計數據或 HES )
* 英格蘭國民健康服務 (NHS) 醫院所有入院的住院、門診、意外和急診
* 占英格蘭大約 75% CPRD GP 診所(佔英國所有 CPRD GP 診所的 58%)
* 只考慮了同意(並因此具有)與 HES 記錄關聯的 GP 診所數據
* 其他健康和行政數據庫(例如,國家統計局死亡登記處)。
### Pre-processing of CPRD

* 留下至少有5次看診紀錄的病人
* 使用 160萬 進行 training 和 evaluate
* 使用 Read code 和 ICD-10 分類 '疾病'
* ICD-10 : https://dep.mohw.gov.tw/dos/lp-2490-113-xCat-02-1-20.html
* 感覺應該是把疾病分成 G = 301 disease code
* 標示第 p 個病患的 EHR 為 $V_p = \{v^1_p,v^2_p,\dots,v^{n_p}_p\}$
* $n_p$ 看了幾次病
* $v^j_p$ 第 j 次看病
* $v^j_p =\{d_1, \dots,d_{m^j_p}\}$ 第 j 次的診斷結果
* $m^j_p$ 診斷出的數量
* $d_i$ disease code
* $V_p = \{CLS,v^1_p,SEP,v^2_p,SEP,\dots,v^{n_p}_p,SEP\}$
* CLS 表示一開始看病
* SEP 表示看病的間隔

### BEHRT: A Transformer-based Model for EHR
* 預測未來會診斷出啥疾病,這是一個 multi-label classification problem
* C.1 時間序列問題
* C.2 早期的疾病對於未來的影響
* C.3 看病的次數不同
* C.4 看病的區間不同
> 
> 
> * 沒有 visit 1 跟 visit 4 應該是因為在 figure 2 沒有診斷出東西
> * <div style='color:red'>不知道,position 是啥</div>
> * 對於大多的疾病而言 Age 是一個關鍵的風險因子,
> * segment 使用 A,B 做區分,用來作為 2 次 看病的區分點
* EHR 的時間序列 和 nlp 的概念相同,所以可以用 nlp 的方式
* 每個診斷是 words,每次看診是一個 sentence,病人的整個病歷是一個document
* BEHRT 是 multi-head self-attention, positional encoding, and masked language model (MLM), for EHR
* 使用 feed-forward neural (可以平行學習,而不是sequence),而不是 RNN (可能會有梯度爆炸或是梯度消失的問題)、CNN(只能擷取有限大小的資訊)
* positional encoding 扮演了學習 sequence 的重要角色
* 每次看醫生的診斷結果沒有前後順序
### Pre-training BEHRT using masked language model(MLM)
* 目標是學習被遮起來的字 (binary class,threshold = 0.5)
* 隨機初始化 disease, age, segment
* 86.5% 的 words 不變,12% 使用 [mask] 取代,1.5%的字使用隨機選**疾病單字**處理
* 12% + 1.5% 是為了使 model 可以克服 noise
### Disease Prediction
* 首先隨機將病患分成training 80%,testing 20%
* 預測接下來會得啥病
* 評估三個預測任務
1. 下次看病會得哪些病(T1)
* 隨機選 index j ($3 < j < n_p$),表示成 $x_p = \{v^1_p,\dots,v^j_p\}$ 和 $y_p = W_{j+1}$
* $W_{j+1}$ 是 multi-hot vector,如果是 1 ,表示 $v^{j+1}_p$ 會得那個病
* j 表示 第 j 次看病
* $n_p$ 看了幾次病
* 每個病患只會有一筆的 input-output pair
* 最後有 69.9 萬個病人
3. 接下來 6 個月會得啥病(T2)
* 如果資料不足 6 個月的資料,則被剃除
* index j = ($3 < j < n*$),這裡的 n* 是指之後還有大於 6 個月的看診時間
* 最後有 39.1 萬個病人
5. 接下來 12 個月會得啥病(T3)
* 如果資料不足 12 個月的資料,則被剃除
* index j = ($3 < j < n*$),這裡的 n* 是指之後還有大於 12 個月的看診時間
* 最後有 34.2 萬個病人
* 對於每個病人表示成 $y^*_p$ 預測結果,$y'_p$ 是正確答案
### Resources and Implementation
* GPU = Titan Xp
* 使用 BertAdam ,optimizer
## Results
### Disease Embedding
*
### Attention and Interpretability
*
### Disease Prediction
*
## Discussion
*
## Note
:::spoiler
{%pdf https://www.nature.com/articles/s41598-020-62922-y.pdf %}
{%pdf https://static-content.springer.com/esm/art%3A10.1038%2Fs41598-020-62922-y/MediaObjects/41598_2020_62922_MOESM1_ESM.pdf %}
:::
## Knowledge
* - [Transformer](https://hackmd.io/@abliu/BkXmzDBmr)