Worklist query event

  • Is it possible to catch some event in external application when Conquest server received incoming Modality Worklist query? It's needed to update Worklist table when the DICOM device requesting MWL but before Conquest server returned result. I not found any way to do this in 1.4.14.
    Thanking you in anticipation...

  • Hi,


    I am afraid such an option is currently not available - such options exist for C-Store events, but not for queries. By adding some code it is possible to run an importconverter like script on (all) query requests. What information would you need from the query?


    Edit: if you run on linux, the following change implement this (couple of lines change and then recompile).


    File dgate.cpp, in routine MyModalityWorkListQuery::SearchOn, below BOOL st, add:


    Code
    CallImportConverterN(DDOPtr, 1000, NULL, NULL, NULL, NULL, "test", "test", NULL);


    This will call the script ImportConverter1000 in dicom.ini for each modality worklist query. The script can call external programs and/or read or modify the query (using %v and set, respectively).


    Marcel

  • Thank you very much for advices...
    From worklist query we need AETITLE, may be something else... I don't really know now. It seems that information can be unnecessary. But event is really needed.
    So, it was expected that source code correction is needed. Although we running Windows (not Linux) I hope your solution will be acceptable.
    And one question more... Is planned something like this event in the future releases of ConQuest?

  • Hi,


    Off course this will be in the next release. Passing the AE titles is a little more work, though. This information is currently not passed to "SearchOn" routine in qrsop.cxx.


    It might be useful to experiment with this option to get some feedback. Is is possible to compile dgate.exe yourself, e.g., using the total.cxx file. Or I can send you an updated dgate.exe if you pm me you email address.


    Marcel

  • I trying to compile dgate using MS Visual C++ Toolkit 2003 + MS Platform SDK for Windows Server 2003 R2 + DCMTK 3.5.4. But it seems that there are some problems in makefile from dgate1414.zip. Source files compiled but linker failed.
    I didn't try yet example from TOTAL.CXX file. If all my attemps will not be successful your help will be very welcome.
    So, I'll be glad to help to improve this great software. And my e-mail is GlFox.LIS(a)gmail.com


    Edit:
    Compile using TOTAL.CXX...
    Needed XV (#include "xvgifwr.c" in total.cxx). Ok, get it...
    Now needed X11 (#include <X11/...> in xv.h)... What package need to download?

  • Hi,


    all files should be included in the package. I suggest to start from conquestlinux1414.zip, maybe xvgifwr is missing in . Do NOT to load modules from elsewhere. For instance, the xvgifwr that we use is modified..... It is also included in DGATE1414.zip.


    The following flags need to be defined:


    WIN32
    WINDOWS
    NATIVE_ENDIAN=1
    NOINTJPEG


    Marcel

  • Quote from marcelvanherk

    Hi,
    all files should be included in the package. I suggest to start from conquestlinux1414.zip, maybe xvgifwr is missing in . Do NOT to load modules from elsewhere. For instance, the xvgifwr that we use is modified..... It is also included in DGATE1414.zip.


    Yes, yes, yes... My mistake (or not only my ;)... In "total.cxx" we have: #include "xvgifwr.c". But in "dgate1414.zip": "xvgifwr.cpp". Just other extension.

  • For the record,


    we came up with the following extension for 1.4.14a:


    There are 3 (only) extra converters, which can do similar things as ImportConverter0..9 can do, including logging and modifying the query, conditionally abort the query, start executables and much more.


    If you add these lines to dicom.ini as a test, the server will log calling (%u), called (%c) of each normal query (first line) and worklist query (second line). The move shows calling and called plus the destination (%s) of each move.


    You can read all query items using %Vgggg,eeee, and you can change or add items, e.g., to allow limited access for certain stations.


    Code
    QueryConverter0 = nop This is a query: from %u to %c with patient %i
    WorkListQueryConverter0 = nop This is a workListQuery from %u to %c with patient %i
    RetrieveConverter0 = nop This is a retrieve from %u to %c destination %s patient %i


    Marcel

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!