Skip to content

Repository files navigation

BloomGuard - Maternal Health Platform

A comprehensive full-stack maternal health tracking system built for hackathon demonstration. This prototype allows expectant mothers to log symptoms and vitals, receive risk assessments, and get personalized guidance, while providing clinicians with a monitoring dashboard.

Features

Patient Features

  • Symptom & Vital Logging: Track daily symptoms, mood, blood pressure, heart rate, and weight
  • Risk Assessment: AI-powered risk analysis with detailed explanations
  • Personalized Guidance: Trimester-specific tips and recommendations
  • Real-time Alerts: Immediate notifications for critical conditions

Clinician Features

  • Dashboard: Overview of all patients sorted by risk level
  • Risk Monitoring: Identify patients requiring immediate attention
  • Auto-refresh: Real-time updates every 30 seconds

Tech Stack

Backend

  • FastAPI: Modern Python web framework
  • Pathway: Streaming data processing
  • Pydantic: Data validation
  • In-memory storage: For demo simplicity

Frontend

  • Next.js 16: React framework with App Router
  • TypeScript: Type-safe development
  • Tailwind CSS v4: Utility-first styling
  • shadcn/ui: Component library

Getting Started

Prerequisites

  • Python 3.11+
  • Node.js 18+
  • npm or yarn

Backend Setup

  1. Install Python dependencies: ```bash pip install -r requirements.txt ```

  2. Start the FastAPI server: ```bash uvicorn backend.app.main:app --reload --port 8020 ```

The API will be available at http://localhost:8020

Frontend Setup

  1. Install dependencies: ```bash npm install ```

  2. Start the development server: ```bash npm run dev ```

The web app will be available at http://localhost:3000

Docker Deployment

```bash

Build and run backend

docker-compose up --build ```

Demo Workflow

1. Create a Patient

  • Go to Setup page
  • Enter patient details (ID: patient_001, Name: Sarah Johnson, Age: 29, Trimester: 2, Weeks: 22)

2. Log Normal Data

Navigate to "Log Symptoms" and enter:

  • Symptoms: mild fatigue, back pain
  • Mood: happy
  • Vitals: BP 118/78, HR 72, Weight 68.5 kg

3. Check Risk (Should be Low)

  • Navigate to Risk Assessment
  • View low risk status

4. Log Concerning Data

Log new data:

  • Symptoms: severe headache, vision changes, dizziness
  • Mood: worried
  • Vitals: BP 158/98, HR 95, Weight 68.7 kg

5. Check Risk Again (Should be High/Critical)

  • View elevated risk with detailed explanation
  • See risk factors and recommendations

6. View Guidance

  • Navigate to Guidance page
  • View personalized trimester-specific tips
  • See symptom-based recommendations

7. Clinician Dashboard

  • Navigate to Dashboard
  • View all patients sorted by risk
  • See flagged patients requiring attention

API Documentation

Once the backend is running, visit:

  • Swagger UI: http://localhost:8020/docs
  • ReDoc: http://localhost:8020/redoc

Project Structure

``` BloomGuard/ ├── backend/ # FastAPI backend │ ├── app/ │ │ ├── main.py # Application entry point │ │ ├── schemas.py # Pydantic models │ │ ├── risk_engine.py # Risk assessment logic │ │ ├── pathway_pipeline.py # Streaming processor │ │ └── routers/ # API endpoints │ └── tests/ # Backend tests ├── app/ # Next.js pages │ ├── page.tsx # Home page │ ├── setup/ # Patient registration │ ├── log/ # Symptom & vital logging │ ├── risk/ # Risk assessment view │ ├── guidance/ # Guidance cards │ └── dashboard/ # Clinician dashboard ├── components/ # React components ├── lib/ # Utilities and API client └── docs/ # Documentation ```

Important Disclaimers

This is a prototype for demonstration purposes only.

  • NOT a medical device
  • NOT for clinical decision-making
  • NOT HIPAA compliant in current form
  • NOT validated for actual patient care

Always consult qualified healthcare professionals for medical advice, diagnosis, or treatment.

Development Notes

  • Backend runs on port 8020
  • Frontend runs on port 3000
  • Data is stored in-memory (resets on restart)
  • Auto-refresh on dashboard every 30 seconds
  • Color-coded risk levels for quick identification

License

MIT License - See LICENSE file for details

Acknowledgments

Built for hackathon demonstration of maternal health tracking concepts.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages