Claude Code × Medical Application

【Claude Code】治療の流れを1枚の図に Part0:全体像と設計

1. はじめに — 治療の流れを見たい場面は多いのに、図にするのは手間がかかる

1次治療から2次治療へ、患者さんはどう移っていったのか。製薬企業では、この 治療の流れ を知りたい場面がたくさんあります。

  • メディカルアフェアーズ:自社の薬がどのラインで、何から切り替えて使われているか。学会発表や論文の図にもなる
  • マーケティング・営業企画:新しい薬が出たあと、治療の流れがどう変わったか
  • RWE・疫学:研究を計画する前に、どのラインに何人いて、比べたい治療の組が十分にいるか
  • HTA・マーケットアクセス:比べる相手になる「いま使われている治療」は何か

治療の流れを1枚で見せる図としてよく使われるのが、帯の太さで人数を表す Sankey 図 です。ところが、Sankey 図を作るのは意外と手間がかかります。

この連載では、解析用のデータを読み込むだけで Sankey 図にし、クリックで患者集団を絞り込めるツール 治療ラインの推移(Treatment Line Sankey Diagram)を、Claude Code と進めた過程とあわせて紹介します。

  • 0行Sankey 図を描くために書くコード
  • 約1秒10万行のファイルの読み込み
  • 約50ミリ秒クリックで絞り込んだあとの集計
  • 145 / 145項目架空のデータで、正解のファイルとツールの集計が一致した数

治療ラインとは何か、どのデータで見るのか、Sankey 図の読み方と落とし穴は、参照ページ にまとめています。

2. 従来のやり方 — Sankey 図はコードを書いて作るもの

Sankey 図は、表計算ソフトや社内の BI ツールでは標準で用意されていないか、思いどおりに作りにくいことがほとんどです。そのため、次のような流れになりがちです。

手間 中身
コードを書く R や Python の図のライブラリを使って、Sankey 図を描くコードを書く
データの形を作り直す 解析用のリスティング(ラインごとに列が並んだ形)を、図のライブラリが求める「どこから・どこへ・何人」の形に組み替える
書き方のゆれを手で直す 施設ごとに違うレジメン名の書き方(TNFi+MTX と tnfi+mtx など)を、図にする前にそろえる
条件を変えるたびに描き直す 「70歳以上だけ」「この施設だけ」と変えるたびに、コードを直して描き直す。描き直すと柱の並びや色が変わり、前の図と比べにくい

結果として、図はコードを書ける人に頼み、条件を変えたいたびに待つことになります。「この治療から移った人だけ見たい」と思っても、その場では見られません。

3. 治療ラインの推移でできること

治療ラインの推移の入口のページ。見出しと、こんな悩みに・できること
入口のページ

3-1. 解析用のリスティングを、そのまま読む

tx_groupname_1、tx_groupname_2 … のように、ラインごとに列が並んだ リスティングの形 のまま読み込めます。CSV でも Excel でも、列の中身を見て「どの列がライン、どの列が開始日か」を推定し、候補つきで 列の対応 を開きます。文字コード(UTF-8・Shift_JIS・UTF-16)も自動で判定します。

列の対応の画面。ライン1〜5の列と開始日の列が候補として選ばれている
列の対応。中身から推定した候補が入った状態で開く(架空のデータ)

3-2. クリックで絞り込む — 並びと色はそのまま

列の対応を確定すると、治療ラインの移り変わりが Sankey 図で出ます。柱や帯をクリックすると、その患者集団だけに絞り込めます。年齢や施設などの条件も重ねられ、いまの条件は画面の上にまとめて表示されます。

Sankey 図。架空の関節リウマチ 3,000人の、1次治療から5次治療までの移り変わり
治療ラインの推移(架空のデータ)
1つの柱をクリックして 1,768人に絞り込んだところ。上部に条件が表示されている
柱をクリックして絞り込んだところ(架空のデータ)

絞り込んでも、柱の並び順と色は 絞り込む前の全体 で決めたまま変えません。帯が細くなるだけで、同じ治療は同じ場所に同じ色で残るので、前後を見比べられます(Part2)。

クリックで絞り込む。並び順と色は変わらない(架空のデータ)

3-3. 図を整える設定が、画面でそろう

  • 少数の治療を Other にまとめる線(既定は 2% 未満)
  • 割合の分母(全患者か、そのラインに来た人か)
  • 並び順(人数順、手で並べ替え、並び順のコードの列)
  • 色(8色まで。色見本から選び直せる)

3-4. 図だけで終わらない

  • ラインごとの人数の表、移り変わりの表、1次治療を始めた時期ごとの推移
  • 図は PNG・SVG、集計は CSV で書き出す
  • 絞り込みの条件は共有リンクや JSON のファイルにして、同じ図をあとで開き直せる

3-5. データの崩れに、先に気づける

読み込んだ時点で、患者 ID の重複、日付の前後の食い違い、ラインの抜け、書き方のゆれを一覧にします(Part1・Part3)。書き方のゆれは、まとめる候補をルールと AI が出し、人が選んでまとめます。

架空のデータで AI に提案を頼んだところ。送る中身の表示と、まとめる候補(tnfi+mtx → TNFi+MTX など)
書き方のゆれをまとめる候補。人が選んで確定する(架空のデータ)

3-6. 使い方は3ステップ

  1. ファイルを選ぶ(または最初から入っている架空のデータを使う)
  2. 列の対応を確かめる
  3. 図をクリックして絞り込む

