CDISC Open Rules EngineをPythonで動かす~下準備編~ (2024/8月版)
CDISC Open Rules Engine (CORE) をPythonの統合環境上で動かしたときのメモです
概要
この記事では一般的なWindows環境で、Pythonの統合環境(Spyder)上でCOREを動かすための、セットアップ方法を説明します。筆者の手持ちの環境での実験結果のため、参考程度に読んでください。
CDISC Open Rules Engine(CORE)って何?
CDISC標準に従って作成された資料(データセット・define.xml)が、規格通りにできているかをチェックするツール(バリデーションツール)です。過去にはWeb SDTMやOpen CDISCといったツールが存在し、2024年現在ではPinnacle 21というツールが最も広く普及しています。COREはCDISC標準を作成している団体が開発しているバリデーションツールになります。
COREの入手先
https://github.com/cdisc-org/cdisc-rules-engine より入手可能です
CDISC COREは随時開発が進められていて、2024年8月上旬時点で、バージョン0.7.1が最新
ページ内のReleaseページから任意のバージョンを選択できる
特に理由がなければ、最新バージョンを試すのがおすすめ
ダウンロードファイルについて
2つの形式でダウンロードできます。「実行ファイル形式」と「ソースコード」です。「実行ファイル」には、linux版・Mac版・Windows版があります。ソースコードはPythonで書かれています。また上記以外の入手方法としてPyPI経由でのインストールができます。
COREの実行方法
3つのやり方があります。
実行ファイルをダウンロードして、コマンドラインから実行する
ソースコードをダウンロードして、コマンドラインからPythonで実行する
PythonのパッケージをPyPIからインストールして、プログラムを書く
この記事では3.の方法を取り扱います
セットアップ手順
具体的なセットアップ手順はhttps://github.com/cdisc-org/cdisc-rules-engine でも解説されています。この指示に従って作業を進めていきます。
1. Pythonの環境を用意する
COREを使う環境を作ります。Pythonでは仮想環境を作れるので、CORE用のものを用意すると便利です(バージョンごとに環境を作ると尚よい)。以下、純正Pythonでの方法になります。以下、Windowsのコマンドラインで作業します。
仮想環境を作成したいディレクトリに移動する
仮想環境ごとにディレクトリが作成されます。都合のよい場所を選んでください。昔の仮想環境が不要になった場合、ディレクトリを削除すれば環境が削除されますpy -m venv [環境名]で仮想環境を作成
環境名の名前がついたフォルダが作成されます先ほど作成されたフォルダ内のScriptsフォルダへ移動(<環境名>/Scripts)
Activate と入力
これで仮想環境が稼働した状態になります。ここから必要なパッケージをインストールします。
統合環境をインストールします
py -m pip install spyder を実行COREパッケージをインストールします
py -m pip install cdisc-rules-engine を実行
環境によっては、別の作業が必要になることもあります。よくあるのがpipの更新
2. リソース(ルール・CT等)のダウンロード
上記の環境セットアップではCOREのエンジン部分がインストールされました。ですが、COREは「エンジン」と「ルール」が組み合わさって動くものです(下図参照)。
理想的にはCDISC LibraryからAPI経由でルールをダウンロードするのですが、ここでは「動作すればよい」と割り切って、すでに用意されているものをダウンロードします。
https://github.com/cdisc-org/cdisc-rules-engineの中のresource/cache から、pklファイルをダウンロードして、ローカルに保存しましょう。
保存場所はどこでも構いません
必要なファイルをダウンロードします
rules.pklはあった方がいいです
3. 不足モジュールの補足
ここまででセットアップは完了。後は統合環境でプログラミング…と行きたいところですが、現時点では必要なコンポーネントがインストールされないことがあります。プログラミング時にエラーが出てきたときはモジュールの不足も疑ってみてください。
4. プログラミング開始
仮想環境を稼働させた状態で、spyderと入力すればOKです。統合環境でプログラミングしましょう。https://github.com/cdisc-org/cdisc-rules-engineにて具体的なコードが示されているので、そちらを参考にするのがおすすめです。
2024年8月に特有の問題
numpyが2.0.0をリリース(2024年6月16日)した影響でエラーが発生する可能性があります。
この場合、numpyのバージョン1.x(例:1.26.4)をインストールして対応しましょう。