Skip to content

CHAVI-India/SATHI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

539 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

CodeRabbit Pull Request Reviews

DOI

SATHI - Self Reported Assessment and Tracking for Health Insights

Welcome to SATHI (Self Reported Assessment and Tracking for Health Insights). This is a comprehensive Django-based application for collecting, managing, and analyzing patient-reported outcomes with advanced features for patients, healthcare providers, and questionnaire designers.


๏ฟฝ Documentation

Comprehensive Documentation Site

For complete documentation including installation guides, user manuals, and API references, visit:

๐Ÿ“– SATHI Documentation

The documentation is organized into three main sections:

  • ๐Ÿ‘ค Patient Documentation: Guides for patients using SATHI to complete questionnaires
  • ๐Ÿฅ Healthcare Worker Documentation: Instructions for healthcare providers managing patients and reviewing results
  • ๐Ÿ’ป Developer Documentation: Technical documentation for installation, configuration, and extending SATHI

๏ฟฝ Quick Start

For Patients

See Patient Documentation for:

  • Getting started guide
  • Answering questionnaires
  • Viewing your results
  • Two-factor authentication setup

For Healthcare Workers

See Healthcare Worker Documentation for:

  • Patient management
  • Creating and assigning questionnaires
  • Reviewing patient results
  • Understanding clinical scores

For Developers

See Developer Documentation for:

  • Installation: Production deployment with Nginx, Gunicorn, Supervisor, and Let's Encrypt SSL
  • Architecture: System design, data models, and design patterns
  • Frontend Development: Tailwind CSS, language switching, vertical tabs
  • UI Components: Complete Django Cotton component library reference
  • API Reference: Complete API documentation with docstrings
  • Configuration: Environment variables and settings
  • Contributing: Development guidelines

๐ŸŽฏ Key Features

For Patients

  • ๐Ÿ“ฑ Mobile-responsive questionnaire interface
  • ๐ŸŒ Multi-language support with dynamic font selection
  • ๐ŸŽฏ Conditional logic to reduce response burden
  • ๐Ÿ“Š Personal health data portal with visualizations
  • ๐ŸŽค Audio/video integration for enhanced accessibility

For Healthcare Providers

  • ๐Ÿ“ˆ Comprehensive patient response dashboard
  • ๐ŸŽฏ Construct and composite score tracking
  • ๐Ÿšฆ Clinical significance indicators with color coding
  • ๐Ÿ“Š Interactive plots with normative and threshold scores
  • ๐Ÿ‘ฅ Result aggregation across patient populations

For Questionnaire Designers

  • ๐Ÿ” Role-based access control
  • ๐Ÿ“ Item bank creation and reuse
  • ๐ŸŽจ Flexible response types (Text, Number, Likert, Range)
  • ๐Ÿงฎ Complex scoring equations with variables and conditionals
  • ๐ŸŒ Translation management for multi-language support
  • ๏ฟฝ CSV import/export for bulk operations

Security Features

  • ๐Ÿ”’ Encrypted patient identifiers
  • ๐Ÿ” Two-factor authentication (Email OTP and TOTP)
  • ๐Ÿข Institution-based row-level security
  • ๐Ÿ›ก๏ธ Rate limiting and reCAPTCHA protection
  • ๐Ÿ“‹ Comprehensive audit logging

๏ฟฝ๏ธ Technology Stack

  • Backend: Django 6.0, Python 3.13, PostgreSQL
  • Frontend: HTMX, TailwindCSS, django-cotton
  • Security: django-two-factor-auth, django-ratelimit, django-recaptcha
  • Deployment: Nginx, Gunicorn, Supervisor, Memcached
  • Visualization: Plotly, Bokeh
  • Internationalization: django-parler

๐Ÿ“ฆ Installation

Quick Development Setup

# Clone repository
git clone https://github.com/CHAVI-India/chavi-prom.git
cd chavi-prom

# Create virtual environment
python3.13 -m venv venv
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Setup database
sudo -u postgres psql -c "CREATE DATABASE chaviprom;"
sudo -u postgres psql -c "CREATE USER chaviprom_user WITH PASSWORD 'password';"

# Configure environment
cp sampleenv.txt .env
# Edit .env with your settings

# Run migrations
python manage.py migrate
python manage.py createsuperuser
python manage.py collectstatic --noinput

# Start development server
python manage.py runserver

Production Deployment

For complete production deployment instructions including Nginx, Gunicorn, Supervisor, and SSL configuration, see:

๐Ÿ“– Installation Guide


๐Ÿ“ž Support & Contribution

Getting Help

Contributing

See Contributing Guide for:

  • Development setup
  • Code style guidelines
  • Pull request process
  • Testing requirements

Additional Resources

Legacy technical documentation is available in the documentation/ directory for reference, but the primary documentation is now in Sphinx format.


๐Ÿ“„ License

This project is open source. See LICENSE file for details.


Last Updated: April 2026
Documentation Version: 1.0

For the most up-to-date documentation, build the Sphinx docs: cd docs && make html

About

Patient Reported Outcome System

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors