ADaM留意点②・トレーサビリティ・OpenCDISC Validation
CJUG ADaM (武田薬品工業株式会社)高浪洋平
CJUG ADaM (株式会社中外臨床研究センター)坂上拓
1
ADaM留意点②・トレーサビリティ・OpenCDISC Validation
2
トレーサビリティ(Traceability)• Metadata traceability
• 解析結果,変数のソースや導出方法をメタデータに記載する.
• CRF(EDC)データやSDTMデータから解析結果までの流れを把握できる.
• Data point traceability• SEQ変数等のデータソースとの関係が直接把握できる変数を格納する(レコードレベルのトレース).
• Data point traceabilityの提供の有無に関わらず, Metadata traceabilityは常に解析に用いる値がどう導出されたかを明確に説明しなければならない.
• レビューアーは上記を確認することで,ソース,導出方法,解析に使用した変数等を把握することができる.
3
SDTM ADaMEDC/RAW TLFs
Define.xmlwith Analysis
Results Metadata
Define.xmlCRF
ADaMにおけるトレーサビリティ• Metadata traceabilityを担保するための方法
• Define.xml• Dataset MetadataやVariable Metadata
• SDTMや他のADaMデータセットからの導出方法の記述
• Analysis Results Metadata• 解析結果導出に関する情報の記述
4
ADaMにおけるトレーサビリティ
• Data point traceabilityを担保するための方法• VISIT,VISITNUM,--SEQ等の保持
• SRC--変数の作成
• SRCVARにAVALまたはAVALCに関連する変数名を格納する.
• SDTMの--SEQまたはADaMのASEQ(データセット内の被験者内で一意)の値をSRCSEQに格納する.
• ADaMからADaMを作成する場合,また,複数のデータセット(ADaMやSDTM)からADaMを作成する場合は,SRC--が有用である.
• 実用的でない場合もある.
• 日誌等,多くのレコードを用いて導出する場合等
5
ASEQはADaMIG V1.1ドラフトで追加されたのでV1.0には記載されていない
ADaMのトレーサビリティの事例①• 複数のデータセットのトレーサビリティ
• 生存時間解析用データをDSとVSから作成する場合
• イベント:入院,DBP>90,SBP>140のうち最も早く発生したもの
• センサー:イベントが起こらずに試験中止または完了
• SRC--を使用することで,サブイベントについても対応可能,かつトレーサビリティも担保できる.
6
各サブイベント
メインのイベント
トレーサビリティ用の変数SRC--
ADaMのトレーサビリティの事例②
• 新たな解析パラメータを作成する場合のトレーサビリティ
• eGFR(ml/min/1.73m**2)=194*Cr-1.094*Age-0.287(*0.739(女性の場合))• PARAMCD=MDRD_GFRとして追加
7LBSEQは欠測
トレーサビリティ用の変数(LBSEQ,VISITNUM)
ADaMのトレーサビリティの事例③
• ADTTEで中間データセットを作成する場合• イベントの特定までに候補のレコードがあり,トレーサビリティの確保のために中間データセットも作成して残しておく.
• イベント:B型肝炎の抗体陽転(HBeAg Seroconversion)の定義• ベースラインで抗体陽性
• 2時点連続で抗原陰性
• 2時点連続で抗体陽性
• HBeAg Seroconversionまでの期間は以下を最初に満たすまでの期間と定義する.
• ベースラインで抗原陽性の被験者において,抗原が2時点連続または最終観察で陰性,かつ抗体が陽性
• 最終の非欠測の検査で上記を満たさない場合はセンサー
• ベースラインで抗原陰性の被験者は解析から除外される.
• 評価は臨床検査で実施される(ADLBがソース).
8
ADaMのトレーサビリティの事例③• ADTTEで中間データセットを作成する場合
• 元データ(ADLBの一部)
• AVALCに結果が格納されている.
9
トレーサビリティ用の変数
ADaMのトレーサビリティの事例③• ADTTEで中間データセットを作成する場合
• 中間データセット(ADTTE1)• 単一イベント(T2HBeAg,T2HBeAB)と複合イベント(T2SERO)のレコードをそれぞれ作成
• SRC--変数にはADLBのASEQを格納
10
トレーサビリティ用の変数(ADLBのASEQ)
新たに作成したASEQ
ADaMのトレーサビリティの事例③• ADTTEで中間データセットを作成する場合
• 最終データセット(ADTTE2)• 複合イベント(T2SERO)の結果のみを格納.
• SRC--変数にはADTTE1のASEQを格納
11
トレーサビリティ用の変数(ADTTE1のASEQ)
新たに作成したASEQ
ADaM留意点②・トレーサビリティ・OpenCDISC Validation
12
OpenCDISC Validator
• CDISC形式のデータのバリデーションツール(http://www.opencdisc.org/projects/validator)
• 無償版と有料版があり,サポートやカスタマイズ機能等は有料版のみに含まれる(最新バージョンは2.0.2).
• SDTM,ADaM,Define.xml,SENDのバリデーションに加えて,Define.xmlの生成やデータ変換も実行できる.
• 規制当局側でも電子データ受領時に実行されるため,申請者側での実行は必須
13
ADaMにおけるOpenCDISC留意事項
1. データセットタイプの判別
2. 相対時間変数のbestフォーマット
3. AVALとAVALCの組み合わせ
4. 桁丸め(CHGとPCHG)
5. 統合解析関連(DMやEX等のソースの指定)
6. Analysis result metadata(スキーマに関するエラー)
14
1. データセットタイプの判別
• OpenCDISCでは以下のルールで,データセットをADSL, BDS (non-time to event, time to event), ADAEに判別する.
15
Dataset RuleADSL データセット名
BDS 以下の変数が1つ以上存在する場合:PARAMCD, PARAM, AVAL, AVALC, ADT, ASTDT, ASTDT, CNSR, CNSDTDSC, EVNTDESC, --TRT (CMTRT, EXTRT, ECTRT, SUTRT, PRTRT, SGTRT, XCTRT)
BDS (time to event) • TTE variables (CNSR, CNSDTDSC, EVNTDESC, STARTDT, ADT etc.)がデータセットに存在する
• CNSRに値が格納されているレコードが存在する
ADAE データセット名
1. データセットタイプの判別
16
① Processed Sourcesバリデーションが実施されたデータセット• OpenCDISC ver. 2でADaMのClassとして定
義されるのはADSL, BDS, ADAE
② Unprocessed Sourcesバリデーションが実施されなかったデータセット• OpenCDISC ver. 2では,OCCDSとして
ADCM, ADMHを作成した場合でも,ADAEと同じ判定はされない (Label/Class=Unknown & Reason=Missingとなる)
③ SDTM (DM, EX) との整合性の確認ADaM datasetとSDTMのDM, EX domainを一緒にOpenCDISCのチェックをかえることにより,DMとEX domainとの整合性を確認することができる
define.xmlとの整合性の確認も可能
2. 相対時間変数のbestフォーマット
• 変数のフォーマットについて• SAS日付値・日時値については,IGに従って Date型のフォーマットを付与する.
• SAS日付値・日時値以外の変数については特に決まりはなく,以下の例示のように各社対応は様々
• 一律フォーマットを付与しない
• 数値変数は一律best.• 数値変数はw.d.
17
BDSのARELTM(相対時間)にbest.を付与すると,OpenCDISC Validatorで,**TMの変数に正しくフォーマットが付与されていないという主旨のエラーが出る.
2. 相対時間変数のbestフォーマット
• OpenCDISCのバグを把握しておくには・・・• FORUMをチェック http://www.opencdisc.org/forum• CHANGELOG.txtをチェック
18
Forumからの抜粋前述のAD0042がバグであることが明記されている
2. 相対時間変数のbestフォーマット
• OpenCDISCのバグを把握しておくには・・・• FORUMをチェック http://www.opencdisc.org/forum• CHANGELOG.txtをチェック
19
CHANGELOG.txt (ver. 2.0.1)
3. AVALとAVALCの組み合わせ
• AVALとAVALC間でユニークな組み合わせにならない場合がある• AVALCを適切な小数点桁数で丸めた場合,又は「.0」と表示した場合に,
AVALとAVALCが1対1にならないため,エラーとなる.
• 定量上限を超えるデータを上限値に置き換える場合
• AVALCで>3と3のデータがAVALで3となり,1対1にならない.
20
4. 桁丸め(CHGとPCHG)
• CHG(変化量)とPCHG(変化率)で数値の桁を丸めると不一致のエラーが発生する
21
CHG = AVAL – BASEPCHG = (AVAL - BASE) / BASE * 100
OpenCDISC validator内でのチェックルール
桁の丸め
PCHG = round((AVAL - BASE) / BASE * 100, .1)
• CHG, PCHGに格納する値は社内ポリシーに関わってくる• CSR等における結果の再現性を確保するためには桁を丸める必要がある
CHG, PCHGのように算出を要する変数は,同様のチェックIDで,数値精度に伴う不一致も検出される
5. 統合解析関連(DMやEX等のソースの指定)
• 統合解析用ADaMのソース• 併合SDTMがソースデータではない場合,DM,EXドメイン等を指定できない.
• ドメインが指定されていないNoticeが出力される.
22
6. Analysis Results Metadata(スキーマに関するエラー)
• Define.xmlのバリデーションAnalysis Results MetadataはOpenCDISCでサポートされていないため,不正なElement,ElementやAttributeの位置に関するエラーが発生する.
23
References
• CDSIC ADaMhttp://www.cdisc.org/adam
• OpenCDISChttp://www.opencdisc.org/
• 坂上 拓(2015)「OpenCDISCのバリデーションルールとともにDefine-XML specification (ver. 2.0)を紐解く」SASユーザー総会2015
• CJUG ADaM OpenCDISC Team内部資料(公開予定)
• Madhura Paranjape, Trupti Bal. Interpreting ADaM Standards with OpenCDISC. PhUSE 2012
24