放射線治療計画プログラム搭載スクリプト機能の安全利⽤に関するガイドライン（略称：スクリプトガイドライン）

初版

2023 年 5 ⽉ 1 ⽇

公益社団法⼈ ⽇本医学物理学会（協⼒団体）
公益社団法⼈ ⽇本放射線技術学会
公益社団法⼈ ⽇本放射線腫瘍学会
はじめに
放射線治療の⾼精度化に伴い、放射線治療計画装置および放射線治療計画⽀援装置（以下、放射線治療計画プログラム）で⾏う作業は多段階で複雑なものになってきており、⼿順に沿って実施できる作業の⾃動化により⼈の介⼊による単純なミスの発⽣を防⽌することが可能となる。さらに、治療計画にかかる負担・時間を軽減できる。このような治療計画業務の⾃動化に有効と期待されるスクリプト機能を搭載した放射線治療計画プログラムが近年増えてきており、その積極的な利⽤および普及が望まれる。
⼀⽅で、放射線治療計画プログラムのスクリプト機能への対応状況や利⽤例などの情報は限られている。また、スクリプト機能には誤照射などにつながる危険性も潜んでおり、その利⽤には注意を払う必要がある。そのため、スクリプト機能の安全利⽤には放射線治療計画プログラムのユーザーのみならず、製造・販売ベンダーやスクリプト開発者の役割も重要となる。
そこで、放射線治療計画プログラムに搭載されているスクリプト機能の安全利⽤を⽬的として、放射線治療計画プログラムのユーザー、製造・販売ベンダーおよびスクリプト開発者に対するガイドラインを策定した。
1.

スクリプト
スクリプトとは、あるソフトウェア上でそのソフトウェアが有するデータや機能を呼び出して作業の⾃動化や機能を拡張するプログラムのことである。本ガイドラインでは放射線治療計画プログラムがスクリプト機能として提供するものを対象とする。放射線治療計画プログラムにおけるスクリプトでは、臨床における治療計画作成や治療計画作成後の検証プランの作成、ユーザーが考案する臨床業務の効率化、⼤量のデータ収集作業のような研究的機能拡張などが実現可能である。しかし、同じスクリプト機能であっても実際に実現可能なことは放射線治療計画プログラムに⼤きく依存する。
スクリプト⾃体は実⾏する処理を書いたプログラムである。開発⾔語としては Python や C#のような汎⽤的なプログラム⾔語、もしくは放射線治療計画プログラム特有の⾔語が⽤いられる。通常のプログ
ラムと同様にはじめから順番に実⾏され、途中に繰り返しや条件分岐を含めることも可能であり、複数症例への同⼀作業の⼀括適⽤や条件に応じた処理の変更をスクリプトにより⾏うことができる。スクリ1

