Posts by marcelvanherk

    Hi,


    thanks for this update. I do believe this code is never called. The named pipes are an option of the original dgate that is not used in how conquest is installed today. So it may be removed, and certainly in the UNIX build.


    Marcel

    Hi,


    Yes, I believe this should work. You may have to script your own web page though. The default worklist lister has only a few hardcoded entries. The worklist entry form and edit form use DICOM.SQL and should adapt to your changes.


    Marcel

    Hi Jason,


    dgate is hardcoded to put HL7 into the worklist database. Why would you want to add another database anyway? It will not be queryable (and it will not be created either) because these operations are hardcoded to certain databases.


    To create a HL7 to database converter you should just install another server and misuse the worklist database.


    Marcel

    Hi,


    I believe that retrieve works and query not, because the KPACS server cannot be queried, it just supports storage. In any case, I get the same response with my very old KPACS 0.951 install.


    Added the "5678 " issue to the bug list.


    Marcel

    Hi,


    looking at your last post, I may have found it. You see VPTR[1]...[N] fall nicely in a sequence, but VPTR[0] is not. Looking at the code in dbsql.cpp, I see that is is actaually never filled in function UpdateOrAddToTable! So the query asks for the UID in the database, but never actually reads it. So the crash occurs when the pointer in VPTR[0] is invalid from a previous operation.


    Code
    for (i=1; i<=lastfield; i++) { if(!DB.BindField (i+1, SQL_C_CHAR, s[i-1], 255, &sdword)) return ( FALSE ); s[i-1][0] = 0; }


    Try to add here after:


    Code
    char dum[256];
    DB.BindField (1, SQL_C_CHAR, dum, 255, &sdword));


    I am curious wether this helps for this and maybe a few other mystery crashes!
    Marcel

    Tego,


    can you printf row[i] and particularly variable ncolums in routine NextRecord() that crashes? You can use OperatorConsole.printf to put it into the log. It may also help to give a debug log of both operations.


    I tried to apt-get mysql and it drives me crazy. After hours of downloading using various debian mirrors, I still can't get mysql to install (I use an old Knoppix installed to HD that works fine except for that). So I cannot debug the code yet, bacuse the same sequence you list does not crash with MySQL under windows.


    Marcel

    Hi,


    this is not possible now without a recompile. Also the logic might be difficult. Now the code evaluates all missing files in a C-MOVE. If they all belong to one patient, study and series, it asks for all SOPs at once, using multi-value matching (SOP=sop1\sop2\sop3 etc). It would be possible to then always let it ask for the entire series. This risks retrieving too much (the entire series is retrieved if one file is missing in a request).


    In the other case, it will collect slice by slice, and that will have to be at the image level.


    I assume the problem is with the first scenario?


    Marcel

    Hi,


    the application that queries on a date range should not send a time range at the same time to a system that does not support extended date-time queries. Conquest will correctly returns items that match BOTH query fields. So if the time range is from 10:00:00-10:00:00 it will return only those that are exactly. This topic does not apply to non-date time fields.


    Marcel