DIOWave
Visual Storage
説明書 -- 技
ホーム / 技 英語 | 日本語
* 新着情報
  • 開始 2005 01/12

いままではメール等で頂いた質問に個別にお答えしていましたが、やはり「よくある質問(FAQ)」というのがありますので、ここにまとめました。

  1. サービスを止めます。

     管理ツールの中の「サービス」を開き「DIOWave DICOM SCP」と「World Wide Web Publishing Service」を止めます。

  2. DIOWaveData フォルダをそのまま、別の場所に移動します。

    例えば、D ドライブに移動したとします。

  3. 設定ファイルを編集します。

    設定ファイルは

    C:\DIOWave\etc\DIOWaveConf.xml
    

    です。これをテキストエディタで編集します。

    設定ファイルの中に下記のようなところがあります。

    <VOLUME label="DIO_STORAGE">
            <directory>C:\DIOWaveData</directory>
            <location>/DIO_STORAGE</location>
            ....
    </VOLUME>
    

    の<directory>の所を変更します。

            <directory>D:\DIOWaveData</directory>
                       ^
    
  4. サービスを起動します。

 設定ファイルは XML なのでダブルクリックするとIEが開いてしまうので、メモ帳やテキストエディタにドラッグ・ドロップします(あるいはエディタを起動して「開く」であけるか)。

 DIOWaveData フォルダは、基本的にはサービスが動いていいるマシンのローカルディスクの中に置きます。別のファイルサーバに置く事も出来ますが、ちょっと設定は面倒ですし、DICOM 受信ができません。(技を見つけてファイルサーバに受信できているという噂を聞いたような気がしますが...)

 DIOWaveData フォルダは実際には、設定ファイルの VOLUME という項目で管理しています。なので、フォルダ自体の名前や場所に決まりはありません。

 複数の VOLUME を設定することもできます。これは、複数のハードディスクを繋いで、CT 受信用、MR 受信用としたりする場合等につかいます。

 ハードディスクが一杯になると自動的に古い検査を消す機能があります。<auto-delete-flag> という設定項目があります。設定ファイルの後ろの方にコメントとしてありますので、このエレメントを VOLUME の中に持ってくれば有効になります。

Step 1. Create empty .mdb file using "Data Sources (ODBC)" Tool.

(1) Launch "Data Sources (ODBC)" tool

Start >> Administrative Tools >> Data Sources (ODBC)

ODBC Data Source Administrator

(2) Create .mdb file

Then [Add] Button

Create New Data Source

Select [Microsoft Access Driver (*.mdb)] in the list ant then push [Finish]

ODBC Microsoft Access Setup

Push [Create...] button, then file open dialog appearers.
Select appropriate .mdb file path.

Simply push [Cancel] button to close the setup dialog. There is no need to specify [Data Source Name].

Step 2. Create Table into dicomstudy.mdb

(1) Create JavaScript file


 
        var dsn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=dicomstudy.mdb;Persist Security Info=False";

        var conn = new ActiveXObject("ADODB.Connection");
        conn.Open(dsn);

        var tobe_drop = false;
        var sch = conn.OpenSchema(20);
        for (; !sch.EOF; sch.MoveNext()) {
                if (sch('TABLE_NAME') == "DICOMSTUDY")
                        tobe_drop = true;
        }
        sch.Close();
        if (tobe_drop)
                conn.Execute("DROP TABLE DICOMSTUDY");

        var create_table_sql = "CREATE TABLE DICOMSTUDY ("
                + "SEQ_NO COUNTER, "
                + "SCP_TITLE VARCHAR(16), "
                + "SCU_TITLE VARCHAR(16), "
                + "VOLUME VARCHAR(16) NOT NULL, "
                + "PATH VARCHAR(255) NOT NULL, "
                + "REF_FILE VARCHAR(255), "
                + "STUDY_DT VARCHAR(16) NOT NULL, "
                + "PatientID VARCHAR(64), "
                + "PatientName VARCHAR(64), "
                + "StudyDate VARCHAR(8), "
                + "StudyTime VARCHAR(16), "
                + "StudyID VARCHAR(16), "
                + "Modality VARCHAR(8), "
                + "INSERT_DT VARCHAR(16), "
                + "ACCESS_DT VARCHAR(16), "
                + "CONSTRAINT dicomstudykey PRIMARY KEY (VOLUME, PATH) "
                + ")";
        conn.Execute(create_table_sql);

        var catalog = new ActiveXObject("ADOX.Catalog");
        catalog.ActiveConnection = conn;

        var table = catalog.Tables('DICOMSTUDY');
        var col_names = new Array("PatientID", "PatientName", "StudyDate", "StudyTime", "StudyID", "Modality");
        for (var e = new Enumerator(col_names); !e.atEnd(); e.moveNext()) {
                var col = table.Columns(e.item());
                col.Properties("Jet OLEDB:Allow Zero Length") = -1;             
        }

        conn.Close();

        conn = null;
        catalog = null;

(2) Run the script file