2017-02-07 8 views
1

DICOMでは、Study RootでC-FindおよびC-Moveに定義されているクラスは次のとおりです。DICOM:C-Findを使用しないC-Move(Query Retrieve SCU)

Study Root Query/Retrieve Information Model - FIND: 1.2.840.10008.5.1.4.1.2.2.1 
Study Root Query/Retrieve Information Model - MOVE: 1.2.840.10008.5.1.4.1.2.2.2 

複数のアプリケーションでQuery Retrieve SCPとSCUを実装しました。これらのケースでは、私はいつも両方のクラスを実装しました。私は最初にC-Findを実行して、一致するデータのリストを取得します。結果に基づいて、C-Moveを実行してインスタンスを取得します(自動または手動)。これらの実装はすべて正常に動作しています。

最近、いくつかの特定の要件を満たすためにDICOMと他のプライベートプロトコルを組み合わせた1つのアプリケーションに取り組んでいます。 SCUとしてC-Findを実行せずにC-Moveを直接行うことができるのであれば、私の心にはまってしまいましたか?

私はすでに取得する識別子(StudyInstanceUID)を知っており、SCPにも存在することを知っています。

仕様を調べましたが、決定的なものは見つかりませんでした。私は、C-FindとC-MoveがSCUによってSCPに対して異なる接続/関連で発行される可能性があることを認識しています。だから一見すると、私が考えていることは可能であり、法的に見える。

私は多くのサードパーティのDICOMアプリケーションを扱っていました。それらのどれも私が考えているようにSCUを実装していません。すべてのSCUはC-FindとC-Moveの両方を実装しています。

質問:それは法的およびクエリコマンドをC-検索せずにSCU C-Moveコマンドを取得実装することは現実的でDICOM

ですか?可能であれば、仕様の参照先を私に指摘してください。

+0

あなた自身が質問に答えました.DICOM C-FINDの代わりにプライベートプロトコルを使用してStudyInstanceUIDを取得しました。 C-FINDのないC-MOVEを使用すると、データベース全体をバックアップしない限り、かなり無駄になります(私は推測します)。 – malat

+0

いいえ。私はDB全体をバックアップしたくありません。私の申請書には既にプライベートプロトコルで利用可能な研究のリストがあります。要求に応じて、アプリケーションでインスタンスをフェッチしたいFindの目的は、インスタンスが存在するかどうかを確認し、識別子を取得し、それに応じてMoveを発行することです。インスタンスがSCP上に存在し、識別子も知っていることを既に知っているので、なぜFind allを発行しなければならないのですか?私の唯一の関心事は、これがDICOMの合法であるかどうかです。 –

答えて

1

短い答え:はい、これはDICOM仕様に従って完全に合法です。

長い答え:DCMTKリファレンスのDICOM Q/Rの実装について考えてみましょう。基本的なSCUコマンドラインツールのセット、つまりfindscumovescuを提供します。考え方はパイプになります。findscuからmovescuへの出力は、有効なC-MOVE(SCU)要求を構成します。

あなたの要件では、公式に定義されたC-FIND(SCU)プロトコルに依存しないで、別のメカニズム(DICOMの拡張機能)を使用するプライベートな実装でfindscuステップを置き換えるだけです。

C-MOVE(SCU)の実装は、このクエリ中にC-FIND(SCU)を指定する必要がないため、完全に有効です。


私はあなたがC-MOVE(SCU)を使用してバックアップするデータベース全体をしようとしていない理解し、それは誰かが最初に照会せずにC-MOVE(SCU)を使用しようとしていることになるだけで可能なシナリオでした有効なC-FIND(SCU)結果。

関連する問題