An AI-powered insurance claim processing system that automatically classifies, extracts information, scores, and detects fraud in insurance claims using LangGraph and IBM Watsonx.
- Web Interface: Modern Streamlit-based dashboard for easy interaction
- Multi-type Classification: Automatically classifies claims as auto, medical, or home insurance
- Advanced Information Extraction: Extracts key details including:
- Insured name and policy ID
- Claim value and type
- Document summaries and metadata
- Intelligent Priority Scoring: Scores claims 1-1000 based on:
- Catastrophic nature (40% weight)
- Deadline proximity (30% weight)
- Claim value (20% weight)
- Document completeness (10% weight)
- Fraud Detection: AI-powered fraud risk assessment with:
- Risk scoring (0-100%)
- Anomaly detection
- Historical pattern analysis
- Database Integration: SQLite database for claim storage and retrieval
- Document Processing: Supports both text and PDF documents
Insurance_Priage/
├── streamlit_app.py # Main web application
├── main.py # CLI interface
├── workflow.py # LangGraph workflow orchestration
├── agents.py # AI agents (classification, extraction, scoring, fraud detection)
├── models.py # Pydantic data models
├── database.py # Database operations
├── config.py # Configuration settings
├── import_past_claims.py # Utility for importing historical claims
├── requirements.txt # Python dependencies
├── .env.example # Environment variables template
└── test_input/ # Sample claim documents
├── medical_receipt.txt
├── profile.txt
└── referral.txt
-
Create virtual environment:
python -m venv venv venv\Scripts\activate # Windows source venv/bin/activate # Linux/Mac
-
Install dependencies:
pip install -r requirements.txt
-
Configure environment:
cp .env.example .env # Edit .env and add your Watsonx API credentials
streamlit run streamlit_app.py# Process sample documents
python main.py
# Process specific documents
python main.py document1.txt document2.pdf
# View stored claims
python main.py --view-claims- Document Ingestion: Load and process .txt or .pdf files
- Classification: AI determines claim type (auto/medical/home)
- Information Extraction: AI extracts structured data from documents
- Priority Scoring: Claims scored 1-1000 based on multiple factors
- Fraud Detection: AI analyzes for potential fraud indicators
- Database Storage: Processed claims stored for review and analysis
- Catastrophic (800-1000): Life-threatening, total loss, fatalities
- High (600-799): Significant damage, urgent medical needs
- Medium (300-599): Moderate damage, non-emergency medical
- Low (1-299): Minor damage, routine claims
- Risk Scoring: 0-100% fraud likelihood
- Key Indicators:
- Unusual claim patterns
- Document inconsistencies
- Historical claim analysis
- Value anomalies
- AI Reasoning: Detailed explanation of fraud risk factors
- Document Upload: Drag-and-drop support for multiple files
- Interactive Dashboard: Real-time claim processing status
- Visual Analytics: Charts and graphs for claim analysis
- Search & Filter: Easy navigation through processed claims
- Responsive Design: Works on desktop and tablet
The SQLite database (insurance_claims.db) includes tables for:
- Claims (ID, insured info, claim details)
- Documents (content, metadata)
- Processing results (scores, timestamps)
- Fraud detection analysis
- Python 3.10+
- IBM Watsonx API credentials
- Streamlit
- LangGraph and LangChain
- SQLite3
🔍 Classifying insurance claim type...
📋 Extracting claim information...
⚖️ Scoring claim priority...
🕵️ Analyzing for potential fraud...
💾 Saving claim to database...
✅ Claim processed successfully!
📊 CLAIM PROCESSING RESULTS
==================================================
🆔 Claim ID: 42
👤 Insured: John Smith
📋 Policy ID: MED-2024-123456
🏷️ Insurance Type: medical
💰 Claim Value: $8,500.00
⭐ Priority Score: 675/1000
🛡️ Fraud Risk: 15% (Low Risk)
📅 Processed: 2024-08-14 15:30:00