Posts by MattB

    Hi Brian,


    I have a few clients on similar setups and amounts of data using a MySQL backend. We had a similar problem a few years ago with a new RIS and accession number grief and lots of fat finger typos with names, dobs, mismatched MRN/DOB's, duplicate MRN's, etc...


    One of the main things that can catch you up here is if you modify such things only in the database without actually modifying the image headers. (I wasn't sure if you were doing this somehow or not.)


    Reason being, many PACS systems (including Conquest) that are interconnected to RIS systems or use an existing database will simply reject or ignore inbound image transfers that contain mismatched UID's, AN's, patient information, etc... when sent from your modalities.


    Also in this case, if you do this and do have a mistake, when you regenerate the database, you'll be getting the data from the image headers and go back to your original undesired data right?


    Marcel posted a good writeup of the inherent issues of having mismatched data in the database tables and image headers/file names here:
    http://forum.image-systems.biz/viewtopic.php?f=33&t=618


    I'd highly recommend doing this through Conquest, or if the volume of data exceptions is too large, alter the image data programmatically (See below).



    Our Solution:
    We ended up searching for mismatched patient data and other problems with a set of SQL queries and a SQL browsing client, exporting the results to CSV, and had file clerks verify/correct data with the the patient charts & patient questionnaires in the CSV. Once this was completed, I created a small program in C# to read the CSV data, make the appropriate changes to the conquest MySQL database and gather data about the images that needed to be modified, and execute commands via dgate.exe options to modify the images themselves programmatically. (You can find an explanation of most of the flags/arguments for dgate.exe in the Conquest manual.) Eventually, we somewhat automated this process using the RIS data as a base, "queued" the changes that needed to be done, and had an interface to approve/edit/deny the changes in a grid control.


    It's been several years, but I may still have the Visual Studio project for this laying around somewhere. I will upload it if I can find it.


    I hope I understood your project and problem correctly. Hopefully this information will help a bit?


    Kind Regards,
    -Matt