Inspiration
The inspiration for MediCheck AI stems from a deep-seated concern for healthcare disparities and a firm belief in the power of technology to address them. In many parts of the world, access to quality healthcare is not readily available, particularly in underserved and remote areas. Patients in these regions often face significant challenges in obtaining timely medical attention and diagnoses due to various factors such as limited healthcare infrastructure, shortage of medical professionals, and lack of internet access.
The idea was born from a desire to leverage advancements in artificial intelligence and web technologies to provide preliminary medical assessments and guidance, even in the most remote and resource-constrained environments.
The MedLLaMa2 model represents the culmination of existing technology with immense potential to revolutionize healthcare. As an AI-powered diagnostic tool, MedLLaMa2 leverages state-of-the-art machine-learning techniques to analyze medical data and provide preliminary diagnoses.
What it does
Our project is called MediCheck AI. MediCheck AI consists of a few parts: the front-end and the AI-powered back-end.
The front end of MediCheck AI is designed to be user-friendly and visually appealing, providing a seamless experience for both healthcare professionals and patients. Users can easily input surface-level patient information, symptoms, medical history, and lifestyle factors through the website using intuitive forms and interfaces.
Upon submitting the necessary information, the data is securely transmitted to the AI-powered backend for analysis. The backend of MediCheck AI is where the magic happens. It comprises an advanced AI model named MedLLaMa2, trained on a vast dataset of medical examination questions and corresponding diagnoses.
One of the critical features of MediCheck AI is its ability to run locally on affordable embedded systems, such as the Raspberry Pi 5. This local AI implementation using the MedLLaMa2 model ensures accessibility and reliability even in areas with limited internet connectivity, making it particularly valuable for underserved communities.
How we built it
For the front-end of our website, we utilized HTML to create a user-friendly interface where patients can input information about their symptoms, medical history, and lifestyle habits. We incorporated radio buttons and text fields, allowing users to select options or type in relevant details. Additionally, CSS was employed to enhance the visual appeal and layout of the website, ensuring a seamless and engaging user experience.
On the backend, we employed Flask, a Python module for building simple website interactions, to collect the information entered by the patient on the website. Once the patient submits their information and Flask has retrieved it, the Ollama API passes the info to MedLLaMa2, and the language model processes the data and generates an input using the extracted information.
MedLLaMa2 is an advanced language model (forked from Meta’s LLaMa2 model) trained on a vast dataset of medical queries and corresponding diagnoses. It utilizes state-of-the-art natural language processing techniques to analyze the input data and generate an appropriate diagnosis based on the parameters provided. Once MedLLaMa2 processes the input, it responds with the suggested diagnosis.
Challenges we ran into
Version Control - We were working on slightly different versions of the same codebase at several points, making coordinating more challenging.
Setting up the code environment – When we were deciding what tools to use, we tried Django instead of Flask. We ran into many issues with project configuration. We ended up using Flask for this reason.
Accomplishments that we're proud of
Since the AI model is self-hosted, we were able to implement an application that requires no internet connection. We created an attractive-looking user interface implementing features such as a dark mode and mandatory fields for users to input data.
What we learned
When designing the application, we were able to familiarize ourselves with web development languages such as HTML, JavaScript, and CSS and develop our knowledge even further. We also learned how to use Flask to create a function that formats the patient’s information into a prompt and sends it to the LLM.
What's next for MediCheck AI
We could release updates to our application in the future. As of right now, our application gives a diagnosis for the patient. Based on the diagnosis, we could incorporate a feature to recommend the patient to different healthcare professionals. For example, the AI could recommend potential dermatologists if a client is concerned about his dry scalp. When we implement this feature, we need to consider new details such as location and healthcare professional rating to recommend the best possible doctor for the patient’s needs.
Built With
- css
- github
- html
- javascript
- ollama
- python
- vscode
Log in or sign up for Devpost to join the conversation.