Launch HN: Vital (YC W20) – API for wearables and labs
114 points| maith1 | 3 years ago |tryvital.io
Health data from wearables and labs sit in various data sources, each requiring a different integration. Most with bad documentation and some even needing a partnership. Data collected from these sources play a crucial role in health monitoring. Our goal is to enable developers to build applications on top of it.
Having previously worked as an engineer at a telehealth company, I saw firsthand how hard it is to build and maintain integrations with labs, wearables and medical devices. I personally became a health enthusiast trying to fix my own problems after having over ten surgeries, suffering from IBS, and sleep apnea.
We’ve built an API that gives you access to over 300 devices directly through our SDKs or our API. We also expose a plaid-like widget to connect devices. For our lab test API, we have partnered with independent labs in the US and have a physician network covering all 50 states, allowing any company to order at-home functional tests. Our docs can be found here (https://docs.tryvital.io).
Our existing customers use our API to build apps to help allergy sufferers, wellness and fitness coaching, metabolic health support, and sleep optimisation. We have an API for individual developers and we charge based on the number of connected users and a platform fee for at-home lab tests. We open-source all our libraries and SDK’s, and hope by doing so we can both encourage more open data standards and alleviate privacy concerns.
One last thing! We know privacy is extremely important when it comes to health data, we anonymise all data by default and we use Evervault to encrypt the data, you can read more about it here https://docs.tryvital.io/welcome/privacy. We also have an upcoming feature to set auto-expiry on data, that allows companies to set a period that the data stays stored for.
abuehrle|3 years ago
As one piece of feedback, the docs could be better. For example, at https://docs.tryvital.io/api-reference/data/workouts/#stream, I see "Get Daily Activity for user_id", but the endpoint seems to actually return time series data for a single workout. I see a bunch of oversights of this flavor.
Similarly, I'm not sure how pagination works or should work. In one list query, I see a result set of size 100. I'm not sure whether this is because only 100 items were pulled from the provider, or whether I can see more using pagination. Maybe this is in the docs, but I haven't seen it.
It would be good to have some provider-specific documentation to answer questions are set expectations around things like 1) how much historical data is available 2) details about the integration and its stability. For example, I assume with Peloton you are logging in with my credentials and using their internal API. Is this against their terms of service? Is there a risk of this breaking if they change their internal API, which obviously doesn't have the same governance considerations a public API would?
Nice work overall!
maith1|3 years ago
This is why aggregating and standardising the data is hard, some API's are not public and in some cases we use credentials to generate access tokens which we then use to query the API, since we are aiding people in accessing their own data, we take a stance that people have a right to their own health data.
If the internal API does change there is some risk of breakage, we have built a tonne of monitoring around this to ensure that we stay up to date with this and react accordingly.
whelton|3 years ago
Having worked with Vital’s API and Webhooks, I am so excited for our use of it in Conjure to go live. I really love their normalization of data (such as sleep[1]).
[0] https://conjure.so
[1] https://docs.tryvital.io/api-reference/data/sleep/
maith1|3 years ago
ahstilde|3 years ago
Maitham and his team have taken something that was mindbendingly painful and turned it into an API.
Patrick Collison says there's billion dollar companies wherever there's mountains of shit to deal with. That's what Maitham has done.
davidgu|3 years ago
adampal|3 years ago
maith1|3 years ago
kawicoder|3 years ago
CharlesW|3 years ago
I wasn't able to find a list of supported devices. Mind pointing me to it?
maith1|3 years ago
omgwtfusb|3 years ago
Having looked at the job offers I see some overlap between my experience and what you need - I've been working previously as a backend dev and a data engineer, in spare time made a little go app to control a BLE enabled vaporizer - but I've never used React, my JS knowledge is kind of stuck circa 2012...
maith1|3 years ago
ShaneCurran|3 years ago
Also, great to see you’re encrypting sensitive data with Evervault!
[Disclosure: founder of Evervault here]
maith1|3 years ago
gkapur|3 years ago
maith1|3 years ago
tylersgordon|3 years ago
How does the lab testing API work? How do doctors' orders fit in?
maith1|3 years ago
AndrianV|3 years ago
arminsergiony|3 years ago
synaesthesisx|3 years ago
brap|3 years ago
maith1|3 years ago
plantaion|3 years ago
maith1|3 years ago
unknown|3 years ago
[deleted]
utpaldg|3 years ago
_l_z_b_th|3 years ago
[deleted]