Page History
...
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"
' <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="58909aa4b1456b96-e5045e34-45744db2-991cbf8f-705b023785b341ad952d0d4e"><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(
| ]]></ac:plain-text-body></ac:structured-macro> |
...