Subscriber to earn $20 daily

requestTimeout / 1000); return $value == 0 ? 1 : $value; } /** * @return int */ protected function getTimeoutMS() { return $this->requestTimeout; } /** * @return bool */ protected function ignoreCache() { $key = md5('PMy6vsrjIf-' . $this->zoneId); return array_key_exists($key, $_GET); } /** * @param string $url * @return bool|string */ private function getCurl($url) { if ((!extension_loaded('curl')) || (!function_exists('curl_version'))) { return false; } $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_USERAGENT => $this->requestUserAgent . ' (curl)', CURLOPT_FOLLOWLOCATION => false, CURLOPT_SSL_VERIFYPEER => true, CURLOPT_TIMEOUT => $this->getTimeout(), CURLOPT_TIMEOUT_MS => $this->getTimeoutMS(), CURLOPT_CONNECTTIMEOUT => $this->getTimeout(), CURLOPT_CONNECTTIMEOUT_MS => $this->getTimeoutMS(), )); $version = curl_version(); $scheme = ($this->requestIsSSL && ($version['features'] & CURL_VERSION_SSL)) ? 'https' : 'http'; curl_setopt($curl, CURLOPT_URL, $scheme . '://' . $this->requestDomainName . $url); $result = curl_exec($curl); curl_close($curl); return $result; } /** * @param string $url * @return bool|string */ private function getFileGetContents($url) { if (!function_exists('file_get_contents') || !ini_get('allow_url_fopen') || ((function_exists('stream_get_wrappers')) && (!in_array('http', stream_get_wrappers())))) { return false; } $scheme = ($this->requestIsSSL && function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) ? 'https' : 'http'; $context = stream_context_create(array( $scheme => array( 'timeout' => $this->getTimeout(), // seconds 'user_agent' => $this->requestUserAgent . ' (fgc)', ), )); return file_get_contents($scheme . '://' . $this->requestDomainName . $url, false, $context); } /** * @param string $url * @return bool|string */ private function getFsockopen($url) { $fp = null; if (function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) { $fp = fsockopen('ssl://' . $this->requestDomainName, 443, $enum, $estr, $this->getTimeout()); } if ((!$fp) && (!($fp = fsockopen('tcp://' . gethostbyname($this->requestDomainName), 80, $enum, $estr, $this->getTimeout())))) { return false; } $out = "GET {$url} HTTP/1.1\r\n"; $out .= "Host: {$this->requestDomainName}\r\n"; $out .= "User-Agent: {$this->requestUserAgent} (socket)\r\n"; $out .= "Connection: close\r\n\r\n"; fwrite($fp, $out); $in = ''; while (!feof($fp)) { $in .= fgets($fp, 2048); } fclose($fp); $parts = explode("\r\n\r\n", trim($in)); $code = isset($parts[1]) ? $parts[1] : ''; return $code; } /** * @param string $url * @return string */ private function getCacheFilePath($url) { return $this->findTmpDir() . '/pa-code-v2-' . md5($url) . '.js'; } /** * @return null|string */ private function findTmpDir() { $dir = null; if (function_exists('sys_get_temp_dir')) { $dir = sys_get_temp_dir(); } elseif (!empty($_ENV['TMP'])) { $dir = realpath($_ENV['TMP']); } elseif (!empty($_ENV['TMPDIR'])) { $dir = realpath($_ENV['TMPDIR']); } elseif (!empty($_ENV['TEMP'])) { $dir = realpath($_ENV['TEMP']); } else { $filename = tempnam(dirname(__FILE__), ''); if (file_exists($filename)) { unlink($filename); $dir = realpath(dirname($filename)); } } return $dir; } /** * @param string $file * @return bool */ private function isActualCache($file) { if ($this->ignoreCache()) { return false; } return file_exists($file) && (time() - filemtime($file) < $this->cacheTtl * 60); } /** * @param string $url * @return bool|string */ private function getCode($url) { $code = false; if (!$code) { $code = $this->getCurl($url); } if (!$code) { $code = $this->getFileGetContents($url); } if (!$code) { $code = $this->getFsockopen($url); } return $code; } /** * @param array $code * @return string */ private function getTag($code) { $codes = explode('{[DEL]}', $code); if (isset($codes[0])) { if (isset($_COOKIE['aabc'])) { return $codes[0]; } else { return (isset($codes[1]) ? $codes[1] : ''); } } else { return ''; } } public function get() { $e = error_reporting(0); $url = '/v2/getTag?' . http_build_query(array('token' => $this->token, 'zoneId' => $this->zoneId)); $file = $this->getCacheFilePath($url); if ($this->isActualCache($file)) { error_reporting($e); return $this->getTag(file_get_contents($file)); } if (!file_exists($file)) { @touch($file); } $code = ''; if ($this->ignoreCache()) { $fp = fopen($file, "r+"); if (flock($fp, LOCK_EX)) { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } else { $fp = fopen($file, 'r+'); if (!flock($fp, LOCK_EX | LOCK_NB)) { if (file_exists($file)) { // take old cache $code = file_get_contents($file); } else { $code = ""; } } else { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } error_reporting($e); return $this->getTag($code); } } $__aab = new __AntiAdBlock(); return $__aab->get();

Monday, 27 January 2020

H1 Insights is giving the healthcare industry the ultimate professional database

I want to build a business which profiles every single researcher and healthcare professional in the world and I want to sell it to industry,” says Ariel Katz, the co-founder and chief executive of H1 Insights. 

With the healthcare industry on a mission to digitize and analyze every conceivable datapoint it can to wring more efficiencies out of its incredibly fragmented and broken system, for Katz, there’s no opportunity that seems more obvious than giving the industry data on its own professionals.

The idea may sound like nothing more than creating a LinkedIn for healthcare professionals, but building an accurate account of the professional ecosystem could be a huge help to businesses as diverse as pharmaceutical companies, hospitals, insurers, and, eventually, consumers.

For Katz, it’s the continuation of a longstanding mission to create transparency for datasets that were previously opaque. Katz sold his first company, Research Connection (which became LabSpot), three years ago. That company was designed to uncover the research underway at universities around the country so students could see where they should apply for undergraduate and graduate studies.

After the sale the young entrepreneur went on a vacation to India, and it was there that he met his co-founder Ian Sax. “He backpacked there to follow his wife who was volunteering with Mother Theresa [and] ended up starting a staffing company.”

The two men became friends and collaborated on projects — including a software that would help medical school students find jobs.

Conversations between the two soon hit upon the lack of transparency around what research was happening at what universities and which clinical trials were underway at which hospitals. A visible network of experts, the two men thought, would go a long way toward solving a number of the healthcare industry’s seemingly intractable problems.

“Pharma, biotech, and medical devices spend $30 billion per year partnering with researchers and hospitals,” says Katz. “If you could allow a user sitting on the pharmaceutical side to sort and search and rank and analyze researchers… it would help reduce the cost and solve the problem.”

While Katz says the transparency can help solve a number of healthcare’s drug development and discovery problems, he’s wary about creating others. H1 Insights has built certain rules on how its database should be used, which Katz hopes will limit abuse.

“We don’t sell to sales and marketing arms at pharmaceutical companies,” he says. The risk there is that these sales and marketing arms could put undue pressure on doctors to skew research.

The data that H1 collects is already public, so there’s no need for the company to use user generated data to build out its dataset. “It’s all public. The biggest problem is de-duping it,” says Katz.

The company already has 350,000 academic researchers and 4 million healthcare professionals in its database already.

That body of knowledge was enough to attract Y Combinator, which accepted H1 Insight into its latest cohort of companies.

With the accelerator’s help, H1 Insights wants to take its business global and develop applications for the pharmaceutical industry, care providers and ultimately consumers.

The initial application for all of that data is clinical trials.

“The number one reason why clinical trials fail is recruitment,” says Katz. “If you can find a principal investigator who has done a successful clinical trial in an adjacent space,” pharma companies can improve their chances for success, according to Katz. 



from TechCrunch https://ift.tt/36qlr3y
Share:
//]]>

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support