proc STREAM による Analysis Results Metadata の作成 関根暁史 ( 藤本製薬株式会社 ) proc STREAM: The Feasible Method for Creating define.xml Files. Satoshi Sekine Fujimot

Similar documents
Pinnacle 21: ADaM データセットや Define.xml の CDISC 準拠状況をチェックするツール 本発表で言及している Pinnacle: Enterprise version ( 有償版 ) Community version ( 無償版 ) 本発表で

PowerPoint プレゼンテーション


要旨 : データステップ及び SGPLOT プロシジャにおける POLYGON/TEXT ステートメントを利用した SAS プログラムステップフローチャートを生成する SAS プログラムを紹介する キーワード :SGPLOT, フローチャート, 可視化 2

電子データ申請に向けた品質管理サイクルの最適化 ~ プログラミング業務における deja vu からの脱却 ~ 小林千鶴, 平野勝也, 坂井絵理, 北西由武 ( 塩野義製薬株式会社解析センター ) Optimization of quality control cycle toward electr

スライド 1

スライド 1

Proc luaを初めて使ってみた -SASでの処理を条件に応じて変える- 淺井友紀 ( エイツーヘルスケア株式会社 ) I tried PROC LUA for the first time Tomoki Asai A2 Healthcare Corporation

<4D F736F F F696E74202D F8D F8DE28FE35F D208AD F18F6F95A882CC97AF88D3935F87415F88F38DFC97702E >

Microsoft Word - sample_adv-programming.docx

untitled

SAS Web XML * ** * ** Web Data Analysis with SAS Input and Output of XML Data and Application to Real Estate Valuation Map Junnosuke Matsushima*, Hiro

Microsoft PowerPoint - 【配布・WEB公開用】ACRONET_Kitahara.ppt [互換モード]

帳票 Mockup からの RTF 用テンプレート SAS プログラム自動作成ツール Taiho TLF Automated Tool の紹介 伊藤衡気 1 栗矢芳之 2 銭本敦 2 ( 株式会社タクミインフォメーションテクノロジー 1 大鵬薬品工業株式会社 2 )

Microsoft PowerPoint - 01CDISC概要短縮版.ppt

Value Level Metadata に関する検討 CJUG-SDTM Team - 1 -

PowerPoint プレゼンテーション

解析プログラムの提出の可否( マクロの提出可否 仕様書の提出 ) 使用した解析ソフトウエアとそのバージョン 解析実施環境 (2) 電子データ提出を予定する各試験等の情報 ( 統合解析 ) 1 解析目的及び対象に関する情報 2 電子データに関する情報 3 解析実施に関する情報 (3) 電子データ提出を

3 4 2

Slide 1

データ構造の作成 一時 SAS データセットと永久 SAS データセットの作成 テキストファイルから SAS データセットを作成するための DATA ステップの使用例 : Data NewData; Infile "path.rawdata"; Input <pointer-control> var

<4D F736F F F696E74202D F F8B7B89595F D208AD F18F6F95A882CC97AF88D3935F87405F88F38DFC97702E >

要旨 注釈付き症例報告書 ( Annotated CRF ) 作成の時間削減及び品質向上を目的とし,xmlv2 エンジンを用いた Annotated CRF の作成方法及び検証方法の検討を行った キーワード :XMLV2, CDISC, SDTM, Annotated CRF(aCRF), MAP,

Chromeleon 6 for Chromeleon 6.8 SR15 Build: --- 新しいシーケンスの作成に使用できるワークリストファイル (.wle) Doc. Nr: CM6_68150_0020 Doc. Ver.: Doc. Type: Guide

PowerPoint プレゼンテーション

WEBシステムのセキュリティ技術

農業・農村基盤図の大字小字コードXML作成 説明書

momentum Probe Type-R/C version 4.21 build-a04a Release Notes Release Version: momentum Probe Type-R/C version 4.21 build-a04a Release Date: 2018/06/2

ある実務担当者が考える ADaM 開発アプローチと標準の紹介 坂上拓 ( 株式会社中外臨床研究センターバイオメトリクス部データサイエンスグループ ) Introduce ADaM development approach and standards considered by a certain p

