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.
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, 5001staging: Pre-production testing environmentproduction: 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 settingsconfig/staging.env- Staging environment templateconfig/production.env.template- Production template (copy toproduction.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
- PubMed API Integration → Automated literature extraction
- MedBERT Processing → AI-powered text analysis and classification
- Database Storage → Structured treatment and outcome data
- 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.pyor 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
- Environment Setup Guide - Comprehensive environment configuration
- Production Deployment - Server deployment procedures
- Nginx Configuration - Reverse proxy and routing setup
- CI/CD Pipeline - Automated testing and deployment
- File Overview - Complete file reference
- Code Documentation - Inline comments throughout codebase
Update documentation by navigating to mydocs, then typing the command mkdocs gh-deploy.
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Set up local environment (
./start_all_servers.sh) - Make your changes and test thoroughly
- Commit your changes (
git commit -m 'Add AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - 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