Skip to content

Latest commit

Β 

History

18 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🦴 OsteoAdvisor

OsteoAdvisor is an AI-powered educational tool that helps patients with osteoporosis understand their DEXA scan results and explore personalized medication options.

πŸš€ Try the Live Demo

Launch OsteoAdvisor on Streamlit Cloud

No installation needed β€” test it directly in your browser!

Overview

OsteoAdvisor simplifies the process of understanding bone density test results and connecting patients with evidence-based medication information. Users upload their DEXA (Dual-Energy X-ray Absorptiometry) scan, and the app:

  1. Analyzes bone density metrics (T-scores, BMD values)
  2. Classifies severity based on WHO criteria
  3. Recommends appropriate medication classes
  4. Educates about side effects, risks, and treatment options

⚠️ Critical Disclaimers

Medical Disclaimer

OsteoAdvisor is an educational tool only and is NOT a medical device or substitute for professional medical advice.

  • Always consult your healthcare provider (physician, rheumatologist, endocrinologist) before starting any medication
  • This tool does not replace personalized medical evaluation
  • Individual treatment decisions must consider complete medical history, comorbidities, and other factors

Data Security & Privacy Warning

THIS IS A PROTOTYPE / VIBE CODING EXERCISE β€” NOT A PRODUCTION APPLICATION

⚠️ IMPORTANT SECURITY NOTICE:

  • ❌ NO backend database β€” This app has no secure storage infrastructure
  • ❌ NO data encryption β€” DEXA reports are processed in-memory only
  • ❌ NO user authentication β€” No login or user management
  • ❌ NOT HIPAA compliant β€” Do NOT use with real patient data
  • ❌ NOT production-ready β€” This is a prototype for educational purposes only

DO NOT upload real DEXA scans with personal health information (PII). This tool is designed for demonstration and testing only with sample/anonymized data.

Data Handling

  • All data processing occurs locally in your browser/local server
  • No data is sent to external servers or stored in any database
  • DEXA reports are not saved after you close the app
  • Refreshing the page clears all session data
  • This tool is meant for educational and prototyping purposes only

Features

πŸ“Š DEXA Analysis

  • Extracts T-scores and BMD values from DEXA scan PDFs
  • Classifies results using WHO criteria (Normal, Osteopenia, Osteoporosis)
  • Displays bone density across multiple sites (spine, hip, forearm)

πŸ’Š Medication Guidance

  • Bisphosphonates (Fosamax, Actonel, Reclast) β€” first-line treatment
  • Denosumab (Prolia) β€” monoclonal antibody injection
  • Hormone Replacement Therapy (HRT) β€” estrogen-based treatments
  • SERMs (Raloxifene) β€” selective estrogen receptor modulators
  • Teriparatide (Forteo) β€” bone-building agent

Each medication includes:

  • Mechanism of action
  • Common side effects
  • Important warnings
  • Dosage information
  • Estimated costs

πŸ“š Education

  • DEXA scan fundamentals
  • WHO T-score classification
  • FAQ about osteoporosis causes, risks, and management
  • Lifestyle modifications for bone health

Installation

Prerequisites

  • Python 3.8+
  • pip (Python package manager)

Setup

  1. Clone or download this repository:
git clone https://github.com/mikinmacwan-pm/OsteoAdvisor.git
cd OsteoAdvisor
  1. Install dependencies:
pip install -r requirements.txt
  1. Run the app:
streamlit run app.py
  1. Open in browser:
    • Streamlit will automatically open at http://localhost:8501
    • If not, manually navigate to that URL

Usage

Quick Start

  1. Upload DEXA Report

    • Click "Upload your DEXA scan PDF" on the Upload & Analyze tab
    • Select your DEXA scan file from your computer
  2. Review Your Results

    • View extracted T-scores and BMD values by bone location
    • Check your overall classification (Normal, Osteopenia, or Osteoporosis)
  3. Explore Medications

    • Review recommended medication classes based on your results
    • Read side effects, warnings, and cost information
    • Share this information with your healthcare provider
  4. Learn More

    • Use the "Medication Info" tab for detailed medication comparisons
    • Check the "FAQ" tab for bone health education