登録もインストールも要りません。日本語と英語に対応しています。

4. 従来のやり方と比べて

従来のやり方 治療ラインの推移
図を作る R や Python でコードを書く データを読み込むだけ
データの形 「どこから・どこへ・何人」に作り直す 解析用のリスティングのまま
条件を変える コードを直して描き直す クリックで絞り込む
前後の比べやすさ 描き直すと並びや色が変わる 並びと色はそのまま
書き方のゆれ 手で直す まとめる候補が出る
使える人 コードを書ける人 画面を操作できる人なら誰でも
準備 解析の環境 ブラウザだけ

図を作る人と、図を見て考える人が同じになります。 「この治療から移った人だけ見たい」と思ったら、その場でクリックすれば見られます。

5. どこで役に立つか

部門 場面 使いどころ
メディカルアフェアーズ 治療の実態の把握、学会発表・論文 自社の薬がどのラインで、何から切り替えて使われているかをつかみ、図として示す
マーケティング・営業企画 治療の流れの説明 新しい薬が出たあと、流れがどう変わったかを年ごとに比べる
RWE・疫学 研究の前の下見 ラインごとの人数と、比べたい治療の組が十分にいるかを、計画を立てる前に確かめる
HTA・マーケットアクセス 費用対効果の評価の準備 比べる相手になる「いま使われている治療」を、ラインごとにつかむ

どの場面でも、ツールは研究の解析を置き換えるものではなく、治療の流れをつかみ、確かめる集団を絞り込むための補助 です。

6. 安心して使えるように

処方のデータは、社外のサービスに上げられないことがほとんどです。そこで、次の形にしています。

  • 集計はすべて、使う人のブラウザの中:読み込んだファイルはサーバーに送られず、画面を閉じれば消える。読み込みが終われば、ネットワークを切っても図を描き、絞り込める
  • AI に渡すのは名前と件数だけ:列の対応や書き方のそろえ方の提案に使う AI には、列の名前・種類と、レジメンの名前と件数だけを渡す。患者ごとの記録は渡さない。答えは候補で、確定するのは人
ブラウザの中で読み込み・集計・図の描画がすべて完結し、サーバーは画面を配るのと AI への依頼の中継だけを行う構成図
処方データはブラウザから出ない

公開しているツールでは、AI の提案は 最初から入っている架空のデータでだけ 試せます。お手元のファイルを読み込むと AI のボタンには鍵がかかり、AI には何も送りません。お手元のデータで AI の提案を使う形は、導入先の環境に組み込む 導入版 でご用意します。

公開版(このサイト) 導入版(貴社の環境に組み込み)
Sankey 図・絞り込み・表・書き出し すべて使える すべて使える
お手元のデータ ブラウザの外に出ない 貴社の環境から出ない
AI の提案 架空のデータでだけ試せる お手元のデータで使える
社内の定義・コード表への対応 なし 合わせて作る

詳しい仕組みと確かめ方は Part4 で扱います。

7. 手法の出どころ

Sankey 図は、流れの量を帯の太さで見せる一般的な図です。治療の流れを見る使い方は、RWD の研究で広く使われています(参照ページ)。

治療ラインの区切り方は研究ごとに違うので、治療ラインの推移は 区切り済みのライン列を受け取って見せる側 に徹しました。どの規則で区切るかは、データを作る側で決めます。

8. 連載の構成

回 題名 中身
参照ページ 【業務説明】治療ライン — RWD での数え方と Sankey 図の読み方 治療ラインの数え方、RWD のどこで見るか、Sankey 図の落とし穴
Part0 全体像と設計 この記事
Part1 取り込み — 解析用のリスティングをそのまま読む 列を中身から推定する、文字コード、Excel を読む、データの崩れを知らせる
Part2 図の設計 — 絞り込んでも並びと色を変えない 並び順と色の決め方、Other のまとめ方、分母の選び方
Part3 結果の検証 — 正解を先に決めた架空の患者データ 正解との照合、わざと崩した入力、表記の違いのまとめ方
Part4 AI の組み込み — 渡すのは列名とレジメン名だけ 送るもの・送らないもの、公開版で架空のデータに限る仕組み、通信の確かめ方

9. Claude Code と進めたこと

実装の大部分は Claude Code に頼みました。人が決めたのは、主に次のようなことです。

  • コードを書かずに、解析用のリスティングのまま図にできること
  • 図の並び順と色を、絞り込む前の全体で決めておくこと
  • 正解を先に決めた架空のデータで確かめること
  • 処方データをブラウザから出さないこと、AI に渡すのは名前と件数だけにし、答えは提案どまりにすること
  • ツールでは治療ラインの区切りを判定しないこと

集計の実装やテスト、画面づくりは頼みやすい一方、誰が何を比べたいのか、何を正解とし、何を確かめれば十分とするか は人が決める必要がありました。その分かれ目は、各回で具体的に紹介します。

次のステップ

ツールは treatment-line.herzleben.co.jp で公開しています。架空の関節リウマチのデータで、すぐに試せます。

社内の定義・コード表に合わせた作り込みや、お手元のデータで AI の提案を使う形のご相談は、お問い合わせからお聞かせください。

出典

  • 本ページの画面写真と数値は、架空の関節リウマチのデータ(3,000人)で作成したものです。実在の患者・施設・薬剤・企業とは関係ありません