sgプロシジャとgtlによるグラフの作成と ods pdfによる統...
TRANSCRIPT
SASユーザー総会 2011
SGプロシジャとGTLによるグラフの作成とODS PDFによる統合解析帳票の作成 ~TQT試験における活用事例~
武田薬品工業株式会社 高浪 洋平
SASユーザー総会 2011
2
今日のお話
1. SGプロシジャとGTL
SGプロシジャの概要
SGプロシジャの使用方法
GTLの使用方法
SGプロシジャとGTLの応用例
2. TQT試験における活用事例
TQT試験の概要
活用事例の試験デザイン及びテストデータ
TQT試験で求められる解析
ODS PDFを用いた簡易解析帳票の作成
3. おわりに
SASユーザー総会 2011
3
今日のお話
1. SGプロシジャとGTL
SGプロシジャの概要
SGプロシジャの使用方法
GTLの使用方法
SGプロシジャとGTLの応用例
2. TQT試験における活用事例
TQT試験の概要
活用事例の試験デザイン及びテストデータ
TQT試験で求められる解析
ODS PDFを用いた簡易解析帳票の作成
3. おわりに
SASユーザー総会 2011
SGプロシジャの前に・・・ ODS Graphics
– ODS Graphicsステートメントとともに統計プロシジャを実行すると、自動的に綺麗なグラフを作成してくれる便利な機能
– V9.2ではほとんどのメジャーな統計プロシジャに対応している
– とにかく指定が簡単
4
ODS Graphics on ; <Stat Procedures> ODS Graphics off ;
SASユーザー総会 2011
SGプロシジャの前に・・・ ODS Graphics
– ODS Graphicsステートメントとともに統計プロシジャを実行すると、自動的に綺麗なグラフを作成してくれる便利な機能
– V9.2ではほとんどのメジャーな統計プロシジャに対応している
– とにかく指定が簡単
5
ods html ; ods graphics on ; proc reg ; model weight=age ; run ; ods graphics off ; ods html close ;
SASユーザー総会 2011
SGプロシジャ(Statistical Graphics Procedure)の概要
SGプロシジャの種類
6
SGプロシジャ 概要
SGPLOT 様々な種類のグラフを作成する。SGプロシジャのメインとなるプロシジャ。
SGPANEL 層ごとに分割してグラフを作成する(作成できるグラフの種類はSGPLOTプロシジャとほぼ同様)。
SGSCATTER 散布図の作成に特化したプロシジャで、散布図行列も作成できる。
SGRENDER GTLでカスタマイズしたグラフテンプレートを読み込んでグラフを作成する。
SASユーザー総会 2011
テストデータ データセットTEST:ID・VISITごとに1レコード
7
SASユーザー総会 2011
SGPLOTプロシジャ メインとなるプロシジャ
– 数多くのグラフを作成可能
8
*** 主なステートメント ; proc sgplot data=<dataset> ; <graphs> ; xaxis ; yaxis ; refline ; keylegend ; quit ;
ステートメント 効果
<graphs> 各グラフの定義
xaxis 横軸の定義
yaxis 縦軸の定義
refline 参照線の定義
keylegend 凡例の定義
SASユーザー総会 2011
SGPLOTプロシジャ メインとなるプロシジャ
– 数多くのグラフを作成可能
9
グラフの種類 ステートメント
バンド幅 BAND X= variable | Y= variable UPPER= numeric-value | numeric-variable LOWER= numeric-value | numeric-variable </option(s)>;
密度推定 DENSITY response-variable </option(s)>;
ドットプロット DOT category-variable </option(s)>;
楕円グラフ ELLIPSE X= numeric-variable Y= numeric-variable </option(s)>;
棒グラフ HBAR</VBAR> category-variable < /option(s) >
箱ひげ図 HBOX</VBOX> response-variable </option(s)>;
ヒストグラム HISTOGRAM response-variable < /option(s)>
折れ線グラフ HLINE</VLINE> category-variable < /option(s)>
Loess曲線 LOESS X= numeric-variable Y= numeric-variable </option(s)>;
ニードルプロット NEEDLE X= variable Y= numeric-variable </option(s)>;
Penalized B-spline curve PBSPLINE X= numeric-variable Y= numeric-variable </option(s)>;
回帰直線 REG X= numeric-variable Y= numeric-variable </option(s)>;
散布図 SCATTER X= variable Y= variable </option(s)>;
シリーズプロット SERIES X= variable Y= variable </option(s)>;
ステップグラフ STEP X= variable Y= variable </option(s)>;
SASユーザー総会 2011
SGPLOTプロシジャの使用例1 平均値・SDの推移図
– vlineで推移図を描画
– statで平均値、limitstatでSDを指定
– groupで投不群を指定、markerattrsでシンボルを指定
10
proc sgplot data=TEST ; vline VISIT / response = VAL group = TREAT stat = mean limitstat = stddev numstd = 1 markers markerattrs = (symbol=circlefilled) ; run ;
SASユーザー総会 2011
SGPLOTプロシジャの使用例2 散布図・回帰直線
– regで散布図・回帰直線を描画
– x、yで変数を指定、clm、cliで信頼区間と予測区間を指定
11
proc sgplot data=TEST ; where VISIT = 2000 ; reg x=VAL y=VAL2 / clm cli ; run ;
SASユーザー総会 2011
SGPANELプロシジャ 層ごとに分割してグラフを作成する
– グラフの種類はSGPLOTプロシジャとほとんど同じ
12
*** 主なステートメント ; proc sgpanel ;
panelby <変数1,2...> </options>; <graphs> ; rowaxis ; colaxis ; refline ; keylegend ; quit ; ステートメント 効果
panelby 層の指定・レイアウトの指定
<graphs> 各グラフの定義
rowaxis 縦軸の定義
colaxis 横軸の定義
refline 参照線の定義
keylegend 凡例の定義
SASユーザー総会 2011
SGPANELプロシジャの使用例1 平均値・SDの推移図
– panelbyで投不群・性別を指定、vlineで推移図を描画
– statで平均値、limitstatでSDを指定、markerattrs、lineattrsでシンボル、線を指定
13
proc sgpanel data=TEST ; panelby TREAT GENDER / layout = lattice novarname ; vline VISIT / response = VAL stat = mean limitstat = stddev numstd = 1 lineattrs = (color=red) markers markerattrs = (color=red symbol=circlefilled) ; rowaxis label = "Test Results" ; run ;
SASユーザー総会 2011
SGPANELプロシジャの使用例2 ヒストグラム・密度推定
– panelbyで性別を指定
– histogramでヒストグラムを描画
– density&typeオプションで密度推定を指定
14
proc sgpanel data=TEST ; panelby GENDER / layout=panel ; histogram VAL ; density VAL / type = normal name = "aaa" legendlabel = "Normal" ; density VAL / type = kernel name = "bbb" legendlabel = "Kernel" ; keylegend "aaa" "bbb" ; run ;
SASユーザー総会 2011
SGSCATTERプロシジャ
散布図関連のグラフを作成する – 散布図及び散布図行列の作成に特化したプロシジャ
15
*** 主なステートメント ; proc sgscatter ; plot y*x ; compare x=variables y=variables ; matrix variables ; quit ;
ステートメント 効果
plot 散布図作成
compare 軸を共通利用して複数の散布図作成
matrix 散布図行列を作成
SASユーザー総会 2011
SGSCATTERプロシジャの使用例1 散布図・回帰直線を横並びに出力
– compareでx軸(複数指定) 、y軸変数を指定
– regで回帰直線、clm、cliで信頼区間と予測区間を指定
16
proc sgscatter data=TEST ; compare y=VAL x=(VAL2 VAL3) / reg=(clm cli lineattrs=(color=blue)) ; run ;
SASユーザー総会 2011
SGSCATTERプロシジャの使用例2 散布図行列
– matrixで変数を指定
– diagonalで対角部分の出力を指定(ヒストグラム、正規分布、カーネル密度推定)
17
proc sgscatter data=TEST ; matrix VAL VAL2 VAL3 / diagonal=(histogram normal kernel) ; run ;
SASユーザー総会 2011
SGRENDERプロシジャ
GTLで作成したテンプレートでグラフを作成 – templateでテンプレートを読み込む
– テンプレートはGTLで作成
– Dynamic変数を指定することにより、テンプレートの再利用が可能
18
proc sgrender data = <dataset name>
template = <template name> ; *--- Templateを読み込む ; dynamic <dynamic-variable> = "<variable>" ; *--- Dynamic変数を指定 ; run ;
ステートメント 効果
template 読み込むテンプレートを指定
dynamic Dynamic変数を指定
SASユーザー総会 2011
GTL(Graph Template Language)
ユーザー独自のテンプレートを定義 – Templateプロシジャ内にGTLを記述する
19
proc template ; define statgraph template-name ; *--- グラフテンプレート定義開始 ; dynamic variables ; *--- dynamic変数定義 ; begingraph ; *--- グラフ定義開始 ; layout layout </options> ; *--- レイアウト定義 ; rowaxes ; rowaxis </options> ; endrowaxes ; *--- 縦軸定義 ; columnaxes ; columnaxis </options> ; endcolumnaxes ; *--- 横軸定義 ; layout overlay ; *--- 各グラフ定義開始 ; Graph Definition endlayout ; *--- 各グラフ定義終了 ; endlayout ; *--- レイアウト定義終了 ; endgraph ; *--- グラフ定義終了 ; end ; *--- グラフテンプレート定義終了 ; run ;
SASユーザー総会 2011
GTL(Graph Template Language)の使用例 散布図・回帰直線と棒グラフを並べて出力
– グラフ名はSGプロシジャ内と異なる
20
proc template ;
define statgraph _GTEST ; *--- テンプレート開始 ; begingraph ; *--- グラフ定義開始 ; layout lattice / columns=2 rows=1 columngutter=5px
columnweights=(.5 .5) rowdatarange=union ; *--- レイアウト開始 ; layout overlay ; *--- 1個目のグラフ開始 ; modelband "clm" ; *--- 信頼区間 ; modelband "cli" / outlineattrs=(color=blue pattern=2)
display=(outline) ; *--- 予測区間 ; scatterplot x=VAL y=VAL2 ; *--- 散布図 ; regressionplot x=VAL y=VAL2 / cli="cli" clm="clm" ; *--- 回帰直線出力 ; endlayout ; *--- 1個目のグラフ終了 ; layout overlay ; *--- 2個目のグラフ開始 ; barchart x=CAT y=VAL2 / stat=mean orient=vertical ; *--- 棒グラフ ; endlayout ; *--- 2個目のグラフ終了 ; endlayout ; *--- レイアウト終了 ; endgraph ; *--- グラフ定義終了 ; end ; *--- テンプレート終了 ; run ;
*** SGRENDERプロシジャでグラフ作成 ; proc sgrender data=TEST template=_GTEST ; run ;
SASユーザー総会 2011
GTL(Graph Template Language)の使用例 散布図・回帰直線と棒グラフを並べて出力
– グラフ名はSGプロシジャ内と異なる
21
layout overlay ; modelband "clm" ; modelband "cli" / outlineattrs=(color=blue pattern=2) display=(outline) ; scatterplot x=VAL y=VAL2 ; regressionplot x=VAL y=VAL2 / cli="cli" clm="clm" ; endlayout ; layout overlay ; barchart x=CAT y=VAL2 / stat=mean orient=vertical ; endlayout ;
SASユーザー総会 2011
SGプロシジャとGTLの応用例1 臨床検査値等の経時データの平均値推移図
– 平均値±標準偏差のプロットを作成する。
– 最終時点のみ線を引かず、黄色の網掛けを出力する。
– 投不群毎に色分けし、時点をずらして出力する。
22
proc sort data=TEST ; by VISIT ; run ;
*--- 各時点・投与群要約統計量算出 ; proc summary data=TEST nway ; class TREAT ; by VISIT ; var VAL ; output out = _SUM(drop=_FREQ_ _TYPE_) mean = _MEAN stddev = _STD ; run ; data _SUM_G ; set _SUM ;
*--- VISIT2には最終時点は格納しない ; if VISIT <= 2060 then VISIT2 = VISIT ; _STDU = _MEAN + _STD ; *--- Mean + SD ; _STDL = _MEAN - _STD ; *--- Mean - SD ;
if TREAT = 2 then do ; *--- 時点を少しずらす ; VISIT = VISIT + 3 ; VISIT2 = VISIT2 + 3 ; end ; run ;
SASユーザー総会 2011
SGプロシジャとGTLの応用例1 臨床検査値等の経時データの平均値推移図
– series: 平均値のプロット(Week 6まで)
– scatter: 平均値±標準偏差のプロット(線なし、Week 8まで)
– band: 最終時点のみ線を引かず、黄色の網掛けを出力する。
23
title "Mean-SD Plot" ; proc sgplot data=_SUM_G ;
*--- BandでWeek 8に網かけを出力 ; band y=_MEAN lower=2070 upper=2090 / transparency = 0.5
fill fillattrs = (color=yellow) ; *--- SeriesでWeek 6まで線を結ぶ ; series x=VISIT2 y=_MEAN / group = TREAT lineattrs = (pattern=1)
name = "aaa" ; *--- ScatterでMeanとSDを描画 ; scatter x=VISIT y=_MEAN / group = TREAT yerrorlower = _STDL
yerrorupper = _STDU markerattrs = (symbol=circlefilled) ; yaxis values=(30 to 80 by 10) ;
keylegend "aaa" ; *--- 凡例を出力 ; label _MEAN = "Mean" VISIT = "Visit" ; run ;
SASユーザー総会 2011
SGプロシジャとGTLの応用例2 臨床検査値等の投不群間差及び信頼区間プロット
– ttestプロシジャで各時点の群間差及び95%信頼区間を算出
– scatter、xerrorlower、xerrorupperで群間差・95%CIをプロット
24
ods output Conflimits=_CLM(where=(method="Pooled")) ; proc ttest data=TEST ; by VISIT ; var VAL ; class TREAT ; run ; ods output close ; proc sgplot data=_CLM ; scatter x=Mean y=VISIT / markerattrs = (symbol=circlefilled color=black) xerrorlower = LowerCLMean xerrorupper = UpperCLMean errorbarattrs = (color=black) ; xaxis values=(-12 to 4 by 2) offsetmin=0.05 ; yaxis offsetmin=0.05 ; refline VISIT / axis=y lineattrs=(pattern=1) transparency=0.6 ; refline 0 / axis=x lineattrs=(pattern=2) transparency = 0.3 ; label Mean = "Mean Difference between treatments" ; run ;
SASユーザー総会 2011
SGプロシジャとGTLの応用例3 有害事象の発現率及びリスク比プロット
– GTLによりテンプレートを作成し、SGRENDERプロシジャで呼び出してグラフを出力
– 左にAEの各群の発現率プロット・右側にリスク比+信頼区間のプロット
– あらかじめAEの発現率、リスク比と信頼区間を格納したデータセットを作成しておく!
25
各群の発現率(%) リスク比(信頼下限・上限) 有害事象
SASユーザー総会 2011
SGプロシジャとGTLの応用例3 有害事象の発現率及びリスク比プロット
– GTLによりテンプレートを作成し、SGRENDERプロシジャで呼び出してグラフを出力
– 左にAEの各群の発現率プロット・右側にリスク比+信頼区間のプロット
– あらかじめAEの発現率、リスク比と信頼区間を格納したデータセットを作成しておく!
26
SASユーザー総会 2011
SGプロシジャとGTLの応用例3 Graphical Template Language (GTL)
27
proc template ; define statgraph _AEPCTRR ; *--- テンプレート定義 ; dynamic VAR1 VAR2 EST LOWER UPPER TITLE VLABEL HLABEL ; *--- dynamic変数定義 ; begingraph ; *--- グラフ定義開始 ; entrytitle TITLE ; layout lattice / columns=2 rows=1 columngutter=5px columnweights=(.5 .5) rowdatarange=union ; *--- レイアウト定義; rowaxes ; rowaxis / label=VLABEL ; endrowaxes ; *--- 縦軸定義 ; columnaxes ; columnaxis / label=HLABEL ; endcolumnaxes ; *--- 横軸定義 ; layout overlay ; *--- 1個目のグラフ定義 ; referenceline y=PT_NAME / lineattrs=(color=lightgray pattern=2) ; scatterplot x=VAR1 y=PT_NAME / markerattrs=(symbol=trianglefilled) name="p" legendlabel="Placebo" ; *--- 発現率1 ; scatterplot x=VAR2 y=PT_NAME / markerattrs=(symbol=square) name="a" legendlabel="TAK-XXX Xmg"; *--- 発現率2 ; discretelegend "p" "a" / valign=bottom ; endlayout ; layout overlay / xaxisopts=(linearopts=(viewmin=0 viewmax=10 tickvaluesequence=(start=0 end=10 increment=1))) ; *--- 2個目のグラフ定義 ; referenceline x=1 / lineattrs=(color=lightgray pattern=1) ; *--- 縦線 ; referenceline y=PT_NAME / lineattrs=(color=lightgray pattern=2) ; *--- 横線 ; scatterplot x=EST y=PT_NAME / errorbarattrs = (pattern=1 color=black) markerattrs = (color=black symbol=circlefilled) xerrorlower = LOWER xerrorupper = UPPER ; *--- リスク比プロット ; endlayout ; endlayout ; *--- レイアウト定義終了 ; endgraph ; *--- グラフ定義終了 ; end ; *--- テンプレート定義終了 ; run ;
発現率
リスク比
SASユーザー総会 2011
SGプロシジャとGTLの応用例3 SGRENDERプロシジャ
– templateでテンプレートを読み込んでグラフを作成
28
proc sgrender data=AE template=_AEPCTRR ; *--- 定義したテンプレートを読み込んでグラフ出力 ; label _G_1="Percentage" Value='Relative Risk with 95% CI' ; dynamic VAR1="_G_1" VAR2="_G_2" EST="Value" LOWER="LowerCL" UPPER="UpperCL" HLABEL="Percentage and Relative Risks" VLABEL="Preferred Term"
TITLE="Percentages and Relative Risks" ; *--- Dynamic変数指定 ; run ;
動的変数(プロシジャ実行時に値を不える)
dynamic VAR1 VAR2 EST LOWER UPPER TITLE VLABEL HLABEL ;
GTLではdynamic変数として定義する。
SASユーザー総会 2011
SGプロシジャとGTLの応用例3 出力結果(再掲)
29
発現率
リスク比
layout lattice / columns=2 rows=1 columngutter=5px columnweights=(.5 .5) rowdatarange=union ;
SASユーザー総会 2011
30
今日のお話
1. SGプロシジャとGTL
SGプロシジャの概要
SGプロシジャの使用方法
GTLの使用方法
SGプロシジャとGTLの応用例
2. TQT試験における活用事例
TQT試験の概要
活用事例の試験デザイン及びテストデータ
TQT試験で求められる解析
ODS PDFを用いた簡易解析帳票の作成
3. おわりに
SASユーザー総会 2011
TQT試験の概要 TQT試験とは(下線部はE14ガイドライン抜粋)
– 薬物による心室の再分極遅延の可能性を評価するための臨床試験 ⇒つまり、トルサード・ド・ポワンツ(以下TdP)発生のバイオマーカーであるQT間隔の延長と薬物の関連性を評価する臨床試験
– 概ね全身に影響を及ぼす新医薬品に対して適用される。
– 平成22年11月1日以後に申請される医薬品に添付される資料は、本ガイドラインに基づいたものであること。 ⇒適用対象となった新医薬品については、ICH-E14ガイドラインに従った臨床試験を実施する必要がある。
– 海外臨床試験データ等の利用可能性については、薬剤の特性により個別に判断される
– 民族差についてのデータは限られているが、民族的要因はQT/QTc評価試験の成績に影響することはないと考えられている。 ⇒国内での実施の是非については、個々の薬剤についてPMDAと相談する必要がある。
31
SASユーザー総会 2011
TQT試験の概要 TQT試験の位置づけ
– この試験は通常、健康な志願者(丌整脈の危険性が高い集団ではなく)を対象に実施され、医薬品開発の後期に、目標とする患者集団において当該薬剤のQT/QTc延長作用を入念に調べる必要性があるか否かを決定するために用いられる。 ⇒開発の早期に健常人を対象に実施される ⇒TQT試験の結果により、開発の後期段階において心電図に関して収集すべき情報が異なる
– QT/QTc間隔が著明な延長を示す場合には、丌整脈が実際に記録されたか否かにかかわらず、薬剤の丌承認、あるいは臨床開発の中止の根拠となり得る。
– 薬剤のQT/QTc間隔延長の可能性に関して適切な臨床評価を行っていない場合も同様に、製造販売承認が遅れたり、拒否されたりする正当な理由となり得る。 ⇒TQT試験によるQT/QTc間隔延長の評価は必須
32
SASユーザー総会 2011
TQT試験の概要 TQT試験のデザイン
– クロスオーバー試験の利点
• クロスオーバー試験では被験者自らが対照ともなるため、個体間変動に関連する差のバラツキが少なく、一般的に並行群間比較試験より少人数の被験者で実施できる。
• クロスオーバー試験では、被験者ごとのデータに基づく心拍数での補正がし易い場合がある。
– 並行群間比較試験が好ましい状況
• 消失半減期が長く、定常状態あるいは完全な消失を達成するのに長い時間間隔が必要な薬物の場合
• 持ち越し効果が他の理由により顕著な場合、例えば非可逆的な受容体への結合、または活性代謝物の半減期が長いなどの理由による場合
• 複数用量群または多くの治療群を比較する場合
⇒デザインについては、当該薬剤の性質を考慮して決定する。また、感度分析を目的とした陽性対照群の設定も求められる。
33
SASユーザー総会 2011
TQT試験の概要 TQT試験の評価及び解釈
– 治療において予想される最大曝露量の相当倍までを使用してその薬物を検査するべきである。
– 最高血中濃度(Cmax)となる周辺の時点で心電図を記録するよう注意すべきである。 ⇒プラセボ群、被験薬群(臨床用量、最高用量)及び陽性対照群の4群の構成が推奨され、本稿でも同様の群構成を想定する。
– QT/QTc評価試験が陰性とは、その薬剤のQTc間隔への時間を一致させた平均効果の最大値に対する95%片側信頼区間の上限が10msを下回る場合を指す。 ⇒本稿では、95%片側信頼区間の代わりに両側90%信頼区間を算出して同様の解釈を行う。陽性、陰性は上記のように定義されるが、「陽性なら即開発中止」ではなく、その後の開発段階で収集するデータの内容が異なる。
34
SASユーザー総会 2011
本活用事例の試験デザイン
本活用事例の試験デザインの要約
ホルター心電図データ収集ポイント(例) – Day 1の9:00に投不する場合
35
項目 内容
試験デザイン 並行群間比較試験
主要評価項目 時間を一致させたQTcF間隔のベースラインからの変化量の被験薬群とプラセボ群の平均値の差
投不方法 単回投不(朝1回投不)
群構成 Placebo、Active 1(臨床用量)、Active 2(最高用量)、Positive Control(陽性対照)
症例数 各群50例
評価時点(QT) Day -1(投不前): 投不23.5,23,22,20,18,16,14,12,8,0.5時間前 Day 1(投不後): 投不0.5,1,2,4,6,8,10,12,16,23.5時間後
評価時点(PK) Day 1: 0(投不前), 投不0.5,1,2,4,6,8,10,12,16,23.5時間後
時刻 9:30 10:00 11:00 13:00 15:00 17:00 19:00 21:00 25:00 8:30
データ数 3 3 3 3 3 3 3 3 3 3
SASユーザー総会 2011
本活用事例のテストデータ
テストデータ(データセットTQT)の構造
– 各被験者・評価時点ごとに3レコードが格納されている
36
変数名 内容 イメージ
ID 被験者ID
VISIT 評価時点(100番台:投不前,200番台:投不後)
SEQ 連番
TREAT 投不群(1:プラセボ, 2:臨床用量 ,3:最高用量,4:陽性対照)
GENDER 性別(1:男性,2:女性)
QT QT間隔(ms)
RR RR間隔(ms)
SASユーザー総会 2011
TQT試験で求められる主な解析 QT間隔の補正式について
– QT間隔は心拍数と負の相関を有するので、ベースラインと比較して延長したか否かを決定するため、測定されたQT間隔は一般的に心拍数で補正される。
– 最適な補正法については意見が分かれているため、全ての申請において、QT及びRR間隔の未補正データ、心拍数のデータ並びにBazett補正法及びFridericia補正法を用いて補正したQT間隔データを提出するとともに、また他の式を用いて補正したQT間隔データがあればそれも提出しなければならない。
– Bazett補正法は一般に、増加した心拍数では過大な補正、毎分60拍を下回る心拍数では過小な補正となることから、理想的な方法ではない。Fridericia補正法は、そのように心拍数が変化する被験者においてはBazett補正法より正確である。 ⇒QTcFを主要評価項目とし、他の補正式の解析結果も提出する(本事例では、カテゴリの頻度集計については割愛する)。
37
SASユーザー総会 2011
TQT試験で求められる主な解析 QT間隔の補正式について
– 主な補正法
38
補正法 補正式 備考
Fridericia補正法 QTc = QT/RR0.33 E14ガイドラインで推奨されている。
Bazett補正法 QTc = QT/RR0.5 理想的な補正法ではないとされているが、結果を提示する。
個体別補正法 QTcIi = QT/RRλi λiは各被験者の以下の回帰式における回帰係数 log(QT) = ai+λi *log(RR)
試験別補正法 QTcSS = QT/RRλ λは全被験者のλiの中央値または平均値
SASユーザー総会 2011
TQT試験で求められる主な解析 QT間隔の補正式について
– QT間隔の補正式の算出及び当てはまりを確認する。
39
data _QTREG ;
set TQT(where=(VISIT < 201)) ; *--- 投与前に絞込み ; if RR > 0 then _LOGRR = log(RR/1000) ; *--- msec=>sec ; if QT > 0 then _LOGQT = log(QT) ; run ;
*--- QTcIの回帰係数 ; proc reg data=_QTREG outest=_EST(keep=ID _LOGRR rename=(_LOGRR=_QTcIEXP)) ; by ID ; model _LOGQT = _LOGRR ; run ; quit ;
*--- QTcSSの回帰係数(QTcIの中央値) ; proc summary data=_EST ; var _QTcIEXP ; output out=_OUTSS(drop=_TYPE_ _FREQ_) median=_QTcSSEXP ; run ;
*--- QTcF, QTcB, QTcQTcI, QTcSSの算出 ; data TQT_C ; merge TQT _EST ; by ID ; if _n_=1 then set _OUTSS ; QTcF = QT / (RR/1000)**0.33 ; QTcB = QT / (RR/1000)**0.5 ; QTcI = QT / (RR/1000)**_QTcIEXP ; QTcSS = QT / (RR/1000)**_QTcSSEXP ; run ;
SASユーザー総会 2011
TQT試験で求められる主な解析 QT間隔の補正式について
– SGSCATTERプロシジャで各QT/QTcの補正方法の当てはまりを確認
– QTcB間隔に比べて、QTcF間隔やQTcI間隔ではQT間隔が適切に補正されている。
40
*--- QT, QTcF, QTcB, QTcQTcI, QTcSSの対数変換 ; data _QTcCHK ; set TQT_C ; array _QTc{*} QT QTcF QTcB QTcI QTcSS ; array _LOGQTc{*} _LOGQT _LOGQTcF _LOGQTcB _LOGQTcI _LOGQTcSS ; if RR > 0 then _LOGRR = log(RR/1000) ; do I = 1 to dim(_QTc) ; if _QTc{I} > 0 then _LOGQTc{I} = log(_QTc{I}) ; end ; label _LOGRR="Log(RR)" _LOGQT="Log(QT)" _LOGQTcF="Log(QTcF)" _LOGQTcB="Log(QTcB)" _LOGQTcI="Log(QTcI)" _LOGQTcSS="Log(QTcSS)" ; run ;
*--- 対数変換後の散布図 ; proc sgscatter data=_QTcCHK ; compare y=(_LOGQT _LOGQTcF _LOGQTcB _LOGQTcI _LOGQTcSS) x=_LOGRR / reg=(cli clm) ; run ;
SASユーザー総会 2011
TQT試験で求められる主な解析 中心傾向の解析
– 被験薬がQT/QTc間隔へ不える作用の解析は、最も一般的には、時間を一致させた被験薬群とプラセボ群の平均値の差(ベースライン値による調整後)の、収集の全期間を通じた最大値を用いて行われる。 ⇒ΔQT/QTcを従属変数、性別と投不群を独立変数、対応するQT/QTc間隔のベースライン値を共変量とした共分散分析モデルに基づいて評価を行い、全ての時点において90%CIの上限が10msを下回れば試験は陰性。 ΔQTc = μ + Treatment + Baseline + Gender + ε
– (分析感度については)効果が5msより大きい(即ち、片側95%信頼区間の下限>5ms)陽性対照を用いる方法。 ⇒上記同様のモデルを用いて、少なくとも1時点において調整済み平均値の群間差の片側95%信頼区間の下限が5msを超える場合に、当該試験において5ms程度のQT延長を検出できる分析感度が証明される。
41
SASユーザー総会 2011
TQT試験で求められる主な解析 中心傾向の解析
– 調整済み平均値の群間差及び両側90%CIを算出 ΔQTc = μ + Treatment + Baseline + Gender + ε
42
*--- データセットTQTよりベースラインからの変化量を算出しておく ; ods output diffs=_DIFF ; proc mixed data=TQTMAIN ; where _NAME_="QTcF_M" ; by _NAME_ VISIT ; class TREAT GENDER ; model _DIFF = TREAT _BASE GENDER / solution ; lsmeans TREAT / diff=control("1") cl alpha=0.1 ; run ; ods output close ;
*--- 計算結果出力用データ作成 ; data _DIFF2 ; set _DIFF ; X1="Estimates" ; X2=" SE" ; X3=" DF" ; X4=" LCL" ; X5=" UCL" ; run ;
SASユーザー総会 2011
TQT試験で求められる主な解析 中心傾向の解析
– 解析結果を格納したデータセット
43
SASユーザー総会 2011
TQT試験で求められる主な解析 中心傾向の解析
– 調整済み平均値の群間差及び両側90%CIのフォレストプロット
– scatter + markercharオプションで値そのものをシンボルとして出力する
– offsetmin, offsetmaxオプションで各グラフの余白を調整
44
options nobyline ; title "#BYVAL1 #BYVAR2: #BYVAL2 " ; proc sgplot data=_DIFF2 noautolegend ; by _NAME_ TREAT ; scatter x=Estimate y=VISIT / xerrorlower=Lower xerrorupper=Upper markerattrs=(color=black symbol=circlefilled) ; scatter x=x1 y=VISIT / x2axis markerchar=Estimate ; scatter x=x2 y=VISIT / x2axis markerchar=StdErr ; scatter x=x3 y=VISIT / x2axis markerchar=DF ; scatter x=x4 y=VISIT / x2axis markerchar=Lower ; scatter x=x5 y=VISIT / x2axis markerchar=Upper ; refline -5 0 5 10 / axis=x lineattrs=(pattern=2) ; refline 20 / axis=x lineattrs=(pattern=1) ; yaxis values=(201 to 210 by 1) discreteorder=unformatted ; xaxis values=(-10 to 20 by 5) offsetmax=0.4 label="LS Means Diff. between Treatments" ; x2axis display=(noticks nolabel) offsetmin=0.65 offsetmax=0.05 ; format Estimate 7.1 StdErr Lower Upper 7.2 TREAT TREATF. VISIT VISITF. ; run ;
SASユーザー総会 2011
TQT試験で求められる主な解析 中心傾向の解析: フォレストプロット
45
xaxis values=(-10 to 20 by 5) offsetmax=0.4 ; x2axis
display=(noticks nolabel) offsetmin=0.65 offsetmax=0.05 ;
scatter x=x1 y=VISIT / x2axis markerchar=Estimate ; scatter x=x2 y=VISIT / x2axis markerchar=StdErr ; scatter x=x3 y=VISIT / x2axis markerchar=DF ; scatter x=x4 y=VISIT / x2axis markerchar=Lower ; scatter x=x5 y=VISIT / x2axis markerchar=Upper ;
scatter x=Estimate y=VISIT / xerrorlower=Lower xerrorupper=Upper markerattrs =(color=black
symbol=circlefilled) ;
markercharは有用!!
SASユーザー総会 2011
TQT試験で求められる主な解析 中心傾向の解析:結果
– 臨床用量:陰性、最高用量:陽性、陽性対照:分析感度有
– 試験の結果は陽性⇒当該薬剤について今後の対応を検討する必要有!
46
SASユーザー総会 2011
TQT試験で求められる主な解析 薬物濃度とQT/QTc間隔の関連性の検討
– 薬剤濃度とQT/QTc間隔の変化との関係が確立されれば、心室再分極を評価する試験の計画及び解釈に役立つ情報がさらに得られるであろう。この領域では、現在活発に研究が行われている。
• ΔQT/QTcと薬物濃度の推移図及び散布図
• ΔQT/QTcを応答変数、薬物濃度を固定効果、被験者を変量効果とした混合効果モデルを用いて、各被験薬群の被験者のCmaxの中央値にそれぞれ対応する各ΔQT/QTc の点推定値、標準誤差及び両側90%信頼区間をそれぞれ算出する。 ΔQTc = μ + β*Concentration + γ*Subject + ε Concentrationは薬物濃度、Subjectは被験者を表す。
• ヒステリシス(薬物濃度とΔQT/QTcの変化のずれ)の有無の確認
47
SASユーザー総会 2011
*--- 薬物濃度の平均値推移図 ; proc sgplot data=PKECG ; where _NAME_="QTcF_M" and TREAT in(2,3) ; vline TIME / response=CONC group=TREAT stat=mean limitstat=clm alpha=0.1 markers markerattrs=(symbol=circlefilled) lineattrs=(pattern=1) ; xaxis display = all values = (0.5 1 2 to 12 by 2 16 23.5) type = linear ; format TIME _TIMEF. ; run ;
*--- ΔQTcの平均値推移図 ; proc sgplot data=PKECG ; where _NAME_="QTcF_M" and TREAT in(2,3) ; vline TIME / response=_DIFF group=TREAT stat=mean limitstat=clm alpha=0.1 markers markerattrs=(symbol=circlefilled) lineattrs=(pattern=1) ; xaxis display = all values = (0.5 1 2 to 12 by 2 16 23.5) type = linear ; format TIME _TIMEF. ; run ;
TQT試験で求められる主な解析 薬物濃度とQT/QTc間隔の関連性の検討
48
SASユーザー総会 2011
*--- 時点ごとの薬物濃度とQTcF変化量の平均値の算出 ; proc sort data=PKECG ; by TIME TREAT ; run ; proc summary data=PKECG ; where _NAME_="QTcF_M" and TREAT in(2,3) ; by TIME TREAT ; var CONC _DIFF ; output out=_OUTH(drop=_TYPE_ _FREQ_) mean=_MEAN_C _MEAN_D ; run ;
*--- ヒステリシスの有無の確認 ; proc sgplot data=_OUTH ; series x=_MEAN_C y=_MEAN_D / group=TREAT lineattrs=(pattern=1) markers markerattrs=(symbol=circlefilled) ; xaxis display=all type=linear ; label _MEAN_C="Mean Concentration" _MEAN_D="Mean QTc [Change from Baseline]"; run ;
TQT試験で求められる主な解析 薬物濃度とQT/QTc間隔の関連性の検討
49
顕著なヒステリシスは みられていない。
SASユーザー総会 2011
*--- 薬物濃度とΔQTcの散布図 ; proc sgplot data=PKECG ; where TREAT in (2,3) and _NAME_="QTcF_M" ; scatter x=CONC y=_DIFF / group = TREAT markerattrs = (symbol=circlefilled) ; run ; data _PKMIXED ; set _PKECG(where=(TREAT in(2,3) and _NAME_="QTcF_M")) ;
_DUM = 1 ; *--- lsmeansステートメント用 ; run ;
*--- 混合効果モデル:CMAXの中央値をマクロ変数に入れておく ; ods output LSMeans=_LSM (keep=CONC Estimate Stderr DF Lower Upper) ; proc mixed data=PKMIXED ; class ID _DUM ; model _DIFF = _DUM CONC / s ddfm=satterth ; random ID ; lsmeans _DUM / at CONC=&_CMAX1 cl alpha=0.1 ; lsmeans _DUM / at CONC=&_CMAX2 cl alpha=0.1 ; run ; ods output close ; proc print data=_LSM noobs label ; run ;
TQT試験で求められる主な解析 薬物濃度とQT/QTc間隔の関連性の検討
– ΔQTc = μ + β*Concentration + γ*Subject + ε
50
最高用量のCmax付近でも大きな延長はみられていない。
SASユーザー総会 2011
TQT試験の結果 本活用事例の結果と解釈(例)
– いずれにしろ、リスク評価の中でQT/QTcへの作用が示された薬剤については、「最悪条件下の設定」(すなわち、対象患者集団において、作用が最大の時点、かつ治療中に到達し得る最大血中濃度において測定されたQT/QTc間隔)を確認することは重要である。
– ⇒本活用事例では、試験結果は陽性だが、臨床用量に延長はみられず、最高用量についても、常に点推定値が10ms付近の推移ではなく、Cmax付近においても大きく延長していないことから、今後の開発段階で通常より詳細に心電図データを収集・解析するという対応で良い?(もちろん解釈はケースバイケースで、実際にはカテゴリカル解析やT波・U波の集計、有害事象の発現率、より大きな血中濃度での推定等の結果も考察して今後の対応が決定される)
51
SASユーザー総会 2011
ODS PDFを用いた簡易解析帳票の作成
ODS PDFの主な機能 – 高品質なグラフや表の作成、しおりの設定も行うことができる。
– ODS LAYOUTと組み合わせることにより、レイアウトの調整を行うことができる。
52
ods pdf file="<出力ファイルのパス/名前>" <options> ; <グラフ/レポート作成プロシジャ> ods pdf close ;
オプション 内容
pdftoc=number しおりに出力するレベルを指定
startpage=yes/no/never/now 改ページ指定
style=style 出力スタイルの指定
columns=number 各ページの列数を指定
SASユーザー総会 2011
ODS PDFを用いた簡易解析帳票の作成
ODS LAYOUT
– 出力グリッドを定義して出力レイアウトを調整する。
53
ods layout start columns=number rows=number ; ods region ; *--- 指定グリッド数繰り返す ; <グラフ/レポート作成プロシジャ> ods region ; ...... ods layout end ;
region 1 region 2 region 3
region 4 region 5 region 6
columns=3、rows=2の場合の出力グリッド
SASユーザー総会 2011
ODS PDFを用いた簡易解析帳票の作成 ODS PDF
– しおりのカスタマイズ(pdftoc=3)
54
ods proclabel="Graph 1" ;
proc sgplot data=TQTMAIN noautolegend description="QTcF Plot [Change from Baseline]: Placebo" ;
ods proclabel="Table 1" ;
proc tabulate data=TQTMAIN contents="QTcF Summary Statistics [Change from Baseline]" ; where _NAME_="QTcF_M" and TREAT=&_TREAT ; class VISIT ; var _DIFF ; table VISIT="", _DIFF=""*(n*f=7. mean*f=7.2 stddev*f=8.3 min*f=7.1 median*f=7.2 max*f=7.1) / contents="Placebo" ; format VISIT VISITF. ; run ;
ods pdf pdftoc=3;
SASユーザー総会 2011
ODS PDFを用いた簡易解析帳票の作成 ODS PDF
– グラフと表のグリッド出力(2x2)
55
*--- 2x2のグリッドを定義 ; ods layout start columns=2 rows=2 ; ods region ; <Graph 1> ods region ; <Table 1> ods region ; <Graph 2> ods region ; <Table 2> ods layout end ;
SASユーザー総会 2011
ODS PDFを用いた簡易解析帳票の作成 ODS PDF
– 出力結果(しおり+グリッド出力)
56
SASユーザー総会 2011
おわりに
SGプロシジャとGTLの有用性
– 従来のグラフ作成プロシジャよりも高品質なグラフを簡単に作成することができるSGプロシジャ及びGTLの使用方法を紹介した。
TQT試験における活用
– ICH-E14の施行により、本邦の医薬品開発において重要な位置づけとなったTQT試験についてその概要を述べた。
– TQT試験における主な解析を実施するとともに、SGプロシジャ、GTL及びODS PDFを用いた簡易解析帳票の作成方法を紹介した。
今後の課題・展望
– 新しい文法を覚える必要がある(特にGTL)
– SGプロシジャやODS Graphicsによるカラフルな出力は、総括報告書や申請資料に使用することが可能であるのか?
– TQT試験におけるナレッジの集積による解析方法や帳票作成に関する情報の共有が望まれる
57
SASユーザー総会 2011
参考文献 SAS Institute Inc. Statistical Graphics Procedures Guide
Warren F. Kuhfeld. The Graph Template Language and the Statistical Graphics Procedures: An Example-Driven Introduction. SAS Global Forum 2010
Sanjay Matange. Tips and Tricks for Clinical Graphs using ODS Graphics. SAS Global Forum 2011
Jeff Cartier. A Programmer's Introduction to the Graphics Template Language. SUGI 31
ICH E14: 非抗丌整脈薬におけるQT/QTc間隔の延長と催丌整脈作用の潜在的可能性に関する臨床的評価
Garnett CE, Beasley N, Bhattaram VA, et al. Concentration-QT relationships play a key role in the evaluation of proarrhythmic risk during regulatory review. J Clin Pharmacol. 2008;48:13-18.
Christoffer W. Tornoe, Christine E. Garnett, et al. Creation of a Knowledge Management System for QT Analyses. J Clin Pharmacol published online 26 October 2010
Tsong Y, Shen M, Zhang J. Statistical issues of QT prolongation assessment based on linear concentration modeling. J Biopharm Stat. 2008;18(3):564-84.
Chevell Parker. The ODS Menu for All Appetites and Applications. MSUG 2009
58
SASユーザー総会 2011
ご清聴ありがとうございました
59