Hacker News new | ask | show | jobs
Symptoma – Digital health assistant and symptom checker (symptoma.com)
56 points by PersonalDay 2078 days ago
18 comments

I put in the following symptoms:

> dry cough, fever, aching limbs

The first result is "Sacoidosis"

"Common cold" is the 4th result. Sarcoidosis is around 25k cases per year in the US. Common cold is some hundreds of million cases in the US per year (on average an adult has 2 - 3 cases per year alone, children even more).

This is dangerous. People will misinterpret the result ordering - esp. as the page tells me it has 84% confidence. This will get misrepresented in a lot of minds.

Maybe one should use data on number of cases per year for ordering - like many doctors (I know) actually do in their heads when listening to symptoms.

It confirms stereotypes we have about diagnostics on the net. Light headache -> Serious stage 28 cancer.

That said, I think such a system is still useful and will improve with data and usage if users are able to confirm or dispute the preliminary diagnosis with the clinical one when it becomes available.

Users should be informed that getting a professional opinion is still mandatory for good health checks.

It could also help the doctor identifying more exotic diseases as it can create a list of possible causes that could quickly be confirmed. But doctors also know about the limited ability of patients to describe their symptoms.

Not sure now - But at some point Symptoma was being marketed as a tool for physicians. In that context, I think this would be a very helpful tool.
So, not following the "horses, not zebras" model. Too straightforward I guess?
I was playing around with doing this from Wikidata and made a basic POC.

There are some limitations in expression there, new properties are needed to better express symptoms locality and severity, like pain in the head, pain in the arm, pain in the stomach.

Data quality is not that great, better pipelines are needed from sources to extract symtoms and locality.

What I did on wikidata is extract all valid symptom items with SPARQL, and then allowed the user to select from this and then selected items with these as symptoms again using SPARQL.

It mostly came up with some radiation poisoning because the symptoms for those conditions are quite broad (e.g. pain, fever, vomiting) and there are many variations of radiation poisoning on Wikidata. But I also did not spend that much time on it.

But ultimately this is a problem best solved by Semantic Technology and the majority of challenges are solved once you have a good ontology and good data matching that ontology in RDF. Then the questions can be expressed as simple SPARQL queries and a much better UI can be made where you don't have to rely on NLP.

EDIT: some causality may also useful to exclude radiation poisoning, like saying the condition is preceded by exposure to radiation exposure so that users can then say they did not have exposure to radiation. This may already be supported by some wikidata properties.

It's a cool project. I've used an app called "Ada" before and it's a very similar concept.

However, I just made a try with some symptoms I've had last week of what was probably a common cold and I ended up with a long list of diseases, ranging from multiple sclerosis and other rare diseases, along with that common cold, but presented with no likelihood order. Also, no warning were displayed.

I think this is quite dangerous as many people who will use such service have a tendency to hypochondria, to present them with such a long list of rare diseases because of a symptom related keyword present somewhere.

It correctly diagnosed appendicitis and also gave me an interesting differential. It did not correctly identify acute myocardial infarction and probable COVID-19 infection, but they were in the differential.

The software needs to be better at taking medical history. It doesn't try to figure out the symptoms. I input abdominal pain and instead of asking where it hurts and what the pain feels like it asked me if I have dyspepsia. I input chest pain and it asked me if I have angina pectoris.

How is a patient supposed to know? These are conclusions the doctor is supposed to reach based on the signs, symptoms, physical examination and tests.

I clicked on the information button for angina pectoris. Here's what it says:

> Angina pectoris is a term that describes chest pain due to myocardial ischemia.

> It is a common presenting symptom among patients with coronary artery disease.

It says nothing about what the pain is like. There's no way a patient would know.

I decided to make it easy for the software by answering yes to the above question... Myocardial infarction was the fourth item in the differential! It thinks pheochromocytoma is more likely.

> Is there enlargement of the liver?

> Is there generalized Lymphadenopathy?

> Is there enlargement of the spleen?

> Is there atrial fibrillation?

> Is there cardiac arrhythmia?

How would they know? Are people supposed to perform a physical examination on themselves? People go to medical school in order to learn how to do this. I've seen people who don't know where the liver and spleen are.

You can look up the words you don't understand. Would be cool if you could do an ultrasound using your mobile.
> You can look up the words you don't understand.

The software could also simply ask the right questions. That way patients would not have to learn medicine in order to diagnose themselves.

> Would be cool if you could do an ultrasound using your mobile.

I agree, it would be amazing. Though it should be noted that ultrasonography is operator-dependent. Unlike other imaging technologies, it takes operator skill to find the anatomical structures with the wand.

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3711733/

So I don't think users with no training would be able to effectively operate a mobile ultrasound.

I think, with a bit of practice and computer help you would be able to measure things. I however don't think most people would want/have time to learn.
This is really cool.

I wish there were something like this for blood work results- type in your blood work (and any symptoms) and it recognizes which values are too high or too low and indicates what might be the causes.

You can easily make this with OWL, RDF and SPARQL (i.e. Semantic Web Technology). There may actually already be ontologies in OWL to express something like this in which case all you need is the actual data, but that may also already exist. Maybe start at https://www.w3.org/wiki/Ontology_Dowsing

EDIT: A more domain specific starting point for Biology may be http://www.ontobee.org/ where you can search in ontologies from http://www.obofoundry.org/ (The Open Biological and Biomedical Ontology (OBO) Foundry). There may be other similar things also related to biology but OBO Foundry is pretty popular and big.

