xmlv2 エンジンを用いた
annotated CRF の作成と検証方法の検討
Creation and verification method of annotated CRF using xmlv2 engine
三澤 喬
日本たばこ産業株式会社 医薬事業部
Takashi Misawa
要旨
注 釈 付 き 症 例 報 告 書 ( Annotated CRF ) 作 成 の 時 間 削 減 及び品質向上を目的とし,xmlv2エンジンを用いたAnnotated
CRFの作成方法及び検証方法の検討を行った。
キーワード:XMLV2, CDISC, SDTM, Annotated CRF(aCRF), MAP, XML, XFDF
Annotated CRFとは?
3 ▲「承認申請時の電子データ提出等に関する技術的ガイドについて」より ▲「Define-XML-2-0_ReleasePackage20140424」 blankcrf.pdf より CRF収集項目が 全てSDTMに格納されて いるかの確認用?どうやって作るのか?
どんなツールを用いるかは,スポンサーに委ねられている SDTM-MSGによると,下記2つの対応が必要 ① 注釈の検索可能 ② ブックマークの設定 (※目次は必須ではない) ▲「SDTM-MSG」 より注釈(Annotation)のルール
公式なルールはなく,例示があるのみ
5
作 成 す る にしても確認するにしても,
注釈(Annotation)のルール
公式なルールはなく,例示があるのみ
⇒社内(or 業界)でルールがあると確認しやすい
固定タイミング 作成タイミング
作成タイミング
7 CRF Spec Blank CRF PRT SDTM Spec ADaM Spec SDTM ADaM Raw EDC TLF TLF作成後に作成しても問題ないが, 既にCRF/SDTMが固定しているため, 修正することは出来ない。 EDCセットアップ前に作成も可能だが, 担当者が同じ場合それどころではない。 時間軸検討内容
1. SDTM変数のAnnotationを自動作成 2. Raw定義書からブランクCRFのページを特定 3. Domainベース,VISITベースのブックマークを自動作成 4. aCRFとdefine.xmlの整合性チェック ⇒2と3は,PDFMARKを用いて対応出来るようですが, 再現できず断念Reference : SDTM Annotations: Automation by implementing a standard process (PharmaSUG 2015 ) Geo Joy, Novartis
フリーソフトではいくつか存在している
Reference : Merge multiple RTF files, convert to PDF and add bookmark (PharmaSUG China 2017 ) - Xiang Wang
そもそも注釈(Annotation)を,
プログラムで扱えるのか?
9
▲https://helpx.adobe.com/jp/acrobat/kb/3419.html
Forms Data Formatとは?
PDF FDF xxxx xxxx SDTM SDTM FDF又はXFDFとして注釈部分を書き出し/取り込みすることが可能。 またXML形式であるXFDFは,SASを用いて容易に取り込みが可能。XFDFファイルの書き出し方法
XFDFファイルに必要な情報
Blank CRF*から抽出したXFDFファイル例 *「Define-XML-2-0_ReleasePackage20140424」 blankcrf.pdf テキストエディタ 表示 SAS XML Mapper 表示1. SDTM変数のAnnotationを自動作成
(ここではXMLV2エンジンは使用しません)
SDTM変数のAnnotationを自動作成
新規 レガシーコンバージョン CRF Spec CRF XFDF aCRF CRF Spec CRF SDTM XFDF aCRF Spec Pinnacle Define.xml Spec 本発表の方法では, いずれのプロセスも, 適切な場所へのマッピング, ブックマークは,手作業で あることに注意。 ここで間違えていたら正しいものは出来ない必要なファイル
① Pinnacle 21 Communityで作成するdefine.xml作成用spec
② 空のPDF
• XFDFファイルを開くためのベースとなるPDF
プログラム実行手順
※予め該当するPDFファイルのPathをXFDF内で指定しておけば, この処理は不要です。 その後, 適切な場所へのマッピング, ブックマークは,手作業… 枠内の色違い (Annotationは全て同じ)手作業部分
17
ブックマーク マッピング
Copy & Paste
作成方法
①下記2シートを読み込み,Origin=“CRF”で絞る Sheet [Variables] 事前にページ数を定義するのは, 工数がかかる。 そ の た め 本 プ ロ グ ラ ム で は , 使用していない。作成方法
②Annotation用に加工
▼今回作成したのは下記のAnnotation仕様のみ DOMAIN = Domain name
VARIABLE
VARIABLE in SUPPXX
VARIABLE1 where VARIABLE2 = VALUE
VSORRESU where VSTESTCD = HEIGHT and COUNTRY = CAN 19
加工が必要
ルールの通りに変換 プログラムで分解
作成方法
③Annotationの仕様(ボックスサイズや色)を指定
• ボックスの大きさを内容により変更
• 1ページに複数のDomainを記載する場合,複数の色を使用 • Domainと変数の色は分ける
作成方法
④XFDFファイルに出力 21 Output Body Header/Trailer2. DB定義書からブランクCRFのページを特定
3. Domainベース,VISITベースのブックマークを
自動作成
4.aCRFとdefine.xmlの整合性チェック
(既にaCRFのQCをしていればチェックする必要なし)
整合性チェックは必要か?
Rejectルールにはないため,間違えていても(恐らく)問題ない。 しかし,不整合があると,他の成果物も疑わしくなる。
そのため,チェックする必要があるが,労力をかけたくない。
XMLファイルのデータセット化
SAS 9.3(TS1M2)よりMAPファイルを簡単に作成出来るように なり,XMLV2エンジンを用いることで,XMLファイルを容易に データセット化できるようになった
25
▲Sample 47349: Create and use an XMLMap file in a SAS® session
MAPファイルとは?
XMLの構造をSASデータセット構造へ変換するためのファイル
Elementごとに
データセットが作成される Attributeが変数になる
整合性チェックフロー
①XMLファイルをXMLV2エンジンを用いてSASデータセット化 ②必要な情報に絞り,各注釈の関連情報を加工 ③想定していないAnnotationを除外する等の処理 27 ① ② ③ annotation仕様外の注釈リスト (目視チェックが必要) プログラムで抽出した, aCRFとdefine.xmlの差分リスト② 必要な情報に絞り,各注釈の関連情報を加工
XFDXファイルにある注釈テキスト,背景色,ページ番号を取得後,
• Domain,変数の区分は,文字サイズで判別(18ptと12pt)
③ 想定していないAnnotationを除外する等の処理
Domainや変数が特定できないものは,Define.xmlの情報と 比較できないため,除外して一覧にして目視確認。 29 1 obs: 見た目は同じ色だが,背景色の設定が違う。 2 obs: 想定外の仕様であるため,プログラムでの確認が出来ない。 3 obs: 想定外の仕様であるため,プログラムでの確認が出来ない。 #BFFFFF #A4FFFF正しいか正しくないかは, 各社の判断
比較結果
aCRFでは4つマッピングされているが, define.xml上は1ページのみ
• SASを用いてある程度の工数削減が可能となった。
⇒PDF上でAnnotationを手作業で作るのは一苦労。 (作成したことがある人は分かるはず…)• 最終成果物チェックとして活用は出来そうだが,
aCRFを完全自動作成するには改良が必要である。
しかしながら,申請以外でaCRFを活用することはほぼ無く, (CRF SpecやSDTM Specに情報はあるので) どこまで検討に力を入れるかは要検討検証結果
31今後の展望
• XML形式のファイルを使用することが増えてくることが予想 されるため,importした通りの構造でexport出来る容易なプ ロセスを用意いただけると非常にうれしく思う。 • 今後,タグで表現されるファイル( XML, RDF等)の活用事例 が多く出てくることを強く望む。Reference
CDISC
• Study Data Tabulation Model Metadata Submission Guidelines (SDTM-MSG) Ver.1.0 • CDISC Define-XML Specification Version 2.0
Adobe
• XML Forms Data Format Specification Ver.3.0
• Adobe® Acrobat® SDK 8.0 pdfmark Reference, Edition 1.0, November 2006 SAS
• SAS® 9.4 XML LIBNAME Engine: User’s Guide
• Sample 47349: Create and use an XMLMap file in a SAS® session Other
• 承認申請時の電子データ提出等に関する技術的ガイドについて 平成27年4月27日 • SDTM Annotations: Automation by implementing a standard process
(PharmaSUG 2015 ) Geo Joy, Novartis
• Merge multiple RTF files, convert to PDF and add bookmark (PharmaSUG China 2017 ) - Xiang Wang
Backup
XFDFファイルに必要な情報
Annotationに必要な情報
37
Attributes Element
FDF annotation attributes Markup annotation attributes
page Required creationdate Optional
Common annotation attributes opacity Optional color Optional subject Optional date Optional Border style attributes
flags Optional width Optional name Optional dashes Optional
rect Required style Optional
title Optional Freetext annotation attributes
rotation Optional justification Optional intent Optional
XFDFファイルに必要な情報
Annotationに最低限必要な情報
39
Freetext Element Body Element page style color P Element date <表示する文字列> rect title v v aCRF確認作業に 必要と判断した
Blank CRF*のXFDFを見てみると… Blank CRFのXFDFでは,上記の2つの方法で記載されている。 Blank CRFの記載方法 (Span elementが使用されている) 前ページの記載方法 *「Define-XML-2-0_ReleasePackage20140424」 blankcrf.pdf
• xmlnsとxmlns:xfaがないと,
PDFでの加工が出来ない。
(正確な情報かどうかは不明です。
あくまで検証したらこれで出来たというだけです。)
41 テキスト を選択 すると… × ○ × × ○ ○ 自動作成のMAPファイルのLength切れ ダブルバイトやブランクが含まれる場合,Lengthが短くなることがある。 WARNING: 変数pにデータトランケーションが発生しました:列長=122 追加長=142 43 XML file Map file 現状,手作業で修正 する必要がある ただし,Logに適切なLengthを表示してくれるので手間はそこまでかからない
複数Pathを同じ変数として格納する方法 Spanという データセットに 格納される Pという データセットに 格納される 両方注釈が無いようなので, 同じ変数として取り扱いたい
複数Pathを同じ変数として格納する方法 残念ながら現状はありません。 しかし,SASテクニカルサポートの松井様より (テクニカルサポートのご案内)http://www.sas.com/offices/asiapacific/japan/service/technical/techsup.html 45 改めて調査頂き, ありがとうございました!
ただし,自動作成されたMAPの下記赤字部分を削除すれば, 1ファイルとして取り扱えます。
1ファイルにはなりますが,Pという変数とSPANという変数に
格納されるところは変わらない。 47