Charlson Comorbidity Indexで併存疾患をまとめる②実践編

プログラミング

このブログでは、統計解析ソフト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  COMORBIDITYASSIGNED WEIGHTS
1.      Myocardial infarction1
2.      Congestive heart failure1
3.      Peripheral vascular disease1
4.      Cerebrovascular disease1
5.      Dementia1
6.      Chronic pulmonary disease1
7.      Rheumatic disease1
8.      Peptic ulcer disease1
9.      Mild liver disease1
10.    Diabetes without chronic complication1
11.    Diabetes with end organ damage2
12.    Hemiplegia / paraplegia2
13.    Renal disease2
14.    Any malignancy/lymphoma/leukemia2
15.    Moderate or severe liver disease3
16.    Metastatic solid tumor6
17.    AIDS/HIV6

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

手持ちのデータを使ってやってみてはいかがでしょうか.

コメント

タイトルとURLをコピーしました