Example DEXA Results

A typical DEXA report includes:

LUMBAR SPINE:
- BMD: 0.676 g/cmΒ²
- T-score: -3.4  β†’ Osteoporosis

TOTAL HIP:
- BMD: 0.755 g/cmΒ²
- T-score: -1.5  β†’ Osteopenia

FEMORAL NECK:
- BMD: 0.583 g/cmΒ²
- T-score: -2.4  β†’ Osteopenia

Overall: Osteoporosis (based on worst T-score)

WHO T-Score Classification

Classification T-Score Meaning
🟒 Normal β‰₯ -1.0 Healthy bone density
🟑 Osteopenia -1.0 to -2.5 Low bone mass; higher fracture risk
πŸ”΄ Osteoporosis ≀ -2.5 Severe bone loss; high fracture risk

Medication Overview

Bisphosphonates (First-Line Treatment)

  • Drugs: Alendronate (Fosamax), Risedronate (Actonel), Zoledronic Acid (Reclast)
  • How it works: Slows bone loss
  • Cost: $50-150/month
  • Key warning: Must be taken properly to avoid esophageal damage

Denosumab (Injectable)

  • Drug: Prolia
  • How it works: Blocks bone resorption
  • Cost: $500-800 per injection (every 6 months)
  • Key warning: Requires adequate calcium/vitamin D

Hormone Replacement Therapy

  • How it works: Estrogen preserves bone density
  • Cost: $30-100/month
  • Key warning: Increased risk of blood clots and breast cancer with long-term use

SERMs (Selective Estrogen Receptor Modulators)

  • Drug: Raloxifene (Evista)
  • How it works: Estrogen-like effects on bones only
  • Cost: $50-100/month
  • Key warning: Blood clot risk (similar to HRT)

Teriparatide (Bone-Building Agent)

  • Drug: Forteo
  • How it works: Stimulates new bone formation
  • Cost: $600-1000/month
  • Key warning: Limited to 2-year use; not for cancer patients

Next Steps

After using OsteoAdvisor:

  1. Schedule an appointment with your healthcare provider
  2. Bring this report or a summary of results
  3. Discuss:
    • Your complete medical history
    • Other medications you're taking
    • Fracture risk (using FRAX tool: https://frax.shef.ac.uk)
    • Your preferences and lifestyle
  4. Make an informed decision with your doctor

Data Privacy

  • βœ… All processing is local β€” no data is sent to external servers
  • βœ… No storage β€” DEXA reports are not saved after processing
  • βœ… Secure β€” reports are only visible in your browser session
  • ⚠️ Remove PII β€” consider removing personal information from reports before sharing

Technical Stack

  • Frontend: Streamlit (Python web app framework)
  • PDF Processing: pdfplumber (text extraction)
  • Libraries: Python 3.8+, regex for data parsing

Testing

OsteoAdvisor has been tested with:

  • Standard DEXA scan PDFs from major radiology centers
  • T-scores ranging from -0.8 to -4.0
  • Multiple anatomical sites (spine, hip, forearm)

Sample results are extracted accurately from standard radiology reports.

Known Limitations

  1. PDF Parsing: Works best with standard radiology reports; complex formats may fail
  2. Manual Verification: Always verify extracted T-scores with your original report
  3. Not a Diagnostic Tool: Does not diagnose osteoporosis; DEXA scan diagnosis is from radiologist
  4. Medication Matching: Recommendations are general; individual suitability requires medical evaluation
  5. No Real-Time Updates: Medication information is curated; always check official sources for latest data

Contributing

Found a bug? Have suggestions? Open an issue or submit a pull request!

Resources

License

MIT License β€” see LICENSE file for details

Version

OsteoAdvisor v1.0 β€” MVP Release


Questions? This is an educational tool. Always consult your healthcare provider for medical advice.

🦴 OsteoAdvisor β€” Empowering informed conversations about bone health.

About

AI PM case study: healthcare education product emphasizing trust and comprehension for DEXA scan interpretation (educational prototype).

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages