alterlab-redcap-cdisc について
alterlab-redcap-cdiscは、研究チームによるREDCapデータディクショナリの設計と、研究変数のCDISC標準への対応付けを支援します。インポート用CSVや構造チェック結果、CDASH・SDTM・統制用語のマッピングを作成しますが、稼働中のREDCapには接続しません。
主な機能
- 0118列のREDCapデータディクショナリを作成
- 02フィールド検証と分岐ロジックを設定
- 03縦断イベントと調査票を設計
- 04ディクショナリの構造エラーを検査
- 05変数をCDASHとSDTMに対応付け
- 06CDISC用語に沿ってコード値を整理
活用シーン
- 01インポート前にREDCapのフォームを準備
- 02データディクショナリの構造上の問題を確認
- 03申請用にCRFフィールドを対応付け
- 04関連するSDTMドメインとコードリストを特定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ alterlab-ieu/ alterlab-academic-skills --skill alterlab-redcap-cdiscインストール後、Claude Code で/alterlab-redcap-cdiscを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
evals/evals.jsonevals/fixtures/data_dictionary_flawed.csvreferences/cdisc_mapping.mdredcap_design.mdscripts/lint_data_dictionary.py詳細
REDCap と CDISC — 研究データの収集と標準への準拠
REDCap で検証済みの電子データ収集(EDC)用の機器を設計し、研究の変数をCDISCの申請基準に準拠させます。兄弟スキルと一部重なるものの、主に次の2つの役割を担います。
- REDCap プロジェクトと機器の設計 — 研究要件を、正しいフィールドタイプ、検証、分岐ロジック、縦断イベント、アンケート設定を備えた、REDCap のデータディクショナリ(インポート可能な18列の CSV)に変換します。
- CDISC への準拠 — 収集した変数をCDASH(収集)およびSDTM(表形式)ドメインに対応付け、コード値をCDISC Controlled Terminology(NCI-EVS)に結び付けて、申請や再利用にすぐ使えるデータにします。
これは設計と標準への準拠に関する作業であり、稼働中の API との接続ではありません。CSV の作成とマッピングは対象範囲内ですが、稼働中の REDCap サーバーへのインポートはインスタンス所有者の作業です(REDCap 独自の API/UI を使用)。
クイックスタート
Build me a REDCap data dictionary for a 3-arm RCT screening + follow-up.
Add branching logic so the pregnancy question only shows when sex = female.
Lint this data_dictionary.csv before I import it.
Map my CRF variables to CDISC SDTM domains and CDASH fields.
Which SDTM domain and controlled-terminology codelist does "adverse event" go in?
→ ディクショナリを作成または確認し、scripts/lint_data_dictionary.py を実行して構造上のエラーを検出します。その後、CDISC に対応する場合は、変数 → CDASH → SDTM のマッピング表を作成します。設計上の規約とインスタンス固有の事実を、必ず区別して示してください。
このスキルを使う場面
依頼が機器の作成や標準への準拠に関する場合に使用します。
- 「REDCap のプロジェクト、フォーム、またはデータディクショナリを作成/設計してください。」
- 「これらの変数を対象に、インポート可能な REDCap CSV を作成してください。」
- 「分岐ロジック/表示フィールドロジック/フィールド検証/必須フィールドを設定してください。」
- 「縦断イベント/アーム/反復機器/アンケートを設定してください。」
- 「インポート前にデータディクショナリのリント/検証/デバッグをしてください。」
- 「研究を CDISC に対応付けてください — どの SDTM ドメイン/CDASH フィールド/コードリストを使いますか?」
- 「CRF を申請にすぐ使える状態にしてください(SDTM/CDASH/CDISC CT)。」
対象外 — 適切な兄弟スキルに振り分ける
| 依頼の実際の内容… | 振り分け先 |
|---|---|
| ELN を REDCap に接続すること、または LabArchives のノートブックのエントリーや添付ファイルを REST API 経由で読み書きすること | alterlab-labarchive |
| 心理測定 — リッカート尺度の作成、回答バイアスの軽減、サンプリング戦略、パイロットテスト、信頼性/妥当性(Cronbach's α、因子分析) | alterlab-survey-design |
| 統計検定の選択や実行、仮定、検出力/サンプルサイズ、APA 形式の結果 | alterlab-statistical-analysis |
| KVKK/トルコのデータ保護計画、匿名化、VERBIS、 açık rıza | alterlab-kvkk-dmp |
| IRB/倫理審査申請、インフォームド・コンセント、GDPR/HIPAA、ヒトを対象とする研究のプロトコル | alterlab-research-ethics(トルコの倫理委員会の場合は alterlab-tr-research-ethics) |
| ClinicalTrials.gov で疾患名/NCT ID によって登録済み試験を検索すること | alterlab-clinicaltrials |
| ISO 13485医療機器 QMS 文書 | alterlab-iso13485 |
振り分けの目安:survey-design は質問とその測定特性を担当し、このスキルは質問を収集するデータベースと標準へのマッピングを担当します。 両方を依頼された場合(例:「妥当性が検証されたうつ病尺度と、それ用の REDCap フォームの両方を設計してください」)は、尺度の作業を alterlab-survey-design で行い、ディクショナリ/マッピングをここで行います。
REDCap データディクショナリ(インポート可能な CSV)
REDCap プロジェクトはデータディクショナリ(固定順序の18 列からなる CSV)で定義されます。この CSV の作成や修正が、中心となる成果物です。
| # | 列ヘッダー | 用途 |
|---|---|---|
| 1 | Variable / Field Name | 小文字の機械可読な名前(エクスポート/分析用)。 |
| 2 | Form Name | このフィールドが属する入力フォーム。 |
| 3 | Section Header | フィールドの上に表示する視覚的なセクション区切り。 |
| 4 | Field Type | 下記のいずれかの値。 |
| 5 | Field Label | 入力フォームに表示する、人が読めるプロンプト。 |
| 6 | Choices, Calculations, OR Slider Labels | 選択肢フィールドでは 1, Yes | 0, No、calc では計算式。 |
| 7 | Field Note | フィールドの下に表示する補足テキスト。 |
| 8 | Text Validation Type OR Show Slider Number | text の入力検証、スライダーの表示設定。 |
| 9 | Text Validation Min | 下限(整数/数値/日付)。 |
| 10 | Text Validation Max | 上限。 |
| 11 | Identifier? | y は PII/PHI を示します(匿名化されたエクスポートに反映されます)。 |
| 12 | Branching Logic (Show field only if...) | フィールドを表示する条件。 |
| 13 | Required Field? | y/空欄。 |
| 14 | Custom Alignment | レイアウト。 |
| 15 | Question Number (surveys only) | アンケートの設問番号。 |
| 16 | Matrix Group Name | マトリックスフィールドをグループ化します。 |
| 17 | Matrix Ranking? | マトリックスの順位付けフラグ。 |
| 18 | Field Annotation | アクションタグ/注釈(例:@HIDDEN)。 |
Field Type の値: text、notes、dropdown、radio、checkbox、
calc、sql、descriptive、slider、yesno、truefalse、file。
Text Validation Type の値(組み込み): 日付は date_ymd/date_mdy/
date_dmy、対応する datetime_* および datetime_seconds_* 形式、time、
time_hh_mm_ss、time_mm_ss、integer、number、number_1dp~number_4dp
(および *_comma_decimal の各形式)、email、phone、zipcode、alpha_only、
一部のロケール/ID 形式(全リストはリファレンスを参照)。autocomplete は
dropdown フィールドに、signature は file フィールドに設定します。管理者はインスタンスごとに形式を無効化できるため、テストインポートで確認してください。
フィールドごとの詳細なルール、選択肢文字列の構文、分岐ロジックの演算子、縦断的/反復入力フォームの設計、および記入例のデータディクショナリについては、 references/redcap_design.md を参照してください。
インポート前のリント
uv run python skills/faculty-life/alterlab-redcap-cdisc/scripts/lint_data_dictionary.py \
path/to/data_dictionary.csv
このリンターは標準ライブラリのみを使用し(ネットワークも REDCap アカウントも不要)、18 列のヘッダー、フィールド名の構文、フィールド型/入力検証の妥当性、選択肢フィールドに選択肢文字列が設定されていること、calc/分岐フィールドが存在する変数を参照していること([visit_1_arm_1][weight_kg] のようなイベント接頭辞も使用できます)、変数名の重複、および Identifier? のフラグが付いていない PII フィールドをチェックします。問題が見つかると、ゼロ以外の終了コードを返し、JSON レポートを出力します。これは構造上のリンターであり、稼働中の REDCap サーバーに対する検証は行いません。そのため、リントに問題がなくてもテストインポートが必要であることを、必ずユーザーに伝えてください。
CDISC との整合(CDASH → SDTM → Controlled Terminology)
CDISC はデータライフサイクル全体にわたる相互補完的な標準を定めています。試験をマッピングし、収集データを規制当局への提出や再利用に備えましょう。
| 標準 | 役割 | 作成するもの |
|---|---|---|
| CDASH | 収集 — CRF で収集する標準フィールド。SDTM へトレースされます。 | CDASH の規約に沿った名前を付けた CRF/REDCap フィールド。 |
| SDTM | 表形式への編成 — 提出データをドメインに整理します。 | 変数 → ドメインのマッピング。 |
| Controlled Terminology | 有効な値のコードリスト(NCI-EVS)。 | 適切なコードリストに紐付けたコード値。 |
SDTM の観察クラス: Interventions、Events、Findings、Findings About、および DM Demographics などの特別目的ドメインです。一般的なドメインとその 2 文字コード:AE Adverse Events、VS Vital Signs、LB Laboratory、EX Exposure、CM Concomitant Medications、MH Medical History。
Controlled Terminology は、NCI の Enterprise Vocabulary Services(NCI-EVS)が管理し、四半期ごとに更新されます。コードリストの値を独自に作成してはいけません。コードリストを明記し、最新の四半期リリースを取得するようユーザーに伝えてください。
バージョンは実在しますが、変更されます。このスキルが cdisc.org で確認した最新情報(2026-09-23)は次のとおりです。SDTMIG v3.4(2021-11-29)は SDTM v2.0 を基盤としています。SDTM v2.1(2024-06-10)は最新のモデルリリースで、Tobacco Implementation Guide に付随しています。CDASHIG v2.3(2023-09-28、CDASH Model v1.3)。Controlled Terminology の 2026-03-27 は現行の四半期リリースです。新しい SDTMIG ドメインは公開レビュー中です(コメント締切は 2026 年 10 月 2 日)。これらは再リリースされるため、成果物でバージョンを明記する前に、ユーザー/cdisc.org および規制当局のデータ標準カタログで現行バージョンを確認してください。マッピング手順、CDASH↔SDTM のトレーサビリティの考え方、および AE/VS の例は references/cdisc_mapping.md にあります。
ワークフロー
- 要件を把握します。 試験デザイン(横断的/縦断的/群)、変数、値セット、PII フィールド、調査票かどうかを確認します。質問の測定特性が重要な場合は、まず調査票の設計を
alterlab-survey-designに引き継ぎます。 - データ辞書のドラフトを作成します。 18 列の CSV を作成します。機械可読名、フィールド型、選択肢、検証、すべての PII フィールドの
Identifier?、分岐ロジックを含めます。また、縦断的な場合はイベント/群の計画を別途作成します。 - リントします。
scripts/lint_data_dictionary.pyを実行し、ユーザーがインポートする前にすべてのエラーを修正します。 - (提出/標準が必要な場合)CDISC にマッピングします。 変数 → CDASH → SDTM の表を作成し、Controlled Terminology が必要な値セットに印を付け、コードリスト名を示します。コードリストの項目を決して捏造してはいけません。
- 正確に報告します。 どの選択が規約で、どれがインスタンス設定なのかを明記します。リントは構造の確認であり、テストインポートも必要であること、また CDISC のバージョンは現行リリースに照らして確認しなければならないことを伝えます。
報告前のセルフチェック
- 辞書には正確に 18 列が順番どおりにあり、フィールド型はすべて許可された値になっていますか?
- すべての PII フィールドに
Identifier? = yが設定されていますか? - すべての分岐ロジックおよび calc 式は、辞書に実在する変数を参照していますか?
- リンターを実行して合格しましたか。また、リントに問題がなくても実際のテストインポートが必要だとユーザーに伝えましたか?
- CDISC について、コードリストの値を独自に作成せず、コードリスト名/バージョンを明記し、バージョンは現行リリースに照らして確認する必要があると伝えましたか?
- 心理測定は
alterlab-survey-designに、ELN との橋渡しはalterlab-labarchiveに引き継ぎ、ここでは対応しないようにしましたか?
参考資料
- references/redcap_design.md — 18列のフィールドリファレンス全項目、選択肢文字列の構文、分岐ロジックの演算子、検証タイプ、縦断型/反復測定機器の設計、および辞書を用いた例。
- references/cdisc_mapping.md — CDASH→SDTM→CTのパイプライン、SDTMの観察クラスとドメイン、規制用語の参照元、および検証済みのバージョンとソースを含むAE/VS/DMのマッピング例。
AlterLab Academic Skills スイートの一部です。