What it does
This website uses a deep neural network and PaLM to create provide doctors or other practitioners tailored diagnostic suggestions from a patient's ECG data. The doctor uploads a .dcm file and will receive further suggestions based on the diagnostic probabilities given by the neural network. The website also visualizes these probabilities and the .dcm ECG input to provide doctors with more data to help guide their understanding of the results.
How we built it
This project uses a 12-lead ECG deep neural network diagnosis classification model created by Ribeiro. et al located here. We took the likelihoods given by this model and used Python to call Google's PaLM API to create patient specific diagnostic suggestions driven by the patient's ECG and other information (ex: age). We also created a DICOM to .hdf5 converter to allow for ease of use with conventional ECG file formats. We created the website using Streamlit.
Challenges we ran into
- Calling the PaLM API. We were originally using python 3.8 in our environment so we were missing a lot of functionality with the generative ai models and after way too much debugging we realized upgrading our env to python 3.10 fixed the issue.
Accomplishments that we're proud of
- Creating a working prototype
- Building a DICOM to HDF5 converter
- Finding a prompt for our use case
What we learned
Prompt Engineering API calls for Google PaLM File types DICOM and HDF5 Deep Neural Network model
What's next for ECG analyzer
Features to improve file type compatibility for inputs, such as pngs, pdfs, waveforms like dea, etc.
Sources and existing literature surrounding the topic
Automatic diagnosis of the 12-lead ECG using a deep neural network
A review of ECG storage formats
Prompt Engineering as an Important Emerging Skill for Medical Professionals: Tutorial
ECG-based machine-learning algorithms for heartbeat classification
Built With
- conda
- palm
- python
- streamlit
Log in or sign up for Devpost to join the conversation.