このブログでは、統計解析ソフトStataのプログラミングのTipsや便利コマンドを紹介しています.
Facebook groupでは、ちょっとした疑問や気づいたことなどを共有して貰うフォーラムになっています. ブログと合わせて個人の学習に役立てて貰えれば幸いです.
さて、併存疾患をまとめてスコア化するCharlson comorbidity indexに関してですが、前回の理論編に引き続き、今日はStataのユーザーコマンドである”charlson”について、その使い方を解説してみたいと思います.
このコマンドに含まれるアルゴリズムは、
Charlson Comorbidity (17疾患)(J Chron Dis, 1987;40(5):373-383)
- Deyo modification for ICD-9-CM (J Clin Epi, 1992;45(6):613-619)
- Quan’s EnhancedICD-9-CM (Medical Care, 2005;43(11):1130-1139)
- Quan’s ICD-10 (Medical Care, 2005;43(11):1130-1139)
Elixhauser comorbidity (30 疾患)(Medical Care, 1998:36(1):8-27)
- Quan’s Enhanced ICD-9-CM (Medical Care, 2005;43(11):1130-1139)
- Quan’s ICD-10 (Medical Care, 2005;43(11):1130-1139)
です.疾患毎に以下のようなスコアによる重み付けがされています.
CHARLSON COMORBIDITY | ASSIGNED WEIGHTS |
---|---|
1. Myocardial infarction | 1 |
2. Congestive heart failure | 1 |
3. Peripheral vascular disease | 1 |
4. Cerebrovascular disease | 1 |
5. Dementia | 1 |
6. Chronic pulmonary disease | 1 |
7. Rheumatic disease | 1 |
8. Peptic ulcer disease | 1 |
9. Mild liver disease | 1 |
10. Diabetes without chronic complication | 1 |
11. Diabetes with end organ damage | 2 |
12. Hemiplegia / paraplegia | 2 |
13. Renal disease | 2 |
14. Any malignancy/lymphoma/leukemia | 2 |
15. Moderate or severe liver disease | 3 |
16. Metastatic solid tumor | 6 |
17. AIDS/HIV | 6 |
1.charlsonのsyntax
charlsonコマンドのSyntaxは以下のようになっています.
charlson varlist [if exp] [in range], index(string) [idvar(varname) diagprfx(string) assign0 wtchrl cmorb noshow]
いつものようにfindit charlsonとして探してみてください.
このcharlsonというところをクリックしていただき、インストールします.(ネットワーク環境下でお願いしますね!)
使い方ですが、
1)index (string):ここにはどのコードの組み合わせを使うかを指定します.ICD10なら「10」を入れます.
- ICD-9-CM (charlson): c
- Enhanced ICD-9-CM (charlson/elixhauser): e
- ICD-10 (charlson/elixhauser): 10
2)idvar(varname):患者識別符号のこと.特に1人の対象者が複数の行に渡ってデータを持つときには必須です.
3)diagprfx(string) :varlistのところにもコードを入れておけますが、そちらにない場合には必須.common root of the comorbidity variablesを入れることになっています.
4)assign0: ヒエラルキーメソッドを当てはめる際のフラグになります.
ここまでがデータセットの中の変数指定になります.次は出力形式に関するオプションです.
5)wtchrl :Charlson Index の要約値を返します.
6)cmorb:それぞれの併存疾患の頻度を表示します
7)noshow :上記含めて結果のウィンドウに表示をしないことを表します.
2.試しに使ってみる
サンプルデータをいれて実際に使ってみましょう.ICD-9-CMコードでCharlson Comorbidity Indexを振ってみましょう.
input str6 patientid str6 diag1 str6 diag2 str6 diag3
id1 39891 5834 342
id2 930 . .
id3 2500 2507 .
id4 342 2500 3441
id5 3441 342 .
id6 2500 5722 .
id7 5722 196 .
id8 42 . .
id9 V427 4561 .
id10 176 197 V427
end
Enhanced ICD-9-CMを使ってやってみることにします.
charlson, index(e) diagprfx(diag) wtchrl cmorb
結果のwindowにはこのような記載が表示されます.
データエディタを覗いてみると、もともと入れたデータの右側にCharlson Comorbidity Indexに指定された17疾患の有無が表示されます.
そして各疾患がどんな分布になっているかをサマリしてくれています.
疾患毎の有無もこれで一目瞭然です.
まとめ
あとはデータを加工するプロセスさえしっかりとやれればいいですね.ちなみにIDですが、visitごとにも分けたい場合にはもとのID+visit番号のような変数(あるいは日付の変数など)を作ってあげればそれを新たなIDとしてまとめることができます.
また、1人複数行でもきちんとworkすることを確認しました.
clear
input str6 patientid str6 diag1 str6 diag2 str6 diag3
id1 39891 5834 342
id1 930 . .
id1 2500 2507 .
id4 342 2500 3441
id5 3441 342 .
id6 2500 5722 .
id1 5722 196 .
id8 42 . .
id9 V427 4561 .
id10 176 197 V427
end
charlson, index(e) idvar(patientid) diagprfx(diag) wtchrl cmorb
手持ちのデータを使ってやってみてはいかがでしょうか.
コメント