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();

Tuesday, 26 May 2020

Cathay Innovation’s first investment in Germany is healthcare startup Medwing

Medwing, a German startup with an ambition to tackle Europe’s shortage of healthcare workers, said on Tuesday that it has secured €28 million ($30 million) in a Series B financing round. Global venture capital firm Cathay Innovation led the round, marking its first investment in a German company. Other participating investors include Northzone, Cherry Ventures and Atlantic Labs.

The World Bank forecasted a worldwide shortage of 15 million health professionals by 2030, with demand being highest in affluent regions like Europe with an aging labor force and an aging population in need of care.

The pressing issue inspired Johannes Roggendorf, who previously worked at Rocket Internet and Bain & Company, to launch Medwing in 2017 and later brought on his co-founder Dr. Timo Fischer. The entrepreneurs discovered that, contrary to conventional wisdom, many healthcare workers in Europe wanted to work more, not less. Part of the reason why jobs were not filled was information asymmetry that led to a mismatch between supply and demand.

“There is a group of people who are willing to work more if they can manage their schedule,” Roggendorf told TechCrunch over a phone interview. “There are many qualified workers who left the healthcare system often because of inflexible working hours.”

In a survey that Medwing conducted, 50% of those who left the healthcare system said they would return if they were given more flexible working conditions.

Medwing’s solution is an automatic job matching system connecting workers with hospitals, nursing homes and other medical institutions. Focusing on Europe, the startup has so far registered more than 200,000 workers and 2,500 partner employers — including 80% hospitals in Berlin. Employers pay Medwing a commission every time a candidate is successfully placed. Each month, the platform is adding 15,000 new applicants, placing over 100 health experts in permanent positions and filling some 2,000 individual shifts. 20% of its users are looking for non-permanent jobs, according to Roggendorf.

The platform strives to differentiate itself by “starting with the candidates,” asserted the founder. Unlike traditional staffing sites, which search for applicants based on recruiters’ criteria, Medwing does the opposite and filters recruiters according to candidates’ preferences on whether the position is flexible or permanent, part-time or full-time. It’s an approach that the founder believes can optimize worker satisfaction. In addition to matchmaking, the platform also provides career consulting services to job seekers.

To Jacky Abitbol, who oversaw the deal for Cathay Innovation, Medwing is addressing two kinds of technological innovation his fund hunts for. For one, Medwing is driving “the future of work” by giving employees more autonomy and freedom. Terminal, which lets companies build out remote engineering teams overseas, is another startup in this category that has attracted financing from Cathay Innovation.

“Medwing is also bringing digital to a more traditional sector,” Abitbol told TechCrunch on the phone. That means streamlining the recruiting process by eliminating agencies or middlemen, saving time and costs for both workers and employers.

“What sounds very logical was not done this way until today,” the investor added.

Medwing operates a team of over 200 employees from over 30 countries, many of which have been hit hard by COVID-19. The startup is providing some of its services pro bono to fight the virus, placing professionals and volunteers in hospitals, nursing homes and private households that need support. Abitbol said the impact of the health crisis on the startup’s revenue remains “slight”, as only certain facilities are designated as coronavirus hospitals and demand will return to normal as the pandemic starts to ease.



from TechCrunch https://ift.tt/2X4X7CZ
Share:
//]]>

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support