Uploaded image for project: 'i2b2 Web Client'
  1. i2b2 Web Client
  2. WEBCLIENT-135

Some metadata terms with special characters will not run in the query tool

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.7.06
    • Fix Version/s: 1.7.07
    • Component/s: Web Client
    • Labels:
      None
    • Affects View/s:
      Navigate Terms, Workplace
    • i2b2 Feature/s:
      Queries
    • i2b2 Sponsored Project/s:
      i2b2 Web Client
    • i2b2 Related Project/s:
      BBP
    • Affects Database/s:
      All databases
    • Affects Web Browser/s:
      All Web Browsers
    • Reproduction Notes:
      Hide
      This can be reproduced in both the demo and testing environments.

      Upon further investigation I found the error occurs when there are special characters like the ampersand ('&') in the tooltip; the Web Client is not escaping the '&'.

      The Web Client is escaping the special characters when they are in the path (item_key) or the name of the item. The problem only occurs when it is in the tooltip.

      I have verified that this issue is only a problem in the Web Client. It is working correctly in the i2b2 Workbench.
      Show
      This can be reproduced in both the demo and testing environments. Upon further investigation I found the error occurs when there are special characters like the ampersand ('&') in the tooltip; the Web Client is not escaping the '&'. The Web Client is escaping the special characters when they are in the path (item_key) or the name of the item. The problem only occurs when it is in the tooltip. I have verified that this issue is only a problem in the Web Client. It is working correctly in the i2b2 Workbench.

      Description

      Ontology terms with special characters return in an error when running a query.
      It looks like this is occurs in when there is an ampersand (&) character in C_TOOLTIP.
      Steps to reproduce:
      log into https://www.i2b2.org/webclient/
      Under Navigate Terms panel, click on "Find" tab
      Search by : <space>&<space> to return Ontology term with '&' character
      "DIRECT ANTIPLATELETB&,AMP,W (LOINC:X3007-6)"
      Drag and drop the term in group panel 1 and click on run query.
      Getting"cell status message could not be understood error

      Attached screen shot of the issue

      XML Message History
      sentrcvd
      GetTermInfo
      ONT
      called by CRC:QueryTool @ T+00:00.00
      sentrcvd
      GetTermInfo
      ONT
      called by CRC:QueryTool @ T+00:00.00
      sentrcvd
      GetTermInfo
      ONT
      called by CRC:QueryTool @ T+00:00.09
      sentrcvd
      runQueryInstance_fromQueryDefinition
      CRC
      called by CRC:QueryTool @ T+00:11.79
      sentrcvd
      runQueryInstance_fromQueryDefinition
      CRC
      called by CRC:QueryTool @ T+00:17.03
      sentrcvd
      runQueryInstance_fromQueryDefinition
      CRC
      called by CRC:QueryTool @ T+01:52.19
      <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
      <ns6:request xmlns:ns4="http://www.i2b2.org/xsd/cell/crc/psm/1.1/" xmlns:ns7="http://www.i2b2.org/xsd/cell/ont/1.1/" xmlns:ns3="http://www.i2b2.org/xsd/cell/crc/pdo/1.1/" xmlns:ns5="http://www.i2b2.org/xsd/hive/plugin/" xmlns:ns2="http://www.i2b2.org/xsd/hive/pdo/1.1/" xmlns:ns6="http://www.i2b2.org/xsd/hive/msg/1.1/" xmlns:ns8="http://www.i2b2.org/xsd/cell/crc/psm/querydefinition/1.1/">
      <message_header>
      <proxy>
                  <redirect_url>http://services.i2b2.org:9090/i2b2/services/QueryToolService/request&lt;/redirect_url>
              </proxy>

      <sending_application>
      <application_name>i2b2_QueryTool</application_name>
      <application_version>1.6</application_version>
      </sending_application>
      <sending_facility>
      <facility_name>PHS</facility_name>
      </sending_facility>
      <receiving_application>
      <application_name>i2b2_DataRepositoryCell</application_name>
      <application_version>1.6</application_version>
      </receiving_application>
      <receiving_facility>
      <facility_name>PHS</facility_name>
      </receiving_facility>
      <security>
      <domain>i2b2demo</domain>
      <username>demo</username>
      <password token_ms_timeout="1800000" is_token="true">SessionKey:z413DkIHUROJ8DbeoUCx</password>
      </security>
      <message_type>
      <message_code>Q04</message_code>
      <event_type>EQQ</event_type>
      </message_type>
      <message_control_id>
      <message_num>yu2m9gGczlgPy153wxZzb</message_num>
      <instance_num>0</instance_num>
      </message_control_id>
      <processing_id>
      <processing_id>P</processing_id>
      <processing_mode>I</processing_mode>
      </processing_id>
      <accept_acknowledgement_type>messageId</accept_acknowledgement_type>
      <project_id>Demo</project_id>
      </message_header>
      <request_header>
      <result_waittime_ms>180000</result_waittime_ms>
      </request_header>
      <message_body>
      <ns4:psmheader>
      <user group="Demo" login="demo">demo</user>
      <patient_set_limit>0</patient_set_limit>
      <estimated_time>0</estimated_time>
      <query_mode>optimize_without_temp_table</query_mode>
      <request_type>CRC_QRY_runQueryInstance_fromQueryDefinition</request_type>
      </ns4:psmheader>
      <ns4:request xsi:type="ns4:query_definition_requestType" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <query_definition>
      <query_name>DIRECT ANTIPLAT@11:04:07</query_name>
      <query_timing>ANY</query_timing>
      <specificity_scale>0</specificity_scale>
      <panel>
      <panel_number>1</panel_number>
      <panel_accuracy_scale>100</panel_accuracy_scale>
      <invert>0</invert>
      <panel_timing>ANY</panel_timing>
      <total_item_occurrences>1</total_item_occurrences>
      <item>
      <hlevel>5</hlevel>
      <item_name>DIRECT ANTIPLATELETB&amp;AMP,AMP,W (LOINC:X3007-6)</item_name>
      <item_key>\\i2b2_LABS\i2b2\Labtests\LAB\(LLB6) Coagulation\(LLB12) Platelet Antibodies\PLTABD\LOINC:X3007-6\</item_key>
      <tooltip>Labtests \ Coagulation \ Platelet Antibodies \ PLT AB (Direct) (Group:PLTABD) \ Direct antiplateletb&amp,amp,w (LOINC:X3007-6)</tooltip>
      <class>ENC</class>
      <item_icon>LA</item_icon>
      <item_is_synonym>false</item_is_synonym>
      <constrain_by_value>
      <value_type>TEXT</value_type>
      <value_constraint>('POSITIVE')</value_constraint>
      <value_operator>IN</value_operator>
      </constrain_by_value>
      </item>
      </panel>
      </query_definition>

      <result_output_list><result_output priority_index="11" name="patient_count_xml"/>
      </result_output_list>

      </ns4:request>

      </message_body>
      </ns6:request>
      <faultstring>com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character ',' (code 44); expected a semi-colon after the reference for entity 'amp'
       at [row,col {unknown-source}]: [68,117]</faultstring>

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Git Source Code