Inspiration

Modern healthcare systems collect enormous amounts of patient information, yet more data does not necessarily lead to better decisions. Clinical measurements arrive at different times, contain missing values, and vary in predictive usefulness. Meanwhile, many machine learning systems produce risk scores without adequately explaining why their predictions change.

We wanted to explore a different question: Can an AI system determine when additional information is useful, adapt how it makes predictions, and explain its decisions mathematically?

Our inspiration came from information theory, statistical learning, uncertainty quantification, and the need for more interpretable preventive healthcare technology.

What it does

Preventive Health AI is an interpretable, time-aware clinical risk intelligence research prototype.

Using historical ICU observations from the PhysioNet 2019 Sepsis Challenge, our system estimates evolving sepsis-related risk and compares predictions from two complementary models:

  • A static model that interprets the currently available patient information.
  • A temporal model that incorporates patterns across a patient's observation history.

An adaptive controller determines how these predictions should be combined. Importantly, the system can maintain a conservative allocation when the evidence does not justify adaptation.

Rather than simply displaying a probability, our application explains the prediction process through:

  • Patient risk trajectories and changes over time.
  • Static versus temporal model predictions.
  • Controller allocation weights and model disagreement.
  • Measurement freshness and missing information.
  • Predictive uncertainty and entropy.
  • Exact mathematical decomposition of changes in predicted risk.
  • Explicit fallback behavior and model provenance.

The system includes an interactive React application for monitoring and interpretation, supported by a FastAPI inference backend, alongside a separate Streamlit research dashboard.

Our prototype is intended for research and demonstration, not clinical diagnosis or autonomous treatment decisions.

How we built it

We developed the system using Python, scikit-learn, FastAPI, React, TypeScript, Streamlit, PostgreSQL, Docker, and GitHub Actions.

Our machine learning pipeline uses historical hourly ICU observations with causally ordered preprocessing to avoid incorporating future measurements into earlier predictions.

We implemented static and temporal logistic regression models and a bounded controller framework that combines their predictions according to estimated evidence reliability.

The research infrastructure includes a standardized evaluation registry supporting discrimination, probabilistic calibration, patient-level analysis, uncertainty, adverse-tail performance, and controller comparisons.

A FastAPI service exposes trained-model predictions and interpretable decision summaries to the frontend. We developed a React interface to communicate these results visually, while the Streamlit dashboard supports experimental exploration and retrospective evaluation.

We also incorporated automated testing, model-artifact checksums, reproducible inference verification, and containerization infrastructure.

Our hackathon work focused on integrating these research components into a functional, interpretable end-to-end prototype.

Challenges we ran into

One of our biggest challenges was distinguishing more information from genuinely useful information. A complex temporal model is not automatically better than a simpler static model, and an adaptive controller can perform worse under changing data conditions.

We also had to address missing clinical measurements, temporal causality, patient-level data leakage, uncertainty estimation, and accurate attribution of prediction changes.

Connecting multiple development environments presented additional challenges. Our team worked across macOS and Windows, coordinating Python inference, React visualization, Streamlit analysis, and independent development branches.

Finally, we had to ensure that synthetic interface examples were never presented as genuine model performance, and that experimental risk estimates were clearly separated from validated clinical conclusions.

Accomplishments that we're proud of

We are particularly proud of combining mathematical interpretability with a working software architecture.

Our backend successfully reproduced 37 hours of retrospective patient inference, with matching model predictions and controller weights across different inference pathways.

We verified the exact decomposition of changes in predicted probability, achieving a maximum numerical reconstruction residual of approximately 4.12 × 10⁻¹⁸ in the retrospective replay.

We also implemented fitted-model log-odds explanations, patient-grouped evaluation, and explicit controller fallback behavior.

The backend completed 314 passing workspace tests, including regression checks for inference, interpretation, and evaluation.

Perhaps most importantly, our experiments did not simply assume that adaptation improves results. They exposed situations where a conservative allocation was preferable and where adaptive strategies were sensitive to changes in the underlying data.

We believe that transparent negative findings are just as important as positive performance results when developing trustworthy AI systems.

What we learned

We learned that intelligent adaptation must be justified by evidence rather than complexity alone.

An adaptive healthcare AI system needs to consider not only predictive accuracy, but also calibration, information quality, uncertainty, distribution shift, and the consequences of unreliable predictions.

We also learned the importance of separating three questions:

  1. What does the model predict?
  2. Why did its prediction change?
  3. Is there sufficient evidence to justify changing the inference strategy?

These questions connect machine learning engineering with deeper statistical and information-theoretic principles.

Building the application reinforced how important reproducibility, careful experimental design, interdisciplinary communication, and clear visual explanations are when moving research concepts toward practical software.

What's next for Preventive Health AI

Our long-term objective is to develop this prototype into a broader framework for reliable, information-aware healthcare AI.

Future research directions include:

  • Learning patient-specific temporal representations and evaluating more advanced hybrid models.
  • Developing validated next-hour forecasting and predictive uncertainty estimation.
  • Studying conditional information gain, error covariance, and residual dependence between predictive experts.
  • Improving adaptive controller robustness under distribution shift.
  • Expanding calibration, subgroup evaluation, alert burden, and clinically meaningful lead-time analysis.
  • Incorporating more sophisticated information acquisition and resource-allocation strategies.
  • Building secure, authenticated deployment infrastructure with persistent monitoring and auditability.
  • Collaborating with clinical and biomedical researchers to evaluate practical usability and safety.

Ultimately, we envision AI systems that do more than generate predictions: systems that understand the limitations of their information, adapt only when justified, and make their reasoning accessible to the people responsible for making decisions.

Built With

Share this project:

Updates

Submission history