Testing Notes:
Tested with the latest build and it appears to be working correctly. Tested the xml message using Advanced Rest Client in google chrome. The PDO was returned without any errors.
Consider a GetPDOFromInputList request like this:
<message_body>
<ns3:pdoheader>
<patient_set_limit>0</patient_set_limit>
<estimated_time>180000</estimated_time>
<request_type>getPDO_fromInputList</request_type>
</ns3:pdoheader>
<ns3:request xsi:type="ns3:GetPDOFromInputList_requestType" xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance ">
<input_list>
<patient_list min="0" max="0">
<patient_set_coll_id>3</patient_set_coll_id>
</patient_list>
</input_list>
<filter_list>
<panel name="The panel name">
<panel_number>1</panel_number>
<panel_accuracy_scale>1</panel_accuracy_scale>
<invert>0</invert>
<item>
<hlevel>2</hlevel>
<item_key>\\i2b2\i2b2\Diagnoses\Circulatory system (390-459)\</item_key>
<dim_tablename>concept_dimension</dim_tablename>
<dim_dimcode>\i2b2\Diagnoses\Circulatory system (390-459)\</dim_dimcode>
<item_is_synonym>false</item_is_synonym>
</item>
</panel>
</filter_list>
<output_option names="asattributes">
<observation_set techdata="true" onlykeys="false" blob="false"/>
<patient_set techdata="true" select="using_input_list" onlykeys="false"/>
<event_set techdata="true" select="using_filter_list" onlykeys="false"/>
<observer_set_using_filter_list techdata="true" select="using_filter_list" onlykeys="false"/>
<concept_set_using_filter_list select="using_filter_list" onlykeys="false"/>
<modifier_set_using_filter_list techdata="true" select="using_filter_list" onlykeys="false"/>
</output_option>
</ns3:request>
</message_body>
The key point is either that it has panels / items in its filter list or some output option (I don't really know). This will cause following exception:
"java.sql.SQLSyntaxErrorException: ORA-00928: missing SELECT keyword" in class edu.harvard.i2b2.crc.dao.pdo.TablePdoQueryConceptDao.
I think I found the bug in line 108 ff. If you don't use postgre SQL an SQL statement is built like:
INSERT INTO I2B2BASTIPROJECT.GLOBAL_TEMP_FACT_PARAM_TABLE (char_param1) (char_param1)
SELECT ...
This is wrong SQL syntax as (char_param1) appears twice and Oracle expects a SELECT in the second brackets. To fix it, change line 110
insertSql += "(char_param1) select distinct obs_concept_cd from ( "
to
insertSql += "select distinct obs_concept_cd from ( "
I haven't tried this fix with postgre, so please check if it still works with postgre before checking it in.
{"report":{"fcp":899.8000001907349,"ttfb":174.80000019073486,"pageVisibility":"visible","entityId":10247,"key":"jira.project.issue.view-issue","isInitial":true,"threshold":1000,"elementTimings":{},"userDeviceMemory":8,"userDeviceProcessors":64,"apdex":1,"journeyId":"3722f6d0-6dfb-4262-a809-e524d1c5b838","navigationType":0,"readyForUser":964.7000002861023,"redirectCount":0,"resourceLoadedEnd":719.4000000953674,"resourceLoadedStart":181.30000019073486,"resourceTiming":[{"duration":45.90000009536743,"initiatorType":"link","name":"https://community.i2b2.org/jira/s/7fd763ecdf5ed1f47fc4d22fa8382e97-CDN/4x9nqn/820011/16zrvj4/49fa3aa3d35a2cc689cbf274e66cc41a/_/download/contextbatch/css/_super/batch.css","startTime":181.30000019073486,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":181.30000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":227.2000002861023,"responseStart":0,"secureConnectionStart":0},{"duration":45.90000009536743,"initiatorType":"link","name":"https://community.i2b2.org/jira/s/898b8076c5e82f53cd816ca393e45a56-CDN/4x9nqn/820011/16zrvj4/f614b50eeb842ebd1ea7ab2903699907/_/download/contextbatch/css/project.issue.navigator,jira.view.issue,jira.global,atl.general,-_super/batch.css?jira.create.linked.issue=true&richediton=true","startTime":181.59999990463257,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":181.59999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":227.5,"responseStart":0,"secureConnectionStart":0},{"duration":471.69999980926514,"initiatorType":"script","name":"https://community.i2b2.org/jira/s/4c9c503fe98f210445831b0d7b0cdc33-CDN/4x9nqn/820011/16zrvj4/49fa3aa3d35a2cc689cbf274e66cc41a/_/download/contextbatch/js/_super/batch.js?locale=en-US","startTime":181.7000002861023,"connectEnd":577.0999999046326,"connectStart":557.9000000953674,"domainLookupEnd":557.9000000953674,"domainLookupStart":557.9000000953674,"fetchStart":181.7000002861023,"redirectEnd":0,"redirectStart":0,"requestStart":577.2000002861023,"responseEnd":653.4000000953674,"responseStart":593.2000002861023,"secureConnectionStart":567.3000001907349},{"duration":476.90000009536743,"initiatorType":"script","name":"https://community.i2b2.org/jira/s/694e598c1ae48b0f96655173631cd247-CDN/4x9nqn/820011/16zrvj4/f614b50eeb842ebd1ea7ab2903699907/_/download/contextbatch/js/project.issue.navigator,jira.view.issue,jira.global,atl.general,-_super/batch.js?jira.create.linked.issue=true&locale=en-US&richediton=true","startTime":181.90000009536743,"connectEnd":584.2000002861023,"connectStart":564.7000002861023,"domainLookupEnd":564.7000002861023,"domainLookupStart":564.7000002861023,"fetchStart":181.90000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":584.9000000953674,"responseEnd":658.8000001907349,"responseStart":600.0999999046326,"secureConnectionStart":574.0999999046326},{"duration":423.2000002861023,"initiatorType":"script","name":"https://community.i2b2.org/jira/s/53f54e0ac3f00bb56b136b4d2fff2853-CDN/4x9nqn/820011/16zrvj4/aae1242f5fc81cc6a5bb8bc963ccda29/_/download/contextbatch/js/atl.global,-_super/batch.js?locale=en-US","startTime":182.09999990463257,"connectEnd":591,"connectStart":566.5,"domainLookupEnd":566.5,"domainLookupStart":566.5,"fetchStart":182.09999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":591.2000002861023,"responseEnd":605.3000001907349,"responseStart":604.0999999046326,"secureConnectionStart":577.7000002861023},{"duration":437,"initiatorType":"script","name":"https://community.i2b2.org/jira/s/d41d8cd98f00b204e9800998ecf8427e-CDN/4x9nqn/820011/16zrvj4/1.0/_/download/batch/jira.webresources:calendar-en/jira.webresources:calendar-en.js","startTime":182.2000002861023,"connectEnd":604.8000001907349,"connectStart":581.5,"domainLookupEnd":581.5,"domainLookupStart":581.5,"fetchStart":182.2000002861023,"redirectEnd":0,"redirectStart":0,"requestStart":605.5999999046326,"responseEnd":619.2000002861023,"responseStart":618.0999999046326,"secureConnectionStart":592.5999999046326},{"duration":452.30000019073486,"initiatorType":"script","name":"https://community.i2b2.org/jira/s/d41d8cd98f00b204e9800998ecf8427e-CDN/4x9nqn/820011/16zrvj4/1.0/_/download/batch/jira.webresources:calendar-localisation-moment/jira.webresources:calendar-localisation-moment.js","startTime":182.40000009536743,"connectEnd":622.4000000953674,"connectStart":603,"domainLookupEnd":603,"domainLookupStart":603,"fetchStart":182.40000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":622.7000002861023,"responseEnd":634.7000002861023,"responseStart":633.8000001907349,"secureConnectionStart":612.5},{"duration":51.09999990463257,"initiatorType":"link","name":"https://community.i2b2.org/jira/s/30748292e4ca68be6947d7969829384b-CDN/4x9nqn/820011/16zrvj4/4f66da484ef7d95a2a604d3ab014374c/_/download/contextbatch/css/jira.global.look-and-feel,-_super/batch.css","startTime":182.5,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":182.5,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":233.59999990463257,"responseStart":0,"secureConnectionStart":0},{"duration":453.59999990463257,"initiatorType":"script","name":"https://community.i2b2.org/jira/rest/api/1.0/shortcuts/820011/a9e270f026ecabffc9a59343e5439391/shortcuts.js?context=issuenavigation&context=issueaction","startTime":182.80000019073486,"connectEnd":624.3000001907349,"connectStart":605.2000002861023,"domainLookupEnd":605.2000002861023,"domainLookupStart":605.0999999046326,"fetchStart":182.80000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":624.4000000953674,"responseEnd":636.4000000953674,"responseStart":635.4000000953674,"secureConnectionStart":614.5},{"duration":14.400000095367432,"initiatorType":"link","name":"https://community.i2b2.org/jira/s/3ac36323ba5e4eb0af2aa7ac7211b4bb-CDN/4x9nqn/820011/16zrvj4/efa42a25652b26dfd802540c024826b3/_/download/contextbatch/css/com.atlassian.jira.projects.sidebar.init,-_super,-jira.view.issue,-project.issue.navigator/batch.css?jira.create.linked.issue=true&richediton=true","startTime":288.09999990463257,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":288.09999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":302.5,"responseStart":0,"secureConnectionStart":0},{"duration":381.90000009536743,"initiatorType":"script","name":"https://community.i2b2.org/jira/s/8087506fefd02b4096991c90836b49f6-CDN/4x9nqn/820011/16zrvj4/efa42a25652b26dfd802540c024826b3/_/download/contextbatch/js/com.atlassian.jira.projects.sidebar.init,-_super,-jira.view.issue,-project.issue.navigator/batch.js?jira.create.linked.issue=true&locale=en-US&richediton=true","startTime":288.30000019073486,"connectEnd":655.4000000953674,"connectStart":636.3000001907349,"domainLookupEnd":636.3000001907349,"domainLookupStart":636.3000001907349,"fetchStart":288.30000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":655.5,"responseEnd":670.2000002861023,"responseStart":667.8000001907349,"secureConnectionStart":645.7000002861023},{"duration":397.59999990463257,"initiatorType":"script","name":"https://community.i2b2.org/jira/s/d41d8cd98f00b204e9800998ecf8427e-CDN/4x9nqn/820011/16zrvj4/1.0/_/download/batch/jira.webresources:bigpipe-js/jira.webresources:bigpipe-js.js","startTime":320.5,"connectEnd":705.5,"connectStart":685.9000000953674,"domainLookupEnd":685.9000000953674,"domainLookupStart":685.9000000953674,"fetchStart":320.5,"redirectEnd":0,"redirectStart":0,"requestStart":706.4000000953674,"responseEnd":718.0999999046326,"responseStart":717.4000000953674,"secureConnectionStart":695.4000000953674},{"duration":226.40000009536743,"initiatorType":"script","name":"https://community.i2b2.org/jira/s/d41d8cd98f00b204e9800998ecf8427e-CDN/4x9nqn/820011/16zrvj4/1.0/_/download/batch/jira.webresources:bigpipe-init/jira.webresources:bigpipe-init.js","startTime":493,"connectEnd":707.2000002861023,"connectStart":688,"domainLookupEnd":688,"domainLookupStart":688,"fetchStart":493,"redirectEnd":0,"redirectStart":0,"requestStart":707.3000001907349,"responseEnd":719.4000000953674,"responseStart":718.2000002861023,"secureConnectionStart":697.4000000953674},{"duration":191.80000019073486,"initiatorType":"xmlhttprequest","name":"https://community.i2b2.org/jira/rest/webResources/1.0/resources","startTime":840.5,"connectEnd":1016.5,"connectStart":997.2000002861023,"domainLookupEnd":997.2000002861023,"domainLookupStart":997.2000002861023,"fetchStart":840.5,"redirectEnd":0,"redirectStart":0,"requestStart":1016.5999999046326,"responseEnd":1032.3000001907349,"responseStart":1031.5,"secureConnectionStart":1006.5999999046326}],"fetchStart":0,"domainLookupStart":73,"domainLookupEnd":89,"connectStart":89,"connectEnd":120,"secureConnectionStart":98,"requestStart":120,"responseStart":175,"responseEnd":493,"domLoading":180,"domInteractive":1027,"domContentLoadedEventStart":1027,"domContentLoadedEventEnd":1060,"domComplete":1397,"loadEventStart":1397,"loadEventEnd":1399,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[{"name":"bigPipe.sidebar-id.start","time":991.4000000953674},{"name":"bigPipe.sidebar-id.end","time":992.0999999046326},{"name":"bigPipe.activity-panel-pipe-id.start","time":992.2000002861023},{"name":"bigPipe.activity-panel-pipe-id.end","time":995.2000002861023},{"name":"activityTabFullyLoaded","time":1070.5999999046326}],"measures":[],"correlationId":"e8b46123f946c8","effectiveType":"4g","downlink":9,"rtt":0,"serverDuration":356,"dbReadsTimeInMs":30,"dbConnsTimeInMs":47,"applicationHash":"0629dd8d260e3954ece49053e565d01dabe11609","experiments":[]}}