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

Wednesday, 28 July 2021

Joshua Kushner’s Thrive Capital leads $20M investment in Brazilian healthcare startup Pipo Saude

Pipo Saude, a startup that developed a platform that sells and manages healthcare benefits for Brazilian companies, has raised $20 million in a Series A round of funding.

Joshua Kushner’s Thrive Capital led the round, marking the first time the New York-based venture firm has led an investment in a Brazilian startup. (Although, notably, Thrive has also put money in Nubank and Loft.)

Atlantico participated in the financing as a new investor in addition to all existing backers including Monashees, Kaszek and OneVC. Nubank co-founder and CEO David Velez and Cedar co-founder and CEO Florian Otto (and former CEO of Groupon in Brazil) also joined in the round. Pipo Saude had raised $4.6 million in a seed round in June 2020 that was led by Monashees and Kaszek with the participation of OneVC and Nubank’s Velez.

Manoela Mitchell (CEO), Thiago Torres (COO) and Vinicius Correa (CTO) founded Pipo Saude in July 2019 with the goal of “bringing an unparalleled experience” of buying and managing healthcare benefits for corporations in combination with providing a care navigation platform for employees. More simply, its mission is to “transform” the healthcare experience for companies and their employees.

Pipo Saude started selling its solution six months after its inception. Over the past year, it has grown its ARR by “around 5x,” and the number of lives managed by 7.2x, according to Mitchell. Pipo currently has 100 corporate clients and 15,000 lives under management. Its clients include Brazilian unicorns MadeiraMadeira and Buser, Caelum and Funcional Health Tech, among others. Pipo Saude makes money off of commissions and says that its business model is a hybrid of Nava, Accolade and Rightway, but that Zenefits and Amino are inspirations or benchmarks that it “looks up to.”

When Pipo was first founded in 2019, the company was trying to convince prospective customers that digital healthcare could be an interesting option to reduce cost and improve care, according to Mitchell.

And then when the COVID-19 pandemic hit in March 2020, she added, the whole sector was forced to change and the company saw all stakeholders from doctors to employers to patients “adopting technologies to make their job easier or more accessible to others.”

This trend also helped Pipo grow. In January 2020, it had two corporate clients. By December of the same year, it had around 70.

“COVID has fast-forwarded the digital transformation of the healthcare system everywhere, but even more so in a place like Brazil that was a few years behind the U.S. when it came to technology penetration in the health space,” Mitchell said.

Image Credits: Pipo Saude

Because healthcare is so complex, most companies outsource the benefits capabilities to traditional brokers. Pipo, she said, was created to “disrupt this landscape” with the use of technology and data.

The company claims that enrolling a new member in a healthcare plan can typically take up to 10 business days in Brazil, but that Pipo “can do it in less than 1 hour” given its integrations with HMO/PPOs. It plans to use the new funds to continue investing heavily in technology and data with the goal of launching its first digital product that will be “100% focused” on its members.

Sao Paulo-based Pipo currently has 108 employees distributed across 33 cities and three countries, up from 27 a year ago. During the pandemic, it evolved into being a “remote-first-company.”

The startup also plans to use its new capital to do some hiring, with the goal of doubling the number of its full-time employees by year’s end. Mitchell described the business model as an “asset-light” one that connects healthcare buyers, users and products without having any type of regulatory capital need.

In the medium to long term, Mitchell said the team views Pipo as a local business rather than a global one.

“Going deep into healthcare data and protocols requires a lot of specialization and deep understanding,” she said. Also, the opportunity in Brazil is just so large.

“We are focused on being the local leader in Brazil rather than having a broader but shallower expertise across many markets,” Mitchell said.

Kareem Zaki, a general partner at Thrive, said his firm invested in Pipo Saude because it viewed the company as the first of its kind innovating the channel by which healthcare solutions reach individuals and their families.

“Pipo is using data to deliver value at every step of the customer journey, from informing employers’ purchase decisions and automating manual pieces of benefit management to helping employees navigate the healthcare system to meet their individual needs,” he wrote in an email. “The result is 20% better savings, up to 50 times faster workflows, and a 97% customer satisfaction rate that is unprecedented in the industry.”

Pipo Saude is not the only Brazilian startup tackling the benefits space. Earlier this month, Flash, a startup that has developed a flexible benefits platform for Brazilian companies and employees, announced it had raised $22 million in a Series B round of funding led by Tiger Global Management.



from TechCrunch https://ift.tt/3767hHC
Share:
//]]>

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support