DiagnoseMe

DiagnoseMe

Empowering Tomorrow's Doctors, Today

The problem DiagnoseMe solves

DiagnoseMe stands as an innovative desktop application harnessing the power of artificial intelligence, particularly large language models, to offer medical students a controlled environment for refining their diagnostic prowess. Beyond mere memorization of diseases and symptom diagnosis, the practice of medicine embodies empathy and a dedication to caring for others as one would their own family. This application facilitates realistic interactions with virtual patients, providing students with invaluable repeated practice essential for real-world patient encounters.

In each scenario, DiagnoseMe crafts a distinct fictional patient afflicted with a specific ailment. These patients possess a predetermined list of symptoms derived from historical data, alongside a personality type commonly encountered in clinical settings. This immersive experience not only exposes students to diverse patient encounters but also fosters the development and refinement of their diagnostic skills.

Challenges we ran into

Gemini has been garnering attention in the news due to Google's impressive yet questionable demonstrations. Our initial attempt involved accessing the model through its API endpoints. While we managed to get the model up and running, along with our fully functioning app, we encountered an issue with Gemini not performing as desired. Regardless of the prompts and guidelines provided, it consistently veered off track, often hallucinating and forgetting prior information. In our case, where the application serves as a medical training device, such hallucinations pose significant risks. Providing doctors with false information could lead to misconceptions and faulty diagnoses. After numerous iterations, we opted to pivot and utilize OpenAI's GPT-3.5-Turbo instead, as it appeared to be the best alternative after conducting some research.

Concerning our front-end development, we chose Electron as a framework due to its cross-platform functionality. However, we encountered several challenges when integrating React and its components into Electron's bundling systems. This necessitated multiple restarts of our app's packaging to ensure compatibility with the dependencies, following thorough examination of the documentation. Additionally, Electron is not inherently designed for multi-paginated apps like DiagnoseMe, necessitating adept webpack bundling and variable management.

Our hurdles didn't end there. Another significant issue arose from the module setup of the frontend and the absence of local storage within Electron, rendering us unable to pass persistent data between React components. To address this, we devised a solution involving Python lists stored in the backend to maintain persistence, creating API endpoints to enable different components to query the data as needed.

Tracks Applied (2)

Health

In light of unprecedented events like COVID-19, highlighting the crucial role of medical personnel, the demand for skill...Read More

Generative AI - Presented By Microsoft

The primary objective of our project was to assist future doctors in refining their diagnostic skills and enhancing thei...Read More

Discussion