--- title: Sanjeevani AI API emoji: ๐Ÿฅ colorFrom: blue colorTo: indigo sdk: docker app_port: 7860 pinned: false --- # Sanjeevani AI API AI-powered healthcare backend API for the Sanjeevani platform. # SanjeevaniAI โ€” Industry-Grade Healthcare AI Platform [![FastAPI](https://img.shields.io/badge/FastAPI-0.115+-009688?style=flat&logo=fastapi&logoColor=white)](https://fastapi.tiangolo.com) [![PyTorch](https://img.shields.io/badge/PyTorch-2.2+-EE4C2C?style=flat&logo=pytorch&logoColor=white)](https://pytorch.org) [![HuggingFace](https://img.shields.io/badge/Model-RoBERTa--large--BC5CDR-FFD21E?style=flat&logo=huggingface&logoColor=black)](https://huggingface.co/tner/roberta-large-bc5cdr) [![Next.js](https://img.shields.io/badge/Next.js-14.2+-000000?style=flat&logo=next.js&logoColor=white)](https://nextjs.org) [![TailwindCSS](https://img.shields.io/badge/TailwindCSS-3.4+-38B2AC?style=flat&logo=tailwind-css&logoColor=white)](https://tailwindcss.com) [![Docker](https://img.shields.io/badge/Docker-Ready-2496ED?style=flat&logo=docker&logoColor=white)](https://www.docker.com) [![Tests](https://img.shields.io/badge/Tests-16%2F16%20Passing-brightgreen?style=flat&logo=pytest&logoColor=white)](backend/tests) > **Clinical Notice & Positioning**: SanjeevaniAI provides **AI-assisted healthcare information and clinical decision-support insights**. It is **not an autonomous diagnostic system** and is not a substitute for direct clinical examination, laboratory diagnosis, or emergency medical care. --- ## ๐Ÿฅ Architecture Overview ``` SanjeevaniAI Platform โ”œโ”€โ”€ Frontend (Next.js 14 + Tailwind CSS + Lucide Icons) โ”‚ โ”œโ”€โ”€ / -> Landing page with medical disclaimer & capabilities โ”‚ โ”œโ”€โ”€ /dashboard -> Clinical intelligence overview & metrics โ”‚ โ”œโ”€โ”€ /ner -> Real-time local RoBERTa BC5CDR NER visualizer โ”‚ โ”œโ”€โ”€ /reports -> Document upload, SHA-256 integrity & analysis โ”‚ โ”œโ”€โ”€ /reports/[id] -> Structured clinical findings & raw text โ”‚ โ”œโ”€โ”€ /assistant -> Conversational AI with emergency triage โ”‚ โ”œโ”€โ”€ /profile -> Patient physiological profile & BMI โ”‚ โ”œโ”€โ”€ /history -> Traceable medical timeline โ”‚ โ”œโ”€โ”€ /admin -> System telemetry & security audit logs โ”‚ โ””โ”€โ”€ /demo -> Guided 5-step mentor presentation walkthrough โ”‚ โ”œโ”€โ”€ Backend (FastAPI + Async SQLAlchemy + PyTorch) โ”‚ โ”œโ”€โ”€ Core & Security -> JWT, bcrypt hashing, RBAC, Request ID, CSP headers โ”‚ โ”œโ”€โ”€ ML Engine -> Local RoBERTa-large BC5CDR (355M params, CUDA/CPU) โ”‚ โ”œโ”€โ”€ Document Pipeline-> PDF/DOCX/TXT parser, chunker, entity aggregator โ”‚ โ”œโ”€โ”€ AI Assistant -> Multi-provider LLM (Gemini + Mock) & triage engine โ”‚ โ””โ”€โ”€ Persistence -> Async SQLite / PostgreSQL with audit trail ``` --- ## โšก Quick Start ### 1. Prerequisites - **Python**: 3.10+ (Recommended: Python 3.11) - **Node.js**: 18.x or 20+ (with npm) - **NVIDIA GPU (Optional)**: CUDA 11.8+ for accelerated inference (CPU fallback automatic) - **Pretrained NER Model**: Stored locally in `models/bc5cdr-ner` ### 2. Backend Setup ```bash # Activate virtual environment python -m venv .venv .\.venv\Scripts\Activate.ps1 # Windows PowerShell # source .venv/bin/activate # Linux / macOS # Install dependencies pip install -r requirements.txt # Run synthetic demo database seeder python scripts/seed_demo_data.py # Launch FastAPI backend uvicorn backend.app.main:app --host 0.0.0.0 --port 8000 --reload ``` *API Swagger UI will be live at `http://localhost:8000/docs`.* ### 3. Frontend Setup ```bash cd frontend # Install npm dependencies npm install # Run Next.js development server npm run dev ``` *Application UI will be live at `http://localhost:3000`.* --- ## ๐Ÿณ Docker Deployment To launch the full containerized stack: ```bash docker-compose up --build ``` - Frontend: `http://localhost:3000` - Backend API: `http://localhost:8000` - Health Check: `http://localhost:8000/api/v1/health` --- ## ๐Ÿงช Test Suite & Verification The platform includes a comprehensive automated test suite in `backend/tests/`: ```bash pytest backend/tests -v ``` ### Verified Test Results (16/16 Passing): - `test_auth.py`: User registration, login, JWT validation, and invalid credential handling. - `test_ner.py`: BC5CDR model info, entity extraction, character span alignment, and 422 validation. - `test_documents.py`: File upload, SHA-256 fingerprinting, raw text extraction, and entity linking. - `test_chat.py`: Multi-turn consultation, patient profile injection, and heuristic red-flag emergency detection. - `test_profile.py`: Patient profile updates, vitals calculations, and RBAC admin permission enforcement. - `test_health.py`: Liveness and readiness probes. --- ## ๐Ÿ‘จโ€๐Ÿซ Mentor Demonstration Credentials Use the **"Demo Roles"** dropdown in the navigation bar or log in with these pre-seeded accounts: | Account | Email | Password | Role / Access Level | | :--- | :--- | :--- | :--- | | **Patient** | `demo.patient@sanjeevani.ai` | `DemoPatient2026!` | Health profile, documents, AI consultation | | **Doctor** | `demo.doctor@sanjeevani.ai` | `DemoDoctor2026!` | Clinical decision support & document review | | **Administrator** | `demo.admin@sanjeevani.ai` | `DemoAdmin2026!` | Platform telemetry, model status, security audit logs | --- ## ๐Ÿ“š Technical Documentation - ๐Ÿ“ [**System Architecture & Mermaid Diagrams**](docs/ARCHITECTURE.md) - ๐Ÿ”Œ [**REST API Catalog & OpenAPI Specification**](docs/API.md) - ๐Ÿง  [**Machine Learning & Local RoBERTa BC5CDR Specs**](docs/ML_MODELS.md) - ๐ŸŽฏ [**10-Minute Mentor Presentation Script**](docs/MENTOR_DEMO.md) - ๐Ÿ” [**Initial Project Audit & Gap Analysis**](docs/PROJECT_AUDIT.md) --- ## ๐Ÿ›ก๏ธ Medical Safety & Privacy Disclaimers 1. **AI-Assisted Decision Support**: SanjeevaniAI generates educational insights to assist healthcare providers and patients. It does not issue binding clinical diagnoses or prescribe treatment plans. 2. **Emergency Triage Protocol**: If severe acute symptoms (e.g. crushing chest pain, difficulty breathing, stroke symptoms) are entered, the platform immediately presents an emergency escalation alert advising immediate contact with emergency medical services (911 / 112 / 108). 3. **Data Security**: Uploaded files are fingerprinted with SHA-256, sensitive credentials hashed with direct bcrypt, and all administrative events logged in an immutable audit table. --- ## ๐Ÿ“„ License MIT License. Developed for healthcare AI intelligence and clinical decision-support research.