Converter "Order of Execution"

  • Marcel, can you explain the order in how Import and Export Converts are executed?


    For example, does it process in numerical order, top to bottom and left to right?


    I want to do more "sophisticated" converters, but I want to get it right.


    For example,


    In those rules, what I am not sure about is this - I want to make sure the following occurs:
    1) any type of study from TESTBOX gets stored in CONQUEST, but gets forwarded nowhere
    2) any MR study from a facility that begins with OUTSIDE or does not begin with INSIDE gets forwarded to RAD_OFFICE and RAD_HOME, but not ARCHIVE


    I hope I am clear in what I am asking. Thanks! -Scott

  • Hi Scott,


    importconverters runs as 0.0, 0.1, 0.2, ... 1.0, 1.1, 1.2 etc: all in order. A stop will stop the whole chain. This is a bug - it will stop only one line later.


    exportconverters lines run in parallel, with each line's entries in order of appearance. "stop" will stop the current line only.


    I believe you have some {} missing in the last example; the if statement only affects ONE following statement unless {} are used. Also, all statements need to appear on one line.


    ifequal "%u","TESTBOX"; stop;
    ifequal "%V0008,0080[0,6]", "OUTSIDE"; {forward study to RAD_OFFICE; forward study to RAD_HOME; stop; };
    ifnotequal "%V0008,0080[0,4]", "INSIDE"; {forward study to RAD_OFFICE; forward study to RAD_HOME; stop; };
    forward study to RAD_OFFICE; forward study to RAD_HOME; forward to ARCHIVE;

  • Quote from marcelvanherk

    ...
    importconverters runs as 0.0, 0.1, 0.2, ... 1.0, 1.1, 1.2 etc: all in order. A stop will stop the whole chain. This is a bug - it will stop only one line later.


    Can you give an example of where the process will actually stop?


    Quote from marcelvanherk

    ...
    I believe you have some {} missing in the last example; the if statement only affects ONE following statement unless {} are used. Also, all statements need to appear on one line.
    ifequal "%u","TESTBOX"; stop;
    ifequal "%V0008,0080[0,6]", "OUTSIDE"; {forward study to RAD_OFFICE; forward study to RAD_HOME; stop; };
    ifnotequal "%V0008,0080[0,4]", "INSIDE"; {forward study to RAD_OFFICE; forward study to RAD_HOME; stop; };
    forward study to RAD_OFFICE; forward study to RAD_HOME; forward to ARCHIVE;


    So if the following was all in one line, would it work as expected? Is there an easier way to accomplish this?
    1) a study from TESTBOX gets stored in CONQUEST, but gets forwarded nowhere
    2) a study from a facility that begins with OUTSIDE or does not begin with INSIDE gets forwarded to RAD_OFFICE and RAD_HOME, but not ARCHIVE


      ExportConverter4 = ifequal "%u","TESTBOX"; stop;
      ifequal "%V0008,0080[0,6]", "OUTSIDE"; {forward study to RAD_OFFICE; forward study to RAD_HOME; stop; };
      ifnotequal "%V0008,0080[0,4]", "INSIDE"; {forward study to RAD_OFFICE; forward study to RAD_HOME; stop; };
      forward study to RAD_OFFICE; forward study to RAD_HOME; forward to ARCHIVE

Participate now!

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