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

Thursday, 28 February 2019

Two Chairs nabs $7M for its client-therapist matching app and brick-and-mortar clinics

The future of healthcare isn’t entirely digital. For encounters as intimate as the client-therapist dynamic, a face-to-face relationship is still key.

For those able to afford tech-enabled therapy services, Two Chairs, a San Francisco-headquartered mental healthcare business, may be of interest. The startup believes in the power of in-person therapy, as opposed to the new variety of affordable digital tools meant to replace or coexist with therapy services. Today, the company is announcing a $7 million Maveron-led Series A financing to open additional brick-and-mortar clinics and build out its client-therapist matching app, which leverages technology to pair its customers with a therapist best-tailored to their needs.

The company currently operates four clinics in the Bay Area, where patients can access individual or group therapy. Each of those clinics was built with modern, young professionals in mind using “thoughtful design” to create “non-judgmental spaces.”

A Two Chairs clinic, which emphasizes “non-judgmental” design

The mobile app and clinic interior design are the key differences between Two Chairs and a neighborhood private practice, it says. As far as pricing, at $180 an hour, a session doesn’t differ terribly from a typical session at a Bay Area private practice (the company does accept insurance). The startup currently employs 30 therapists, who also are available over video chat should a client be sick or traveling, with a customer base of 2,000.

Two Chairs was founded in 2017 by former Palantir employee Alex Katz (pictured). In a conversation with TechCrunch, Katz admitted procuring real estate for Two Chairs’ brick-and-mortar clinics has been an expensive and difficult endeavor. It’s no wonder venture capitalists tend to favor IT startups devoid of the overhead costs associated with firms in the real estate business. Katz is hoping the latest investment, which brings Two Chairs’ total raised to $8 million, will help the business quickly sign additional leases outside of the most expensive city in the U.S.

The cash will also be used to advance Two Chairs’ matching app. The app surveys potential clients on their history, preferences and goals, then uses a library of data to match the client with the most suitable therapist in its roster and to create a customized treatment plan. Katz says they’ve provided clients with an accurate match 95 percent of the time.

“We know that the client-therapist relationship is the best predictor of an outcome with care and while it sounds intuitive, matching is not a concept that has existed in the mental health field historically,” Katz told TechCrunch.

Two Chairs is one of several mental health startups to capture the attention of venture capitalists lately. Basis, which helps people cope with anxiety and depression through guided conversations via chat and video, emerged from stealth in 2018 with a $3.75 million investment led by Bedrock. Wisdo, a community-focused app that connects people seeking help with those who can offer help, brought in an $11 million investment in December and emotional well-being app Aura raised $2.7 million from Cowboy Ventures in October.

Those three businesses have one thing in common: they are digital-first endeavors looking to innovate on top of a broken mental healthcare model. Two Chairs’ plan to build additional therapy clinics, however, doesn’t feel particularly inventive. Opening a chain of therapy offices, rather, sounds like a hard-to-scale, expensive business idea.

As for the uptick in capital for mental health tech, Katz is satisfied Silicon Valley has finally acknowledged the problem: “I think Silicon Valley venture has had a preference for models that don’t involve brick-and-mortar and minimize the use of people; they prefer software businesses,” he said. “The reason we are taking this approach is we know from the research that really well-matched in-person therapy is really effective. Still, at a high level, it’s exciting. There are a lot of people thinking in innovative ways of how we can provide improved mental healthcare.”

Goldcrest Capital also participated in Two Chairs’ Series A.



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

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support