Spaces:
Sleeping
Sleeping
| from fastapi import APIRouter, HTTPException | |
| import sys | |
| import os | |
| # Add parent directory to path for imports | |
| sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) | |
| from models.request_models import ProviderNotesRequest | |
| from models.response_models import CodingResponse | |
| from services.groq_service import groq_service | |
| router = APIRouter(prefix="/api/v1", tags=["Medical Coding"]) | |
| async def analyze_provider_notes(request: ProviderNotesRequest): | |
| """ | |
| Analyze provider notes and return ICD-10 and CPT codes with explanations. | |
| - **provider_notes**: The medical provider notes to analyze | |
| Returns ICD-10 codes, CPT codes, and explanations for each. | |
| """ | |
| try: | |
| result = await groq_service.analyze_provider_notes(request.provider_notes) | |
| return CodingResponse(**result) | |
| except ValueError as e: | |
| raise HTTPException(status_code=422, detail=str(e)) | |
| except Exception as e: | |
| raise HTTPException(status_code=500, detail=f"Internal server error: {str(e)}") | |
| async def health_check(): | |
| """Health check endpoint""" | |
| return {"status": "healthy", "service": "ICD-CPT Coding API"} |