SPARQL I've heard of, but what are OWL and RDF exactly? As for SPARQL, I know of it's association with Wikimedia data, but I'm guessing you're thinking of data sources other than Wikipedia?

Edit - Ah... https://www.w3.org/OWL/

SPARQL works on any RDF data, so if you have a bunch of RDF data in RDF files you can use jena's command line utilities to query it.

RDF is a technology for encoding semantic tripple graphs, basically a set of {object_id}-{property_id}-{value} - where value can be literal or an identifier.

OWL is a way to specify types and classes for RDF data, and relationships between them.

SPARQL is a way to query RDF data.

So you would in OWL say that you have a class Condition, and then define proprerties on the Condition class that can be used to associate specifc measurements with the condition, and then you would have a Measurement class to capture actual measurement of blood samples.

Then you would create instances of conditions in RDF using the properties and classes defined in your OWL.

Then when you measure bloodwork you encode it as RDF.

And then you would use SPARQL to query the RDF for conditions matching the bloodwork.

Technically the OWL is optional but if you don't use OWL you need some other way to define types and properties. Wikipedia for example does not use OWL and use their own mechanisms.

The benefit of OWL is that SPARQL reasoning (i.e. subclass/subproperty handling) for OWL is well defined where with Wikidata there is basically no reasoning and you have to do reasoning in your SPARQL query (manually ask for instances of subclasses).

For modelling measurements, have a look at the Semantic Sensor Network Ontology https://www.w3.org/TR/vocab-ssn/.

Appreciate the answer. It's an interesting domain. I've only just started learning about, tbh.
Awareness of Semantic Web Technology is in general way below what it should be I think given that it solves important problems and there is nothing that solves similar problems being used, instead people just don't really address the problems that Semantic Web Technology solves.

If you are interested in learning more check out: https://gitter.im/linkeddata/chat

500 - internal server error.

Yes, it certainly fits my symptoms. Impressive deduction.

I created an account to make this comment.

I've been working with an older surgeon lately who wishes to become much more tech savvy.

His general ignorance of technology and brilliant mind concoct some pretty interesting questions that often I cannot answer confidently, and so I end up down some rabbithole.

This is the definitive beginning: https://www.macintoshrepository.org/28761-medical-housecall

This is an example of where we are now: https://www.statdx.com/pricing/

its actually really easy to find medical journals from the 90s that mention "Medical Housecall" but it kinda just disappears circa 1999.

I have "Medical Housecall" installed on an old G4. It DESTROYS this symptoma business in 4mb. 4mb that come on a disk, that you keep, in your home.

I dont think I even have any foil to make a hat; So Im gonna chalk this up to symptoms of Capitalism and our ridiculous healthcare system.

That is a cute toy, but lets also remember that in the real world; ANY and ALL bits of medical advice should only be given by someone tested and licensed to do so. ANNNNNND There are a just a huge pile of different billing codes for each and every little patient interaction. Interactions must be coded for insurance.

Funfact: Many (All?) BlueCross organizations HAVE NO FACILITY to receive insurance claims directly whether electronically or otherwise. They must rely on a third-party called a "clearinghouse", which as far as I can tell is an Excel Macro posing as a C level corporation.

in conclusion:

the total package of QEMU + OS9 + Medical Housecall is about 1.5gb and it runs off a usbdrive.

Our health is our most basic of needs, Any systemic improvements would benefit us all. 26 years of human progress later; how far back have we fallen?

Can anyone point me to peer-reviewed studies of this system? They state they are #1 according to scientific validation("peer-reviewed scientific publications comparing up to 107 solutions worldwide where Symptoma clearly ranked as #1.") but I can't find anything online or on their website on the performance or architecture of this system.
Besides, and maybe today I am in negative mood, I read that claim:

https://www.symptoma.com/en/about

as "there are at least 106 similar systems that suck a lot more".

lol
Ok.

I tried with symptoms just "running nose" and answering no to all following questions (BTW quite a few about abdominal pain and diarrhea and none about coughing).

#1 answer was "Upper Respiratory Infection" and #2 "Common Cold" (good), but among the 30 results there are "Mustard Gas Poisoning" and "Stevens-Johnson Syndrome".

It seems like it ignored (absence of) fever, did not ask anything "around" the symptom (like sore throat/coughing) and returned anything containing "rhinorrea".

I know it's not the main feature of the product, but the responsive interface is pretty unusual. Having the mobile breakpoint interface displayed at desktop breakpoints like that.
An expert system, very refreshing in this era of ML.

Brings back memories of uni.

Or THX-1138 ("What's wrong?")
Really cool. Especially the reference to literature in the differential diagnosis tab. Since the suggested diagnoses are based on case reports, I suspect they are quite biased towards rare diseases and unusual presentations.

One annoying bug: I could not submit 'No' as an answer. It seems to be too short. 'No,' works.

Looks similar to https://symptomate.com
Going through the yes/no questions after my initial input, it eventually asked me if I was in a coma.
It was fine until it started asking me questions like these that are clearly for medical professionals

Is there enlargement of the spleen?

Do you already have laboratory results, for example from a blood count?

Is there enlargement of the liver?

Is there generalized Lymphadenopathy?

Hang on let me go check how large my liver and spleen are.

Cruel, these things must be tested, so I answered 'no' to everything, the questions seemingly never ended, I was given a very long list of 'possibles'.

Not a great start.

Use NHS UK Symptom Checker instead, if you must.

Hypochondriac's dream!