CALENDERプロシジャで有害事象発現カレンダーを作成する_proc calenderにもっと光を!!

CALENDERプロシジャは古くからあるプロシジャで、とてもユニークな機能を持つプロシジャでありながら、取り上げられることがほとんどなく、バージョンを経ても機能が追加されたりアウトプットが綺麗になったりすることもない不遇のプロシージャだと思います。

CALENDERプロシジャの機能は、情報を付与した拡張カレンダーを作成することです。

今回は深遠なるCALENDERプロシジャの世界の、ほんの表面を舐めてみます。
詳しくはhelpなりプロシージャガイドを見てください。また面白い使い方見つけたらぜひ教えてください。

たとえば、臨床試験のデータをレビューしていると、有害事象や併用薬のデータのように、開始日と終了日をもったレコードが1症例の中でたくさん発生することがあります。
そして、同事象の発現期間がかぶっていたり、有害事象Aに使用した併用薬Bの使用期間がかぶっていないなど、レコード間での不整合が発生していることもよくあります。

そういった期間をもったレコードを総合的にレビューしたい、なんて時にカレンダー化することはとても役に立ちます。


今、以下のようなAEのデータがあったとします

data AE;
 USUBJID='T001';AETERM='頭痛 ';AESTDT='03OCT2013'd;AEENDT='06OCT2013'd;output;
 USUBJID='T001';AETERM='貧血 ';AESTDT='04OCT2013'd;AEENDT='09OCT2013'd;output;
 USUBJID='T001';AETERM='めまい';AESTDT='09OCT2013'd;AEENDT='20OCT2013'd;output;
 USUBJID='T001';AETERM='鼻出血';AESTDT='10OCT2013'd;AEENDT='25OCT2013'd;output;
format AESTDT AEENDT yymmdds10.;
run;

proc sort data=AE;
 by USUBJID AESTDT;
run;









これをカレンダーにしたいと思います。

ods pdf file='D:\sas.pdf';
title "有害事象カレンダー";

proc calendar data=AE;
 start AESTDT;
 fin AEENDT;
 by USUBJID;
run;

ods pdf close;


ods pdfでPDF化してますが、そこはHTMLでもなんでも好きにしてください。

まずproc calenderでデータセットを指定して
startステートメントで開始日をfinステートメントで終了日を指定します。それだけです。

すると


上図が作成されたPDFを開いたものになります。

どうですが、どのAEの発現が同時期であるかわかりやすいですよね。
ステートメントの指定を複雑にすることで、さらに見やすいカレンダーを作成できます。

が、、なにぶん、基本となるOUTPUTの見栄えがplotプロシジャレベルから進歩していないので
限界があります。
SAS9.5とかでCALENDERプロシジャの大幅なテコ入れとかないですかね?絶対ないでしょうね。

あと、CRCの方に検査スケジュールカレンダーを症例ごとに作ってあげたりする時なんかにも
使えまず。まあ、EXCELでVBAとかで作った方が見栄えはきれいかもしれませんが。。
むしろそういったスケジュール作成系のアプリなんか、最近はいくらでもあるんですかね、、、

PROC CALENDERにもっと光を!!








0 件のコメント:

コメントを投稿