Webプログラミング演習

スクールCOBOL2002

内容 Visual Studio サーバーエクスプローラで学ぶ SQL とデータベース操作... 1 サーバーエクスプローラ... 4 データ接続... 4 データベース操作のサブメニューコンテキスト... 5 データベースのプロパティ... 6 SQL Server... 6 Microsoft

NLMIXED プロシジャを用いた生存時間解析 伊藤要二アストラゼネカ株式会社臨床統計 プログラミング グループグルプ Survival analysis using PROC NLMIXED Yohji Itoh Clinical Statistics & Programming Group, A

New version (2.15.1) of Specview is now available Dismiss Windows Specview.bat set spv= Specview set jhome= JAVA (C:\Program Files\Java\jre<version>\

1 I EViews View Proc Freeze

NFC ucode タグのメモリフォーマット規定

UID S307-NDEF

,, create table drop table alter table

Lotus Domino XML活用の基礎!



UNIX版SAS/Warehouse Administrator ソフトウェア

XMLとXSLT

UMIN INDICE Lower level data communication protocol for CDISC ODM規約

PhUSE作成の「Analysis Data Reviewer’s Guide Completion Guidelines」の解説

Jupyter Notebook を活用したプログラムライブラリ構築の検討 吹谷芳博 1, 藤澤正樹 1 ( 1 あすか製薬株式会社 ) Examination of the program library construction using Jupyter Notebook ASKA Pharm

Si 知識情報処理

サイボウズ Office 10「個人フォルダ」

スライド 0

スライド 1


スライド 1

出力可能なバーコードの種類 出力可能なバーコードの種類各バーコードはそれぞれのバーコードの仕様に準拠します バーコードの種類 PDF417 MICROPDF417 対応バーコードの名称 PDF417 マイクロ PDF417 操作例 PDF417 商品コードの内容を PDF417 にする 作成された

Microsoft PowerPoint pptx

テキストファイルの入出力1

申請時電子データ提出におけるレガシーデータ変換に関する考察

無料で多機能な OSS の ETL ツール Kettle を使ってみよう! 情報政策課技術職員金森浩治 1. はじめにデータ処理を行うにあたって非常に便利なツール ETL 本稿では OSS の ETL Kettle の機能とその使用方法を紹介します 2. 用語説明 2.1 OSS とは? OSS と

スライド 1

PowerPoint Presentation

Gray [6] cross tabulation CUBE, ROLL UP Johnson [7] pivoting SQL 3. SuperSQL SuperSQL SuperSQL SQL [1] [2] SQL SELECT GENERATE <media> <TFE> GENER- AT

2. 設定画面から 下記の項目について入力を行って下さい Report Type - 閲覧したい利用統計の種類を選択 Database Usage Report: ご契約データベース毎の利用統計 Interface Usage Report: 使用しているインターフェイス * 毎の利用統計 * 専用

Specview Specview Specview STSCI(Space Telescope SCience Institute) VO Specview Web page htt

ソフトウェアエンジニアリング - 機能 #54


2. Save をクリックします 3. System Options - Network - TCP/IP - Advanced を開き Primary DNS server と Secondary DNS Server に AXIS ネットワークカメラ / ビデオエンコーダが参照できる DNS サ

フローチャート自動生成ツール yflowgen の使い方 目次 1 はじめに 本ツールの機能 yflowgen.exe の使い方 yflowgen.exe の実行方法 制限事項 生成したファイル (gml ファイル形式 ) の開

データベースアクセス

合宿事前講座 Web 開発の基本編その 2 情報研究会モブ 薗田海樹 The. H.30 情報研究会 1

Consuming a simple Web Service

Takeda Takanami

メール全文検索アプリケーション Sylph-Searcher のご紹介 SRA OSS, Inc. 日本支社技術部チーフエンジニア Sylpheed 開発者 山本博之 Copyright 2007 SRA OSS, Inc. Japan All right

Microsoft Word - tutorial3-dbreverse.docx

libref libref libref

Using the Excel Exporter

eYACHO 管理者ガイド

Microsoft PowerPoint - css-3days.ppt [互換モード]

QualysGuard(R) Release Notes

Transcription:

proc STREAM による Analysis Results Metadata の作成 関根暁史 ( 藤本製薬株式会社 ) proc STREAM: The Feasible Method for Creating define.xml Files. Satoshi Sekine Fujimoto Pharmaceutical Corp.

要旨 : 従前の put 文ではなく SAS9.4 より実装の STREAM プロシジャを用いて define.xml の一部である解析結果メタデータを作成した 解析結果メタデータ無しの define.xml に対し 解析結果メタデータを SAS で作成して挿入した (Pinnacle の Warning が出にくい構成とした ) STREAM プロシジャを利用して ADaM データセットの Validation を行った キーワード :STREAM プロシジャ, Analysis Results Metadata( 解析結果メタデータ ), define.xml,pinnacle の Validator 2

put 文を使用した場合 %let stylesheet=define2-0-0.xsl; 改行コード filename sample ". sample.txt"; data _null_; file sample; put @1 '<?xml version="1.0" encoding="utf-8"?>' / @1 '<?xml-stylesheet type="text/xsl" href=" ' "&stylesheet." ' "?>' / @3 "<!-- Date: &sysdate9. -->" ; run; どのクオーテーションが実際の xml 文書に出力されるのか理解しにくいマクロ変数を仕込むために クオーテーションマークを何重にも記入したり 時にはシングル ダブルクオーテーションマークを反転させたりといった工夫が必要 カラムポインタ 3

STREAM プロシジャを使用した場合 改行コード proc stream outfile=sample; begin <?xml version= 1.0 encoding= UTF-8?> &streamdelim. newline; <?xml-stylesheet type= text/xsl href= &stylesheet.?> &streamdelim. newline; <!-- Date: &sysdate9. --> &streamdelim. newline; ;;;; 空白文字は考慮される ( カラムポインタの概念はない ) begin で始まり ;;;; で終わる間に出力内容を書き込む (run; quit; の記入は不要 ) <?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet type="text/xsl" href="define2-0-0.xsl"?> <!-- Date: 13APR2017 --> 実際の出力 xml 文書 実際の出力 xml 文書に近いプログラムを書くことが出来る 4

改行コードとコメントアウト 改行コード ( 以降 mylabel とする ) proc stream outfile=sample resetdelim="mylabel"; begin <?xml version="1.0" encoding="utf-8"?> mylabel newline; * 改行コードの後ろ ; <?xml-stylesheet type="text/xsl" href="&stylesheet."?> &streamdelim. newline; <!-- Date: &sysdate9. --> /* resetdelim の指定 */ mylabel newline; ;;;; 元の改行コードも使用可 /**/ で囲めばプログラムのどの場所でもコメントアウト出来る *; のコメントは改行コードの後ろであればコメントアウトされるが 改行コードの前に書いた場合はそのまま xml に出力されてしまう 改行コードはユーザー定義に変更出来る コメントアウトは可能 5

マクロ %macro TITLE(_title=); <!-- *********************************** --> mylabel newline; <!-- *** &_title. *** --> mylabel newline; <!-- *********************************** --> mylabel newline; %mend TITLE; 外部マクロ proc stream outfile=sample resetdelim="mylabel"; begin %TITLE(_title= 外部ファイルにリンクを貼る ) セミコロンはなくとも展開する ( 逆 ;;;; にセミコロンが出力に残ってしまうとdefine.xmlに不具合をもたらす ) <!-- *********************************** --> <!-- *** 外部ファイルにリンクを貼る *** --> <!-- *********************************** --> xml 文書におけるコメントアウト STREAM プロシジャ内で外部マクロの使用が可能 6

繰り返しの構造 (1) データセットlinkから繰り返しのxml 文書を発生させたい データセットlink ID Title Href at14-3-01.sas at14-3-01.sas at14-3-01.sas at14-5-02.sas at14-5-02.sas at14-5-02.sas <def:leaf ID="LF.at14-3-01.sas" xlink:href="at14-3-01.sas"> <def:title>at14-3-01.sas</def:title> </def:leaf> <def:leaf ID="LF.at14-5-02.sas" xlink:href="at14-5-02.sas"> <def:title>at14-5-02.sas</def:title> </def:leaf> 同様の構造が繰り返される しかし STREAM プロシジャにはデータを発生させるという概念がない 7

繰り返しの構造 (2) そこで 外側で作ったデータセットの内容をマクロ変数の形で STREAM に引き渡す data links; set link; text='<def:leaf ID="LF.' strip(id) '" xlink:href="' strip(href) '"> mylabel newline;'; output; text=' <def:title>' strip(title) '</def:title> mylabel newline;'; output; text='</def:leaf> mylabel newline;'; output; run; proc sql noprint; select text into : _repeat separated by ' ' from links; quit; proc stream outfile=sample resetdelim= mylabel ; begin &_repeat. マクロ変数の展開 ;;;; SQL によるマクロ変数化 8

dosubl 関数 前ページの工程は STREAM プロシジャ内に含めることが出来る proc stream outfile=sample resetdelim="mylabel"; begin %let rc=%sysfunc(dosubl( data links; set link; text='<def:leaf ID="LF.' strip(id) '" xlink:href="' strip(href) '"> mylabel newline;'; output; text=' <def:title>' strip(title) '</def:title> mylabel newline;'; output; text='</def:leaf> mylabel newline;'; output; run; proc sql noprint; select text into : _repeat separated by ' ' from links; quit; )); &_repeat. ;;;; %let rc=%sysfunc(dosubl( )); で閉じられた箇所に データステップやプロシジャステップの記入は可能 但しプログラムの可読性は余りよろしくない 9

DDE の操作 エクセルを自動で閉じる工程を示す %let bracket=[ ; filename xls dde 'excel system'; proc stream outfile=xls; begin%nrstr( &bracket. ) close(false)] [quit()] ;;;; 角括弧のマクロ変数化 残りの角括弧のクオーティングは不要 STREAM プロシジャは書き始めの角括弧を特殊文字と捉えられてしまうので クオーティングが必要 先頭の角括弧の処理のみ注意が必要だが STREAM プロシジャは DDE を操作することが可能 (DDE を put 文で書く必要がなくなる ) 10

解析結果メタデータ作成 4 つのエクセルシートを用意 (arm_template.xlsx) arm_template.xlsx Leaf シート whereclause.txt AnalysisResult シート Variable シート SAS プログラム (arm_generate.sas) comment.txt external_links.txt WhereClause シート analysisresults.txt SAS プログラム (arm_generate.sas) が xml 言語で書かれた 4 つのテキストファイルを出力する 11

Leaf シート リンクを貼りたい外部ファイルの定義 ID Title Href at14-3-01.sas at14-3-01.sas./dummy/at14-3-01.sas at14-5-02.sas at14-5-02.sas./dummy/at14-5-02.sas ADRG( データガイド ) や ADaM 作成プログラムなどへもここからまとめてリンク定義してもよい 12

AnalysisResult シート 解析結果メタデータ全般定義 Display Display Table Title Table 14-3.01 主要な解析 : 血圧値の投与前からの変化量 CSR_ID CSR_Page Repeat Table RepeatTitle Table-14-3.01 1 R.1 収縮期血圧の投与前か らの変化量の線形モデル 解析 Analysis Reason SPECIFIED IN SAP Analysis Purpose PRIMARY OUTCOME MEASURE Join Comment AnalysisDocumentation SAP_ID TRTPNに対するCHGの SAP- 線形モデル解析 : モデル SEC- にはTRTPN,AVISITNお 10.1.1 よびBASEを組み入れた SASのMIXEDプロシジャを使用して TRTPNの平方和 (TypeⅢ) に対応したp 値を生成した SAP_Page SASversion ProgrammingStatements 1 SAS version 9.4 proc mixed data = ADVS; mylabel newline; where PARAMCD="SYSBP" and ANL01FL='Y' and FASFL='Y'; mylabel newline; class TRTPN AVISITN USUBJID; mylabel newline; model CHG = TRTPN AVISITN BASE / ddfm = KR; mylabel newline; repeated AVISITN / type = TOEPH subject = USUBJID; mylabel newline; run; CSR の表題,AnalysisReason,AnalysisPurpose,Documentation, ProgrammingStatements,SAS の version,sas プログラムへのリンク等をここに記入 CSR の 1 つの表題の中で複数の解析をしている場合は R.1,R.2 のように複数のサブタイトルに分割する 13

Variable シート 使用データセットおよび使用変数を定義 DisplayTable RepeatTable AnalysisDataset AnalysisVariables Table 14-3.01 R.1 ADVS CHG Table 14-3.01 R.2 ADVS CHG Table 14-5.02 R.1 ADAE AEBODSYS,AEDECOD Table 14-5.02 R.1 ADSL 解析に使用するデータセットの定義 (Analyis Variable (s) で直接使用しないデータセット名の記入も必要 ) 解析に使用する変数の定義 ( 複数使用する場合はカンマ区切りで記入 ) 14

WhereClause シート データ抽出条件定義 DisplayTable RepeatTable AnalysisDataset CheckVariable Comparator CheckValue Table 14-3.01 R.1 ADVS PARAMCD EQ SYSBP Table 14-3.01 R.1 ADVS ANL01FL EQ Y Table 14-3.01 R.1 ADVS FASFL EQ Y Table 14-3.01 R.2 ADVS PARAMCD EQ DIABP Table 14-3.01 R.2 ADVS ANL01FL EQ Y Table 14-3.01 R.2 ADVS FASFL EQ Y Table 14-5.02 R.1 ADAE TRTEMFL EQ Y Table 14-5.02 R.1 ADAE AESER EQ Y Table 14-5.02 R.1 ADSL SAFFL EQ Y Comparator に記入出来るのは LT,LE,GT,GE,EQ,NE,IN,NOTIN のいずれかである (EQ を = のように入力は出来ない ) 15

whereclause.txt データ抽出条件 (Data References) def:whereclausedef Element に PARAMCD が記入されていた場合 arm:analysisresult Element(analysisresults.txt の中にある ) にも自動的に PARAMCD を書き入れる仕様とした つまり Analyis Parameter (s) には何かを記入するのではなく Data References (incl. Selection Criteria) の内容を見て自動的に書き入れる仕様とした 16

comment.txt 複数のデータセットを使用する際の結合コメント 例えば有害事象集計をする際に 有害事象発現例数は ADAE から 割合の分母は ADSL から引っ張って来ることになる ADAE,ADSL という複数のデータセットの結合法をコメントとして Data References に入れられる その際下欄の Comments にも同内容が連動して記載されることとなる 17

external_links.txt 外部ファイルにリンクを貼る 具体的なプログラムは本資料の p.7~p.9 で詳しく述べさせて頂いた 解析結果作成用 SAS プログラム以外にも ADRG( データガイド ) や ADaM 作成プログラムなどへもこの工程でまとめてリンク定義して頂きたい 18

analysisresults.txt(1) 1 つの表題の中の複数の解析 CSR の 1 つの表題の中で複数の解析を行っている場合 上記の R.1,R.2 のように複数の Table のブロックを発生することが出来る 19

analysisresults.txt(2) AnalysisReason と AnalysisPurpose AnalyisReason には SPECIFIED IN PROTOCOL, SPECIFIED IN SAP, DATA DRIVEN, REQUESTED BY REGULATORY AGENCY から記載する AnalyisPurpose には PRIMARY OUTCOME MEASURE, SECONDARY OUTCOME MEASURE, EXPLORATORY OUTCOME MEASURE から記載する 20

analysisresults.txt(3) ProgrammingStatements 改行コードは前もってエクセル内に仕込んでおく 字下げは考慮される 改行 エクセルテンプレートのおいて 前もって空白文字と改行コード入りの ProgrammingStatements を記載しておけば define.xml 上で綺麗に折り返す <arm:code> </arm:code> の中では改行を行うことが出来る ( 他の <TranslatedText > </TranslatedText> の中では文書の改行は不可だった ) 21

define.xml 作成 (1) 解析結果メタデータ無しの define.xml(olddefine.xml) の読み込み olddefine.xml ( 解析結果メタデータ無しの define.xml) olddefine.xml と名付け header データセットと footer データセットに 2 分割する 分割 header xmlns:arm="~ 記入 footer </MetaDataVersion> </Study> </ODM> 削除 Web ブラウザに映るように xmlns:arm= ~ の URL を記入しておく <ItemGroupDef OID が出て来た後のパーツを footer データセットとして切り出し 最終の </MetaDataVersion> </Study> </ODM> を予め削除しておく 22

define.xml 作成 (2) データの結合 define.xml header 挿入結合 footer whereclause.txt comment.txt この順番で結合することにより DD0007 Invalid content was found starting with element def:commentdef の Warning を出さないようにすることが出来る 結合 external_links.txt analysisresults.txt </MetaDataVersion> </Study> </ODM> </MetaDataVers ion> </Study> </ODM> で最後タグを閉じる 23

符号化方式 define.xml 作成 (3) filename newdef ".\define.xml" encoding="utf-8" ; 最終出力で encoding="utf-8" を付けておけば 符号化方式に間違いがない 今回の define.xml には DD0078 Document LF.at14-5-02.sas is not referenced のようなリンクが貼られていないという Warning は出してしまうが v2.1.3 版が解析結果メタデータ自体を監視していないことに由来するものであり これは防ぐことが出来ない 24

ADaM データセットの Validation(1) コマンドラインインターフェース Pinnacle には CUI 操作するための jar ファイル (validator-cli-2.1.3.jar) が含まれている 以下のプログラムで jar ファイルのヘルプの内容を (reference.txt に ) 書き出すことが出来る カレントディレクトリを Pinnacle(lib) の置き場所に合わせる *=====Pinnacle21(lib) の置き場所 ( 絶対パスを指定 ); %let _path=c:\pinnacle21-community-2.1.3\components\lib\; *===== 出力ファイルの置き場所 ( 絶対パスを指定 ); %let _abs= C:\pinnacle21-community-2.1.3\; batファイルに出力 filename _temp "&_abs.\reference.bat"; proc stream outfile=_temp quoting=both resetdelim="mylabel"; begin cd &_path. mylabel newline; java -jar validator-cli-2.1.3.jar -help > &_abs.\reference.txt mylabel newline; exit ;;;; SAS 側からbatファイルを叩く options noxwait noxsync; x "&_abs.\reference.bat"; 25

ADaM データセットの Validation(2) reference.txt xpt ファイルの指定 IG のバージョン指定 レポートファイル名指定 レポートファイルの上書きの可否 General Parameters -type SDTM ADaM SEND Define Custom (SDTM) Source Data Parameters -source <path> -source:type SAS Delimited (SAS) -source:delimiter <delimiter> (,) -source:qualifier <qualifier> (") Configuration Parameters -config <path> define.xml 添付 -config:define <path> -config:codelists <path> -config:snomed <version> NCI Terminologyの -config:meddra <version> 指定 -config:cdisc <version> -config:ndfrt <version> -config:unii <version> Report Parameters -report <path> メッセージ行数の -report:type Excel CSV XML (Excel) カットオフ指定 -report:cutoff <#> (1000) -report:overwrite yes no define.xml を generate する -task は今では抜け落ちてしまっている 26

ADaM データセットの Validation(3) STREAM プロジジャによる制御 ワイルドカードにより全ての xpt ファイルを指定 /* プログラム : adam_validation.sas */ *=====Pinnacle21(Community 版 ) の置き場所 ( 絶対パスを指定 ); %let _path= C:\pinnacle21-community-2.1.3\; *=====ADaM,define.xml, 出力ファイルの置き場所 ( 絶対パスを指定 ); %let _abs= C:\pinnacle21-community-2.1.3\; filename _temp "&_abs.\adam_validation.bat"; proc stream outfile=_temp resetdelim="mylabel"; begin cd &_path. mylabel newline; ADaM IGの指定 java -jar components\lib\validator-cli-2.1.3.jar コマンドラインでは空白文字が許 -type=adam -source=&_abs.\*.xpt されないので 空白文字をダブル -source:type=sas クオーテーションで囲っている -config=\adam" "1.0" "(PMDA).xml -config:cdisc=2016-03-25 -config:define=&_abs.\define.xml -report=&_abs.\adam_validation.xlsx -report:type=excel -report:cutoff=1000 -report:overwrite=yes > &_abs.\adam_validation.log mylabel newline; exit ;;;; Pinnacleの実行 logを取得することが出来る options noxwait xsync; x "&_abs.\adam_validation.bat"; 本来 define.xml そのものの Validation を SAS から制御したいところであったが validator-cli-2.1.3.jar には define.xml の Validation 機能が落ちてしまっているようだ 27

xml をエクセルに変換するプログラム (1) NCI Codelist(xml ファイル ) のリスト化 ( エクセルファイル ) 本内容は論文集には掲載されておりません エクセルで xml を開いて xml ファイルとして保存する VBScript /* プログラム : xml ファイルのエクセル化.sas */ *=====Controlled Terminology の場所 ( 絶対パスを指定 ); %let _inpath=c:\pinnacle21-community-2.1.3\components\config\data\cdisc\adam\2016-03-25; *=====Controlled Terminology; %let _infile=adam Terminology.odm.xml; *===== 出力ファイルの場所 ( 絶対パスを指定 ); %let _outpath=c:\pinnacle21-community-2.1.3\components\config\data\cdisc\adam\2016-03-25; *====== 出力ファイル名 ; vbsに出力 %let _outfile=adam Terminology.odm.xlsx; filename _temp "&_outpath.\xml ファイルのエクセル化.vbs"; proc stream outfile=_temp resetdelim="mylabel"; begin Set ex=createobject("excel.application") mylabel newline; ex.visible=true mylabel newline; ex.workbooks.openxml "&_inpath.\&_infile.",,2 mylabel newline; ex.activeworkbook.saveas "&_outpath.\&_outfile.",51,,,false mylabel newline; ex.application.quit mylabel newline; Set ex=nothing mylabel newline; ;;;; SAS 側からvbsを叩く options noxwait xsync; x "&_outpath.\xml ファイルのエクセル化.vbs"; 28

xml をエクセルに変換するプログラム (2) NCI Codelist(xml ファイル ) のリスト化 ( エクセルファイル ) 本内容は論文集には掲載されておりません ADaM Terminology.odm.xlsx スタイルシートを適用しないでファイルを開いた時のリストを獲得 29

まとめ STREAM プロシジャを使用することによりクオーティングを気にすることなく define.xml の一部である解析結果メタデータを無理なく作成することが出来る define.xml の作成の工夫により Pinnacle の Validator が出す特定の Warninng を回避した STREAM プロシジャは xml 文書の作成に適しているが DDE, コマンドライン,VBScript,R,Pinnacle の Validator 等の操作も行うことが出来ると考えられる 30

参考文献 1) Don Henderson (2014).PROC STREAM and SAS Server Pages: Generating Custom HTML Reports,SAS Global Forum 2014 Paper 1738-2014 2) Joseph Hinson (2015).Proc STREAM: The Perfect Tool For Creating Patient Narratives,PharmaSUG 2015 Paper AD03 3) Joseph Hinson (2016).The New STREAM Procedure as a Virtual Medical Writer, PharmaSUG 2016 Paper AD17 4) CDISC ADaM Metadata Sub-Team (2015).Analysis Results Metadata Specification Version 1.0 for Define-XML Version 2,2015 Clinical Data Interchange Standards Consortium, Inc. 5) Chris Holland (2012).Implementing CDISC Using SAS An End-to-End Guide, SAS Institute Inc. 6) 高浪洋平 (2014).SAS と Excel を用いた CDISC ADaM 標準における作業効率化の試み, SAS ユーザー総会 2014 論文集 7) 高浪洋平 (2015). 解析結果メタデータの概要と SAS による作成方法の提案, SAS ユーザー総会 2015 論文集 8) Mark Crangle (2014).Running OpenCDISC from SAS,PhUSE 2014 Paper TS04 9) Sergiy Sirichenko (2016).Usage of Pinnacle 21 Community Toolset 2.1.1 for Clinical Programmers,PharmaSUG 2016 Paper HT04 31

ご清聴有難うございました 32