Accrual to Clinical Trials
Space shortcuts
Space Tools
Skip to end of metadata
Go to start of metadata

Purpose

 

We call this method to set a given user's parameter in the i2b2 SHRINE. We use this method to set the user's authentication method to use Active Directory.

PHP example. Feel free to user other programming languages
function i2b2_set_user_param($user_name, $param_name, $param_type, $param_value){
	/*
	 * Construct set_role XML call and attach to message_body parent
	 * <pm:set_user_param>
	 *  <user_name>snm0</user_name>
	 *  <param name="tests" datatype="T" id="123">myvalue2</param>
	 * </pm:set_user_param>
	 * 
	 * Returns: Boolean true when user role is set
	 */
	global $i2b2_pm_uri, $i2b2_domain, $i2b2_service_account_id, $i2b2_service_account_pw;
	
	$request_xml = i2b2_header_xml($i2b2_pm_uri, $i2b2_domain, $i2b2_service_account_id, $i2b2_service_account_pw);
	$request_xml .= "<pm:set_user_param>";
	$request_xml .= "	<user_name>$user_name</user_name>";
	$request_xml .= "	<param name=\"$param_name\" datatype=\"$param_type\">$param_value</param>";
	$request_xml .= "</pm:set_user_param>";
	$request_xml .= i2b2_footer_xml();
	
	$ch = curl_init($i2b2_pm_uri);
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
	curl_setopt($ch, CURLOPT_POST, true);
	curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml'));
	curl_setopt($ch, CURLOPT_POSTFIELDS, "$request_xml");
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	$data = curl_exec($ch);
	
	log_request($request_xml, $user_name . '-' . __FUNCTION__);
	return $data;
		 
}
  • No labels