Prepared for: Chief Technology Officer
Author: Nyota Health — Predictive Engineering
Branch: predictive-blood-model
Date: October 2026
This roadmap moves the Maternal Blood Risk Model from its current deterministic, rule-based prototype (live on the Nyota Base44 app) to a production predictive system on Google Cloud Platform (GCP) that scores three domains for women of maternal age:
The goal: a validated, HIPAA-compliant, retrainable model that feeds the existing clinician assessment tool and population dashboard, and that gives MCO executives the risk-stratified visibility they currently lack.
The migration path is non-disruptive: the Base44 backend function (assessBloodRisk) becomes a thin proxy to a GCP Vertex AI endpoint. The frontend, entity, and dashboard do not change. The deterministic prototype stays as a fallback baseline and a calibration reference.
Already shipped on this branch:
BloodRiskAssessment — persists one record per assessment (patient factors + computed scores + tier + recommendations).base44/shared/bloodRiskModel.ts — evidence-weighted additive scoring, three domains, overall tier (low → critical), auto-generated clinical recommendations.base44/functions/assessBloodRisk/entry.ts — computes, persists, returns./blood-risk-model — Assess Patient / Result / Population Dashboard tabs.Why keep it: it is interpretable, auditable, needs no training data, and immediately collects the labeled/usage signal that Phase 2 models will train on. It is the data flywheel — every real assessment becomes a training row with clinician-confirmed labels.
EHR / Claims (FHIR/HL7/CCDA) ──► Cloud Healthcare API ──► BigQuery (analytics warehouse)
│
▼
Vertex AI Feature Store
│
Vertex AI Pipelines (training) ◄──────────────────────────┤
│ │
▼ │
Model Registry ──► Vertex AI Endpoints (online) ◄───── Feature Store
│ ▲
│ │
Base44 `assessBloodRisk` function ──► Vertex endpoint ──► scores
│
▼
BloodRiskAssessment entity + Dashboard
| Layer | GCP service | |---|---| | Ingestion / interoperability | Cloud Healthcare API (FHIR R4 store), Pub/Sub | | Analytics warehouse | BigQuery (with BigQuery ML for fast baselines) | | Feature store | Vertex AI Feature Store | | Training / orchestration | Vertex AI Pipelines (TFX), Vertex AI Workbench notebooks | | Models | Vertex AI custom training + AutoML Tables; Model Registry | | Serving | Vertex AI Endpoints (online) + Batch Prediction | | Real-time trigger | Eventarc / Cloud Functions v2 (score on new assessment or new lab result) | | Secrets / config | Secret Manager | | Observability | Cloud Monitoring, Cloud Logging, Vertex AI Model Monitoring (drift, skew, feature attribution) | | Security | IAM (least-privilege), VPC Service Controls, CMEK, Private Service Connect, Assured Workloads (HIPAA) |
Sources
Labels
Cohort: women 15–49 with ≥ 1 maternal-stage encounter (preconception, prenatal, postpartum). Define inclusion/exclusion clearly; handle right-censoring for fibroid progression.
Governance: a single feature dictionary, versioned, with provenance. PHI never leaves the secured GCP project; only de-identified exports for research/external validation.
| Domain | Task | Candidate models | Key features | Output | |---|---|---|---|---| | Blood disorders | Multi-label classification (anemia type / severity) + risk of transfusion | Gradient-boosted trees (XGBoost / BQML), logistic regression baseline for interpretability | CBC, ferritin, TSAT, bleeding hx, family hx, parity, BMI, trimester, SDOH | P(deficiency), P(transfusion) | | Heavy bleeding / PPH | Classification (any/severe PPH) + time-to-event for antepartum risk | XGBoost; survival (Cox / DeepSurv) for progression | Prior PPH, fibroids, parity, age, BMI, Hgb, labor factors (when available), antepartum Hgb trend | P(PPH), risk horizon | | Fibroid development/progression | Classification (presence) + longitudinal growth regression | XGBoost for presence; mixed-effects / sequence model for growth; NLP on ultrasound text | Age, race, BMI, parity, family hx, prior fibroid size/location, menarche age | P(fibroid), predicted growth rate |
Calibration is mandatory — clinician trust requires that a "70" means ~70% risk. Use isotonic / Platt calibration on a held-out, time-shifted validation set.
Interpretability: SHAP per-prediction, surfaced in the UI as "top drivers" (the prototype's additive scores already map cleanly to this).
Baseline anchor: every trained model is compared to the Phase 0 deterministic model. A model must beat the prototype on calibration + AUROC + equity before it replaces it.
assessBloodRisk proxied to GCP (prototype remains fallback).The cleanest migration keeps the Base44 app as the experience layer and GCP as the intelligence layer:
{ blood_disorder, bleeding, fibroid, overall, tier, drivers, recommendations }.assessBloodRisk Base44 backend function is changed to call the GCP endpoint (via fetch, with the auth token from Secret Manager) and persist the returned record — frontend and dashboard unchanged.This keeps PHI handling inside GCP's secured perimeter; the Base44 function passes only the minimal feature payload.
Model
Clinical
Operational / MCO
Adoption
| Risk | Mitigation | |---|---| | Label scarcity for fibroid growth | Start with presence; use ultrasound NLP; partner for imaging data | | Bias amplification (race in fibroid prevalence) | Equity gates; report subgroup metrics; use race only with clinical justification; monitor for harm | | EHR data quality / missing labs | Missingness-aware models; imputation; feature store tracks completeness | | Over-reliance / automation bias | Human-in-the-loop; explainability; override capture | | PHI exposure | GCP secured perimeter; de-id exports; CMEK + VPC SC | | Model drift post-pandemic / guideline changes | Drift monitoring + scheduled retraining |
(See companion section in chat: "Ideas to maximize value in blood disorders, heavy bleeding, and fibroids.")
| Prototype input | GCP feature (source) | |---|---| | age, bmi, parity, race | Demographics (EHR / claims) | | gestational_age_weeks, stage | OB encounter record (EHR) | | hemoglobin, ferritin | Labs (EHR / FHIR Observation) | | history_fibroids, prior_pph, prior_transfusion | Problem list / procedure history (claims + EHR) | | family_history_blood_disorder | Family-history FHIR resource / NLP of notes | | (new) SDOH flags | Z-codes / social-needs screening | | (new) ultrasound fibroid metrics | Imaging (DICOM / report NLP) |
The prototype's additive weights become the calibration reference and the cold-start for new patients — GCP learns to beat them over time.