ver.1.0 2008.03.23
T.はじめに
臨床試験などで用いられる「ランダム割付け」という手法は、理論が分かっていても、実際に割付け表を作成するツールがなかなか手に入らないのが現状です。 そこで今般、"Latin390Ver7.xls"というExcelにて動作可能な「無作為割付け表作成プログラム」を作成し、広くご活用頂きたく、ここに公開しました。 Latin390とは、このソフトを発案した東京医科歯科大学名誉教授 佐久間昭氏にちなみ、ラテン方格(Latin square)と390(さくま)を組み合せたものです。 臨床研究に携わる皆様の、研究促進に少しでも役立てば幸いです。
本ページの構成は、以下の通りです。
U.臨床試験とは?
臨床試験、治験、人体実験、生体実験、と聞いて区別できる人は多くない。後のものほど怖そうだ。森鴎外は活体試験という用語を使った。
臨床試験は「評価を目的として、人を対象に意図的に開始する、科学的実験」と定義される。治験は法的には、厚生省へ薬などの承認申請をするための臨床試験を指す。ただ、医師の中には治療実験の略と考えている人もいる。また、高齢の医師には治療経験の略と考えている人もいる。
「人を対象に実験をするなどけしからん、それではまるで人体実験だ」と言う人がいる。「人体実験」や「生体実験」はナチや七三一部隊の負のイメージを持つ。これらは、何を評価するかという試験の存在そのものが誤っていた。
現在の科学レベルでは、治療法の有効性と安全性をある程度の人数で確認してから、より多くの人に用いるという手続きは欠かせない。日本人によって最初に本格的な臨床試験が行われたのは1957年。東京都清瀬市の国立療養所の所長だった故・砂原茂一氏を中心とした、結核に対するストレプトマイシンなどの有効性をみるためのものだ。
日本の臨床薬理学の父といえる先生は、臨床試験について「人体実験が倫理的であるかどうかではなく、人体実験の倫理とは何かを問うべきだ」と話された。(1996.11.15 朝日新聞 夕刊 科学面 「臨床試験」より)
V.無作為化とは?
臨床試験は、無作為化比較試験を基本とする。日本で最初に行われたのは1951年。米国人のトーマス・チャーマー氏が指揮した。
前年から始まった朝鮮戦争で、米軍兵士に急性肝炎が頻発した。今で言うA型肝炎だったのだろう。米軍は京都日赤病院を肝炎センターに指定し、発病した兵士を入院させた。
臨床試験は薬についてだけ行うものではない。ボストンから赴任した彼は当時効果がありそうだと言われていた高栄養と安静についてそれぞれ、普通栄養、非安静というコントロール群を作り、2つの因子の組み合わせで四つの群を設け、四つの病棟に対応させて兵士を無作為に割付けた。
一方の群に病気が軽い人が多いと、治療法が効いたのか病気が軽いから治ったのか分からない。性別、年齢など、すべての要因でバランスがとれていなければ正しい判断はできない。そのために乱数表や電算機を用いて行うのが「無作為割付け」だ。
チャーマー氏の臨床試験の結果は、安静には意味が無く、高栄養食は多少は効く程度、というものだった。肝臓病になったらうまいものを食べるしかないというのは、この臨床試験に由来するのかもしれない。(1996.11.18 朝日新聞 夕刊 科学面 「臨床試験」より)
臨床試験では、比較したいもの(介入とコントロール)以外の条件(人口統計学的因子、対象疾患の病態、等)が両群で同じであることが望ましい。被験薬群に軽症患者が多く、対照薬群に重症患者が多いというような偏りがあっては、比較が成立しない!そこで、処置の無作為割付け(random allocation)を行うわけである。無作為割付けとは、標本の中で、比較したい処置を無作為に割り当てることを言い、偏り(バイアス)を最小限にする又は、避けるために取られる方法である。また、被験者への処置の割付けに意図的に偶然の要素を取り入れることで、標本の中で比較するということの妥当性を保証する(内部妥当性 internal validity)ものである。無作為割付けを行うと、@比較したい群が似てくる、A次にどの処置が割り当てられるか、予測できなくなる、B検定、信頼区間、標準誤差等の計算の合理性が保証される、というメリットが得られる。
W.無作為割り付けの手法の紹介
ここでは薬の介入をモデルとして説明したい。
1.割付けの実施方法
(1)中央割り付け(centralized allocation)
事前に薬剤を施設へ配布しておく。
↓
施設から中央の登録センターへ、TELまたはFAXにて症例を登録し、中央で割り付けを行う(割り付けの方法は、単純無作為化、置換ブロック法、動的割り付けなど種々の方法が可能)。
↓
中央から施設へ、TELまたはFAXにて当該患者の使用薬剤を指示する。
(2)施設内割り付け(allocation within sites)
施設ごとに割り付けを行う。
1)封筒法
1人の患者に対してランダムに決められたある1つの処置が明記された紙を中に入れた、番号の付いた透き通っていない封筒を用意する。
↓
これを番号順に開封し割り付ける(割り付けの方法は、単純無作為化及び置換ブロック法が可能)。
番号(○組○番)の付いた薬剤を、番号順に処方する。
2.割付けの手法
(1)固定割り付け法(fixed allocation)
1)単純無作為化(simple randomization)
一様乱数(0から1の間でランダムに生成される小数)を発生させ、これが0.5以下なら治療A、それより大きければ治療Bなどという取り決めに従って割り付け表を作成する。
割り付け表 ABAABBBBAAABA……
問題点:症例数が少ないときや、最後まで実施しない場合、群毎の症例数に不均衡が生じ得る。
2)置換ブロック(permuted block)法
各群に割り付けられる例数が同じになるように、群の数の整数倍を割り付け単位(ブロック)としてランダムに割り付ける方法。
途中で終わっても例数の不均衡が生じない。
例 2薬剤、ブロックサイズ4の場合
4症例を2群に同数割り付ける方法は下記の6通りある。
この6通りに番号をつけておき、@〜Eをランダムに並べて割り付ける。
@AABB AABAB BABBA CBAAB DBABA EBBAA
割り付け表 A D E @ …
ABABBABABBAAAABB…
問題点:ブロックサイズが小さいとき、予見可能となる。
3)層化割り付け法(stratification method)
既知の重要な予後因子内で例数を揃えたい場合に用いる方法。
患者を予後因子で層別した後、層内でランダム化を行う。
軽 症 中等度 重 症
← 無作為化
A B A B A B
4)層化と置換ブロックの併用
層内で例数を揃えたい場合に用いる方法。
例 2剤比較、ブロックサイズ4、施設で層化した場合
下記6通りからランダムに1つを選択し、「1組」と名付ける。
@AABB AABAB BABBA CBAAB DBABA EBBAA
↓
これを必要組数繰り返す。
↓
施設毎の予定症例数に従って薬剤を組単位で配布する。
施設 | 予定症例数 | 配布内容 |
北Hp | 8例 | 1組(AABB)、2組(BABA) |
南Hp | 4例 | 3組(BAAB) |
東Hp | 12例 | 4組(BBAA)、5組(BABA)、6組(ABBA) |
問題点:ブロックサイズが小さいとき、予見可能となる。
また、ブロック内で全症例登録されないと、不均衡が生じ得る。
(2)動的割り付け法(dynamic allocation)
患者が登録される度に、予め決定しておいた予後因子が均一になるように、割り付けを決定する方法。
1)偏コイン法(biased coin)
ある時点において一方の群への割り付け患者数が多ければ、他方への割り付け確率を1/2+δに増やす方法。
最小化法と組み合わせて用いられる例もある。
登録された患者 1人目 2人目 3人目 4人目 5人目
割付られた薬剤 A B B A A
↑
この時点では、Aの数−Bの数=1>0なので、Bへ割り付ける確率を1/2+δとする
2)最小化法(minimization method)
患者登録のどの時点をとっても患者の予後因子のアンバランスを小さくするように割り付けを行う方法。完全に割り付けを決定するのではなく、最小化が達成される群へ割り付けられる確率を増やす変法(偏コイン法との組み合わせ)もある。
例 バランスを確保したい予後因子 3つ(病型、合併症、重症度)
水準 2 2 3
次の場合、51例目の患者は、どの処置に割り付けると、最もバランスを確保できるか?
*現在の状況(50例)
予後因子 | 水準 | 対照群 | 用量1 | 用量2 | 51例目 |
病型 | 急性 | 9例 | 10例 | 9例 | ←急性 |
慢性 | 8 | 7 | 7 | ||
合併症 | なし | 8 | 6 | 7 | |
あり | 9 | 11 | 9 | ←合併症あり | |
重症度 | 軽度 | 8 | 8 | 8 | |
中等度 | 4 | 5 | 3 | ←中等度 | |
重度 | 5 | 4 | 5 |
各群における予後因子のアンバランスを評価する
割り付けるべき優先順位
対照 9+ 9+4=22 2位
用量1 10+11+5=26 3位
用量2 9+ 9+3=21 1位
@確定的な方法の場合 用量2に割り付け
Aランダム化の要素を組み入れた場合 例えば、 用量2:3/6
対照 :2/6
用量1:1/6 の確率で割り付ける
3)Zelenの施設内バランス化
施設内での群間の例数のアンバランスを小さくするため、事前に許容差を指定し、割り付けられた例数の差がこれを超えるようであったら、逆の群に割り付ける方法。最小化法と組み合わせて補足的に用いられる。割り付け確率を変化させる変法もある。
X.ラテン方格とは?
「Latin390Ver7.xls」の「Latin」とは、ラテン方格(Latin square)の略である。ラテン方格とは、大きさ(a×a)の正方行列に、{1,2,…,a}の要素をa回ずつ用いたうえ、どの行、どの列にも、これらの要素が1回だけ、しかも必ず1回は現れるように並べたものである。例えば、4×4のラテン方格は、以下のようになる。
1 |
2 |
3 |
4 |
2 |
4 |
1 |
3 |
3 |
1 |
4 |
2 |
4 |
3 |
2 |
1 |
1つの方格について、行と行、列と列を交換して、次々と別型の方格が作成できるが、その数は、次表のようになることが知られている。
ラテン方格のサイズ |
総 数 |
2×2 |
2 |
3×3 |
12 |
4×4 |
576 |
5×5 |
161,280 |
6×6 |
812,851,200 |
Y.すぐわかる「Latin390Ver7.xls」
1.動作環境
Microsoft Excel for Windows 95 Version 7.0が動く環境でご使用下さい。
2.構成
(1)ワークシート
1)入力画面:必要な情報を入力するシートです。
2)割付結果:割付表が作成されるシートです。
(2)モジュール
1)割付PGM:割付表を作成するVisual Basicのプログラム(マクロ)です。
3.出力されるもの
必要部数の、割付表
必要部数の、割付表を入れる封筒に貼るラベル
必要部数の、エマージェンシーキーコードを入れる封筒に貼るラベル
4.操作の流れ
(1)プリンター等周辺機器の電源を入れる。プリンターはA4縦の印刷ができるよう準備しておく
(2)パソコンを立ち上げ、Latin390Ver7.xlsをオープンする
(3)ワークシート「入力画面」の“入力カラム(白色のフィールド)”の列に必要な情報を入力する
(4)同“入力カラム(紫色のフィールド)”の列が全て“OK”と表示されていることを確認する
(5)EXCELメニューで、ツール → マクロ → Startを選択 → 開始 と操作する
以下は、マクロで自動に行われる作業です。
(6)入力された情報をもとに、割付表が作成される
(7)作成された割付表が出力される
(8)封筒に貼るラベルが出力される
*なお、入力した「入力画面」の情報及び作成された「割付結果」の表は、Book○.xlsとしてEXCELウインドウ上に残っています。必要であれば、EXCELメニューで、ファイル → 名前を付けて保存 と操作し、適切な場所に保存して下さい。
5.ワークシート「入力画面」の説明
・入力項目
以下の説明に従って、必要な情報を“入力カラム”の列に入力して下さい。
(1)割付表作成日時
ここに入力した日時は、計算等に使用するものではありません。ワークシート「割付結果」の標題中に単なる情報として渡されるものです。従って、以下のような、日付を表すものであればどのような形でも構いません。YYYY.MM.DD(ex.1998.06.20)でも、YY/MM/DD(ex.98/6/20)でも、DD-MM-HYY(ex.20-06-H10)でもOKです。時間の表し方も同様です。
(2)Seed
EXCELの乱数表を作成する重要な情報です。正の整数であれば何でも構いません。EXCELでは、立ち上げ後、最初に走らせたマクロ上に指定された“Seed値”に基づいて乱数表が作成されます。2回目として、同じマクロを“Seed値”を変えて走らせると、最初の“Seed値”に基づく乱数表を基に2回目の“Seed値”に基づく乱数表が作成されます。すなわち、これは純粋に2回目の“Seed値”のみに基づいた乱数表ではありません。従って、同じ割付表を再現させたい場合には、必ず立ち上げ後1回目に作成した割付表を採用しておいて下さい。もし、1度に何種類もの割付表を作成したい、かつそれを後で再現したいというような場合には、その都度EXCELを立ち上げ直し、“Seed値”を変更してからマクロを走らせて下さい。
(3)Labelのタイトル
封筒に貼るラベルに関して必要な情報です。A4縦の幅に入る適当な長さであれば、どのような内容でも構いません。試験のタイトルや目的など、後で振り返った時に参考となる情報が良いでしょう。
(4)薬剤の種類数
試験に用いる薬剤の種類数を、半角で入力します。(5)(6)(7)との関係で、“1〜3”までの正の整数となります。
(5)薬剤のコード1
1番目の薬剤の略名を、半角1文字で入力します。英数字であれば何でも構いません。この情報は、ワークシート「割付結果」の表中に渡されます。“H”と“K”、“i”と“l”など、似ている文字を同時に使うと、表がわかりにくくなりますので、ご注意下さい。
(6)薬剤のコード2
2番目の薬剤の略を、半角1文字で入力します。英数字であれば何でも構いません。ただし、(5)と同じ略名にはしないで下さい。この情報は、ワークシート「割付結果」の表中に渡されます。
(7)薬剤のコード3
3番目の薬剤の略を、半角1文字で入力します。英数字であれば何でも構いません。ただし、(5)及び(6)と同じ略名にはしないで下さい。この情報は、ワークシート「割付結果」の表中に渡されます。3剤目がない試験の場合は、空欄にして下さい。
(8)薬剤コードのフルネーム1
(5)で設定した略名に対するフルネームです。この情報は、ワークシート「割付結果」の標題中に渡されます。
(9)薬剤コードのフルネーム2
(6)で設定した略名に対するフルネームです。この情報は、ワークシート「割付結果」の標題中に渡されます。
(10)薬剤コードのフルネーム3
(7)で設定した略名に対するフルネームです。この情報は、ワークシート「割付結果」の標題中に渡されます。3剤目がない試験の場合は、空欄にして下さい。
(11)組数
割付表の縦の数(行数)を決めるための情報です。(14)〜(19)の“ラテン方格のサイズ1〜6”の中の最大値、の公約数でなければなりません。
(12)番数
割付表の横の数(列数)を決めるための情報です。(14)〜(19)の“ラテン方格のサイズ1〜6”の合計値になります。ただし、最大は20までです。
(13)ラテン方格の数
設定したいラテン方格の数を入力して下さい。
(14)ラテン方格のサイズ1
1つ目のラテン方格のサイズを入力して下さい。(4)の“薬剤の種類数”の倍数でなければなりません。
(15)ラテン方格のサイズ2
2つ目のラテン方格のサイズを入力して下さい。(4)の“薬剤の種類数”の倍数でなければなりません。2つ目のラテン方格を設定しない場合は、空欄にして下さい。
(16)ラテン方格のサイズ3
3つ目のラテン方格のサイズを入力して下さい。(4)の“薬剤の種類数”の倍数でなければなりません。3つ目のラテン方格を設定しない場合は、空欄にして下さい。
(17)ラテン方格のサイズ4
4つ目のラテン方格のサイズを入力して下さい。(4)の“薬剤の種類数”の倍数でなければなりません。4つ目のラテン方格を設定しない場合は、空欄にして下さい。
(18)ラテン方格のサイズ5
5つ目のラテン方格のサイズを入力して下さい。(4)の“薬剤の種類数”の倍数でなければなりません。5つ目のラテン方格を設定しない場合は、空欄にして下さい。
(19)ラテン方格のサイズ6
6つ目のラテン方格のサイズを入力して下さい。(4)の“薬剤の種類数”の倍数でなければなりません。6つ目のラテン方格を設定しない場合は、空欄にして下さい。
(20)Randomization Codesの部数
割付表を何部印刷するか、必要な部数を入力して下さい。
(21)Group or Serial (G/S)?
“Group”は組番方式、“Serial”は通し番号方式です。半角大文字で“G”または“S”と入力して下さい。
(22)First No?
(21)で“S”と入力した場合のみ、通し番号の最初の数字を指定できます。(21)で“G”と入力した場合は、空欄にして下さい。
(23)Emergency Key用Labelの数
エマージェンシーキーコードを作成する必要がある場合のみ、必要な部数を入力して下さい。通常は(20)の“Randomization Codesの部数”と同数になります。エマージェンシーキーコードを作成する必要がない場合は、空欄にして下さい。
・確認項目
上記1)入力項目における、入力内容のチェックを行うものです。
(1)薬剤の種類数のチェック
“薬剤の種類数が不適切!!”と表示された場合は、(4)の“薬剤の種類数”を再入力して下さい。“OK”という表示になれば、問題ありません。
(2)組数のチェック
“組数が不適切!!”と表示された場合は、(11)の“組数”を再入力して下さい。“OK”という表示になれば、問題ありません。
(3)番数のチェック
“番数が不適切!!”と表示された場合は、(12)の“番数”を再入力して下さい。“OK”という表示になれば、問題ありません。
(4)ラテン方格の数のチェック
“ラテン方格の数が不適切!!”と表示された場合は、(13)の“ラテン方格の数”を再入力して下さい。“OK”という表示になれば、問題ありません。
6.ワークシート「割付結果」の説明
A4用紙縦1ページに、標題(5行)、割付表(43行×20列)、計51行×20列分の情報が出力可能です。原則として、このワークシートの設定は変更しないで下さい。
7.モジュール「割付PGM」の説明
以下にマクロの骨格のみを記載します。なお、モジュール「割付結果」の本文中には、部分的な説明が加えられています。興味のある方は、モジュール「割付結果」をご参照下さい。原則として、このモジュールの記載内容は変更しないで下さい。
'
' Start マクロ
' マクロ記録日 : 1998/3/3 ユーザー名 : K&W
' Latin390 Ver.7 ←「割付(プロトタイプver.2)」より編集
'
Const THIS_FILE = "Latin390Ver7.XLS" '→このファイルの名前
Const PAGE_MAX = 51 '→1 ページ当たりの行数、1ページの印刷行を左記値に設定しておく(印刷プレビュー、行高さ、列幅)
Const TITLE_R = 8 '→表の行タイトルの行数
Option Base 1
Dim D$(300, 20), L$(20, 20), L0$(2, 2), C$(10, 2), Hi$, Ji$, H$, Y$, Snd As String
Dim D1, L1, N, P, H1, S0, Pdiv, Size(6), EKTL As Integer
Sub Start()
' ***** データ設定 **************************************************************
' ***** 新規ファイルを作成 **********************************************************
' ***** タイトルの作成 **************************************************************
' ***** 表の作成 ****************************************************************
' ***** 表の出力 ****************************************************************
' ***** ラベルの作成 **************************************************************
' ***** ラベルの出力 **************************************************************
' ***** Emergency Key 用ラベルの作成 **********************************************
' ***** Emergency Key 用ラベルの出力 **********************************************
' ***** 入力画面の保存 **********************************************************
End Sub
Z.Latin390Ver7.xlsのダウンロード方法について
このExcelファイルは、無料ですが、メンテナンス、問題発生等一切の責任は負いかねますので、ご承知おき下さい。
[.Latin390Ver7.xlsダウンロード後のExcelの設定について
ご使用のEXCELの設定状況によっては、区切り通りの印刷ができない場合があります。そのような場合には、以下の作業を行ってみて下さい。
1.ワークシート「割付結果」をオープンする
2.C51番地及びV9番地のセルに適当な数字を入力する
3.ファイル→印刷プレビュー にて入力した数字が両方とも1ページ内に表示されるかどうかを確認する
4.1ページ内に表示されない場合には、設定→ページタグの拡大/縮小や余白タグの各数値 を変更し、1ページ内に表示されるようにして下さい。
5.1ページ内に表示できるようになったら、Latin390Ver7.xlsを上書き保存して下さい。
以上の作業で、解決すると思います。
\.最後に
このページはExcel版 Latin390Ver.7公開時に作成されたものです
現在は、Excel版 Latin390Ver.7の公開はしていません。
作成日:H11/1/5