Version 1.4.14beta available

  • This version is close to completion and fixes almost all problems reported for 14.13. You can easily test features of this release by extracting dgate.exe and conquestdicomserver.exe and replace older versions with them. Note for new installs: the database definition changed, take care not to lose dicom.sql if you do not want to perform a full regen.

    For bug fixes and new features see this forum. Some additions are: extensive filtering for delayed forwarding, some more exportconverter commands (get from, delete, process by), some more dgate -- commands, possibility to disable the dreaded out of memory check, and some extensions to the web interface (move and delete).

    Here are the downloads:

    Binaries for windows:…r/

    Server core sources:…mserver/DGATE1414beta.ZIP

    Library sources:…rver/DICOMLIB1414beta.ZIP

    Linux sources:…

    Linux jpeg support files:…/

    Please report any bugs found. Have fun!


  • List of open issues for 1.4.14beta. Updated 20080818.

    1) Echo number is actual a VR that may contain multiple values. Its database size of 12 characters may be inadequate - Increased to 64 for next release.

    2) Stationname and Institution were moved to the series database, but this change has not been made in "view/edit database" in the server GUI. Was already fixed in this release, but see also 20).

    3) The "series" and "study" filters in delayed forwarding are not working and the syntax is confusing e.g., "forward study study xxxxx". Fixed in next release. Syntax use "forward patient study xxxx to"

    4) Maybe extend worklist database. Any suggestions are welcome.

    5) Disabled the request of AccessionNumber conquest generate sql error: the "select" query start with comma and generate sql error. Fixed in next release.

    6) The best way to handle it is to always include 0008,0005=ISO IR_100 into the worklist response. The DCMKT wlscpfs.exe has a parameter that can be set to handle this issue this way (-cs1). Fixed in next release: adding WorkListReturnsISO_IR_100 flag default 1.

    7) FAILED STORAGE: The ***Client Error: Unknown Command: 0001** message is a fault in the error handling. Command 0001 is C-STORE and is correct. 'Fixed' in next release, reworded message.

    8 ) PT should match studymodality PET/CT (multiple value matching). Noted as a bug. In the meantime, you can query on seriesmodality I hope. Implemented experimentally (use DT_MSTR) in next version for real SQL servers, not for DBASEIII.

    9) Succesful storage of files is not checked. You are the first to complain!. Suggested code changes on the forum. Fixed in next release.

    10) There is a level problem in a worklist query response. Suggested code change on the forum. Fixed in next release.

    11) is there a reason for the "ReqProcDescription" field of the worklist to be limited to 16 characters?
    Is it possible without departing from the standard DICOM to get it to 64 characters? Increased to 64 in next release.

    12) wish: importconverter can run an exe on the current object. Fixed in next release: "process with" import converter.

    13) check littleendianexplicit issue described in To be done.

    14) Stefan found out that the Conquest export filters allways forwards the images with a 4k pdu size, regardless with which pdu size the storescp is started. Is it possible to configure Conquest export filters to use a greater pdu size? NOT CONFIRMED. Next release will show PDU size.

    15) StudyDate >= 20080623 fails for postgres8.3, should be StudyDate >= '20080623'. Not a bug, this code came from an ImportFilter statement.

    16) native mysql driver to other Mysql server pc fails in GUI, not in server. NOT CONFIRMED: mysql works for me in server and browser when IP address is given; neither work when hostname is given unless the hostname is set in LMHOST (windows name resolution problem?).

    17) FileNameSyntax = %id[8,2]\%id\%studyuid_%imagenum_%time.dcm. The substring operator does not work. Indeed, not as in C: it lists the first and last character, not the first and the count: [8,9] would have given the expected result of getting 2 characters. To be better explained in manual.

    18) If the sender (e.g., storescu -v 5678 NM.dcm, where NM is jpeg compressed) hangs up the connection before transmitting any data, conquest reports, "*** Association rejected", even if the association was accepted. Fixed in next release.

    19) multiple UID matching will fail with sqlite (code believes sqlite is dbaseiii). Fixed in next release.

    20) InstitutionalDepartmentname to be replaced with Instititution in database. In next release.


  • Great stuff! I've only installed the webserver part of this beta, and I love it that you implemented the "push" to other destinations.
    Thank you!

    Is there a wishlist somewhere? There's only a few more things that I'd like to see in Conquest, and I'm sure they'd be easy for you to implement :)

  • Well alright then!

    Wishlist for the web interface:

    1) Ability to change PatientID # on any patient

    2) When you browse by patient, you find a patient. Then click on the PatientID.
    Then, you get a list of all the studies for that patient. This list shows:
    PatientID, Name, Study Date, Study Description, Study Modality.
    It'd be nice if it could also show the Accession #.

    3) Ability to also change the Accession # on an exam.

    I realize that 1 and 3 would have to make sure that the #s are changed everywhere in the database, so it'd be a bit more elaborate, but there you go.

    Thanks, Marcel! :D

  • Hi,

    Interesting thought, but no that it not supported. Using dgate --addimagefile: you might add files (that are accesable on the network from the server), or you might send a file using any C-STORE client like test.exe.


  • EDIT: I have the low-res link added to my php wrapper which sets dsize to 320. It loaded fairly well over vpn and image quality was not too bad(although there was a noticible degredation).

    Edit2: the inability to flip the images in the viewer is going to to be my #1 suggestion.

    Edit3: To maybe add portability to web interface: if dgate.exe cgi version had an XML switch in dicom.ini to respond with XML instead of HTML it would allow maximum customization of the pages that are viewed. Then eventually it could possibly take XML requests on a custom port instead of needing a cgi interface and respond with XML responses although the cgi interface might still be necessary to provide the actual images to the activex control.

    Original msg:
    For web interface it would be great if it would automatically start preloading the images in the series, not sure if that is an option with the K-Pacs viewer. An alternative to that idea (since it might limit viewing slices not preloaded) might just be a Hi res link and a Low res Link which makes the dsize change. Low-res could be for vpn web viewing and a value of 320 or so would give a fairly quick load time (obviously you lose some quality but if a physician is just needing a quick view over a vpn or something it would be sufficient). Hi res would be the dsize=0 value to give best quality. I'm working on a way to do this just by parsing and editing the html dgate.exe gives back for now.

    Is the source for the ActiveForm in the downloads somewhere? I couldn't find it. I was going to play around (not that I have any business doing much in c++). Really hoping to get a way to flip a series permanently (doesn't have to be a viewer option).

  • We're looking for something in the database that associates each image with the sending AETitle for that image. Currently, there's no reliable way to detect where the image came from (not where it was shot).

    For instance, a clinic could send an image that was shot at a different facility. So the institution name would be of the facility that shot the image, but the sending clinic is the institution that's interested in seeing our radiologist's report.

  • Hi,

    that is correct. You can, however, use inportconverters to add that AE to a private field in the header - and also extend the db to store that private field. You CANNOT modify the database to store the AE directly as that interferes with query/retrieve from other locations - somebody tried that before.


Participate now!

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