...
Create an instance of the generic communicator object using a call to i2b2.hive.communicatorFactory() function and save it to the ajax namespace of your cell or plug-in. You will also need to define a namespace to hold the XML message templates used to send requests to the i2b2 Hive.
You may optionally define a namespace to hold any functions you plan on using to process the returned XML document into a more easily worked with native-JavaScript format. Best practice is to call these namespaces msgs and parsers respectively and to add them to your cell / plug-in's cfg namespace.
...
i2b2.ONT.cfg.msgs.GetSchemes = '<?xml version="1.0" encouding="UTF-8" standalone standalone="yes"?>\n' '<ns3:request xmlns:ns3="http://www.i2b2.org/xsd/hive/mghs/1.1." xmlns xmlns:ns4="http://www.i2b2.org/xsd/cell/ont/1.1/" xmlns xmlns:ns2="http://www.i2b2.org/xsd/hive/plugin/">\n' ' <message <message_header>\n' ' Wiki Markup |
---|
{*}{_}{{{proxy_info}}}{_}{*} | \n' ' <i2b2_version_compatible>1.1</i2b2_version_compatible>\n' ' <hl7_version_compatible>2.4</hl7_version_compatible>\n' ' <receiving_facility>\n' ' <facility_name>i2b2 Hive</facility_name>\n' ' </receiving_facility>\n' ' <datetime_of_message>{header_msg_datetime }</datetime_of_message>\n' '<security>\n' ' <domain>{sec_domain }</domain>\n' ' <username>{sec_user }</username>\n' ' {sec_pass_node }\n' '</security>\n' ' <message_control_id>\n' ' <message_num>{header_msg_id }</message_num>\n' ' <instance_num>0</instance_num>\n' ' </message_control_id>\n' ' <processing_id>\n' ' <processing_id>P</processing_id>\n' ' <processing_mode>I</processing_mode>\n' ' </processing_id>\n' ' <accept_acknowledgement_type>AL</accept_acknowledgement_type>\n' ' <application_acknowledgement_type>AL</application_acknowledgement_type>\n' ' <country_code>US</country_code>\n' ' <project_id>{sec_project }</project_id>\n' ' </message_header>\n' ' <request_header>\n' ' <result_waittime_ms>{result_wait_time }000</result_waittime_ms>\n' ' </request_header>\n' ' <message_body>\n' ' <ns4:get_schemes type="default"/>\n' ' </message_body>\n' '</ns3:request>'; |
|
...
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="c72ac448127789e4-f1f92f82-47df45f5-a893a9e7-babe235af885432052d22d17"><ac:plain-text-body><![CDATA[ | i2b2.ONT.cfg.parsers.GetSchemes = function(){ if (!this.error) { this.model = []; // extract records from XML msg var c = this.refXML.getElementsByTagName('concept'); for (var i=0; i < 1 * c.length; i++) { var o = new Object; o.xmlOrig = c[i]; o.level = i2b2.h.getXNodeVal(c[i],'level'); o.key = i2b2.h.getXNodeVal(c[i],'key'); o.name = i2b2.h.getXNodeVal(c[i],'name'); o.total_num = i2b2.h.getXNodeVal(c[i],'totalnum'); // save extracted info this.model.push(o); } } else { this.model = false; console.error( Wiki Markup |
---|
"\[GetSchemes\] Could not parse() data\!" | ); } return this; }; | ]]></ac:plain-text-body></ac:structured-macro> |
...