Posts by htalguemes

    Thanks Marcel for your reply.

    I have already added the field to the database.

    I have already modified the ini to call the lua script every time the study is received.

    What I am asking you for is help with the lua dbquery and sql functions since I am not familiar with them. If there is any documentation to read, I would appreciate it. I did some basic query tests but was unsuccessful. I also do not understand how the connection is configured or if it is already established globally.

    The db is postgresql with the native conquest driver.

    As always, thank you.

    Hello Marcel, I hope you are feeling very well. I bother you with a question about Worklist, to improve its implementation. It turns out that I saw in the standard that there is a parameter to indicate the status of a scheduled procedure 0040,0020 (Scheduled Procedure Step Status). Currently I saw that in Conquest database for Worklist, this parameter is not indicated. By correctly updating this parameter, each of the modalities can automatically remove studies that have already been carried out from the pending list; otherwise, they remain on the list indefinitely.

    So here comes my query:


    1-it is possible to add this parameter to the database, and have the server deliver it when some modality interrogates it.


    2-how do you think it could be implemented, that when images arrive at the pacs, this car automatically reads the accession number tag, and with that value searches the worklist database if it exists, and if it exists, updates the status ? In this way, when it interrogates the modality again, it will verify that the status of that same accession number has changed, and it will mark it as done.

    Hi Marcel, I'll try to do it. I am not very familiar with the Linux environment and even less Docker (I have worked very little), I usually work in Windows. For C/C++ I usually use the TDM-GCC compiler. Could you guide me how to compile? Is it necessary to install an external library? I have seen that in the src there is one amake.bat, can I use it simply by modifying the compiler? I would be interested in compiling it to be able to contribute this and any other contribution that may arise in the future, since the project is very interesting to me.

    Dear Marcel,


    I have replaced dgate64.exe and the problem has been solved, it is now working. I'm just clarifying some caveats that I had to make:

    -the directory separation bars are '\\' instead of '/' as I put in my lua code.

    -in the call in the dicom.ini you must place lua:dofile([[lua\makefilename.lua]]).


    I am very grateful for your help, and any contribution or help I can provide count on me.


    Juan

    One last modification: I added a check if the study date is empty, I look for it in the series date, and if both are empty I save it with the current system date. I doubt that the date comes empty, since it is generally loaded automatically in the mode that generates the images, but it doesn't hurt to take a precaution.


    Well after haggling a bit with lua (in C it would have been very easy) :D, I came to the following conclusions:

    -in the test runner (image - modify), neither indentations nor comments are supported in the code in lua.

    -how lua 5.1 uses bit operations are not available. Therefore I was able to put together the code that is already working, creating the And functions and moving beat using multiplication and division.



    The only thing missing is to be able to launch that script with the arrival of each image at the pacs and everything would be resolved.


    Of course, a much better solution would be to integrate this into the C source code, and through some tag to be able to incorporate it directly into the dicom.ini to create the name.

    I have tried to test the code, but I always have an error. I started doing simpler tests and I realized that when using functions within the Lua code I always get the same error. Could it be that functions cannot be used? In fact, the error it gives me has no association with the code, since any code I enter makes no difference.

    ok Marcel, while I'm giving you my code in Lua with the aforementioned algorithm, I haven't been able to test it yet because of the error we've been having, but if you see something you want to suggest, I'll gladly accept it.



    Dear Marcel,


    Excellent, I will try the new .exe.


    Regarding dbj2 instead of md5, I thought about this algorithm for the simplicity and speed of execution, since there will surely be a lot of images and speed is essential so as not to slow down the process. On the other hand, I thought about encoding it with base32 since it ensures valid names for directories with a good result space of 8 digits that minimize collisions between 2 hashes.


    It would be very nice to integrate the function as you mention. I will do the test and send you the results and code.

    Hello Marcel,


    first of all, thank you very much for your response and dedication. Could you tell me the link to the modified dgate64.


    I will use the makefilename.lua as a starting point, but my idea is to generate a hash with the jdb2 algorithm in 8-digit base32 to encode the studyuid and the serieuid in order to store it in order:


    studydate/hash_studyuid/hash_serieuid/ imageuid.dcm


    The purpose of this is to be able to have an easy order to locate the studies, and at the same time not have very long directory names as would be the case with the direct use of studyuid and serieuid.


    If you find this interesting and I manage to make it work I can share it with you.

    Hello, I wanted to know if there is a way to reject or rather ignore receptions with a certain sop class uid. In particular I try to filter messages '1.2.840.10008.5.1.4.1.1.66' since the Phillips ingea resonator sends them and they do not correspond to images. I wouldn't want it to be saved as a file or added to the database, but I wouldn't want it to return an error so the transfer is not cut off, but simply ignored.

    Dear Marcel, I tried to do what you asked, but the error is the same and I am not adding any more information.



    *** lua syntax error [string "return dofile([[makefilename.dcm"]:1: unfinished long string near '<eof>' in 'return dofile([[makefilename.dcm'


    Juan

    Hello Marcel, I have tried with the indicated modification (FilenameSyntax = lua:dofile([[makefilename.lua]]) ), but I still get


    *** lua syntax error [string "return dofile([[makefilename.dcm"]:1: unfinished long string near '<eof>' in 'return dofile([[makefilename.dcm'


    I also don't understand what the error description refers to.


    Juan

    Hello, at the hospital we are using conquest as a backup pacs server, it is really great and I want to congratulate the entire team that works on its development. But I am having a problem, I am trying to generate a specific saving pattern for the files received, and to do this, reading the manual I found that it can be done through a lua script, and as an example it brings makefilename.lua. I have placed this in my dicom.ini file but I get a lua error: return string near <eof>. I clarify that I use the unmodified makefilename.lua and I get the same thing. What I can be doing wrong?:/