Spaces:
Sleeping
Sleeping
|
Download docs/api_documentation.md from stellar413/AI_adjudication: direct link, hf CLI and curl.
- Browser
- Download file 5.08 kB
-
https://huggingface.co/spaces/stellar413/AI_adjudication/resolve/main/docs/api_documentation.md
- Command line
-
hf download hf://spaces/stellar413/AI_adjudication/docs/api_documentation.md
-
curl -L -o api_documentation.md https://huggingface.co/spaces/stellar413/AI_adjudication/resolve/main/docs/api_documentation.md
5.08 kB
API Documentation
The backend service is built using FastAPI. It exposes endpoints for claim management, document upload, automated adjudication, and metrics dashboards.
The server runs locally by default at http://127.0.0.1:8000. Full interactive Swagger UI documentation is available at http://127.0.0.1:8000/docs.
Endpoints Overview
| Method | Path | Description | Access |
|---|---|---|---|
| POST | /api/seed |
Seeds initial members from test cases | Public |
| POST | /api/claims |
Creates a new claim | Public |
| POST | /api/claims/{claim_id}/documents |
Uploads and extracts text from a file | Public |
| POST | /api/claims/{claim_id}/adjudicate |
Adjudicates claim using rules & AI | Public |
| GET | /api/claims/{claim_id} |
Retrieves full claim details | Public |
| GET | /api/claims |
Searches/filters claims list | Public |
| GET | /api/admin/stats |
Retrieves dashboard statistics | Public |
| GET | /health |
API Healthcheck status | Public |
1. Seed Member Registry
- Endpoint:
POST /api/seed - Request: None
- Response (200 OK):
{
"message": "Seeding completed. Seeded 10 new members."
}
2. Create Claim
- Endpoint:
POST /api/claims - Content-Type:
application/x-www-form-urlencodedor multipart form-data - Fields:
member_id(string, required): Member ID (e.g.EMP001)patient_name(string, required): Name of patientclaim_amount(float, required): Total claim amount in INRtreatment_date(string, required): Date in formatYYYY-MM-DDhospital_name(string, optional): Hospital/Clinic namecashless_request(boolean, optional): Defaultfalse
- Response (200 OK):
{
"id": "CLM_A5F9B2C3",
"member_id": "EMP001",
"patient_name": "Rajesh Kumar",
"claim_amount": 1500.0,
"status": "PENDING",
"hospital_name": "Apollo Hospitals",
"cashless_request": true,
"treatment_date": "2024-11-01",
"submitted_at": "2026-06-04T18:20:00Z",
"documents": [],
"adjudication_result": null,
"audit_logs": [
{
"id": 1,
"action": "CLAIM_SUBMITTED",
"timestamp": "2026-06-04T18:20:00Z",
"details": "Claim of ₹1500.0 submitted for patient Rajesh Kumar."
}
]
}
3. Upload Claim Document
- Endpoint:
POST /api/claims/{claim_id}/documents - Content-Type:
multipart/form-data - Fields:
document_type(string, required): One of:PRESCRIPTION,BILL,LAB_REPORT,OTHERfile(binary file, required): PDF, PNG, JPG, or JPEG
- Response (200 OK):
{
"document_id": 12,
"document_type": "BILL",
"file_name": "hospital_receipt.pdf",
"extracted_data": {
"bill_number": "INV-10293",
"bill_date": "2024-11-01",
"hospital_clinic_name": "Apollo Hospitals",
"patient_name": "Rajesh Kumar",
"items": [
{
"description": "Consultation fee",
"category": "consultation",
"amount": 1000.0
},
{
"description": "CBC blood test",
"category": "diagnostic",
"amount": 500.0
}
],
"total_amount": 1500.0,
"tax_amount": 0.0
},
"extraction_confidence": 0.94
}
4. Adjudicate Claim
- Endpoint:
POST /api/claims/{claim_id}/adjudicate - Request: None
- Response (200 OK):
{
"decision": "APPROVED",
"approved_amount": 1350.0,
"confidence_score": 0.95,
"reasons": [
"Medical necessity established",
"All documents valid",
"Amount within limits"
],
"flags": [],
"notes": "Consultation fee ₹1000 subject to 10% copay (₹100). Diagnostic test ₹500 subject to 10% copay (₹50). Total copay: ₹150.",
"next_steps": "Your reimbursement of ₹1350 has been approved and queued for bank transfer.",
"policy_engine_log": {
"eligible": true,
"errors": [],
"warnings": [],
"notes": "Deterministic rules check complete.",
"member_info": {
"id": "EMP001",
"name": "Rajesh Kumar",
"status": "ACTIVE",
"annual_limit_remaining": 48650.0
}
}
}
5. Get Claim Details
- Endpoint:
GET /api/claims/{claim_id} - Response (200 OK): Returns the full claim schema, including documents, adjudication result, and audit log list.
6. List/Search Claims
- Endpoint:
GET /api/claims - Query Parameters:
status(string, optional): Filter by status (PENDING,APPROVED, etc.)search(string, optional): Search string for names or IDs
- Response (200 OK): Array of claim objects.
7. Get Admin Stats
- Endpoint:
GET /api/admin/stats - Response (200 OK):
{
"total_claims": 24,
"approved_claims": 18,
"rejected_claims": 4,
"manual_review_claims": 2,
"approval_rate": 75.0,
"average_confidence": 0.89,
"claims_by_status": {
"APPROVED": 16,
"PARTIAL": 2,
"REJECTED": 4,
"MANUAL_REVIEW": 2
},
"daily_volume": [
{
"date": "2026-06-04",
"count": 24
}
]
}