On the least one reported symptom is wished
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.
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 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.
Here are some more for cross-checking your symptoms:
Save my name, email, and website in this browser for the next time I comment.
Watercooled Canon R5 with unlocked unlimited 8K recording
Instruct HN: liblgpp – an extensible stack essentially based VM for interpreters in C++
Gallery-dl – obtain photos from several image web web hosting sites