Hospitals are often inefficient and this means less free time for doctors to handle important cases and less people being helped.

What it does

Identifies a differential diagnosis which can be printed / saved and be provided to a doctor with listed symptoms (provided by patient and deidentified) to streamline the process of checkups and doctor meetings to identify likely symptoms associated with possible conditions. The system is designed so that instead of needing to ask as many questions at the doctors office, at which point a patient may not remember what to say, the patient can prepare for the meeting with the doctor beforehand. This has potential to reduce costs of helping patients for both doctor and patient and to speed up the patient visit process to allow for more patient throughput at hospitals and urgent care facilities.

How we built it

Machine learning - Logistic regression based algorithm using symptom data associated with given conditions. All functionality is vectorized for speed and arrays preallocated to avoid resizing concerns.

Challenges we ran into

Currently, we do not have a large scale database to be concerned with as these take time to register and receive permissions for so we created a basic minimum viable product with a database which can be filled in in clinical studies or upon collecting information from available databases in future weeks. As such, for the purpose of this event, we created randomly generated database data based on our investigation of a few conditions and used this to train the algorithm. Obviously this means the project is only a proof of concept at this point, but we believe that it should be possible to replace the Randomly-Generated DB and configure the algorithm to better handle actual data at some point.

What we learned

Data in the medical bioinformatics space is hard to come by quickly (at least in the format we wanted) and perhaps the hacking world would benefit from a quick access database of this kind).

What's next for Symptologist

Collect data from relevant deidentified symptom-condition association databases. Potentially collect data via clinical studies. The primary concern is to obtain a largely varying input to output relation to account for varying diagnoses given by doctors for certain conditions and also account for as many conditions as possible to prevent biased diagnoses.

Built With

Share this project: