Skip to content

Autism Spectrum Disorder (ASD) Treatment Database

Welcome to the ASD Treatment Database Github! Our vision is to enhance mental health outcomes for individuals with Autism Spectrum Disorder and their families by synthesizing psychiatric treatment knowledge for healthcare professionals, patients, and families. We aim to provide a comprehensive location for users of all kinds that allows for summarization of critical information of up-to-date medical papers to streamline your needs.

Live Website Environment Config Production Ready

Project Overview

This comprehensive database system provides:

  • Research Synthesis: Automated extraction and analysis of ASD treatment literature from PubMed
  • Treatment Database: Structured database of evidence-based interventions
  • Interactive Interface: React-based web application for easy user access
  • AI-Powered Analysis: MedBERT integration for advanced text processing

Live System: Hosted by Western Washington University | Database: Neon PostgreSQL

Quick Start (Local Development)

Prerequisites

Command Line Setup

# Clone and setup
git clone https://github.com/TipsyCanoe/Autism-Spectrum-Disorder-ASD-Treatment-Database.git
cd Autism-Spectrum-Disorder-ASD-Treatment-Database

# Install dependencies and start
python3 -m venv venv && source venv/bin/activate
pip install -r backend/requirements.txt
cd frontend/testing-website && npm install && cd ../..

# Start all services
./start_all_servers.sh

Open http://localhost:3000 to view the application.

Services Started

  • Frontend: React app on port 3000
  • Python API: Flask backend on port 5000
  • Node.js API: Job scheduler on port 5001

Environment Configuration

This project supports multiple environments with automatic configuration:

Available Environments

  • local (default): Development with ports 3000, 5000, 5001
  • staging: Pre-production testing environment
  • production: Live deployment environment

Environment Commands

# Local development (default)
./start_all_servers.sh

# Staging environment
ENVIRONMENT=staging ./start_all_servers.sh

# Load specific environment manually
source load-env.sh  # Loads local by default
ENVIRONMENT=production source load-env.sh

Configuration Files

  • config/local.env - Local development settings
  • config/staging.env - Staging environment template
  • config/production.env.template - Production template (copy to production.env)

📚 Detailed Guide: See Environment File Overview

Production Deployment

Automated Production Deployment

# One-command production deployment
./deploy-production.sh

This handles:

  • Environment setup and validation
  • Frontend build process
  • Service restarts and health checks
  • Nginx configuration reload

For a more detailed guide, see Deployment

Testing

Run all tests:

./run_all_tests.sh

Individual test suites:

# Frontend tests
cd frontend/testing-website && npm test

# Backend tests  
cd backend/tests && ./run_tests.sh

Architecture

System Components

  • Frontend: React.js with Tailwind CSS
  • Backend APIs:
  • Flask (Python) - Main application logic
  • Express (Node.js) - Job scheduling and automation
  • Database: Neon PostgreSQL (cloud-hosted)
  • AI/ML: MedBERT integration for text analysis
  • Deployment: Nginx + Gunicorn + Systemd (production)

Data Pipeline

  1. PubMed API Integration → Automated literature extraction
  2. MedBERT Processing → AI-powered text analysis and classification
  3. Database Storage → Structured treatment and outcome data
  4. Web Interface → Healthcare professional access and search

Features

  • Advanced Search: Filter treatments by age, symptoms, medications
  • Evidence Synthesis: Automated analysis of treatment effectiveness
  • AI-Powered: MedBERT integration for intelligent text processing
  • Responsive Design: Works on desktop, tablet, and mobile
  • Auto-Updates: Scheduled PubMed data refresh
  • Fast Performance: Optimized queries and caching

Database & APIs

PubMed Integration

  • Automated Extraction: pubmed_API_data.py, pubmed_API_ASD_data.py
  • Manual Updates: Run API_JOB.py or use web interface
  • Scheduling: Configure in /backend/scheduler.js (cron reference)

Database

  • Host: Neon PostgreSQL (cloud)
  • Content: Treatment studies, outcomes, patient demographics
  • Updates: Automated nightly refresh from PubMed

MedBERT/LLM Usage

# Activate environment
source venv/bin/activate

# Install ML dependencies
pip install -r FineTunedLLM/requirements.txt

# Run analysis scripts
python FineTunedLLM/MedBERT.py

Documentation

Update documentation by navigating to mydocs, then typing the command mkdocs gh-deploy.

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Set up local environment (./start_all_servers.sh)
  4. Make your changes and test thoroughly
  5. Commit your changes (git commit -m 'Add AmazingFeature')
  6. Push to the branch (git push origin feature/AmazingFeature)
  7. Open a Pull Request

License

This project is part of academic research at Western Washington University. Please contact the maintainers for usage permissions.

Acknowledgments

  • Western Washington University - Infrastructure and hosting support
  • Neon Database - Cloud database hosting
  • PubMed/NCBI - Research literature access
  • Hugging Face - MedBERT model hosting