プトの編集は放射線治療計画プログラムが提供するエディタや⼀般的なテキストエディタ、統合開発環境で⾏うことができる。
放射線治療計画プログラムに搭載されるスクリプトは放射線治療計画プログラム上のデータの取得や操作を実⾏するためのクラスや関数を含むプログラムになっている。これらのクラスや関数は放射線治療計画プログラムから API(Application Programming Interface)として公開され、放射線治療計画プログラム上のデータや操作を実装したクラス、関数の集まりとして提供される。API はスクリプトからデータの取得・変更、関数の実⾏を⾏うための操作をまとめたものである。スクリプトでは、API として公開されたクラスや関数を⽤いて、放射線治療計画プログラム上のデータを取得することができる。さらに、取得したデータを加⼯した後、API を⽤いて変更を加えることも可能である。スクリプトには放射線治療計画プログラム上で作成、実⾏ができるもの、放射線治療計画プログラムの外部で作成、実⾏されるものがある。放射線治療計画プログラム上のデータには、スクリプトから読み出し可能な(readable)もの、不可のものがあり、読み出し可能なデータに対しても変更を加える書き込み可能な(writable)もの、不可の(read only)ものが存在する。操作に関しても放射線治療計画プログラム上で実⾏可能な全ての操作がAPI を⽤いて⾏えるわけではない。データへのアクセスや実⾏可能な操作の判断は放射線治療計画プログラム製造ベンダーに委ねられ、同じ放射線治療計画プログラムにおいてもバージョンによって変わりうる。
スクリプト開発には開発⾔語に対する理解と開発能⼒が要求されるため、初学者の参⼊が難しい側⾯があった。そのため、スクリプト開発を容易にするための機能を提供している放射線治療計画プログラ
ムもある。表計算ソフトウェアの『マクロの記録』機能のように、実際に⾏った作業を記録して同じ作業を実⾏するスクリプトの作成を⾏うスクリプトの⾃動記録機能はその 1 つである。クラスの構造⼀覧表
⽰機能、呼び出す関数や⼀連の操作をまとめた⼿順の作成を GUI(Graphical User Interface)ベースでグラフィカルに補助する機能が提供されている場合もある。開発者がスクリプトのソースコードやデザイン、データをインターネット上のソースコード管理サービスで公開することも普及してきており、スクリプト機能の利⽤・開発への参⼊障壁は下がってきている。テンプレート機能として単⼀⼯程のみの⾃動化を提供している放射線治療計画プログラムは以前からあったが、複数の作業⼯程をパッケージ化して組み合わせることで、⼀連の作業の⾃動化を放射線治療計画プログラム上の機能として実現することも可能になってきている。⾃動記録機能で作成されるスクリプトは通常のスクリプト同様にプログラム⾔語で記述されているものもあり、⼿順の変更に伴うスクリプトの変更も後から可能である。
2.

放射線治療計画プログラムのスクリプト機能対応状況
放射線治療計画プログラム 9 社 20 機種の装置におけるスクリプト機能への対応状況を表 1 に⽰す。全

20 機種のうちスクリプト機能を有する装置は 11 機種である。外部照射治療計画装置では 6 機種、⼩線源治療計画装置では 2 機種がスクリプト機能を有している。治療計画⽀援装置では⾃動輪郭抽出の単機能装置を除く全てでスクリプト機能に対応している。
スクリプト開発はプログラム（コード）型とノンプログラミング（ノーコード）型が同数程度であり、最新バージョンでは全ての放射線治療計画プログラムで書き込みが可能である。臨床使⽤は 1 機種を除く全てで可能である。API に関するヘルプなどのドキュメントを提供している放射線治療計画プログラ
ムは少ないが、参考資料などの⽂書は全ての機種で提供されている。放射線治療計画プログラムによっ2

てはユーザーサポートへの対応がなく、海外ではサポートがあっても⽇本国内で対応していないものもあり、本邦におけるスクリプト普及の課題である。
3.

利⽤⽬的・利⽤例
スクリプト機能の利⽤⽬的は、四則演算、作業の⾃動化、計画作成の⾃動化、計画確認の効率化、外部プログラムの呼び出しなど多岐にわたる。例えば、放射線治療計画プログラムにおいてユーザーが必要とする機能が存在しない、もしくは⾃施設の運⽤に沿うようカスタマイズが必要な場合、スクリプト機能によってこれらを実現できる可能性がある。スクリプトにより治療計画に関連する情報（患者情報、CT 画像、輪郭、計画、線量）を取得し、解析することが可能である。また、スクリプトによる治療計画データへの書き込みが可能（writable）な放射線治療計画プログラムでは、ガントリ⾓度・コリメータ⾓度などの得られたデータを基にしたビーム名称の変更や、治療計画の変更も可能である。Field in Field 法を⽤いた線量分布の調整や IMRT 最適化に必要なダミー輪郭を⾃動的に作成することもできる。さらに、外部のプログラムを呼び出すことにより放射線治療計画プログラムでは提供されていない機能を組み込むことも可能であり、研究⽤に多くの患者の DVH 指標を⾃動的に抽出することもできる。このようにスクリプト機能を活⽤することにより治療計画データの取得や作成、変更を⾃動化することができる。ただし、スクリプトにより作業を⾃動化した場合は、各作業に関して正しく実⾏されたかを確認する必要がある。
実現可能性のあるスクリプト機能の利⽤例を以下に⽰す。
四則演算
⽣物学的等価線量（BED: Biological Equivalent Dose）の計算
1 回線量 2 Gy 換算の等価線量（EQD2: Equivalent dose in 2 Gy fractions）の計算



作業の⾃動化
PACS、治療装置、RIS、R&V への DICOM 転送
CT 画像 ID、輪郭 ID、計画 ID、Field ID などの名称変更
4DCT の処理（ITV の作成や平均値投影画像、最⼤値投影画像などの作成）
等線量曲線の設定、線量分布の調整（Field in Field 法など）、IMRT 最適化⽤ダミー輪郭の作成
DVH データなどのテキストファイルの外部出⼒とフォーマット整形
カウチストラクチャーの位置、CT 値の設定
剛体・⾮剛体画像レジストレーションの実施と輪郭作成および線量合算、肺換気画像の作成
⾃動輪郭抽出、マージン、論理演算を⽤いた輪郭作成



計画作成の⾃動化
処⽅線量、線量処⽅点、アイソセンターの設定
Field（⾨数、治療装置、エネルギー、線量率、ガントリ⾓度、コリメータ⾓度、MLC 照射野など）の設定
Field in Field（線量の輪郭化、Subfield の設定、ウェイトの調整）の作成
IMRT 最適化パラメータの設定
3



治療計画確認の効率化
患者情報（病院 ID、放射線治療 ID、治療コース ID）の確認
CT 画像 ID、輪郭 ID、計画 ID の命名則の確認
体位（Head-First-Supine など）、治療計画⽤ CT 画像の原点位置の確認
CT 値−相対電⼦密度変換テーブル、 CT 値−物理密度変換テーブルの確認
カウチストラクチャーの位置（CT 画像から⾃動検出）、形状、CT 値の確認
照射技法（3DCRT、IMRT、VMAT、電⼦線、呼吸性移動対策、ボーラス）の確認
照射野（アイソセンター座標、治療装置、エネルギー、線量率、ガントリ・コリメータ・カウチ⾓度、治療装置−カウチの⼲渉、Jaw の Fitting、回転照射時のコントロールポイント⾓度）の確認
線量処⽅（総線量、分割回数、線量処⽅点の数・位置・線量、Volume 処⽅時のターゲット）の確認
計算条件（線量計算グリッドサイズ、線量計算アルゴリズム、不均質補正）の確認
線量分布（脊髄の最⼤線量、EQD2）の確認
植込み型⼼臓電気デバイス装着患者に対するリスク分類の確認

外部プログラムの呼び出し
患者データベースからの DVH 指標抽出
⾮剛体画像レジストレーション後の変形画像の DICOM 出⼒

4.

潜在的リスクユーザーは放射線治療計画プログラム製造・販売ベンダー以外にサードパーティ製の有償製品やユーザー開発者がウェブ上などで無償公開しているものなど様々な形態で配布されているスクリプトを⼊⼿して利⽤することができる[1,2]。スクリプトは⾼品質なものから検証が⼗分ではない低品質なものまで様々であり、ユーザーはスクリプトを利⽤する際に潜在的リスクが伴うことを認識しておく必要がある。
放射線治療計画プログラムからデータの読み出しが可能（readable）なスクリプトには誤ったデータの出⼒（表⽰）値に基づいた照射パラメータの設定や治療計画の評価などの潜在的リスクがあり、書き込みが可能（writable）なスクリプトには前者の潜在的リスクに加えて意図しないデータの変更や消去、データベースの破壊などが起こる可能性がある。潜在的リスクは技術的要因と⼈的要因によって引き起こされる。
技術的要因とはスクリプト⾃体に内在する⽋陥（バグ）などを指す。具体的には、スクリプトを実装する際のデータの単位や規格の不適切な取り扱いによって⽣じる出⼒（表⽰）値の誤り、線量指標や統計解析の計算に採⽤したアルゴリズムの不適切な解釈によって⽣じる数値計算の誤り、さらにスクリプト開発者によって組み込まれた外部ライブラリ⾃体の⽋陥が原因で起きる誤動作などが挙げられる。⼀⽅、
⼈的要因とは作成されたスクリプトを使⽤するユーザーによる誤操作や不適切な使⽤などを指す。ユーザーによる誤った操作⼿順や、スクリプト開発者が意図する使⽤⽬的から逸脱した不適切な使⽤などが挙げられる。また、ユーザーがスクリプトを実⾏するシステム環境がスクリプト開発者によって検証が⾏われて動作が保証されたシステム環境と互換性がない場合、正しく動作しない可能性がある。
通常の治療計画作成では、ユーザーによる不適切な⼊⼒や操作は、放射線治療計画プログラムに組み込まれたチェック機構によって防⽌される。しかし、スクリプトにおいてユーザーの不適切な⼊⼒や操作4

を防ぐ仕組みをどのように構築するかはスクリプト開発者、放射線治療計画プログラム製造ベンダーに委ねられている。スクリプトのチェック機構が適切に実装されていない場合や、テストが⼗分に⾏われていないと、先に述べた潜在的リスクを増⼤させる可能性があることに注意が必要である[3]。
放射線治療計画プログラムユーザー、放射線治療計画プログラム製造・販売ベンダーおよびスクリプト開発者は、スクリプトの利⽤には治療計画の⼀貫性と作業効率を向上させ、ヒューマンエラーの低減が図れる⼀⽅で、潜在的リスクも伴うことを認識しなければならない[4-8]。
5.

品質保証・品質管理
放射線治療計画プログラムのユーザーおよびスクリプト開発者はスクリプトの動作にともなう潜在的なリスクを除外するために品質保証・品質管理（QA・QC）を実施しなければならない。この QA・QC
はスクリプトによって得られる結果が、同じ作業を⼿動で実施した結果と等価であることの検証を⽬的とする。この検証では過去に放射線治療を実施した複数の患者データを使⽤して確認することが望ましい。臨床導⼊後においても、スクリプトの改変や放射線治療計画プログラムのバージョンアップなどにより仕様が変更されたときには、スクリプトにより得られる結果が等価であることを再検証する必要がある。この再検証では初期検証時に使⽤したデータセットで同じ結果であるかを確認する。これらの検証結果は⽂書で保存する必要がある。QA・QC ではスクリプト⾃体の検証だけでなく、スクリプトの誤った使⽤を防ぐためにスタッフトレーニングを実施しなければならない。スタッフトレーニングではマニュアルを作成して正しい使⽤⽅法を周知しなければならない。臨床使⽤開始後も、スクリプト使⽤について検証可能な記録を残し、継続的に適正な使⽤が実施されていることを管理しなければならない。
さらに、不適切な使⽤を防⽌するために、使⽤可能なスクリプトの管理を継続的に実施する必要がある。
6.

