見出し画像

DICOMのQuery / Retrieve機能についてのメモ

こんにちは、PSP社 開発2年目の窪田です。
 
今回は今業務で学習しているDICOM規格のQuery / Retrieve機能、C-FINDコマンド、C-MOVEコマンドついてまとめました。DICOMのQuery / Retrieve機能に興味がある方、復習したい方に読んでいただければと思います。

DICOM規格について

DICOM規格は、医療画像とその関連情報を、撮影機器やそれらを操作する端末と通信したり、撮影画像を管理するための国際規格になります。

DICOMのQuery / Retrieve機能について

Query / Retrieve機能は、医療画像などを保管するサーバーに検索を掛け(クエリーを投げ)、その検索結果を基に、検査やシリーズ単位で指定した画像群を取得(リトリーブ)する機能になります。

この機能を使う際、内部で実行されるコマンドはC-FINDとC-MOVEコマンドになります。C-FINDコマンドで、該当サーバー上の検索を行い、C-MOVEコマンドで、該当サーバー上の指定画像群を指定サーバーに送信します。

C-FINDの概要

C-FINDの概要

C-FINDのリクエストを送る際は、主に、二つの情報を指定します。一つ目は、検索レベル、二つ目は、検索項目とその値のペア(クエリー)になります。検索レベルに関しては、患者レベル、検査レベル、シリーズレベル、画像レベルがあります。クエリーに関しては、検索項目とその値以外にも、検索結果に欲しい項目は、値を空にしてクエリーに入れます。使える検索項目の例としては、検査日、患者ID、モダリティ、検査UIDなどがあります。
 
C-FINDのレスポンスとしては、検索でマッチした検査/シリーズ/画像(検索レベルによる)の該当項目の値が取得できます。該当項目に関しては、クエリーに入っていた値在りと値無しの項目の両方から成ります。

C-MOVEの概要

C-MOVEの概要

C-MOVEのリクエストを送るときも、主に、二つの情報を指定します。一つ目は取得したい画像群を特定する情報、例えば検査UIDやシリーズUID、二つ目はその画像群の送信先AEタイトルになります。送信先AEに関しては、C-MOVEを実施するAEでも、他のAEでも可能です。
 
C-MOVEのリクエストを受けた画像サーバーは、まず、指定画像群を取得し、次に、リクエスト内の送信先AEタイトルからそのAEのIP:ポートを特定します。そして、そのIP:ポートのAEに対して該当画像群を(C-STOREコマンドで)送信します。
※サーバーが送信先AEタイトルから対応するIP:ポートを特定できるよう、あらかじめサーバーに設定を入れておく必要があります。
 
C-MOVEのレスポンスとしては、指定画像群を送信先AEに送信できたかどうかのステータスが返ってきます。

まとめ

今回はDICOMのQuery / Retrieve機能、C-FIND、C-MOVEコマンドについて説明できる範囲でまとめました。DCIOMの規格については、まだまだ知らないことだらけなのですが引き続き学習してまいります。
 
引き続きPSPをよろしくお願いいたします。