CardioVision AI — Multimodal Cardiovascular Intelligence
Inspiration
Cardiovascular disease is a major healthcare challenge, and interpreting a patient's health often involves reviewing multiple types of clinical information. We were inspired to build a platform that brings cardiovascular risk estimation, laboratory measurements, patient information, and visual explanations together in one place.
Our goal was to explore how AI could help organize clinical information and make potential coronary artery disease (CAD) risk easier to investigate. We also wanted to go beyond a simple prediction by providing an interactive 3D heart visualization and dedicated interfaces for different healthcare roles.
What We Built
CardioVision AI is an AI-powered cardiovascular risk assessment prototype that combines machine learning, interactive visualization, and role-based clinical workflows.
Key features include:
- AI-Based Risk Estimation: Four machine learning models estimate overall CAD status and artery-specific outcomes for the LAD, LCX, and RCA coronary arteries.
- Interactive 3D Heart: A 3D anatomical visualization helps users explore the coronary arteries alongside the model's estimates.
- Patient Portal: Presents a summarized risk estimate, vital signs, laboratory results, and health-related information.
- Laboratory Intake Portal: Allows laboratory staff to enter biomarker measurements, review reference ranges, and track submission statuses.
- Doctor Workspace: Brings patient assessment and artery-specific predictions into one interface.
- Administrator Dashboard: Supports user and role management, model-status monitoring, and security-audit visibility.
- Model Explainability: SHAP-based explanations help users inspect which input features contribute to model predictions.
How We Built It
We developed a web-based architecture with a React and TypeScript frontend and a Python FastAPI backend.
For the machine learning component, we used an extension of the Z-Alizadeh Sani clinical dataset, containing 303 patient records and 55 predictor features. We created four separate Random Forest classification pipelines for overall CAD, LAD, LCX, and RCA outcomes.
The preprocessing pipeline uses StandardScaler for numerical features and OneHotEncoder for categorical features. We excluded the target columns from the input features to reduce target leakage and saved the trained models for use by the backend API.
The FastAPI backend serves prediction requests, returns model probabilities, exposes model-explanation functionality, and reports system status. The frontend presents these results through role-specific dashboards and a 3D coronary visualization.
We also implemented role-based access control to separate the intended capabilities of doctors, patients, laboratory technicians, and administrators.
Technology stack:
- Frontend: React, TypeScript
- Backend: Python, FastAPI
- Machine Learning: Scikit-learn, Random Forest
- Data Processing: Pandas, StandardScaler, OneHotEncoder
- Explainability: SHAP-based feature contributions
- Visualization: Interactive 3D heart and coronary artery interface
Challenges We Faced
1. Working with a small clinical dataset
The dataset contains 303 records, which makes reliable generalization a challenge. We needed to build a consistent preprocessing and model-training pipeline while recognizing that preliminary evaluation results do not establish clinical reliability.
2. Predicting different coronary outcomes
Overall CAD status and the LAD, LCX, and RCA outcomes are different targets. We trained separate models and evaluated them independently. We found that model performance varied across the targets, highlighting the need for further improvement and validation.
3. Connecting machine learning to a usable interface
A prediction is not very useful if users cannot understand or explore it. We worked to connect the backend APIs with the dashboards, display artery-specific estimates, and integrate the 3D heart visualization into the assessment workflow.
4. Building role-specific workflows
Doctors, patients, laboratory technicians, and administrators need different views and capabilities. Designing these interfaces alongside role-based access control required us to consider usability and security together.
5. Communicating predictions responsibly
We wanted to make model outputs understandable without presenting them as definitive medical conclusions. Risk estimates, feature contributions, and anatomical illustrations must be interpreted carefully and should not replace professional medical judgment.
What We Learned
This project taught us that building an AI healthcare application involves much more than training a machine learning model.
We learned how to build end-to-end ML pipelines, preprocess mixed numerical and categorical data, evaluate multiple classification targets, serve predictions through an API, and integrate model outputs into a modern web interface.
We also learned the importance of preventing target leakage, separating frontend and backend responsibilities, designing role-based workflows, and communicating the limitations of small-dataset models. Explainability and visualization can make results easier to explore, but they do not automatically make a model clinically reliable.
What's Next
Our next steps include evaluating the models on larger and independent datasets, improving performance for the weaker artery-specific predictions, assessing probability calibration, strengthening testing and monitoring, and obtaining appropriate clinical review.
We also aim to improve the usability of the patient and clinician workflows and further evaluate the security and privacy of the platform.
Conclusion
CardioVision AI is our attempt to bring machine learning, coronary artery visualization, laboratory workflows, and role-based access into one integrated cardiovascular assessment prototype.
We built it to explore how AI-generated estimates can be presented in a more understandable and structured way. Although substantial validation is still needed before any real-world clinical use, the project gave us valuable experience in developing a complete AI-powered healthcare application.
Live Demo: https://multimodel-hackathon-six.vercel.app/
Built With
- 3d
- ai
- api
- artificial
- css
- data
- fastapi
- forest
- html
- intelligence
- learning
- machine
- pandas
- python
- random
- react
- rest
- scikit-learn
- shap
- typescript
- visualization
Log in or sign up for Devpost to join the conversation.