推奨・要望
放射線治療計画プログラムのユーザーは臨床・研究⽤途に関わらず、スクリプト機能を利⽤して得られた情報や⽣成された治療計画などについて⾃⾝の責任において妥当性の確認を⾏い、スクリプト機能の利⽤に伴う潜在的リスクおよび影響度を認識し、⼗分な検証と QA・QC を⾏った上で使⽤することを強く推奨する。なお、臨床⽤途での利⽤は放射線治療計画プログラムの薬機法の承認範囲内でなければならない。独⾃機能を組み込んで治療計画内容に変更を加える書き込みが可能（writable）なスクリプトを使⽤する場合は特に注意が必要である。承認範囲外でのスクリプト機能の利⽤は研究⽤途に限定される。
放射線治療計画プログラムの製造・販売ベンダーはスクリプト機能で⾏えることが⾮常に幅広いため、放射線治療計画プログラムの薬機法承認上認められるスクリプト機能の臨床使⽤例を⽰すことが強く望まれる。放射線治療計画プログラム本体やスクリプト開発環境におけるバグなどにより、スクリプトの処理に適切でない動作が⽣じていることを把握した場合には、原因の調査を⾏い発⽣した問題に関する詳細な情報をユーザーに提供し、バグ修正などの是正処置を講じることが強く望まれる。スクリプト機
能の安全利⽤を推進するために、API ドキュメントやヘルプ⽂書で適切な情報を提供することが望まれる。放射線治療計画プログラムのバージョンアップにより API に変更が加えられた場合は、リリースノートで修正、変更内容をユーザーに⽰すとともに、ドキュメントやヘルプ⽂書も更新が望まれる。
スクリプトの開発を有償・無償に関わらず委託する場合、委託者および受託者間で責任を明確にし、問題を回避するための契約を⽂書で残しておくことを強く推奨する。開発を受託するスクリプト開発者は
5

その契約の範囲内で責任を負う。そのため、契約においては開発の対象範囲、機能、仕様などを明確にしておくことが重要である。また、開発されたスクリプトの著作権および知的財産権の帰属先についても契約で定めておくことを推奨する。
おわりに昨今の「働き⽅改⾰」では労働⽣産性の向上が求められており、これは 2024 年度からは勤務医にも適⽤となる医療業界においても喫緊の課題である。放射線治療における⽣産性向上に作業時間の⻑い治療計画の効率化は避けて通れない重要な課題であり、スクリプト機能の活⽤はこれを解決する有効な⼿段となりうる。本ガイドラインで⽰した利⽤例は参考になると考える。⼀⽅で、スクリプト機能の利⽤には誤照射やデータの損失につながりうる潜在的リスクを伴うため、重⼤な事故が起きないようにそれらへの⼗分な配慮が求められる。放射線治療計画プログラムのユーザー、製造・販売ベンダーおよびスクリプ
ト開発者の連携によりリスクを回避し、スクリプト機能の安全利⽤が本邦でも活発になることを切に願う。
放射線治療計画プログラムのスクリプト機能は臨床への導⼊期であり、今後必要に応じてガイドラインを改訂する。
参考⽂献[1] Sun Nuclear Corp. PlanCheck/PlanIQ [Internet]. https://www.sunnuclear.com.
[2] RADformation. ClearCheck/EZFluence [Internet]. https://www.radformation.com.
[3] Ford E, Conroy L, Dong L, et al. Strategies for effective physics plan and chart review in radiation
therapy: Report of AAPM Task Group 275. Med Phys. 2020;47(6):236‒72.
[4] Liu S, Bush KK, Bertini J, et al. Optimizing efficiency and safety in external beam radiotherapy using
automated plan check (APC) tool and six sigma methodology. J Appl Clin Med Phys. 2019;20(8):56‒
64.
[5] Covington EL, Chen X, Younge KC, et al. Improving treatment plan evaluation with automation. J
Appl Clin Med Phys. 2016;17(6):16‒31.
[6] Berry SL, Zhou Y, Pham H, et al. Efficiency and safety increases after the implementation of a multiinstitutional automated plan check tool at our institution. J Appl Clin Med Phys. 2020;21(4):51‒8.
[7] Xia P, LaHurd D, Qi P, et al. Combining automatic plan integrity check (APIC) with standard plan
document and checklist method to reduce errors in treatment planning. J Appl Clin Med Phys.
2020;21(9):124‒33.
[8] Kisling K, Johnson JL, Simonds H, et al. A risk assessment of automated treatment planning andrecommendations for clinical deployment. Med Phys. 2019;46(6):2567‒74.

