How aivietnam-aio-phamtien/early-sepsis-prediction-from-icu-clinical-data works
This is a Streamlit clinical decision-support app for hourly sepsis-risk prediction, with a separate Airflow retraining product. The user workflow runs from patient-file upload and validation through manifest-selected inference to risk timelines, escalation cues, and a generated narrative; other app branches provide a multi-patient watchlist and model monitoring. Retraining covers batch ingestion, data quality, feature preparation, model training/evaluation, and registry promotion. The index and excerpts support the named modules and some calls; unsampled training and monitoring internals are represented conservatively, with uncertain connections omitted.
Main entry points: sepsis_retraining_dag.py Retraining orchestrator · 1_predict.py Prediction page · 2_unit_watchlist.py Unit watchlist · predictor.py Prediction runner
Components 34
Clinical app
- Prediction page
app/pages/1_predict.py - Upload UI
app/components/upload.py - Validation panel
app/components/validation_panel.py - Results view
app/components/results_view.py - Care checklist
app/components/bundle_checklist.py - Unit watchlist
app/pages/2_unit_watchlist.py - Model monitoring
app/pages/3_model_monitoring.py
Prediction runtime
- Input validator
src/inference/validator.py - Prediction runner
src/inference/predictor.py - Model loader
src/inference/loader.py - Inference pipelines
src/inference/pipelines - Prediction logging
src/inference/logger.py - Usage monitoring
src/inference/monitoring.py
Narrative generation
- Narrative panel
app/components/narrative_panel.py - Narrative service
src/narrative/service.py - Prediction summary
src/narrative/context.py - Narrative providers
src/narrative/providers.py
Model retraining
- Retraining orchestrator
dags/sepsis_retraining_dag.py - Batch detection
src/pipelines/ingestion/batch_detector.py - Bronze ingestion
src/pipelines/ingestion/bronze_pipeline.py - Silver processing
src/pipelines/processing/silver_pipeline.py - Data quality gate
src/pipelines/validation/quality_gate.py - Gold features
src/pipelines/processing/gold_pipeline.py - Training workflow
src/pipelines/training/trainer.py - Cross-validation search
src/pipelines/training/cv_search.py - Model evaluation
src/pipelines/training/evaluator.py - Dataset registry
src/pipelines/registry/dataset_registry.py - Model registry
src/pipelines/registry/model_registry.py
Shared contracts
- Current model manifest
src/shared/paths.py - Patient data schema
src/shared/schema.py
Other components
- Clinical user
- Patient files
- LLM provider
- Airflow scheduler
Connections 40
- Clinical user → Prediction page: uploads for
README.md - Patient files → Upload UI: supplies
README.md - Prediction page → Upload UI: renders
app/pages/1_predict.py - Prediction page → Validation panel: renders
app/pages/1_predict.py - Prediction page → Prediction runner: runs prediction
app/pages/1_predict.py - Upload UI → Input validator: validates with
app/components/upload.py - Validation panel → Input validator: displays validation
app/components/validation_panel.py - Prediction runner → Input validator: validates input
src/inference/predictor.py - Prediction runner → Model loader: loads artifact
src/inference/predictor.py - Prediction runner → Inference pipelines: dispatches inference
src/inference/predictor.py - Model loader → Current model manifest: reads manifest
src/inference/loader.py - Prediction page → Results view: renders results
app/pages/1_predict.py - Prediction page → Prediction logging: logs predictions
app/pages/1_predict.py - Results view → Care checklist: renders checklist
app/components/results_view.py - Results view → Narrative panel: renders narrative
app/components/results_view.py - Clinical user → Unit watchlist: reviews patients
README.md - Unit watchlist → Prediction runner: runs prediction
app/pages/2_unit_watchlist.py - Unit watchlist → Model loader: loads artifact
app/pages/2_unit_watchlist.py - Unit watchlist → Prediction logging: logs predictions
app/pages/2_unit_watchlist.py - Unit watchlist → Care checklist: renders checklist
app/pages/2_unit_watchlist.py - Clinical user → Model monitoring: reviews monitoring
README.md - Model monitoring → Usage monitoring: reads monitoring
app/pages/3_model_monitoring.py - Narrative panel → Narrative service: requests narrative
app/components/narrative_panel.py - Narrative service → Prediction summary: builds summary
src/narrative/service.py - Narrative service → Narrative providers: resolves provider
src/narrative/service.py - Narrative providers → LLM provider: optionally calls
README.md - Airflow scheduler → Retraining orchestrator: schedules
README.md - Retraining orchestrator → Batch detection: detects batch
dags/sepsis_retraining_dag.py - Retraining orchestrator → Bronze ingestion: creates bronze
dags/sepsis_retraining_dag.py - Retraining orchestrator → Silver processing: builds silver
dags/sepsis_retraining_dag.py - Retraining orchestrator → Data quality gate: checks quality
dags/sepsis_retraining_dag.py - Retraining orchestrator → Gold features: builds features
dags/sepsis_retraining_dag.py - Retraining orchestrator → Dataset registry: registers dataset
dags/sepsis_retraining_dag.py - Retraining orchestrator → Cross-validation search: cross-validates
dags/sepsis_retraining_dag.py - Cross-validation search → Training workflow: supports training
src/pipelines/training/cv_search.py - Retraining orchestrator → Training workflow: trains candidate
dags/sepsis_retraining_dag.py - Retraining orchestrator → Model evaluation: evaluates candidate
dags/sepsis_retraining_dag.py - Retraining orchestrator → Model registry: registers and promotes
dags/sepsis_retraining_dag.py - Retraining orchestrator → Current model manifest: updates shared manifest
README.md - Patient data schema → Input validator: defines required fields
src/inference/validator.py