Maximum no. ImportConverter arguments?

  • Hi


    I am trying to set up a method of recording patient dosimetry information by extracting information from DICOM headers. My basic setup is to use an ImportConverter to write the header information out to a file, then destroy the file. However, if there are more than 40 tags, it seems to ignore that ImportConverter - it doesn't write anything out and the serverstatus log just records the next ImportConverter, destroy. If I use exactly 40 tags, it writes them out but changes the export file name to something along the lines of doseauj<D8><D7><D4><C9>^N<A9>It<D6><C6>ˠ<E4>Kʫ<CB><E4>^Z<<E4>5iq<E9><AE>S\<8F><AF>>Ѯy<F4><A6>o#<E1>79<C2>\<A9>m<9E><A4><A5><D1>i)<D1>h<9A>b<9A><E8>^^俺?1<B6><84><93> A`6d֛<97>1Q<97><B1>Pg§{<E9><B2><E5><D8><E6>J<AF>ɷO?<D5><CE><D7>M^M<D4><FA>4^2UT.<E1>I.<FC><CE><CF>m<D9>n|<EE>d (it was doseaudit.csv)


    Any ideas? Is there a limitation, or is this just a bug?


    I am using the current version from the website, on Linux.


    Desired converter:

    Code
    ImportConverters = 2
    ImportConverter0 = append "%V0008,0060,%V0018,1000,%V0018,700A,%V0008,0070,%V0008,0080,%V0008,1010,%V0008,1090,%V0008,0068,%V0008,0023,%V0008,0033,%V0020,000D,%V0020,000E,%V0020,0010,%V0020,0011,%V0020,0052,%V0010,0030,%V0010,0040,%V0010,1010,%V0018,0015,%V0018,1030,%V0018,5101,%V0020,0020,%V0020,0062,%V0018,1110,%V0018,1111,%V0018,1114,%V0040,0306,%V0018,1147,%V0018,1149,%V0018,11A0,%V0018,11A2,%V0018,1191,%V0018,1160,%V0018,7050,%V0018,1166,%V0018,1190,%V0018,0060,%V0018,1150,%V0018,1151,%V0018,1152,%V0018,1153,%V0018,1405,%V0040,0302,%V0040,0310,%V0040,0316,%V0040,0318,%V0018,6000,%V0018,7060,%V0018,7062,%V0018,7064%n" to doseaudit.csv


    18,1153 makes it do the funny file name, beyond that it ignores the line. I have tried switching 18,1153 for 18,1405, but the same thing happens.

  • Just leave out search on patient name... Go on MRN, Study then fields that hold the exposure info. Write that out to a csv, import into a spreadsheet then you can delete the column for MRN if you do not need it.


    That also gives you lots of data to play with and graph in many different ways

  • I'm not sure I understand you, or maybe I haven't explained mysself very well.


    The advantage of my setup is that the dose information gets extracted from the clinical image and written to file, then the image and associated data is deleted from conquest. This has two advantages:


    1/ the server doesn't need to be very big as it only has the images for a very short time, and
    2/ there are less information governance issues as the clinical information isn't being stored.


    The disadvantage would be that I am storing data in csv file, which are nice and accessible, but not really where data should live!


    I have thought about using the conquest database, but I don't think it would support keeping the dose data without any patient IDs. Even if you anonymised on import, I haven't worked out if you can delete the image but keep the text data. Any ideas if this is possible?


    The other alternative I am thinking of is as I have it now, but instead of writing to csv, pass the variables to a script that then inserts them into a new database.


    Any suggestions welcome!

  • ah I thought you already had a conquest server with all of the studies on it. If you have a commercial pacs you are getting the data from that is QUITE different.


    If I understand you, all you want to do is keep an aggregate record of dose applied. You are not keeping dose records for individuals?




    One thing I am not is an expert in all the DICOM Tags. Is dose information asctually stored in all of those tags?
    Tag
    Name
    Keyword
    VR
    VM


    (0018,1411)
    Exposure Index
    ExposureIndex
    DS
    1


    (0018,1412)
    Target Exposure Index
    TargetExposureIndex
    DS
    1


    (0018,1413)
    Deviation Index
    DeviationIndex
    DS
    1


    ImportConverter0 = append "%V0018,1411" to doseaudit.csv
    ImportConverter1 = append "%V0018,1412" to doseaudit.csv
    ImportConverter2 = append "%V0018,1413" to doseaudit.csv
    Importconverter3 = destroy


    This should pull the data you are looking for from a commercial PACS that does not allow user queries on the actual sql db..


    I actually would need to research all the available fields where Dose information could be kept and that, I think, varies with manufacturer and their private tags.


    Once you have it in a csv for whatever time period you run the report (query) for, you can import that csv to a spreadsheet or to a database. (think excel or access or OO Base or Calc) then destroy the current csv or rename it to something and archive it somewhere (ie date_range_doseaudit.csv)

  • Hi,


    you hit the (unprotected) maximum line length of 512 characters of the ImportConnverter. I suggest to use the "call" command and split this out into multiple lines.


    ImportConverter0 = call logdose.cq


    with logdose.cq:
    append append "%V0008,0060," to doseaudit.csv
    ....
    append "%n" to doseaudit.csv


    Marcel

Participate now!

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