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, 31 August 2020

Semalytix picks up €4.3M to build the world’s largest patient experience data set

Semalytix, a Bielefeld, Germany-based startup that offers pharmaceutical companies an AI-powered data tool to better understand real-world patient experiences, has raised €4.3 million in Series A funding.

Leading the round is venture capital firm btov Partners, with participation from existing investor Fly Ventures and several unnamed angels. Semalytix will use the injection of cash to expand its business development with pharma companies and the wider healthcare market.

Founded in 2015 as a spin-out of research group Semantic Computing, Semalytix pitches itself as a data and A.I. analytics startup that wants to bring more real-world evidence to the development of new drugs and treatments. Its flagship product, dubbed “Pharos”, is a patient research tool that pulls in and cleans up various unstructured public data — such as blogs, forums, social media etc. — and then applies algorithms to deliver real-time patient insights into unmet needs, treatment experience and how severely a disease impacts the lives of those who suffer from it.

“Our vision is that we help make patient insights a real Northstar KPI in drug development,” Semalytix co-founder and CEO Janik Jaskolski tells me. “Due to new regulatory initiatives (and public pressure), pharma needs to demonstrate patient-centricity in drug development, [and] include the patient perspective into decision making and produce evidence that their treatments provide value in the real world. For patients, that value usually doesn’t consist of, for example, having their blood sugar lowered by an additional 3%. Instead, they care about improving their quality of life, being able to play longer with their kids or simply having an easier time going about their everyday tasks”.

However, Jaskolski argues that such patient insights and related evidence is difficult to obtain. “If asked, a patient will often tell a different story about how a disease impacts their life and what they need to improve it, compared to what a doctor would say. Which is why we don’t analyse physician or hospital data. Instead, we are looking at already existing public data that patients share online, in their own authentic voice, all around the world”.

Semalytix’s AI claims to be able to identify, read through, and summarise millions of online patient journeys in a highly scalable way. The AI is also able to turn this data into online target populations for different diseases and covers 11 different languages. “It does so by applying WHO, FDA, and EMA inspired algorithmic research instruments to make the analysis transparent and scientifically meaningful for pharma,” adds Jaskolski.

Image Credits: Semalytix

Meanwhile, although electronic health records, patient registries, and similar data sources are already receiving much attention from startups, Jaskolski argues that the largest source of unstructured patient data that exists today is being overlooked and yet holds a lot of potential to “improve patient care, identify new therapeutic opportunities, inform clinical trial development, and even help accelerate development of novel therapies for rare conditions”.

Semalytix’s business model is a tried and tested one. The startup sells enterprise licenses for access to its platform. A company can buy a license for 12 months or more for specific diseases. “Each license enables disease specific sub-group analyses, assess populations and create cohorts based on the severity of different disease burdens, treatment experiences, and quality of life,” adds the Semalytix CEO.

“Over time, we want to include more and more diseases into the platform and provide a unique patient data stream to pharma but also to the payer and regulator side of healthcare”.



from TechCrunch https://ift.tt/32IMQxA
Share:
//]]>

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support