/**
* @projectDescription Messages to configure and build a WORK cell communicator object.
* @namespace i2b2.WORK.ajax
* @author Nick Benik, Griffin Weber MD PhD
* @version 1.3
* updated 2-20-09: Refactor Communicator layer [Nick Benik]
*/
// create the communicator Object
i2b2.WORK.ajax = i2b2.hive.communicatorFactory("WORK");
// create namespaces to hold all the communicator messages and parsing routines
i2b2.WORK.cfg.msgs = {};
i2b2.WORK.cfg.parsers = {};
// ================================================================================================== //
//i2b2.WORK.cfg.msgs.getFoldersByProject = '\n'+ "NO EXAMPLE OF THIS FUNCTION BEING CALLED WAS FOUND."
// ================================================================================================== //
i2b2.WORK.cfg.msgs.moveChild = '\n'+
'\n'+
' \n'+
' {{{proxy_info}}}\n'+
' 1.1\n'+
' \n'+
' i2b2 Ontology\n'+
' ' + i2b2.ClientVersion + '\n'+
' \n'+
' \n'+
' i2b2 Hive\n'+
' \n'+
' \n'+
' 1.1\n'+
' ' + i2b2.ClientVersion + '\n'+
' \n'+
' \n'+
' i2b2 Hive\n'+
' \n'+
' {{{header_msg_datetime}}}\n'+
' \n'+
' {{{sec_domain}}}\n'+
' {{{sec_user}}}\n'+
' {{{sec_pass_node}}}\n'+' \n'+
' \n'+
' {{{header_msg_id}}}\n'+
' 0\n'+
' \n'+
' \n'+
' P\n'+
' I\n'+
' \n'+
' AL\n'+
' AL\n'+
' US\n'+
' {{{sec_project}}}\n'+
' \n'+
' \n'+
' {{{result_wait_time}}}000\n'+
' \n'+
' \n'+
' \n'+
' {{{target_node_id}}}\n'+
' {{{new_parent_node_id}}}\n'+
' \n'+
' \n'+
'';
i2b2.WORK.ajax._addFunctionCall("moveChild","{{{URL}}}moveChild", i2b2.WORK.cfg.msgs.moveChild);
// ================================================================================================== //
// URL: Address: http://127.0.0.1:7070/i2b2/rest/WorkplaceService/getFoldersByUser
i2b2.WORK.cfg.msgs.getFoldersByUserId = '\n'+
'\n'+
' \n'+
' {{{proxy_info}}}\n'+
' 1.1\n'+
' \n'+
' i2b2 Ontology\n'+
' ' + i2b2.ClientVersion + '\n'+
' \n'+
' \n'+
' i2b2 Hive\n'+
' \n'+
' \n'+
' 1.1\n'+
' ' + i2b2.ClientVersion + '\n'+
' \n'+
' \n'+
' i2b2 Hive\n'+
' \n'+
' {{{header_msg_datetime}}}\n'+
' \n'+
' {{{sec_domain}}}\n'+
' {{{sec_user}}}\n'+
' {{{sec_pass_node}}}\n'+
' \n'+
' \n'+
' {{{header_msg_id}}}\n'+
' 0\n'+
' \n'+
' \n'+
' P\n'+
' I\n'+
' \n'+
' AL\n'+
' AL\n'+
' US\n'+
' {{{sec_project}}}\n'+
' \n'+
' \n'+
' {{{result_wait_time}}}000\n'+
' \n'+
' \n'+
' \n'+
' \n'+
'';
i2b2.WORK.cfg.parsers.getFoldersByUser = function(){
if (!this.error) {
this.model = [];
var nlst = i2b2.h.XPath(this.refXML, "//folder[name and share_id and index and visual_attributes]");
for (var i = 0; i < nlst.length; i++) {
var s = nlst[i];
var nodeData = {};
nodeData.xmlOrig = s;
nodeData.index = i2b2.h.getXNodeVal(s, "index");
nodeData.key = nodeData.index;
nodeData.name = i2b2.h.getXNodeVal(s, "name");
nodeData.annotation = i2b2.h.getXNodeVal(s, "tooltip");
nodeData.share_id = i2b2.h.getXNodeVal(s, "share_id");
nodeData.visual = String(i2b2.h.getXNodeVal(s, "visual_attributes")).strip();
nodeData.isRoot = true;
// encapsulate into SDX object
var sdxDataPack = i2b2.sdx.Master.EncapsulateData('WRK', nodeData);
this.model.push(sdxDataPack);
}
} else {
this.model = false;
console.error("[getFoldersByUserId] Could not parse() data!");
}
return this;
}
i2b2.WORK.ajax._addFunctionCall( "getFoldersByUserId",
"{{{URL}}}getFoldersByUserId",
i2b2.WORK.cfg.msgs.getFoldersByUserId,
null,
i2b2.WORK.cfg.parsers.getFoldersByUserId);
// ================================================================================================== //
// URL: Address: http://127.0.0.1:7070/i2b2/rest/WorkplaceService/getFoldersByProject
i2b2.WORK.cfg.msgs.getFoldersByProject = '\n'+
'\n'+
' \n'+
' {{{proxy_info}}}\n'+
' 1.1\n'+
' \n'+
' i2b2 Ontology\n'+
' ' + i2b2.ClientVersion + '\n'+
' \n'+
' \n'+
' i2b2 Hive\n'+
' \n'+
' \n'+
' 1.1\n'+
' ' + i2b2.ClientVersion + '\n'+
' \n'+
' \n'+
' i2b2 Hive\n'+
' \n'+
' {{{header_msg_datetime}}}\n'+
' \n'+
' {{{sec_domain}}}\n'+
' {{{sec_user}}}\n'+
' {{{sec_pass_node}}}\n'+
' \n'+
' \n'+
' {{{header_msg_id}}}\n'+
' 0\n'+
' \n'+
' \n'+
' P\n'+
' I\n'+
' \n'+
' AL\n'+
' AL\n'+
' US\n'+
' {{{sec_project}}}\n'+
' \n'+
' \n'+
' {{{result_wait_time}}}000\n'+
' \n'+
' \n'+
' \n'+
' \n'+
'';
i2b2.WORK.cfg.parsers.getFoldersByProject = function(){
if (!this.error) {
this.model = [];
var nlst = i2b2.h.XPath(this.refXML, "//folder[name and share_id and index and visual_attributes]");
for (var i = 0; i < nlst.length; i++) {
var s = nlst[i];
var nodeData = {};
nodeData.xmlOrig = s;
nodeData.index = i2b2.h.getXNodeVal(s, "index");
nodeData.key = nodeData.index;
nodeData.name = i2b2.h.getXNodeVal(s, "name");
nodeData.annotation = i2b2.h.getXNodeVal(s, "tooltip");
nodeData.share_id = i2b2.h.getXNodeVal(s, "share_id");
nodeData.visual = String(i2b2.h.getXNodeVal(s, "visual_attributes")).strip();
nodeData.isRoot = true;
// encapsulate into SDX object
var sdxDataPack = i2b2.sdx.Master.EncapsulateData('WRK', nodeData);
this.model.push(sdxDataPack);
}
} else {
this.model = false;
console.error("[getQueryMasterList_fromUserId] Could not parse() data!");
}
return this;
}
i2b2.WORK.ajax._addFunctionCall( "getFoldersByProject",
"{{{URL}}}getFoldersByProject",
i2b2.WORK.cfg.msgs.getFoldersByProject,
null,
i2b2.WORK.cfg.parsers.getFoldersByProject);
// ================================================================================================== //
// URL: Address: http://127.0.0.1:7070/i2b2/rest/WorkplaceService/getChildren
i2b2.WORK.cfg.msgs.getChildren = '\n'+
'\n'+
' \n'+
' {{{proxy_info}}}\n'+
' 1.1\n'+
' \n'+
' i2b2 Ontology\n'+
' ' + i2b2.ClientVersion + '\n'+
' \n'+
' \n'+
' i2b2 Hive\n'+
' \n'+
' \n'+
' 1.1\n'+
' ' + i2b2.ClientVersion + '\n'+
' \n'+
' \n'+
' i2b2 Hive\n'+
' \n'+
' {{{header_msg_datetime}}}\n'+
' \n'+
' {{{sec_domain}}}\n'+
' {{{sec_user}}}\n'+
' {{{sec_pass_node}}}\n'+
' \n'+
' \n'+
' {{{header_msg_id}}}\n'+
' 0\n'+
' \n'+
' \n'+
' P\n'+
' I\n'+
' \n'+
' AL\n'+
' AL\n'+
' US\n'+
' {{{sec_project}}}\n'+
' \n'+
' \n'+
' {{{result_wait_time}}}000\n'+
' \n'+
' \n'+
' \n'+
' {{{parent_key_value}}}\n'+
' \n'+
' \n'+
'';
i2b2.WORK.cfg.parsers.getChildren = function(){
if (!this.error) {
this.model = [];
var nlst = i2b2.h.XPath(this.refXML, "//folder[name and share_id and index and visual_attributes]");
for (var i = 0; i < nlst.length; i++) {
var s = nlst[i];
var nodeData = {};
nodeData.xmlOrig = s;
nodeData.index = i2b2.h.getXNodeVal(s, "index");
nodeData.key = nodeData.index;
nodeData.name = i2b2.h.getXNodeVal(s, "name");
nodeData.annotation = i2b2.h.getXNodeVal(s, "tooltip");
nodeData.share_id = i2b2.h.getXNodeVal(s, "share_id");
nodeData.visual = String(i2b2.h.getXNodeVal(s, "visual_attributes")).strip();
nodeData.encapType = i2b2.h.getXNodeVal(s, "work_xml_i2b2_type");
nodeData.isRoot = false;
// encapsulate into SDX object
var sdxDataPack = i2b2.sdx.Master.EncapsulateData('WRK', nodeData);
this.model.push(sdxDataPack);
}
} else {
this.model = false;
console.error("[getQueryMasterList_fromUserId] Could not parse() data!");
}
return this;
}
i2b2.WORK.ajax._addFunctionCall("getChildren",
"{{{URL}}}getChildren",
i2b2.WORK.cfg.msgs.getChildren,
null,
i2b2.WORK.cfg.parsers.getChildren);
// ================================================================================================== //
// URL: Address: http://127.0.0.1:7070/i2b2/rest/WorkplaceService/addChild
i2b2.WORK.cfg.msgs.addChild = '\n'+
'\n'+
' \n'+
' {{{proxy_info}}}\n'+
' 1.1\n'+
' \n'+
' i2b2 Ontology\n'+
' ' + i2b2.ClientVersion + '\n'+
' \n'+
' \n'+
' i2b2 Hive\n'+
' \n'+
' \n'+
' 1.1\n'+
' ' + i2b2.ClientVersion + '\n'+
' \n'+
' \n'+
' i2b2 Hive\n'+
' \n'+
' {{{header_msg_datetime}}}\n'+
' \n'+
' {{{sec_domain}}}\n'+
' {{{sec_user}}}\n'+
' {{{sec_pass_node}}}\n'+
' \n'+
' \n'+
' {{{header_msg_id}}}\n'+
' 0\n'+
' \n'+
' \n'+
' P\n'+
' I\n'+
' \n'+
' AL\n'+
' AL\n'+
' US\n'+
' {{{sec_project}}}\n'+
' \n'+
' \n'+
' {{{result_wait_time}}}000\n'+
' \n'+
' \n'+
' \n'+
' {{{child_name}}}\n'+
' {{{sec_user}}}\n'+
' {{{sec_project}}}\n'+
' {{{share_id}}}\n'+
' {{{child_index}}}\n'+
' {{{parent_key_value}}}\n'+
' {{{child_visual_attributes}}}\n'+
' {{{child_annotation}}}\n'+
' {{{child_work_type}}}\n'+
' {{{child_work_xml}}}\n'+
' \n'+
' \n'+
'';
// ================================================================================================== //
i2b2.WORK.ajax._addFunctionCall("addChild","{{{URL}}}addChild", i2b2.WORK.cfg.msgs.addChild, ['child_work_xml']);
// URL: (used by addChild to encapsulate non-WRK SDX type of CONCPT)
i2b2.WORK.cfg.msgs.encapsulateCONCPT = ''+
' \n'+
' \n'+
' \n'+
' \n'+
' {{{concept_level}}}\n'+
' {{{concept_id}}}\n'+
' {{{concept_name}}}\n'+
' {{{concept_synonym}}}\n'+
' {{{concept_visual_attributes}}}\n'+
' {{{concept_total}}}\n'+
' {{{concept_basecode}}}\n'+
' {{{concept_fact_table_column}}}\n'+
' {{{concept_table_name}}}\n'+
' {{{concept_column_name}}}\n'+
' {{{concept_column_data_type}}}\n'+
' {{{concept_operator}}}\n'+
' {{{concept_dimcode}}}\n'+
' {{{concept_comment}}}\n'+
' {{{concept_tooltip}}}\n'+
' \n'+
' \n'+
' \n'+
' \n';
// ================================================================================================== //
// URL: (used by addChild to encapsulate non-WRK SDX type of PRS)
i2b2.WORK.cfg.msgs.encapsulatePRS = ''+
' \n'+
' \n'+
' \n'+
' {{{prs_id}}}\n'+
' {{{qi_id}}}\n'+
' {{{prs_description}}}\n' +
' \n'+
' 1\n'+
' PATIENTSET\n'+
' LIST\n' +
' LA\n' +
' Patient list\n'+
' \n'+
' {{{prs_set_size}}}\n'+
' {{{prs_start_date}}}\n'+
' {{{prs_end_date}}}\n'+
//' \n'+
//' 3\n'+
//' FINISHED\n'+
//' FINISHED\n'+
//' \n'+
' \n'+
' \n'+
' \n';
// ================================================================================================== //
// URL: (used by addChild to encapsulate non-WRK SDX type of PRS)
i2b2.WORK.cfg.msgs.encapsulateENS = ''+
' \n'+
' \n'+
' \n'+
' {{{prs_id}}}\n'+
' {{{qi_id}}}\n'+
' {{{prs_description}}}\n' +
' \n'+
' 1\n'+
' ENCOUNTERSET\n'+
' LIST\n' +
' LA\n' +
' Encounter list\n'+
' \n'+
' {{{prs_set_size}}}\n'+
' {{{prs_start_date}}}\n'+
' {{{prs_end_date}}}\n'+
' \n'+
' \n'+
' \n';
// ================================================================================================== //
// URL: (used by addChild to encapsulate non-WRK SDX type of PRC)
i2b2.WORK.cfg.msgs.encapsulatePRC = ''+
' \n'+
' \n'+
' \n'+
' {{{prc_id}}}\n'+
' {{{qi_id}}}\n'+
' \n'+
' 4\n'+
' PATIENT_COUNT_XML\n'+
' Number of patients\n'+
' \n'+
' {{{prc_set_size}}}\n'+
' {{{prc_start_date}}}\n'+
' {{{prc_end_date}}}\n'+
//' \n'+
//' 3\n'+
//' FINISHED\n'+
//' FINISHED\n'+
//' \n'+
' \n'+
' \n'+
' \n';
// ================================================================================================== //
// URL: (used by addChild to encapsulate non-WRK SDX type of PRC)
i2b2.WORK.cfg.msgs.encapsulateQM = ''+
' \n'+
' \n'+
' \n'+
' {{{qm_id}}}\n'+
' {{{qm_name}}}\n'+
' {{{qm_user_id}}}\n'+
' {{{qm_user_group_id}}}\n'+
' \n'+
' \n'+
' \n';
// ================================================================================================== //
// URL: (used by addChild to encapsulate non-WRK SDX type of PR)
i2b2.WORK.cfg.msgs.encapsulatePR = ''+
' \n'+
' \n'+
' \n'+
' {{{pr_id}}} \n'+
' \n'+
' \n'+
' \n';
// ================================================================================================== //
// URL: (used by addChild to encapsulate non-WRK SDX type of QDEF)
i2b2.WORK.cfg.msgs.encapsulateQDEF = ''+
' \n'+
' \n'+
'{{{query_def}}}\n'+
' \n'+
' \n';
// ================================================================================================== //
// URL: (used by addChild to encapsulate non-WRK SDX type of QGDEF)
i2b2.WORK.cfg.msgs.encapsulateQGDEF = ''+
' \n'+
' \n'+
'{{{query_def}}}\n'+
' \n'+
' \n';
// ================================================================================================== //
//URL: Address: http://127.0.0.1:7070/i2b2/rest/WorkplaceService/renameChild
i2b2.WORK.cfg.msgs.renameChild = '\n'+
'\n'+
' \n'+
' {{{proxy_info}}}\n'+
' 1.1\n'+
' \n'+
' i2b2 Ontology\n'+
' ' + i2b2.ClientVersion + '\n'+
' \n'+
' \n'+
' i2b2 Hive\n'+
' \n'+
' \n'+
' 1.1\n'+
' ' + i2b2.ClientVersion + '\n'+
' \n'+
' \n'+
' i2b2 Hive\n'+
' \n'+
' {{{header_msg_datetime}}}\n'+
' \n'+
' {{{sec_domain}}}\n'+
' {{{sec_user}}}\n'+
' {{{sec_pass_node}}}\n'+
' \n'+
' \n'+
' {{{header_msg_id}}}\n'+
' 0\n'+
' \n'+
' \n'+
' P\n'+
' I\n'+
' \n'+
' AL\n'+
' AL\n'+
' US\n'+
' {{{sec_project}}}\n'+
' \n'+
' \n'+
' {{{result_wait_time}}}000\n'+
' \n'+
' \n'+
' \n'+
' {{{rename_target_id}}}\n'+
' {{{rename_text}}}\n'+
' \n'+
' \n'+
'\n';
// ================================================================================================== //
i2b2.WORK.ajax._addFunctionCall("renameChild","{{{URL}}}renameChild", i2b2.WORK.cfg.msgs.renameChild);
// URL: Address: http://127.0.0.1:7070/i2b2/rest/WorkplaceService/annotateChild
i2b2.WORK.cfg.msgs.annotateChild = '\n'+
'\n'+
' \n'+
' {{{proxy_info}}}\n'+
' 1.1\n'+
' \n'+
' i2b2 Ontology\n'+
' ' + i2b2.ClientVersion + '\n'+
' \n'+
' \n'+
' i2b2 Hive\n'+
' \n'+
' \n'+
' 1.1\n'+
' ' + i2b2.ClientVersion + '\n'+
' \n'+
' \n'+
' i2b2 Hive\n'+
' \n'+
' {{{header_msg_datetime}}}\n'+
' \n'+
' {{{sec_domain}}}\n'+
' {{{sec_user}}}\n'+
' {{{sec_pass_node}}}\n'+
' \n'+
' \n'+
' {{{header_msg_id}}}\n'+
' 0\n'+
' \n'+
' \n'+
' P\n'+
' I\n'+
' \n'+
' AL\n'+
' AL\n'+
' US\n'+
' {{{sec_project}}}\n'+
' \n'+
' \n'+
' {{{result_wait_time}}}000\n'+
' \n'+
' \n'+
' \n'+
' {{{annotation_target_id}}}\n'+
' {{{annotation_text}}}\n'+
' \n'+
' \n'+
'';
// ================================================================================================== //
i2b2.WORK.ajax._addFunctionCall("annotateChild","{{{URL}}}annotateChild", i2b2.WORK.cfg.msgs.annotateChild);
// URL: Address: http://127.0.0.1:7070/i2b2/rest/WorkplaceService/deleteChild
i2b2.WORK.cfg.msgs.deleteChild = '\n'+
'\n'+
' \n'+
' {{{proxy_info}}}\n'+
' 1.1\n'+
' \n'+
' i2b2 Ontology\n'+
' ' + i2b2.ClientVersion + '\n'+
' \n'+
' \n'+
' i2b2 Hive\n'+
' \n'+
' \n'+
' 1.1\n'+
' ' + i2b2.ClientVersion + '\n'+
' \n'+
' \n'+
' i2b2 Hive\n'+
' \n'+
' {{{header_msg_datetime}}}\n'+
' \n'+
' {{{sec_domain}}}\n'+
' {{{sec_user}}}\n'+
' {{{sec_pass_node}}}\n'+
' \n'+
' \n'+
' {{{header_msg_id}}}\n'+
' 0\n'+
' \n'+
' \n'+
' P\n'+
' I\n'+
' \n'+
' AL\n'+
' AL\n'+
' US\n'+
' {{{sec_project}}}\n'+
' \n'+
' \n'+
' {{{result_wait_time}}}000\n'+
' \n'+
' \n'+
' \n'+
' {{{delete_target_id}}}\n'+
' \n'+
' \n'+
'\n';
// ================================================================================================== //
i2b2.WORK.ajax._addFunctionCall("deleteChild","{{{URL}}}deleteChild", i2b2.WORK.cfg.msgs.deleteChild);