6

執筆メンバー
武川 英樹（代表）関⻄医科⼤学⼤学院医学研究科 放射線科学講座

宮部 結城

医学研究所北野病院 放射線治療センター 医学物理室

⼩⽟ 卓史

東京ベイ先端医療・幕張クリニック 医療技術部医学物理室

藤⽥ 幸男

駒澤⼤学医療健康科学部 診療放射線技術科学科

杉本 聡

順天堂⼤学医学部 放射線医学教室・放射線治療学講座

河原 ⼤輔

広島⼤学⼤学院医系科学研究科 放射線腫瘍学

椋本 宜学

⼤阪公⽴⼤学⼤学院医学研究科 放射線腫瘍学

中村 光宏

京都⼤学⼤学院医学研究科 ⼈間健康科学系専攻

オブザーバー（五⼗⾳順）
安達 裕樹

株式会社⽇⽴製作所

⽊村 雅司

株式会社バリアンメディカルシステムズ

国遠 幸司

ユーロメディテック株式会社

⼩林 ⼀之

アキュレイ株式会社佐藤 颯太

株式会社フィリップス・ジャパン

柴⽥ 泰知

ブレインラボ株式会社

中⼝ 裕⼆

東洋メディック株式会社

中島 聖

センチュリーメディカル株式会社

前⿐ 航

エレクタ株式会社

7

表1．放射線治療計画プログラムのスクリプト機能対応状況。各製造・販売ベンダーに対して行ったアンケート調査結果に基づく（2022年10月末時点）
製造業者
外部照射治療計画装置

スクリプト機能

使⽤可能なバージョン

開発⾔語

PhilipsPinnacleあり

全バージョン

独⾃⾔語

アクセス
書き込み可能ELEKTA

Monacoあり≥ Ver. 6.0

C#

書き込み可能ELEKTA

Xio

なし

---

RaySearch

RayStation

あり≥ Ver. 4.0

CPython、IronPython

Accuray

Precisionあり

全バージョン

Accuray

Multiplan
Tomotherapy

あり≥ Ver. 4.0

なし

-なし

≥ Ver. 11 (Read only)

Accuray

⼩線源治療計画装置

治療計画⽀援装置

治療計画装置への装置名

ViewRay

Planning Station
MRIdianVarianEclipseあり

VarianETHOS Therapy

なし≥ Ver. 15.1 (Writable)-

BrainLab

iPlan

なし

-

BrainLab

Elements

なし

BEBIG

SagiPlan

BEBIG

HDRplusELEKTA
VarianMIM Software

APIに関する

スクリプトに関する

可ドキュメントなし

可ありドキュメントありあり

臨床使⽤

⾃動記録機能臨床機での開発

可
可あり
なし

-----

書き込み可能

可あり

可あり

あり

ノンプログラミング

書き込み可能

可あり

不可

なし

あり

ノンプログラミング

書き込み可能

可あり

不可

なし

あり

--------------

C#、ノンプログラミング

書き込み可能

可なし

可あり

あり

----------------------なし--------なし--------

Oncentra Brachy

ありC#

書き込み可能

不可

なし

不可あり

あり

BrachyVisionあり≥ Ver. 4.6≥ Ver. 13.6 (Read only)C#

書き込み可能

可なし

可あり

あり

書き込み可能

可なし

可なし

あり

†≥ Ver.17.0 (Writable)

Java、Matlab、CPython、‡MIM Maestro

あり

全バージョン

ELEKTA

ABAS

なし--------

MiradaMirada RTxあり≥ Ver. 1.6

ノンプログラミング

書き込み可能

可なし

可なし

あり

VarianVelocity

あり≥ Ver. 3.1XML

書き込み可能

可

なし

可あり

あり

ノンプログラミング†使用には研究契約が必要‡書き込み可能（Writable）なスクリプト開発では専用端末の使用を推奨