SymptomSifter: Empowering Users to Prepare for Medical Appointments
SymptomSifter is a basic proof-of-concept tool designed to facilitate symptom and disease matching through a database of known diseases and their associated symptoms. The purpose of this tool is not to provide diagnoses but rather to help individuals prepare for their upcoming medical appointments. Many of us have experienced situations where we had numerous symptoms and concerns in mind before an appointment, only to forget them during the actual visit. SymptomSifter aims to address this issue and helps users identify relevant symptoms.
One valuable feature of SymptomSifter is its ability to shed light on seemingly insignificant symptoms that could be related to a more serious underlying condition. For instance, symptoms such as cold hands, intolerance to heat, or appetite changes can be easy to dismiss as personal preferences, when in fact they could actually serve as vital clues to underlying health conditions. By using this tool, individuals can gain a better understanding of the wide range of symptoms associated with different diseases, enabling them to communicate their concerns more effectively.
The data for SymptomSifter is obtained through scraping relevant information from MedlinePlus.gov. Pages featuring a section titled "Symptoms" are included as diseases, and all bullet points from the symptom section are associated with them. It's important to note that this approach has limitations due to the lack of standardized formatting across different pages, resulting in some loss of context. For instance, symptom sections may be divided by subcategories like "in men" and "in women." Additionally, some symptoms may be described in a paragraph, followed by a bulleted list of other symptoms, resulting in the omission of the symptom mentioned in the paragraph. Furthermore, variations in symptom listings pose a challenge, as there are no set regulations for the encyclopedia entries. Symptoms like "jaundice" may have multiple slightly different listings such as "yellow skin and whites of the eyes" or "yellow skin (jaundice)", making it non-trivial to automatically match them accurately. To ensure confidence in automated processes within a medical context, limited programmatic changes were made to the data, such as filtering out rarities and severities. For example, both "severe headaches" and "headaches" were matched, as well as "fever" and "fever (rare)." Although other modifications were made, it is important to highlight that this project remains a limited proof-of-concept with a single data source, so the current approach focuses on basic matching while filtering out rarities and severities. For more details on the data scraping and SQL preparation code, please refer to this GitHub link.
A temporary solution to aid in merging similar symptoms is the database editor page, which allows quick and easy changes. When searching through the database in the datatables, it becomes apparent that certain symptoms should be combined. The database editor tool facilitates these modifications efficiently.
Planned and Potential Features:
The future development of SymptomSifter aims to enhance user experience and expand its capabilities. Some planned features include:
- Generating a downloadable PDF file: SymptomSifter aims to provide users with a convenient way to compile their symptom information as notes for their medical appointments. This downloadable PDF will serve as a comprehensive reference during consultations.
- Disease-specific conditions on symptoms: Recognizing that not all symptoms are necessary for diagnosing a disease, SymptomSifter will incorporate disease-specific conditions. Certain diseases may require specific symptoms, a combination of symptoms, or different symptom criteria for diagnosis. Additionally, if a symptom is common in one disease but rare in another, the tool will prioritize the more prevalent disease in the list of potential matches when other factors are equal.
- Additional data sources: To enhance the accuracy and usefulness of the tool, incorporating additional data sources is crucial. Since no single source encompasses all diseases or symptoms, expanding the data availability will broaden the capabilities of SymptomSifter. Furthermore, incorporating statistics, likelihoods, and demographic considerations can provide users with more accurate insights into potential causes of their symptoms.
- Expanded information: Once a list of likely diseases or causes of symptoms is generated, the tool can provide additional information, such as basic tests or examinations that can confirm or rule out these possibilities. For example, if someone's symptoms align with several different thyroid disorders, it is likely that a single or very similar blood tests could diagnose or eliminate each at once. Additionally, SymptomSifter can offer a list of relevant medications for users to discuss with their doctors, ranking them based on reported effectiveness for patients with similar symptom profiles. Users could also input their current medications, and the tool would consider any possible side effects of those medications ands potential explanations for symptoms.
As SymptomSifter progresses, incorporating these features and expanding the range of data sources will enhance its accuracy and usefulness. The ultimate goal is to empower individuals to have more informed and productive discussions with their healthcare providers.