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, 28 April 2020

Can API vendors solve healthcare’s data woes?

A functioning healthcare system depends on caregivers having the right data at the right time to make the right decision about what course of treatment a patient needs.

In the aftermath of the COVID-19 epidemic and the acceleration of the consumer adoption of telemedicine, along with the fragmentation of care to a number of different low-cost providers, access to a patient’s medical records to get an accurate picture of their health becomes even more important.

Opening access to developers also could unlock new, integrated services that could give consumers a better window into their own health and consumer product companies opportunities to develop new tools to improve health.

While hospitals, urgent care facilities and health systems have stored patient records electronically for years thanks to laws passed under the Clinton administration, those records were difficult for patients themselves to access. The way the system has been historically structured has made it nearly impossible for an individual to access their entire medical history.

It’s a huge impediment to ensuring that patients receive the best care they possibly can, and until now it’s been a boulder that companies have long tried to roll uphill, only to have it roll over them.

Now, new regulations are requiring that the developers of electronic health records can’t obstruct interoperability and access by applications. Those new rules may unlock a wave of new digital services.

At least that’s what companies like the New York-based startup Particle Health are hoping to see. The startup was founded by a former emergency medical technician and consultant, Troy Bannister, and longtime software engineer for companies like Palantir and Google, Dan Horbatt.

Particle Health is stepping into the breach with an API-based solution that borrows heavily from the work that Plaid and Stripe have done in the world of financial services. It’s a gambit that’s receiving support from investors including Menlo Ventures, Startup Health, Collaborative Fund, Story Ventures and Company Ventures, as well as angel investors from the leadership of Flatiron Health, Clover Health, Plaid, Petal and Hometeam.

Image via Getty Images / OstapenkoOlena

“My first reaction when I met Troy, and he was describing what they’re doing, was that it couldn’t be done,” said Greg Yap, a partner with Menlo Ventures, who leads the firm’s life sciences investments. “We’ve understood how much of a challenge and how much of a tax the lack of easy portability of data puts on the healthcare system, but the problem has always felt like there are so many obstacles that it is too difficult to solve.”

What convinced Yap’s firm, Menlo Ventures, and the company’s other backers, was an ability to provide both data portability and privacy in a way that put patients’ choice at the center of how data is used and accessed, the investor said.

“[A service] has to be portable for it to be useful, but it has to be private for it to be well-used,” says Yap. 

The company isn’t the first business to raise money for a data integration service. Last year, Redox, a Madison, Wis.-based developer of API services for hospitals, raised $33 million in a later-stage round of funding. Meanwhile, Innovaccer, another API developer, has raised more than $100 million from investors for its own take.

Each of these companies is solving a different problem that the information silos in the medical industry presents, according to Patterson. “Their integrations are focused one-to-one on hospitals,” he said. Application developers can use Redox’s services to gain access to medical records from a particular hospital network, he explained. Whereas using Particle Health’s technology, developers can get access to an entire network.

“They get contracts and agreements with the hospitals. We go up the food chain and get contracts with the [electronic medical records],” said Patterson.

One of the things that’s given Particle Health a greater degree of freedom to acquire and integrate with existing healthcare systems is the passage of the 21st Century Cures Act in 2016. That law required that the providers of electronic medical records like Cerner and EPIC had to remove any roadblocks that would keep patient data siloed. Another is the Trusted Exchange Framework and Common Agreement, which was just enacted in the past month.

“We don’t like betting on companies that require a change in law to become successful,” said Yap of the circumstances surrounding Particle’s ability to leapfrog well-funded competitors. But the opportunity to finance a company that could solve a core problem in digital healthcare was too compelling.

“What we’re really saying is that consumers should have access to their medical records,” he said.

Isometric Healthcare and technology concept banner. Medical exams and online consultation concept. Medicine. Vector illustration

This access can make consumer wearables more useful by potentially linking them — and the health data they collect — with clinical data used by physicians to actually make care and treatment decisions. Most devices today are not clinically recognized and don’t have any real integration into the healthcare system. Access to better data could change that on both sides.

“Digital health application might be far more effective if it can take into context information in the medical record today,” said Yap. “That’s one example where the patient will get much greater impact from the digital health applications if the digital health applications can access all of the information that the medical system collected.” 

With the investment, which values Particle Health at roughly $48 million, Bannister and his team are looking to move aggressively into more areas of digital healthcare services.

“Right now, we’re focusing on telemedicine,” said Bannister. “We’re moving into the payer space… As it stands today we’re really servicing the third parties that need the records. Our core belief is that patients want control of their data but they don’t want the stewardship.”

The company’s reach is impressive. Bannister estimates that Particle Health can hit somewhere between 250 and 300 million of the patient records that have been generated in the U.S. “We have more or less solved the fragmentation problem. We have one API that can pull information from almost everywhere.”

So far, Particle Health has eight live contracts with telemedicine and virtual health companies using its API, which have pulled 1.4 million patient records to date.

The way it works right now, when you give them permission to access your data it’s for a very specific purpose of use… they can only use it for that one thing. Let’s say you were using a telemedicine service. I allow this doctor to view my records for the purpose of treatment only. After that we have built a way for you to revoke access after the point,” Bannister said.

Particle Health’s peers in the world of API development also see the power in better, more open access to data. “A lot of money has been spent and a lot of blood and sweat went into putting [electronic medical records] out there,” said Innovaccer chief digital officer Mike Sutten.

The former chief technology officer of Kaiser Permanente, Sutten knows healthcare technology. “The next decade is about ‘let’s take advantage of all of this data.’ Let’s give back to physicians and give them access to all that data and think about the consumers and the patients,” Sutten said.

Innovaccer is angling to provide its own tools to centralize data for physicians and consumers. “The less friction there is in getting that data extracted, the more benefit we can provide to consumers and clinicians,” said Sutten.

Already, Particle Health is thinking about ways its API can help application developers create tools to help with the management of COVID-19 populations and potentially finding ways to ease the current lockdowns in place due to the disease’s outbreak.

“If you’ve had an antibody test or PCR test in the past… we should have access to that data and we should be able to provide that data at scale,” said Bannister. 

“There’s probably other risk-indicating factors that could at least help triage or clear groups as well… has this person been quarantined has this person been to the hospital in the past month or two… things like that can help bridge the gap,” between the definitive solution of universal testing and the lack of testing capacity to make that a reality, he said. 

“We’re definitely working on these public health initiatives,” Bannister said. Soon, the company’s technology — and other services like it — could be working behind the scenes in private healthcare initiatives from some of the nation’s biggest companies as software finally begins to take bigger bites out of the consumer health industry.



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

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support