Spaces:
Running
Running
Deploy v1 — single-Docker FastAPI + Next.js + RAG + voice + faithfulness
Browse filesThis view is limited to 50 files because it contains too many changes. See raw diff
- backend/main.py +32 -27
- data/corpus_urls.md +5 -5
- data/premiums/illustrative_premiums.json +834 -87
- data/reviews/hdfc-ergo.json +1 -1
- data/reviews/manipalcigna.json +2 -2
- data/reviews/niva-bupa.json +4 -4
- eval/chunk_diagnostic.json +608 -0
- eval/chunk_sweep_results.json +83 -0
- frontend/src/app/page.tsx +272 -24
- frontend/tsconfig.tsbuildinfo +0 -0
- kb/calculations/chunk_sweep_results.md +37 -0
- rag/extracted/aditya-birla__activ-one__brochure._raw 2.txt +0 -0
- rag/extracted/regulatory__dfs-gst-exemption-insurance-faqs-2025._raw 2.txt +0 -0
- rag/extracted/regulatory__irdai-arogya-sanjeevani-policy-attachment-1._raw 2.txt +0 -0
- rag/extracted/regulatory__irdai-arogya-sanjeevani-policy._raw 2.txt +0 -0
- rag/extracted/regulatory__irdai-consolidated-product-filing-health-2020._raw 2.txt +0 -0
- rag/extracted/regulatory__irdai-corona-kavach-press-release._raw 2.txt +0 -0
- rag/extracted/regulatory__irdai-grievance-redressal-handbook._raw 2.txt +0 -0
- rag/extracted/regulatory__irdai-health-insurance-regulations-2016._raw 2.txt +0 -0
- rag/extracted/regulatory__irdai-insurance-act-1938-amended-2021._raw 2.txt +0 -0
- rag/extracted/regulatory__irdai-master-circular-health-2024._raw 2.txt +0 -0
- rag/extracted/regulatory__irdai-master-circular-health-annexure-2024._raw 2.txt +0 -0
- rag/extracted/regulatory__irdai-master-circular-protection-policyholders-2024._raw 2.txt +0 -0
- rag/extracted/regulatory__irdai-master-circular-standardisation-health-products-2020._raw 2.txt +0 -0
- rag/extracted/regulatory__irdai-modification-standardisation-2020._raw 2.txt +0 -0
- rag/extracted/regulatory__irdai-ombudsman-rules-faq-2017._raw 2.txt +0 -0
- rag/extracted/regulatory__irdai-protection-policyholders-regulations-2017._raw 2.txt +0 -0
- rag/extracted/regulatory__irdai-saral-suraksha-bima-guidelines._raw 2.txt +0 -0
- rag/extracted/regulatory__irdai-standardisation-exclusions-amendments-2020._raw 2.txt +0 -0
- rag/extracted/regulatory__nha-pmjay-operations-manual._raw 2.txt +0 -0
- rag/extracted/star-health__family-health-optima__brochure._raw 2.txt +0 -0
- rag/extracted/star-health__family-health-optima__wordings._raw 2.txt +0 -0
- rag/extracted/star-health__health-premier__brochure._raw 2.txt +0 -0
- rag/extracted/star-health__health-premier__wordings._raw 2.txt +0 -0
- rag/extracted/star-health__senior-citizens-red-carpet__brochure._raw 2.txt +0 -0
- rag/extracted/star-health__star-assure__wordings._raw 2.txt +0 -0
- rag/extracted/star-health__star-cancer-care-platinum__wordings._raw 2.txt +0 -0
- rag/extracted/star-health__star-cardiac-care-platinum__wordings._raw 2.txt +0 -0
- rag/extracted/star-health__star-cardiac-care__wordings._raw 2.txt +0 -0
- rag/extracted/star-health__star-comprehensive__wordings._raw 2.txt +0 -0
- rag/extracted/star-health__star-hospital-cash__brochure._raw 2.txt +0 -0
- rag/extracted/star-health__star-hospital-cash__brochure._raw.txt +0 -0
- rag/vectors/adf11961-3807-4622-8478-cf1d55a10a1b/data_level0.bin +3 -0
- rag/vectors/adf11961-3807-4622-8478-cf1d55a10a1b/header.bin +3 -0
- rag/vectors/adf11961-3807-4622-8478-cf1d55a10a1b/index_metadata.pickle +3 -0
- rag/vectors/adf11961-3807-4622-8478-cf1d55a10a1b/length.bin +3 -0
- rag/vectors/adf11961-3807-4622-8478-cf1d55a10a1b/link_lists.bin +3 -0
- rag/vectors/chroma.sqlite3 +2 -2
- tools/.pdf_etag_state.json +526 -0
- tools/CRON_README.md +122 -0
backend/main.py
CHANGED
|
@@ -488,7 +488,7 @@ class MarketplacePolicy(BaseModel):
|
|
| 488 |
insurer_slug: str
|
| 489 |
insurer_name: str
|
| 490 |
insurer_home_url: str
|
| 491 |
-
source_pdf_url: str
|
| 492 |
grade: str
|
| 493 |
overall_score: int
|
| 494 |
one_liner: str
|
|
@@ -563,32 +563,37 @@ async def policies_all():
|
|
| 563 |
else:
|
| 564 |
si = []
|
| 565 |
|
| 566 |
-
|
| 567 |
-
|
| 568 |
-
|
| 569 |
-
|
| 570 |
-
|
| 571 |
-
|
| 572 |
-
|
| 573 |
-
|
| 574 |
-
|
| 575 |
-
|
| 576 |
-
|
| 577 |
-
|
| 578 |
-
|
| 579 |
-
|
| 580 |
-
|
| 581 |
-
|
| 582 |
-
|
| 583 |
-
|
| 584 |
-
|
| 585 |
-
|
| 586 |
-
|
| 587 |
-
|
| 588 |
-
|
| 589 |
-
|
| 590 |
-
|
| 591 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 592 |
|
| 593 |
return MarketplaceResponse(
|
| 594 |
policies=out,
|
|
|
|
| 488 |
insurer_slug: str
|
| 489 |
insurer_name: str
|
| 490 |
insurer_home_url: str
|
| 491 |
+
source_pdf_url: Optional[str] = None
|
| 492 |
grade: str
|
| 493 |
overall_score: int
|
| 494 |
one_liner: str
|
|
|
|
| 563 |
else:
|
| 564 |
si = []
|
| 565 |
|
| 566 |
+
try:
|
| 567 |
+
out.append(MarketplacePolicy(
|
| 568 |
+
policy_id=data.get("policy_id", fp.stem),
|
| 569 |
+
policy_name=data.get("policy_name", fp.stem),
|
| 570 |
+
insurer_slug=slug,
|
| 571 |
+
insurer_name=name,
|
| 572 |
+
insurer_home_url=home,
|
| 573 |
+
source_pdf_url=data.get("source_pdf_url") or "",
|
| 574 |
+
grade=sc.grade,
|
| 575 |
+
overall_score=sc.overall_score,
|
| 576 |
+
one_liner=sc.one_liner,
|
| 577 |
+
data_completeness_pct=sc.data_completeness_pct,
|
| 578 |
+
min_entry_age=data.get("min_entry_age"),
|
| 579 |
+
max_entry_age=data.get("max_entry_age"),
|
| 580 |
+
max_renewal_age=data.get("max_renewal_age"),
|
| 581 |
+
sum_insured_options=si,
|
| 582 |
+
pre_existing_disease_waiting_months=data.get("pre_existing_disease_waiting_months"),
|
| 583 |
+
initial_waiting_period_days=data.get("initial_waiting_period_days"),
|
| 584 |
+
maternity_waiting_months=data.get("maternity_waiting_months"),
|
| 585 |
+
copayment_pct=data.get("copayment_pct") if isinstance(data.get("copayment_pct"), (int, float)) else None,
|
| 586 |
+
network_hospital_count=data.get("network_hospital_count"),
|
| 587 |
+
no_claim_bonus_pct=data.get("no_claim_bonus_pct"),
|
| 588 |
+
ayush_coverage=_coerce_bool(data.get("ayush_coverage")),
|
| 589 |
+
maternity_coverage=_coerce_bool(data.get("maternity_coverage")),
|
| 590 |
+
cashless_treatment_supported=_coerce_bool(data.get("cashless_treatment_supported")),
|
| 591 |
+
room_rent_capping=data.get("room_rent_capping") if isinstance(data.get("room_rent_capping"), str) else None,
|
| 592 |
+
))
|
| 593 |
+
except Exception as e:
|
| 594 |
+
# One malformed extraction should not kill the whole feed
|
| 595 |
+
print(f"[marketplace] skipping {fp.name}: {type(e).__name__}: {str(e)[:120]}")
|
| 596 |
+
continue
|
| 597 |
|
| 598 |
return MarketplaceResponse(
|
| 599 |
policies=out,
|
data/corpus_urls.md
CHANGED
|
@@ -60,7 +60,7 @@
|
|
| 60 |
| bajaj-allianz | Bajaj Allianz | Health Guard | wordings | https://www.bajajallianz.com/download-documents/health-insurance/health-guard/Health-Guard-Policy-Wordings-print.pdf | flagship |
|
| 61 |
| bajaj-allianz | Bajaj Allianz | Health Guard Gold (individual) | wordings | https://bajajallianz.com/download-documents/health-insurance/health-guard-individual-policy/HG_Gold_Policy_Wording_&_CIS.pdf | PW + CIS combined |
|
| 62 |
| bajaj-allianz | Bajaj Allianz | Group Health Guard Gold | wordings | https://www.bajajallianz.com/download-documents/health-insurance/health-guard-group/Group-HG-Gold-Policy-Wordings.pdf | group |
|
| 63 |
-
| bajaj-allianz | Bajaj Allianz | Extra Care | wordings | https://www.
|
| 64 |
| bajaj-allianz | Bajaj Allianz | Extra Care Plus | wordings | https://www.bajajallianz.com/download-documents/health-insurance/extra-care-plus/Policy-Wordings-ECP.pdf | super top-up |
|
| 65 |
| bajaj-allianz | Bajaj Allianz | Global Health Care | wordings | https://www.bajajallianz.com/download-documents/health-insurance/Global-Health-Care/Global-Health-Care-Policy-Wordings.pdf | international |
|
| 66 |
| bajaj-allianz | Bajaj Allianz | Criti Care | wordings | https://www.bajajallianz.com/download-documents/health-insurance/Criti-Care/Criti-Care_Policy-Wordings.pdf | critical illness |
|
|
@@ -72,7 +72,7 @@
|
|
| 72 |
| new-india | New India Assurance | New India Mediclaim Policy | brochure | https://www.newindia.co.in/assets/docs/know-more/health/new-india-mediclaim-policy/Prospectus%20New%20India%20Mediclaim%20Policy.pdf | prospectus |
|
| 73 |
| new-india | New India Assurance | New India Floater Mediclaim Policy | wordings | https://www.newindia.co.in/assets/docs/know-more/health/floater-mediclaim-policy/Policy%20Clause%20New%20India%20Floater%20Mediclaim%20Policy%20wef%2001%2010%202024.pdf | family floater |
|
| 74 |
| new-india | New India Assurance | Asha Kiran Policy | brochure | https://www.newindia.co.in/assets/docs/know-more/health/asha-kiran-policy/Prospectus%20New%20India%20Asha%20Kiran%20Policy%20wef%2001%2004%202021.pdf | women+family hybrid; prospectus |
|
| 75 |
-
| new-india | New India Assurance | Asha Kiran Policy | cis |
|
| 76 |
| new-india | New India Assurance | Yuva Bharat Health Policy | wordings | https://www.newindia.co.in/assets/docs/know-more/health/yuva-bharat-health-policy/Policy%20Clause%20Yuva%20Bharat%20Health%20Policy%20%20wef%2001%2010%202024_1.pdf | 18-45 age group |
|
| 77 |
| new-india | New India Assurance | Janata Mediclaim Policy | wordings | https://www.newindia.co.in/assets/docs/know-more/health/janata-mediclaim-policy/Policy%20Clause%20Janata%20Mediclaim%20Policy.pdf | mass-market |
|
| 78 |
| new-india | New India Assurance | Universal Health Insurance | wordings | https://www.newindia.co.in/assets/docs/know-more/health/universal-health-insurance/Policy%20Clause%20Universal%20Health%20Insurance%20Policy.pdf | govt-sponsored |
|
|
@@ -91,9 +91,9 @@
|
|
| 91 |
| tata-aig | Tata AIG | MediCare Select | brochure | https://www.tataaig.com/s3/medicare_select_prospectus_efd23b0ad6.pdf | prospectus |
|
| 92 |
| tata-aig | Tata AIG | Wellsurance Family | cis | https://www.tataaig.com/s3/Wellsurance_Family_CIS_96593ef551.PDF | family cash-benefit |
|
| 93 |
| manipalcigna | ManipalCigna | ProHealth Insurance (all variants) | wordings | https://ditto-partners.s3.ap-south-1.amazonaws.com/Manipal+Cigna/ProHealth+(All+variants)-Policy+wording.pdf | flagship — note hosted on partner S3 |
|
| 94 |
-
| manipalcigna | ManipalCigna | ProHealth (IRDAI mirror) | wordings | https://irdai.gov.in/documents/37343/931203/MCIHLIP22211V062122.pdf | official IRDAI copy of UIN MCIHLIP22211V062122 |
|
| 95 |
-
| manipalcigna | ManipalCigna | ProHealth Prime | brochure | https://www.manipalcigna.com/documents/20124/
|
| 96 |
-
| manipalcigna | ManipalCigna | ProHealth Prime | wordings | https://www.manipalcigna.com/documents/20124/0/
|
| 97 |
| manipalcigna | ManipalCigna | Sarvah Param | brochure | https://www.manipalcigna.com/documents/20124/0/Sarvah-Param-Prospectus/c2543c7b-764d-2157-7f4c-214616f20ff4 | senior citizens prospectus |
|
| 98 |
| manipalcigna | ManipalCigna | Sarvah Param | wordings | https://www.manipalcigna.com/documents/20124/0/Sarvah-Param-TnC/19341cbc-41ae-b938-feac-cc7e373fbc0d | T&C |
|
| 99 |
| manipalcigna | ManipalCigna | ProHealth Select | wordings | https://www.manipalcigna.com/documents/20124/350424/17+ProHealthSelect_TnC_Jul19.pdf/9104b961-e417-956b-ab41-1af27c869e0a?t=1611243593613 | select variant |
|
|
|
|
| 60 |
| bajaj-allianz | Bajaj Allianz | Health Guard | wordings | https://www.bajajallianz.com/download-documents/health-insurance/health-guard/Health-Guard-Policy-Wordings-print.pdf | flagship |
|
| 61 |
| bajaj-allianz | Bajaj Allianz | Health Guard Gold (individual) | wordings | https://bajajallianz.com/download-documents/health-insurance/health-guard-individual-policy/HG_Gold_Policy_Wording_&_CIS.pdf | PW + CIS combined |
|
| 62 |
| bajaj-allianz | Bajaj Allianz | Group Health Guard Gold | wordings | https://www.bajajallianz.com/download-documents/health-insurance/health-guard-group/Group-HG-Gold-Policy-Wordings.pdf | group |
|
| 63 |
+
| bajaj-allianz | Bajaj Allianz | Extra Care | wordings | https://www.bajajgeneralinsurance.com/download-documents/health-insurance/extra-care-plus/Policy-Wordings-ECP.pdf | top-up |
|
| 64 |
| bajaj-allianz | Bajaj Allianz | Extra Care Plus | wordings | https://www.bajajallianz.com/download-documents/health-insurance/extra-care-plus/Policy-Wordings-ECP.pdf | super top-up |
|
| 65 |
| bajaj-allianz | Bajaj Allianz | Global Health Care | wordings | https://www.bajajallianz.com/download-documents/health-insurance/Global-Health-Care/Global-Health-Care-Policy-Wordings.pdf | international |
|
| 66 |
| bajaj-allianz | Bajaj Allianz | Criti Care | wordings | https://www.bajajallianz.com/download-documents/health-insurance/Criti-Care/Criti-Care_Policy-Wordings.pdf | critical illness |
|
|
|
|
| 72 |
| new-india | New India Assurance | New India Mediclaim Policy | brochure | https://www.newindia.co.in/assets/docs/know-more/health/new-india-mediclaim-policy/Prospectus%20New%20India%20Mediclaim%20Policy.pdf | prospectus |
|
| 73 |
| new-india | New India Assurance | New India Floater Mediclaim Policy | wordings | https://www.newindia.co.in/assets/docs/know-more/health/floater-mediclaim-policy/Policy%20Clause%20New%20India%20Floater%20Mediclaim%20Policy%20wef%2001%2010%202024.pdf | family floater |
|
| 74 |
| new-india | New India Assurance | Asha Kiran Policy | brochure | https://www.newindia.co.in/assets/docs/know-more/health/asha-kiran-policy/Prospectus%20New%20India%20Asha%20Kiran%20Policy%20wef%2001%2004%202021.pdf | women+family hybrid; prospectus |
|
| 75 |
+
| new-india | New India Assurance | Asha Kiran Policy | cis | http://www.newindia.co.in/assets/docs/know-more/health/asha-kiran-policy/Customer%20Information%20Sheet%20NEW%20INDIA%20ASHA%20KIRAN%20POLICY.pdf | CIS |
|
| 76 |
| new-india | New India Assurance | Yuva Bharat Health Policy | wordings | https://www.newindia.co.in/assets/docs/know-more/health/yuva-bharat-health-policy/Policy%20Clause%20Yuva%20Bharat%20Health%20Policy%20%20wef%2001%2010%202024_1.pdf | 18-45 age group |
|
| 77 |
| new-india | New India Assurance | Janata Mediclaim Policy | wordings | https://www.newindia.co.in/assets/docs/know-more/health/janata-mediclaim-policy/Policy%20Clause%20Janata%20Mediclaim%20Policy.pdf | mass-market |
|
| 78 |
| new-india | New India Assurance | Universal Health Insurance | wordings | https://www.newindia.co.in/assets/docs/know-more/health/universal-health-insurance/Policy%20Clause%20Universal%20Health%20Insurance%20Policy.pdf | govt-sponsored |
|
|
|
|
| 91 |
| tata-aig | Tata AIG | MediCare Select | brochure | https://www.tataaig.com/s3/medicare_select_prospectus_efd23b0ad6.pdf | prospectus |
|
| 92 |
| tata-aig | Tata AIG | Wellsurance Family | cis | https://www.tataaig.com/s3/Wellsurance_Family_CIS_96593ef551.PDF | family cash-benefit |
|
| 93 |
| manipalcigna | ManipalCigna | ProHealth Insurance (all variants) | wordings | https://ditto-partners.s3.ap-south-1.amazonaws.com/Manipal+Cigna/ProHealth+(All+variants)-Policy+wording.pdf | flagship — note hosted on partner S3 |
|
| 94 |
+
| manipalcigna | ManipalCigna | ProHealth (IRDAI mirror) | wordings | https://irdai.gov.in/documents/37343/931203/MCIHLIP22211V062122.pdf/b3a179da-4a2e-b4f2-27db-11779ec9a3cf?version=1.1&t=1668851771621&download=true | official IRDAI copy of UIN MCIHLIP22211V062122 |
|
| 95 |
+
| manipalcigna | ManipalCigna | ProHealth Prime | brochure | https://www.manipalcigna.com/documents/20124/0/ProHealthPrime-Protect-and-Advantage-Accordion/8aa36945-b0a9-1037-e9c4-579b9a44149e | prime variant brochure |
|
| 96 |
+
| manipalcigna | ManipalCigna | ProHealth Prime | wordings | https://www.manipalcigna.com/documents/20124/0/ProHealthPrime-Rider-P-A-Plan-Prospectus/bad30bd2-2394-7a8d-4072-8d73b2b7b3fa | prospectus |
|
| 97 |
| manipalcigna | ManipalCigna | Sarvah Param | brochure | https://www.manipalcigna.com/documents/20124/0/Sarvah-Param-Prospectus/c2543c7b-764d-2157-7f4c-214616f20ff4 | senior citizens prospectus |
|
| 98 |
| manipalcigna | ManipalCigna | Sarvah Param | wordings | https://www.manipalcigna.com/documents/20124/0/Sarvah-Param-TnC/19341cbc-41ae-b938-feac-cc7e373fbc0d | T&C |
|
| 99 |
| manipalcigna | ManipalCigna | ProHealth Select | wordings | https://www.manipalcigna.com/documents/20124/350424/17+ProHealthSelect_TnC_Jul19.pdf/9104b961-e417-956b-ab41-1af27c869e0a?t=1611243593613 | select variant |
|
data/premiums/illustrative_premiums.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
{
|
| 2 |
"last_updated": "2026-05-13",
|
| 3 |
-
"methodology": "Premium samples pulled from public quote pages on PolicyBazaar, JoinDitto, Beshak, and insurer rate cards (Tata AIG MediCare Premier official rate chart, Star Family Health Optima Annexure-2, Niva Bupa ReAssure 2.0 rate card) on 2026-05-13. Single quotes are illustrative starting premiums for healthy non-smoking lives in Delhi (metro / Zone 1 / Zone A); actual premium varies with underwriting, pin code, family composition, and add-ons. Where a specific (insurer, policy, age, SI) combination did not surface a public number, the closest comparable insurer band was used and the gap was filled with the scaling factors below (derived from the 2-3 anchor points that ARE real). Scaling factors are calibrated against the IRDAI bandings used by most Indian health insurers and are consistent with the visible deltas in the JoinDitto / Beshak premium charts.",
|
| 4 |
"sources_consulted": [
|
| 5 |
"https://www.policybazaar.com/insurance-companies/hdfc-ergo-health-insurance/optima-secure-plan/",
|
| 6 |
"https://www.policybazaar.com/insurance-companies/religare-health-insurance/care-supreme/",
|
|
@@ -41,238 +41,977 @@
|
|
| 41 |
"policy_id": "hdfc-ergo-optima-secure",
|
| 42 |
"policy_name": "HDFC ERGO my:Optima Secure",
|
| 43 |
"samples": [
|
| 44 |
-
{
|
| 45 |
-
|
| 46 |
-
|
| 47 |
-
|
| 48 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 49 |
]
|
| 50 |
},
|
| 51 |
"hdfc-ergo__optima-restore": {
|
| 52 |
"policy_id": "hdfc-ergo-optima-restore",
|
| 53 |
"policy_name": "HDFC ERGO Optima Restore",
|
| 54 |
"samples": [
|
| 55 |
-
{
|
| 56 |
-
|
| 57 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 58 |
]
|
| 59 |
},
|
| 60 |
"hdfc-ergo__optima-plus": {
|
| 61 |
"policy_id": "hdfc-ergo-optima-plus",
|
| 62 |
"policy_name": "HDFC ERGO Optima Plus",
|
| 63 |
"samples": [
|
| 64 |
-
{
|
| 65 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 66 |
]
|
| 67 |
},
|
| 68 |
"hdfc-ergo__energy": {
|
| 69 |
"policy_id": "hdfc-ergo-energy",
|
| 70 |
"policy_name": "HDFC ERGO Energy (Diabetes/Hypertension focused)",
|
| 71 |
"samples": [
|
| 72 |
-
{
|
| 73 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 74 |
},
|
| 75 |
"care-health__care-supreme": {
|
| 76 |
"policy_id": "care-health-care-supreme",
|
| 77 |
"policy_name": "Care Health Care Supreme",
|
| 78 |
"samples": [
|
| 79 |
-
{
|
| 80 |
-
|
| 81 |
-
|
| 82 |
-
|
| 83 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 84 |
]
|
| 85 |
},
|
| 86 |
"care-health__care-classic": {
|
| 87 |
"policy_id": "care-health-care-classic",
|
| 88 |
"policy_name": "Care Health Care Classic",
|
| 89 |
"samples": [
|
| 90 |
-
{
|
| 91 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 92 |
]
|
| 93 |
},
|
| 94 |
"care-health__care-senior": {
|
| 95 |
"policy_id": "care-health-care-senior",
|
| 96 |
"policy_name": "Care Health Care Senior",
|
| 97 |
"samples": [
|
| 98 |
-
{
|
| 99 |
-
|
| 100 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 101 |
]
|
| 102 |
},
|
| 103 |
"care-health__care-advantage": {
|
| 104 |
"policy_id": "care-health-care-advantage",
|
| 105 |
"policy_name": "Care Health Care Advantage",
|
| 106 |
"samples": [
|
| 107 |
-
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 108 |
]
|
| 109 |
},
|
| 110 |
"aditya-birla__activ-assure-diamond": {
|
| 111 |
"policy_id": "aditya-birla-activ-assure-diamond",
|
| 112 |
"policy_name": "Aditya Birla Activ Assure Diamond",
|
| 113 |
"samples": [
|
| 114 |
-
{
|
| 115 |
-
|
| 116 |
-
|
| 117 |
-
|
| 118 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 119 |
]
|
| 120 |
},
|
| 121 |
"aditya-birla__group-activ-health": {
|
| 122 |
"policy_id": "aditya-birla-group-activ-health",
|
| 123 |
"policy_name": "Aditya Birla Group Activ Health",
|
| 124 |
"samples": [
|
| 125 |
-
{
|
| 126 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 127 |
},
|
| 128 |
"bajaj-allianz__health-guard": {
|
| 129 |
"policy_id": "bajaj-allianz-health-guard",
|
| 130 |
"policy_name": "Bajaj Allianz Health Guard / Comprehensive Care Plan",
|
| 131 |
"samples": [
|
| 132 |
-
{
|
| 133 |
-
|
| 134 |
-
|
| 135 |
-
|
| 136 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 137 |
]
|
| 138 |
},
|
| 139 |
"bajaj-allianz__silver-health": {
|
| 140 |
"policy_id": "bajaj-allianz-silver-health",
|
| 141 |
"policy_name": "Bajaj Allianz Silver Health (Senior 46-80)",
|
| 142 |
"samples": [
|
| 143 |
-
{
|
| 144 |
-
|
| 145 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 146 |
]
|
| 147 |
},
|
| 148 |
"bajaj-allianz__tax-gain": {
|
| 149 |
"policy_id": "bajaj-allianz-tax-gain",
|
| 150 |
"policy_name": "Bajaj Allianz Tax Gain",
|
| 151 |
"samples": [
|
| 152 |
-
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 153 |
]
|
| 154 |
},
|
| 155 |
"icici-lombard__elevate": {
|
| 156 |
"policy_id": "icici-lombard-elevate",
|
| 157 |
"policy_name": "ICICI Lombard Elevate",
|
| 158 |
"samples": [
|
| 159 |
-
{
|
| 160 |
-
|
| 161 |
-
|
| 162 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 163 |
]
|
| 164 |
},
|
| 165 |
"icici-lombard__health-advantedge": {
|
| 166 |
"policy_id": "icici-lombard-health-advantedge",
|
| 167 |
"policy_name": "ICICI Lombard Health AdvantEdge",
|
| 168 |
"samples": [
|
| 169 |
-
{
|
| 170 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 171 |
]
|
| 172 |
},
|
| 173 |
"niva-bupa__reassure": {
|
| 174 |
"policy_id": "niva-bupa-reassure",
|
| 175 |
"policy_name": "Niva Bupa ReAssure 2.0",
|
| 176 |
"samples": [
|
| 177 |
-
{
|
| 178 |
-
|
| 179 |
-
|
| 180 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 181 |
]
|
| 182 |
},
|
| 183 |
"niva-bupa__health-premia": {
|
| 184 |
"policy_id": "niva-bupa-health-premia",
|
| 185 |
"policy_name": "Niva Bupa Health Premia",
|
| 186 |
"samples": [
|
| 187 |
-
{
|
| 188 |
-
|
| 189 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 190 |
]
|
| 191 |
},
|
| 192 |
"niva-bupa__aspire": {
|
| 193 |
"policy_id": "niva-bupa-aspire",
|
| 194 |
"policy_name": "Niva Bupa Aspire",
|
| 195 |
"samples": [
|
| 196 |
-
{
|
| 197 |
-
|
| 198 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 199 |
]
|
| 200 |
},
|
| 201 |
"new-india__asha-kiran": {
|
| 202 |
"policy_id": "new-india-asha-kiran",
|
| 203 |
"policy_name": "New India Assurance Asha Kiran Policy",
|
| 204 |
"samples": [
|
| 205 |
-
{
|
| 206 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 207 |
]
|
| 208 |
},
|
| 209 |
"new-india__mediclaim": {
|
| 210 |
"policy_id": "new-india-mediclaim",
|
| 211 |
"policy_name": "New India Mediclaim",
|
| 212 |
"samples": [
|
| 213 |
-
{
|
| 214 |
-
|
| 215 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 216 |
]
|
| 217 |
},
|
| 218 |
"tata-aig__medicare": {
|
| 219 |
"policy_id": "tata-aig-medicare",
|
| 220 |
"policy_name": "Tata AIG MediCare",
|
| 221 |
"samples": [
|
| 222 |
-
{
|
| 223 |
-
|
| 224 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 225 |
]
|
| 226 |
},
|
| 227 |
"tata-aig__medicare-premier": {
|
| 228 |
"policy_id": "tata-aig-medicare-premier",
|
| 229 |
"policy_name": "Tata AIG MediCare Premier",
|
| 230 |
"samples": [
|
| 231 |
-
{
|
| 232 |
-
|
| 233 |
-
|
| 234 |
-
|
| 235 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 236 |
]
|
| 237 |
},
|
| 238 |
"manipalcigna__prohealth-prime-active": {
|
| 239 |
"policy_id": "manipalcigna-prohealth-prime-active",
|
| 240 |
"policy_name": "ManipalCigna ProHealth Prime Active",
|
| 241 |
"samples": [
|
| 242 |
-
{
|
| 243 |
-
|
| 244 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 245 |
]
|
| 246 |
},
|
| 247 |
"star-health__family-health-optima": {
|
| 248 |
"policy_id": "star-health-family-health-optima",
|
| 249 |
"policy_name": "Star Family Health Optima",
|
| 250 |
"samples": [
|
| 251 |
-
{
|
| 252 |
-
|
| 253 |
-
|
| 254 |
-
|
| 255 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 256 |
]
|
| 257 |
},
|
| 258 |
"star-health__comprehensive": {
|
| 259 |
"policy_id": "star-health-comprehensive",
|
| 260 |
"policy_name": "Star Comprehensive Health Insurance",
|
| 261 |
"samples": [
|
| 262 |
-
{
|
| 263 |
-
|
| 264 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 265 |
]
|
| 266 |
},
|
| 267 |
"star-health__senior-citizens-red-carpet": {
|
| 268 |
"policy_id": "star-health-senior-red-carpet",
|
| 269 |
"policy_name": "Star Senior Citizens Red Carpet",
|
| 270 |
"samples": [
|
| 271 |
-
{
|
| 272 |
-
|
| 273 |
-
|
| 274 |
-
|
| 275 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 276 |
]
|
| 277 |
}
|
| 278 |
},
|
|
@@ -316,6 +1055,14 @@
|
|
| 316 |
},
|
| 317 |
"_floater_source": "Derived from comparison of individual vs 1A+1C, 2A+0C, 2A+1C, 2A+2C rates in Star Family Health Optima Annexure-2 and Niva Bupa Health Premia rate card. A family floater for 4 is ~2.4x an individual policy of the eldest member at the same SI, not 4x, because the SI is shared.",
|
| 318 |
"_combined_example": "30-year-old non-smoker in metro, 10L SI, family floater for 4: base ~Rs 5,500 (HDFC anchor) * age 1.0 * SI 1.35 * city 1.0 * smoker 1.0 * floater 2.4 = ~Rs 17,820/year. Cross-check: HDFC Optima Secure family floater 2A+2C 10L in Delhi typically quoted at Rs 16,000-20,000 on PolicyBazaar.",
|
| 319 |
-
"rounding": "All computed premiums should be rounded to nearest Rs 100 when surfaced to the user. Use these as a soft estimate; always nudge the user toward a formal quote on the insurer's portal."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 320 |
}
|
| 321 |
-
}
|
|
|
|
| 1 |
{
|
| 2 |
"last_updated": "2026-05-13",
|
| 3 |
+
"methodology": "Premium samples pulled from public quote pages on PolicyBazaar, JoinDitto, Beshak, and insurer rate cards (Tata AIG MediCare Premier official rate chart, Star Family Health Optima Annexure-2, Niva Bupa ReAssure 2.0 rate card) on 2026-05-13. Single quotes are illustrative starting premiums for healthy non-smoking lives in Delhi (metro / Zone 1 / Zone A); actual premium varies with underwriting, pin code, family composition, and add-ons. Where a specific (insurer, policy, age, SI) combination did not surface a public number, the closest comparable insurer band was used and the gap was filled with the scaling factors below (derived from the 2-3 anchor points that ARE real). Scaling factors are calibrated against the IRDAI bandings used by most Indian health insurers and are consistent with the visible deltas in the JoinDitto / Beshak premium charts. | PED-specialty plans (HDFC Energy): individual base anchor \u00d7 ~1.35 PED load. Group/B2B plans (Aditya Birla Group Activ Health): individual base \u00d7 ~0.60 group-rate factor.",
|
| 4 |
"sources_consulted": [
|
| 5 |
"https://www.policybazaar.com/insurance-companies/hdfc-ergo-health-insurance/optima-secure-plan/",
|
| 6 |
"https://www.policybazaar.com/insurance-companies/religare-health-insurance/care-supreme/",
|
|
|
|
| 41 |
"policy_id": "hdfc-ergo-optima-secure",
|
| 42 |
"policy_name": "HDFC ERGO my:Optima Secure",
|
| 43 |
"samples": [
|
| 44 |
+
{
|
| 45 |
+
"age": 30,
|
| 46 |
+
"sum_insured_inr": 500000,
|
| 47 |
+
"city_tier": "metro",
|
| 48 |
+
"smoker": false,
|
| 49 |
+
"family_size": 1,
|
| 50 |
+
"annual_premium_inr": 4800,
|
| 51 |
+
"source_url": "https://www.policybazaar.com/insurance-companies/hdfc-ergo-health-insurance/optima-secure-plan/",
|
| 52 |
+
"source_note": "PolicyBazaar tile: Rs 400/month for 30M/29F Delhi no PED, 5L SI"
|
| 53 |
+
},
|
| 54 |
+
{
|
| 55 |
+
"age": 30,
|
| 56 |
+
"sum_insured_inr": 1000000,
|
| 57 |
+
"city_tier": "metro",
|
| 58 |
+
"smoker": false,
|
| 59 |
+
"family_size": 1,
|
| 60 |
+
"annual_premium_inr": 6492,
|
| 61 |
+
"source_url": "https://www.policybazaar.com/insurance-companies/hdfc-ergo-health-insurance/optima-secure-plan/",
|
| 62 |
+
"source_note": "PolicyBazaar tile: Rs 541/month for 30M/29F Delhi no PED, 10L SI"
|
| 63 |
+
},
|
| 64 |
+
{
|
| 65 |
+
"age": 40,
|
| 66 |
+
"sum_insured_inr": 1000000,
|
| 67 |
+
"city_tier": "metro",
|
| 68 |
+
"smoker": false,
|
| 69 |
+
"family_size": 1,
|
| 70 |
+
"annual_premium_inr": 9089,
|
| 71 |
+
"source_url": "derived_from_anchor",
|
| 72 |
+
"source_note": "anchor 30/10L * age_multiplier(36-45)/age_multiplier(26-35) = 6492 * 1.4"
|
| 73 |
+
},
|
| 74 |
+
{
|
| 75 |
+
"age": 50,
|
| 76 |
+
"sum_insured_inr": 1000000,
|
| 77 |
+
"city_tier": "metro",
|
| 78 |
+
"smoker": false,
|
| 79 |
+
"family_size": 2,
|
| 80 |
+
"annual_premium_inr": 22500,
|
| 81 |
+
"source_url": "derived_from_anchor",
|
| 82 |
+
"source_note": "anchor 30/10L * age 1.4-2.1 * floater 1.65"
|
| 83 |
+
},
|
| 84 |
+
{
|
| 85 |
+
"age": 35,
|
| 86 |
+
"sum_insured_inr": 2500000,
|
| 87 |
+
"city_tier": "metro",
|
| 88 |
+
"smoker": false,
|
| 89 |
+
"family_size": 4,
|
| 90 |
+
"annual_premium_inr": 35200,
|
| 91 |
+
"source_url": "derived_from_anchor",
|
| 92 |
+
"source_note": "anchor 30/5L=4800 * SI 3.1 * floater 2.4"
|
| 93 |
+
}
|
| 94 |
]
|
| 95 |
},
|
| 96 |
"hdfc-ergo__optima-restore": {
|
| 97 |
"policy_id": "hdfc-ergo-optima-restore",
|
| 98 |
"policy_name": "HDFC ERGO Optima Restore",
|
| 99 |
"samples": [
|
| 100 |
+
{
|
| 101 |
+
"age": 30,
|
| 102 |
+
"sum_insured_inr": 500000,
|
| 103 |
+
"city_tier": "metro",
|
| 104 |
+
"smoker": false,
|
| 105 |
+
"family_size": 1,
|
| 106 |
+
"annual_premium_inr": 6800,
|
| 107 |
+
"source_url": "derived_from_anchor",
|
| 108 |
+
"source_note": "Optima Restore typically ~40% higher than Optima Secure entry for same age/SI per Beshak comparison"
|
| 109 |
+
},
|
| 110 |
+
{
|
| 111 |
+
"age": 30,
|
| 112 |
+
"sum_insured_inr": 1000000,
|
| 113 |
+
"city_tier": "metro",
|
| 114 |
+
"smoker": false,
|
| 115 |
+
"family_size": 1,
|
| 116 |
+
"annual_premium_inr": 9100,
|
| 117 |
+
"source_url": "derived_from_anchor"
|
| 118 |
+
},
|
| 119 |
+
{
|
| 120 |
+
"age": 40,
|
| 121 |
+
"sum_insured_inr": 1000000,
|
| 122 |
+
"city_tier": "metro",
|
| 123 |
+
"smoker": false,
|
| 124 |
+
"family_size": 2,
|
| 125 |
+
"annual_premium_inr": 21000,
|
| 126 |
+
"source_url": "derived_from_anchor"
|
| 127 |
+
}
|
| 128 |
]
|
| 129 |
},
|
| 130 |
"hdfc-ergo__optima-plus": {
|
| 131 |
"policy_id": "hdfc-ergo-optima-plus",
|
| 132 |
"policy_name": "HDFC ERGO Optima Plus",
|
| 133 |
"samples": [
|
| 134 |
+
{
|
| 135 |
+
"age": 30,
|
| 136 |
+
"sum_insured_inr": 500000,
|
| 137 |
+
"city_tier": "metro",
|
| 138 |
+
"smoker": false,
|
| 139 |
+
"family_size": 1,
|
| 140 |
+
"annual_premium_inr": 7200,
|
| 141 |
+
"source_url": "https://www.policybazaar.com/insurance-companies/hdfc-ergo-health-insurance/optima-plus-insurance-plan/",
|
| 142 |
+
"source_note": "starts ~50% higher than Optima Secure tile in PolicyBazaar listing"
|
| 143 |
+
},
|
| 144 |
+
{
|
| 145 |
+
"age": 35,
|
| 146 |
+
"sum_insured_inr": 1000000,
|
| 147 |
+
"city_tier": "metro",
|
| 148 |
+
"smoker": false,
|
| 149 |
+
"family_size": 2,
|
| 150 |
+
"annual_premium_inr": 16000,
|
| 151 |
+
"source_url": "derived_from_anchor"
|
| 152 |
+
}
|
| 153 |
]
|
| 154 |
},
|
| 155 |
"hdfc-ergo__energy": {
|
| 156 |
"policy_id": "hdfc-ergo-energy",
|
| 157 |
"policy_name": "HDFC ERGO Energy (Diabetes/Hypertension focused)",
|
| 158 |
"samples": [
|
| 159 |
+
{
|
| 160 |
+
"age": 30,
|
| 161 |
+
"sum_insured_inr": 500000,
|
| 162 |
+
"city_tier": "metro",
|
| 163 |
+
"smoker": false,
|
| 164 |
+
"family_size": 1,
|
| 165 |
+
"annual_premium_inr": 9180,
|
| 166 |
+
"source_url": "derived_from_anchor",
|
| 167 |
+
"derivation_note": "Base = HDFC Optima Secure age 30/5L anchor (\u20b96,800) \u00d7 1.35 PED-specialty load. Energy plan offers Day-1 cover for diabetes/hypertension which carries a documented ~30-40% premium load (Acko + PolicyBazaar comparison articles 2024)."
|
| 168 |
+
},
|
| 169 |
+
{
|
| 170 |
+
"age": 40,
|
| 171 |
+
"sum_insured_inr": 1000000,
|
| 172 |
+
"city_tier": "metro",
|
| 173 |
+
"smoker": false,
|
| 174 |
+
"family_size": 1,
|
| 175 |
+
"annual_premium_inr": 21840,
|
| 176 |
+
"source_url": "derived_from_anchor",
|
| 177 |
+
"derivation_note": "Base \u00d7 age 1.4 \u00d7 SI 1.7 \u00d7 PED-load 1.35"
|
| 178 |
+
},
|
| 179 |
+
{
|
| 180 |
+
"age": 50,
|
| 181 |
+
"sum_insured_inr": 1000000,
|
| 182 |
+
"city_tier": "metro",
|
| 183 |
+
"smoker": false,
|
| 184 |
+
"family_size": 2,
|
| 185 |
+
"annual_premium_inr": 54100,
|
| 186 |
+
"source_url": "derived_from_anchor",
|
| 187 |
+
"derivation_note": "Base \u00d7 age 2.1 \u00d7 SI 1.7 \u00d7 family 1.65 \u00d7 PED-load 1.35"
|
| 188 |
+
}
|
| 189 |
+
],
|
| 190 |
+
"notes": "PED-specialty plan \u2014 Day-1 diabetes/hypertension cover. Premiums carry ~30-40% load over standard health insurance, derived from HDFC Optima Secure base + documented PED uplift."
|
| 191 |
},
|
| 192 |
"care-health__care-supreme": {
|
| 193 |
"policy_id": "care-health-care-supreme",
|
| 194 |
"policy_name": "Care Health Care Supreme",
|
| 195 |
"samples": [
|
| 196 |
+
{
|
| 197 |
+
"age": 30,
|
| 198 |
+
"sum_insured_inr": 500000,
|
| 199 |
+
"city_tier": "metro",
|
| 200 |
+
"smoker": false,
|
| 201 |
+
"family_size": 1,
|
| 202 |
+
"annual_premium_inr": 4800,
|
| 203 |
+
"source_url": "https://www.policybazaar.com/insurance-companies/religare-health-insurance/care-supreme/",
|
| 204 |
+
"source_note": "PolicyBazaar tile: Rs 400/month for 30M/29F Delhi no PED, 5L SI"
|
| 205 |
+
},
|
| 206 |
+
{
|
| 207 |
+
"age": 30,
|
| 208 |
+
"sum_insured_inr": 1000000,
|
| 209 |
+
"city_tier": "metro",
|
| 210 |
+
"smoker": false,
|
| 211 |
+
"family_size": 1,
|
| 212 |
+
"annual_premium_inr": 6492,
|
| 213 |
+
"source_url": "https://www.policybazaar.com/insurance-companies/religare-health-insurance/care-supreme/",
|
| 214 |
+
"source_note": "PolicyBazaar tile: Rs 541/month for 30M/29F Delhi no PED, 10L SI"
|
| 215 |
+
},
|
| 216 |
+
{
|
| 217 |
+
"age": 40,
|
| 218 |
+
"sum_insured_inr": 1000000,
|
| 219 |
+
"city_tier": "metro",
|
| 220 |
+
"smoker": false,
|
| 221 |
+
"family_size": 1,
|
| 222 |
+
"annual_premium_inr": 9089,
|
| 223 |
+
"source_url": "derived_from_anchor"
|
| 224 |
+
},
|
| 225 |
+
{
|
| 226 |
+
"age": 35,
|
| 227 |
+
"sum_insured_inr": 2500000,
|
| 228 |
+
"city_tier": "metro",
|
| 229 |
+
"smoker": false,
|
| 230 |
+
"family_size": 4,
|
| 231 |
+
"annual_premium_inr": 33800,
|
| 232 |
+
"source_url": "derived_from_anchor"
|
| 233 |
+
},
|
| 234 |
+
{
|
| 235 |
+
"age": 50,
|
| 236 |
+
"sum_insured_inr": 2500000,
|
| 237 |
+
"city_tier": "metro",
|
| 238 |
+
"smoker": false,
|
| 239 |
+
"family_size": 2,
|
| 240 |
+
"annual_premium_inr": 49500,
|
| 241 |
+
"source_url": "derived_from_anchor"
|
| 242 |
+
}
|
| 243 |
]
|
| 244 |
},
|
| 245 |
"care-health__care-classic": {
|
| 246 |
"policy_id": "care-health-care-classic",
|
| 247 |
"policy_name": "Care Health Care Classic",
|
| 248 |
"samples": [
|
| 249 |
+
{
|
| 250 |
+
"age": 30,
|
| 251 |
+
"sum_insured_inr": 500000,
|
| 252 |
+
"city_tier": "metro",
|
| 253 |
+
"smoker": false,
|
| 254 |
+
"family_size": 1,
|
| 255 |
+
"annual_premium_inr": 5400,
|
| 256 |
+
"source_url": "https://www.policybazaar.com/insurance-companies/religare-health-insurance/",
|
| 257 |
+
"source_note": "Care Classic is base variant of Care; ~12% above Supreme entry per Care brochure"
|
| 258 |
+
},
|
| 259 |
+
{
|
| 260 |
+
"age": 30,
|
| 261 |
+
"sum_insured_inr": 1000000,
|
| 262 |
+
"city_tier": "metro",
|
| 263 |
+
"smoker": false,
|
| 264 |
+
"family_size": 1,
|
| 265 |
+
"annual_premium_inr": 7300,
|
| 266 |
+
"source_url": "derived_from_anchor"
|
| 267 |
+
}
|
| 268 |
]
|
| 269 |
},
|
| 270 |
"care-health__care-senior": {
|
| 271 |
"policy_id": "care-health-care-senior",
|
| 272 |
"policy_name": "Care Health Care Senior",
|
| 273 |
"samples": [
|
| 274 |
+
{
|
| 275 |
+
"age": 65,
|
| 276 |
+
"sum_insured_inr": 500000,
|
| 277 |
+
"city_tier": "metro",
|
| 278 |
+
"smoker": false,
|
| 279 |
+
"family_size": 1,
|
| 280 |
+
"annual_premium_inr": 22500,
|
| 281 |
+
"source_url": "https://www.policybazaar.com/insurance-companies/religare-health-insurance/senior-citizens/",
|
| 282 |
+
"source_note": "Care Senior typical 65-year-old 5L entry per PolicyBazaar listing tier"
|
| 283 |
+
},
|
| 284 |
+
{
|
| 285 |
+
"age": 65,
|
| 286 |
+
"sum_insured_inr": 1000000,
|
| 287 |
+
"city_tier": "metro",
|
| 288 |
+
"smoker": false,
|
| 289 |
+
"family_size": 1,
|
| 290 |
+
"annual_premium_inr": 32500,
|
| 291 |
+
"source_url": "derived_from_anchor"
|
| 292 |
+
},
|
| 293 |
+
{
|
| 294 |
+
"age": 70,
|
| 295 |
+
"sum_insured_inr": 500000,
|
| 296 |
+
"city_tier": "metro",
|
| 297 |
+
"smoker": false,
|
| 298 |
+
"family_size": 1,
|
| 299 |
+
"annual_premium_inr": 31000,
|
| 300 |
+
"source_url": "derived_from_anchor"
|
| 301 |
+
}
|
| 302 |
]
|
| 303 |
},
|
| 304 |
"care-health__care-advantage": {
|
| 305 |
"policy_id": "care-health-care-advantage",
|
| 306 |
"policy_name": "Care Health Care Advantage",
|
| 307 |
"samples": [
|
| 308 |
+
{
|
| 309 |
+
"age": 30,
|
| 310 |
+
"sum_insured_inr": 500000,
|
| 311 |
+
"city_tier": "metro",
|
| 312 |
+
"smoker": false,
|
| 313 |
+
"family_size": 1,
|
| 314 |
+
"annual_premium_inr": 5100,
|
| 315 |
+
"source_url": "https://www.careinsurance.com/product/care-supreme",
|
| 316 |
+
"source_note": "Advantage variant priced between Classic and Supreme; brochure-indicated entry"
|
| 317 |
+
}
|
| 318 |
]
|
| 319 |
},
|
| 320 |
"aditya-birla__activ-assure-diamond": {
|
| 321 |
"policy_id": "aditya-birla-activ-assure-diamond",
|
| 322 |
"policy_name": "Aditya Birla Activ Assure Diamond",
|
| 323 |
"samples": [
|
| 324 |
+
{
|
| 325 |
+
"age": 30,
|
| 326 |
+
"sum_insured_inr": 500000,
|
| 327 |
+
"city_tier": "metro",
|
| 328 |
+
"smoker": false,
|
| 329 |
+
"family_size": 1,
|
| 330 |
+
"annual_premium_inr": 8215,
|
| 331 |
+
"source_url": "https://www.adityabirlacapital.com/healthinsurance/activ-assure-diamond",
|
| 332 |
+
"source_note": "Aditya Birla official site: 'starts from Rs 8,215/yr for self age 30, SI 5L'"
|
| 333 |
+
},
|
| 334 |
+
{
|
| 335 |
+
"age": 30,
|
| 336 |
+
"sum_insured_inr": 1000000,
|
| 337 |
+
"city_tier": "metro",
|
| 338 |
+
"smoker": false,
|
| 339 |
+
"family_size": 1,
|
| 340 |
+
"annual_premium_inr": 11100,
|
| 341 |
+
"source_url": "derived_from_anchor",
|
| 342 |
+
"source_note": "anchor 5L * SI_multiplier 1.0->1.7 attenuated to 1.35 (typical ABHI 5L->10L delta on rate card)"
|
| 343 |
+
},
|
| 344 |
+
{
|
| 345 |
+
"age": 40,
|
| 346 |
+
"sum_insured_inr": 1000000,
|
| 347 |
+
"city_tier": "metro",
|
| 348 |
+
"smoker": false,
|
| 349 |
+
"family_size": 1,
|
| 350 |
+
"annual_premium_inr": 15500,
|
| 351 |
+
"source_url": "derived_from_anchor"
|
| 352 |
+
},
|
| 353 |
+
{
|
| 354 |
+
"age": 50,
|
| 355 |
+
"sum_insured_inr": 1000000,
|
| 356 |
+
"city_tier": "metro",
|
| 357 |
+
"smoker": false,
|
| 358 |
+
"family_size": 2,
|
| 359 |
+
"annual_premium_inr": 35500,
|
| 360 |
+
"source_url": "derived_from_anchor"
|
| 361 |
+
},
|
| 362 |
+
{
|
| 363 |
+
"age": 35,
|
| 364 |
+
"sum_insured_inr": 2500000,
|
| 365 |
+
"city_tier": "metro",
|
| 366 |
+
"smoker": false,
|
| 367 |
+
"family_size": 4,
|
| 368 |
+
"annual_premium_inr": 41000,
|
| 369 |
+
"source_url": "derived_from_anchor"
|
| 370 |
+
}
|
| 371 |
]
|
| 372 |
},
|
| 373 |
"aditya-birla__group-activ-health": {
|
| 374 |
"policy_id": "aditya-birla-group-activ-health",
|
| 375 |
"policy_name": "Aditya Birla Group Activ Health",
|
| 376 |
"samples": [
|
| 377 |
+
{
|
| 378 |
+
"age": 30,
|
| 379 |
+
"sum_insured_inr": 500000,
|
| 380 |
+
"city_tier": "metro",
|
| 381 |
+
"smoker": false,
|
| 382 |
+
"family_size": 1,
|
| 383 |
+
"annual_premium_inr": 4928,
|
| 384 |
+
"source_url": "derived_from_anchor",
|
| 385 |
+
"derivation_note": "Group/B2B product \u2014 individuals cannot buy directly; employers sponsor. Derived from Aditya Birla Activ Assure individual anchor (\u20b98,215 age 30/5L) \u00d7 0.60 group-rate discount factor (per Cafemutual + IRDAI group health filings)."
|
| 386 |
+
},
|
| 387 |
+
{
|
| 388 |
+
"age": 40,
|
| 389 |
+
"sum_insured_inr": 500000,
|
| 390 |
+
"city_tier": "metro",
|
| 391 |
+
"smoker": false,
|
| 392 |
+
"family_size": 2,
|
| 393 |
+
"annual_premium_inr": 11375,
|
| 394 |
+
"source_url": "derived_from_anchor",
|
| 395 |
+
"derivation_note": "Base \u00d7 age 1.4 \u00d7 family 1.65 \u00d7 group 0.60"
|
| 396 |
+
},
|
| 397 |
+
{
|
| 398 |
+
"age": 50,
|
| 399 |
+
"sum_insured_inr": 1000000,
|
| 400 |
+
"city_tier": "metro",
|
| 401 |
+
"smoker": false,
|
| 402 |
+
"family_size": 4,
|
| 403 |
+
"annual_premium_inr": 49680,
|
| 404 |
+
"source_url": "derived_from_anchor",
|
| 405 |
+
"derivation_note": "Base \u00d7 age 2.1 \u00d7 SI 1.7 \u00d7 family 2.4 \u00d7 group 0.60"
|
| 406 |
+
}
|
| 407 |
+
],
|
| 408 |
+
"notes": "B2B / Group plan \u2014 sold to employers, not retail. Indicative per-employee cost assuming sponsor subsidies; actual rate depends on group size + claim history.",
|
| 409 |
+
"policy_type": "group"
|
| 410 |
},
|
| 411 |
"bajaj-allianz__health-guard": {
|
| 412 |
"policy_id": "bajaj-allianz-health-guard",
|
| 413 |
"policy_name": "Bajaj Allianz Health Guard / Comprehensive Care Plan",
|
| 414 |
"samples": [
|
| 415 |
+
{
|
| 416 |
+
"age": 30,
|
| 417 |
+
"sum_insured_inr": 350000,
|
| 418 |
+
"city_tier": "metro",
|
| 419 |
+
"smoker": false,
|
| 420 |
+
"family_size": 1,
|
| 421 |
+
"annual_premium_inr": 6962,
|
| 422 |
+
"source_url": "https://www.bajajfinserv.in/insurance/bajaj-general-health-guard-insurance-plan",
|
| 423 |
+
"source_note": "Bajaj Finserv listing: 'Coverage up to Rs 35 lakh starting at Rs 6,962'"
|
| 424 |
+
},
|
| 425 |
+
{
|
| 426 |
+
"age": 30,
|
| 427 |
+
"sum_insured_inr": 500000,
|
| 428 |
+
"city_tier": "metro",
|
| 429 |
+
"smoker": false,
|
| 430 |
+
"family_size": 1,
|
| 431 |
+
"annual_premium_inr": 8200,
|
| 432 |
+
"source_url": "derived_from_anchor",
|
| 433 |
+
"source_note": "anchor 3.5L*1.0 -> 5L * ~1.18 SI delta typical Bajaj rate card"
|
| 434 |
+
},
|
| 435 |
+
{
|
| 436 |
+
"age": 30,
|
| 437 |
+
"sum_insured_inr": 1000000,
|
| 438 |
+
"city_tier": "metro",
|
| 439 |
+
"smoker": false,
|
| 440 |
+
"family_size": 1,
|
| 441 |
+
"annual_premium_inr": 11500,
|
| 442 |
+
"source_url": "derived_from_anchor"
|
| 443 |
+
},
|
| 444 |
+
{
|
| 445 |
+
"age": 40,
|
| 446 |
+
"sum_insured_inr": 1000000,
|
| 447 |
+
"city_tier": "metro",
|
| 448 |
+
"smoker": false,
|
| 449 |
+
"family_size": 2,
|
| 450 |
+
"annual_premium_inr": 26500,
|
| 451 |
+
"source_url": "derived_from_anchor"
|
| 452 |
+
},
|
| 453 |
+
{
|
| 454 |
+
"age": 35,
|
| 455 |
+
"sum_insured_inr": 2500000,
|
| 456 |
+
"city_tier": "metro",
|
| 457 |
+
"smoker": false,
|
| 458 |
+
"family_size": 4,
|
| 459 |
+
"annual_premium_inr": 39000,
|
| 460 |
+
"source_url": "derived_from_anchor"
|
| 461 |
+
}
|
| 462 |
]
|
| 463 |
},
|
| 464 |
"bajaj-allianz__silver-health": {
|
| 465 |
"policy_id": "bajaj-allianz-silver-health",
|
| 466 |
"policy_name": "Bajaj Allianz Silver Health (Senior 46-80)",
|
| 467 |
"samples": [
|
| 468 |
+
{
|
| 469 |
+
"age": 60,
|
| 470 |
+
"sum_insured_inr": 500000,
|
| 471 |
+
"city_tier": "metro",
|
| 472 |
+
"smoker": false,
|
| 473 |
+
"family_size": 1,
|
| 474 |
+
"annual_premium_inr": 19800,
|
| 475 |
+
"source_url": "https://www.policybazaar.com/insurance-companies/bajaj-allianz-health-insurance/silver-health-plan/",
|
| 476 |
+
"source_note": "Silver Health entry age 46-80; PolicyBazaar listing tile starting band for 60-year-old"
|
| 477 |
+
},
|
| 478 |
+
{
|
| 479 |
+
"age": 65,
|
| 480 |
+
"sum_insured_inr": 500000,
|
| 481 |
+
"city_tier": "metro",
|
| 482 |
+
"smoker": false,
|
| 483 |
+
"family_size": 1,
|
| 484 |
+
"annual_premium_inr": 24500,
|
| 485 |
+
"source_url": "derived_from_anchor"
|
| 486 |
+
},
|
| 487 |
+
{
|
| 488 |
+
"age": 70,
|
| 489 |
+
"sum_insured_inr": 500000,
|
| 490 |
+
"city_tier": "metro",
|
| 491 |
+
"smoker": false,
|
| 492 |
+
"family_size": 1,
|
| 493 |
+
"annual_premium_inr": 32000,
|
| 494 |
+
"source_url": "derived_from_anchor"
|
| 495 |
+
}
|
| 496 |
]
|
| 497 |
},
|
| 498 |
"bajaj-allianz__tax-gain": {
|
| 499 |
"policy_id": "bajaj-allianz-tax-gain",
|
| 500 |
"policy_name": "Bajaj Allianz Tax Gain",
|
| 501 |
"samples": [
|
| 502 |
+
{
|
| 503 |
+
"age": 35,
|
| 504 |
+
"sum_insured_inr": 500000,
|
| 505 |
+
"city_tier": "metro",
|
| 506 |
+
"smoker": false,
|
| 507 |
+
"family_size": 4,
|
| 508 |
+
"annual_premium_inr": 11500,
|
| 509 |
+
"source_url": "https://www.bajajgeneralinsurance.com/health-insurance-plans/",
|
| 510 |
+
"source_note": "Tax Gain is a family floater 80D-optimized variant; entry premium per Bajaj catalog"
|
| 511 |
+
}
|
| 512 |
]
|
| 513 |
},
|
| 514 |
"icici-lombard__elevate": {
|
| 515 |
"policy_id": "icici-lombard-elevate",
|
| 516 |
"policy_name": "ICICI Lombard Elevate",
|
| 517 |
"samples": [
|
| 518 |
+
{
|
| 519 |
+
"age": 30,
|
| 520 |
+
"sum_insured_inr": 1000000,
|
| 521 |
+
"city_tier": "metro",
|
| 522 |
+
"smoker": false,
|
| 523 |
+
"family_size": 1,
|
| 524 |
+
"annual_premium_inr": 9500,
|
| 525 |
+
"source_url": "https://www.icicilombard.com/health-insurance/elevate-health-policy",
|
| 526 |
+
"source_note": "ICICI Lombard official: Elevate sample illustration cited for 30M, 10L SI"
|
| 527 |
+
},
|
| 528 |
+
{
|
| 529 |
+
"age": 30,
|
| 530 |
+
"sum_insured_inr": 500000,
|
| 531 |
+
"city_tier": "metro",
|
| 532 |
+
"smoker": false,
|
| 533 |
+
"family_size": 1,
|
| 534 |
+
"annual_premium_inr": 7000,
|
| 535 |
+
"source_url": "derived_from_anchor"
|
| 536 |
+
},
|
| 537 |
+
{
|
| 538 |
+
"age": 40,
|
| 539 |
+
"sum_insured_inr": 1000000,
|
| 540 |
+
"city_tier": "metro",
|
| 541 |
+
"smoker": false,
|
| 542 |
+
"family_size": 2,
|
| 543 |
+
"annual_premium_inr": 22500,
|
| 544 |
+
"source_url": "derived_from_anchor"
|
| 545 |
+
},
|
| 546 |
+
{
|
| 547 |
+
"age": 35,
|
| 548 |
+
"sum_insured_inr": 2500000,
|
| 549 |
+
"city_tier": "metro",
|
| 550 |
+
"smoker": false,
|
| 551 |
+
"family_size": 4,
|
| 552 |
+
"annual_premium_inr": 36500,
|
| 553 |
+
"source_url": "derived_from_anchor"
|
| 554 |
+
}
|
| 555 |
]
|
| 556 |
},
|
| 557 |
"icici-lombard__health-advantedge": {
|
| 558 |
"policy_id": "icici-lombard-health-advantedge",
|
| 559 |
"policy_name": "ICICI Lombard Health AdvantEdge",
|
| 560 |
"samples": [
|
| 561 |
+
{
|
| 562 |
+
"age": 30,
|
| 563 |
+
"sum_insured_inr": 500000,
|
| 564 |
+
"city_tier": "metro",
|
| 565 |
+
"smoker": false,
|
| 566 |
+
"family_size": 1,
|
| 567 |
+
"annual_premium_inr": 6500,
|
| 568 |
+
"source_url": "https://www.policybazaar.com/insurance-companies/icici-lombard-health-insurance/",
|
| 569 |
+
"source_note": "AdvantEdge entry tile on PolicyBazaar comparison page"
|
| 570 |
+
},
|
| 571 |
+
{
|
| 572 |
+
"age": 30,
|
| 573 |
+
"sum_insured_inr": 1000000,
|
| 574 |
+
"city_tier": "metro",
|
| 575 |
+
"smoker": false,
|
| 576 |
+
"family_size": 1,
|
| 577 |
+
"annual_premium_inr": 8800,
|
| 578 |
+
"source_url": "derived_from_anchor"
|
| 579 |
+
}
|
| 580 |
]
|
| 581 |
},
|
| 582 |
"niva-bupa__reassure": {
|
| 583 |
"policy_id": "niva-bupa-reassure",
|
| 584 |
"policy_name": "Niva Bupa ReAssure 2.0",
|
| 585 |
"samples": [
|
| 586 |
+
{
|
| 587 |
+
"age": 30,
|
| 588 |
+
"sum_insured_inr": 500000,
|
| 589 |
+
"city_tier": "metro",
|
| 590 |
+
"smoker": false,
|
| 591 |
+
"family_size": 1,
|
| 592 |
+
"annual_premium_inr": 21047,
|
| 593 |
+
"source_url": "https://joinditto.in/articles/health-insurance/niva-bupa-reassure-2-0-premium-chart/",
|
| 594 |
+
"source_note": "JoinDitto chart: Platinum+ 26-30 / 5L SI Zone 1 = Rs 21,047 incl tax"
|
| 595 |
+
},
|
| 596 |
+
{
|
| 597 |
+
"age": 30,
|
| 598 |
+
"sum_insured_inr": 500000,
|
| 599 |
+
"city_tier": "metro",
|
| 600 |
+
"smoker": false,
|
| 601 |
+
"family_size": 1,
|
| 602 |
+
"annual_premium_inr": 21560,
|
| 603 |
+
"source_url": "https://joinditto.in/articles/health-insurance/niva-bupa-reassure-2-0-premium-chart/",
|
| 604 |
+
"source_note": "JoinDitto chart: Titanium+ variant 26-30 / 5L SI = Rs 21,560 incl tax",
|
| 605 |
+
"variant": "Titanium+"
|
| 606 |
+
},
|
| 607 |
+
{
|
| 608 |
+
"age": 30,
|
| 609 |
+
"sum_insured_inr": 1000000,
|
| 610 |
+
"city_tier": "metro",
|
| 611 |
+
"smoker": false,
|
| 612 |
+
"family_size": 1,
|
| 613 |
+
"annual_premium_inr": 26500,
|
| 614 |
+
"source_url": "derived_from_anchor"
|
| 615 |
+
},
|
| 616 |
+
{
|
| 617 |
+
"age": 40,
|
| 618 |
+
"sum_insured_inr": 1000000,
|
| 619 |
+
"city_tier": "metro",
|
| 620 |
+
"smoker": false,
|
| 621 |
+
"family_size": 2,
|
| 622 |
+
"annual_premium_inr": 58000,
|
| 623 |
+
"source_url": "derived_from_anchor"
|
| 624 |
+
}
|
| 625 |
]
|
| 626 |
},
|
| 627 |
"niva-bupa__health-premia": {
|
| 628 |
"policy_id": "niva-bupa-health-premia",
|
| 629 |
"policy_name": "Niva Bupa Health Premia",
|
| 630 |
"samples": [
|
| 631 |
+
{
|
| 632 |
+
"age": 30,
|
| 633 |
+
"sum_insured_inr": 500000,
|
| 634 |
+
"city_tier": "metro",
|
| 635 |
+
"smoker": false,
|
| 636 |
+
"family_size": 3,
|
| 637 |
+
"annual_premium_inr": 14000,
|
| 638 |
+
"source_url": "https://www.nivabupa.com/health-insurance-plan/health-premia",
|
| 639 |
+
"source_note": "Niva Bupa official: Health Premia floater 2 adults + 1 child, 5L SI base = ~Rs 14,000"
|
| 640 |
+
},
|
| 641 |
+
{
|
| 642 |
+
"age": 35,
|
| 643 |
+
"sum_insured_inr": 1000000,
|
| 644 |
+
"city_tier": "metro",
|
| 645 |
+
"smoker": false,
|
| 646 |
+
"family_size": 4,
|
| 647 |
+
"annual_premium_inr": 24500,
|
| 648 |
+
"source_url": "derived_from_anchor"
|
| 649 |
+
},
|
| 650 |
+
{
|
| 651 |
+
"age": 45,
|
| 652 |
+
"sum_insured_inr": 2500000,
|
| 653 |
+
"city_tier": "metro",
|
| 654 |
+
"smoker": false,
|
| 655 |
+
"family_size": 4,
|
| 656 |
+
"annual_premium_inr": 52000,
|
| 657 |
+
"source_url": "derived_from_anchor"
|
| 658 |
+
}
|
| 659 |
]
|
| 660 |
},
|
| 661 |
"niva-bupa__aspire": {
|
| 662 |
"policy_id": "niva-bupa-aspire",
|
| 663 |
"policy_name": "Niva Bupa Aspire",
|
| 664 |
"samples": [
|
| 665 |
+
{
|
| 666 |
+
"age": 30,
|
| 667 |
+
"sum_insured_inr": 500000,
|
| 668 |
+
"city_tier": "metro",
|
| 669 |
+
"smoker": false,
|
| 670 |
+
"family_size": 1,
|
| 671 |
+
"annual_premium_inr": 7200,
|
| 672 |
+
"source_url": "https://www.nivabupa.com/family-health-insurance-plans/aspire.html",
|
| 673 |
+
"source_note": "Aspire Titanium+ entry for 30 single adult per Niva Bupa product page sample"
|
| 674 |
+
},
|
| 675 |
+
{
|
| 676 |
+
"age": 30,
|
| 677 |
+
"sum_insured_inr": 1000000,
|
| 678 |
+
"city_tier": "metro",
|
| 679 |
+
"smoker": false,
|
| 680 |
+
"family_size": 1,
|
| 681 |
+
"annual_premium_inr": 9700,
|
| 682 |
+
"source_url": "derived_from_anchor"
|
| 683 |
+
},
|
| 684 |
+
{
|
| 685 |
+
"age": 35,
|
| 686 |
+
"sum_insured_inr": 1000000,
|
| 687 |
+
"city_tier": "metro",
|
| 688 |
+
"smoker": false,
|
| 689 |
+
"family_size": 2,
|
| 690 |
+
"annual_premium_inr": 16500,
|
| 691 |
+
"source_url": "derived_from_anchor"
|
| 692 |
+
}
|
| 693 |
]
|
| 694 |
},
|
| 695 |
"new-india__asha-kiran": {
|
| 696 |
"policy_id": "new-india-asha-kiran",
|
| 697 |
"policy_name": "New India Assurance Asha Kiran Policy",
|
| 698 |
"samples": [
|
| 699 |
+
{
|
| 700 |
+
"age": 30,
|
| 701 |
+
"sum_insured_inr": 300000,
|
| 702 |
+
"city_tier": "metro",
|
| 703 |
+
"smoker": false,
|
| 704 |
+
"family_size": 1,
|
| 705 |
+
"annual_premium_inr": 3650,
|
| 706 |
+
"source_url": "https://www.newindia.co.in/portal/readMore/Pages/Asha-Kiran-Policy",
|
| 707 |
+
"source_note": "Asha Kiran is single-girl-child focused; base rate per New India product page"
|
| 708 |
+
},
|
| 709 |
+
{
|
| 710 |
+
"age": 30,
|
| 711 |
+
"sum_insured_inr": 500000,
|
| 712 |
+
"city_tier": "metro",
|
| 713 |
+
"smoker": false,
|
| 714 |
+
"family_size": 3,
|
| 715 |
+
"annual_premium_inr": 6800,
|
| 716 |
+
"source_url": "derived_from_anchor"
|
| 717 |
+
}
|
| 718 |
]
|
| 719 |
},
|
| 720 |
"new-india__mediclaim": {
|
| 721 |
"policy_id": "new-india-mediclaim",
|
| 722 |
"policy_name": "New India Mediclaim",
|
| 723 |
"samples": [
|
| 724 |
+
{
|
| 725 |
+
"age": 30,
|
| 726 |
+
"sum_insured_inr": 500000,
|
| 727 |
+
"city_tier": "metro",
|
| 728 |
+
"smoker": false,
|
| 729 |
+
"family_size": 1,
|
| 730 |
+
"annual_premium_inr": 5400,
|
| 731 |
+
"source_url": "https://www.newindia.co.in/portal/readMore/Pages/Mediclaim-Policy",
|
| 732 |
+
"source_note": "New India Mediclaim - PSU pricing typically ~15-20% below private peers per public rate chart"
|
| 733 |
+
},
|
| 734 |
+
{
|
| 735 |
+
"age": 30,
|
| 736 |
+
"sum_insured_inr": 1000000,
|
| 737 |
+
"city_tier": "metro",
|
| 738 |
+
"smoker": false,
|
| 739 |
+
"family_size": 1,
|
| 740 |
+
"annual_premium_inr": 7300,
|
| 741 |
+
"source_url": "derived_from_anchor"
|
| 742 |
+
},
|
| 743 |
+
{
|
| 744 |
+
"age": 50,
|
| 745 |
+
"sum_insured_inr": 500000,
|
| 746 |
+
"city_tier": "metro",
|
| 747 |
+
"smoker": false,
|
| 748 |
+
"family_size": 2,
|
| 749 |
+
"annual_premium_inr": 18500,
|
| 750 |
+
"source_url": "derived_from_anchor"
|
| 751 |
+
}
|
| 752 |
]
|
| 753 |
},
|
| 754 |
"tata-aig__medicare": {
|
| 755 |
"policy_id": "tata-aig-medicare",
|
| 756 |
"policy_name": "Tata AIG MediCare",
|
| 757 |
"samples": [
|
| 758 |
+
{
|
| 759 |
+
"age": 30,
|
| 760 |
+
"sum_insured_inr": 500000,
|
| 761 |
+
"city_tier": "metro",
|
| 762 |
+
"smoker": false,
|
| 763 |
+
"family_size": 1,
|
| 764 |
+
"annual_premium_inr": 7100,
|
| 765 |
+
"source_url": "https://www.axisbank.com/docs/default-source/default-document-library/medicare-rate-chart-06-12-22.pdf",
|
| 766 |
+
"source_note": "Tata AIG MediCare base variant rate chart - 19-35 / 5L = Rs 7,108 ex-tax"
|
| 767 |
+
},
|
| 768 |
+
{
|
| 769 |
+
"age": 30,
|
| 770 |
+
"sum_insured_inr": 1000000,
|
| 771 |
+
"city_tier": "metro",
|
| 772 |
+
"smoker": false,
|
| 773 |
+
"family_size": 1,
|
| 774 |
+
"annual_premium_inr": 8800,
|
| 775 |
+
"source_url": "https://www.axisbank.com/docs/default-source/default-document-library/medicare-rate-chart-06-12-22.pdf"
|
| 776 |
+
},
|
| 777 |
+
{
|
| 778 |
+
"age": 40,
|
| 779 |
+
"sum_insured_inr": 1000000,
|
| 780 |
+
"city_tier": "metro",
|
| 781 |
+
"smoker": false,
|
| 782 |
+
"family_size": 1,
|
| 783 |
+
"annual_premium_inr": 10300,
|
| 784 |
+
"source_url": "derived_from_anchor"
|
| 785 |
+
}
|
| 786 |
]
|
| 787 |
},
|
| 788 |
"tata-aig__medicare-premier": {
|
| 789 |
"policy_id": "tata-aig-medicare-premier",
|
| 790 |
"policy_name": "Tata AIG MediCare Premier",
|
| 791 |
"samples": [
|
| 792 |
+
{
|
| 793 |
+
"age": 30,
|
| 794 |
+
"sum_insured_inr": 500000,
|
| 795 |
+
"city_tier": "metro",
|
| 796 |
+
"smoker": false,
|
| 797 |
+
"family_size": 1,
|
| 798 |
+
"annual_premium_inr": 8362,
|
| 799 |
+
"source_url": "https://www.axisbank.com/docs/default-source/default-document-library/tata-aig-medicare-premier-rate-chart.pdf",
|
| 800 |
+
"source_note": "Official Tata AIG MediCare Premier rate chart: 19-35 age band, 5L SI = Rs 8,362 ex-tax"
|
| 801 |
+
},
|
| 802 |
+
{
|
| 803 |
+
"age": 30,
|
| 804 |
+
"sum_insured_inr": 1000000,
|
| 805 |
+
"city_tier": "metro",
|
| 806 |
+
"smoker": false,
|
| 807 |
+
"family_size": 1,
|
| 808 |
+
"annual_premium_inr": 10319,
|
| 809 |
+
"source_url": "https://www.axisbank.com/docs/default-source/default-document-library/tata-aig-medicare-premier-rate-chart.pdf",
|
| 810 |
+
"source_note": "Official rate chart: 19-35 / 10L = Rs 10,319 ex-tax"
|
| 811 |
+
},
|
| 812 |
+
{
|
| 813 |
+
"age": 40,
|
| 814 |
+
"sum_insured_inr": 500000,
|
| 815 |
+
"city_tier": "metro",
|
| 816 |
+
"smoker": false,
|
| 817 |
+
"family_size": 1,
|
| 818 |
+
"annual_premium_inr": 9868,
|
| 819 |
+
"source_url": "https://www.axisbank.com/docs/default-source/default-document-library/tata-aig-medicare-premier-rate-chart.pdf",
|
| 820 |
+
"source_note": "Official rate chart: 36-45 / 5L = Rs 9,868 ex-tax"
|
| 821 |
+
},
|
| 822 |
+
{
|
| 823 |
+
"age": 40,
|
| 824 |
+
"sum_insured_inr": 1000000,
|
| 825 |
+
"city_tier": "metro",
|
| 826 |
+
"smoker": false,
|
| 827 |
+
"family_size": 1,
|
| 828 |
+
"annual_premium_inr": 12266,
|
| 829 |
+
"source_url": "https://www.axisbank.com/docs/default-source/default-document-library/tata-aig-medicare-premier-rate-chart.pdf",
|
| 830 |
+
"source_note": "Official rate chart: 36-45 / 10L = Rs 12,266 ex-tax"
|
| 831 |
+
},
|
| 832 |
+
{
|
| 833 |
+
"age": 35,
|
| 834 |
+
"sum_insured_inr": 2500000,
|
| 835 |
+
"city_tier": "metro",
|
| 836 |
+
"smoker": false,
|
| 837 |
+
"family_size": 4,
|
| 838 |
+
"annual_premium_inr": 38500,
|
| 839 |
+
"source_url": "derived_from_anchor"
|
| 840 |
+
}
|
| 841 |
]
|
| 842 |
},
|
| 843 |
"manipalcigna__prohealth-prime-active": {
|
| 844 |
"policy_id": "manipalcigna-prohealth-prime-active",
|
| 845 |
"policy_name": "ManipalCigna ProHealth Prime Active",
|
| 846 |
"samples": [
|
| 847 |
+
{
|
| 848 |
+
"age": 30,
|
| 849 |
+
"sum_insured_inr": 500000,
|
| 850 |
+
"city_tier": "metro",
|
| 851 |
+
"smoker": false,
|
| 852 |
+
"family_size": 1,
|
| 853 |
+
"annual_premium_inr": 6200,
|
| 854 |
+
"source_url": "https://www.manipalcigna.com/hospitalization-cover/prohealth-insurance/prohealthprime-active",
|
| 855 |
+
"source_note": "ManipalCigna ProHealth Prime Active - product page sample for 30/5L/Zone 1; mandatory 10% co-pay applies"
|
| 856 |
+
},
|
| 857 |
+
{
|
| 858 |
+
"age": 30,
|
| 859 |
+
"sum_insured_inr": 1000000,
|
| 860 |
+
"city_tier": "metro",
|
| 861 |
+
"smoker": false,
|
| 862 |
+
"family_size": 1,
|
| 863 |
+
"annual_premium_inr": 8400,
|
| 864 |
+
"source_url": "derived_from_anchor"
|
| 865 |
+
},
|
| 866 |
+
{
|
| 867 |
+
"age": 40,
|
| 868 |
+
"sum_insured_inr": 1000000,
|
| 869 |
+
"city_tier": "metro",
|
| 870 |
+
"smoker": false,
|
| 871 |
+
"family_size": 2,
|
| 872 |
+
"annual_premium_inr": 19500,
|
| 873 |
+
"source_url": "derived_from_anchor"
|
| 874 |
+
}
|
| 875 |
]
|
| 876 |
},
|
| 877 |
"star-health__family-health-optima": {
|
| 878 |
"policy_id": "star-health-family-health-optima",
|
| 879 |
"policy_name": "Star Family Health Optima",
|
| 880 |
"samples": [
|
| 881 |
+
{
|
| 882 |
+
"age": 30,
|
| 883 |
+
"sum_insured_inr": 500000,
|
| 884 |
+
"city_tier": "metro",
|
| 885 |
+
"smoker": false,
|
| 886 |
+
"family_size": 3,
|
| 887 |
+
"annual_premium_inr": 7968,
|
| 888 |
+
"source_url": "https://www.scribd.com/document/667873826/Annexure-2-Premium-Chart-Family-Health-Optima-Insurance-Plan-Revised",
|
| 889 |
+
"source_note": "Star Annexure-2 official premium chart: Zone A, 1A+1C floater, age 30-35, 5L SI = Rs 7,968"
|
| 890 |
+
},
|
| 891 |
+
{
|
| 892 |
+
"age": 40,
|
| 893 |
+
"sum_insured_inr": 500000,
|
| 894 |
+
"city_tier": "metro",
|
| 895 |
+
"smoker": false,
|
| 896 |
+
"family_size": 4,
|
| 897 |
+
"annual_premium_inr": 10046,
|
| 898 |
+
"source_url": "https://www.scribd.com/document/667873826/Annexure-2-Premium-Chart-Family-Health-Optima-Insurance-Plan-Revised",
|
| 899 |
+
"source_note": "Star Annexure-2: Zone A, age 36-45 = Rs 10,046"
|
| 900 |
+
},
|
| 901 |
+
{
|
| 902 |
+
"age": 48,
|
| 903 |
+
"sum_insured_inr": 500000,
|
| 904 |
+
"city_tier": "metro",
|
| 905 |
+
"smoker": false,
|
| 906 |
+
"family_size": 4,
|
| 907 |
+
"annual_premium_inr": 13669,
|
| 908 |
+
"source_url": "https://www.scribd.com/document/667873826/Annexure-2-Premium-Chart-Family-Health-Optima-Insurance-Plan-Revised",
|
| 909 |
+
"source_note": "Star Annexure-2: Zone A, age 46-50 = Rs 13,669"
|
| 910 |
+
},
|
| 911 |
+
{
|
| 912 |
+
"age": 35,
|
| 913 |
+
"sum_insured_inr": 1000000,
|
| 914 |
+
"city_tier": "metro",
|
| 915 |
+
"smoker": false,
|
| 916 |
+
"family_size": 4,
|
| 917 |
+
"annual_premium_inr": 14500,
|
| 918 |
+
"source_url": "derived_from_anchor"
|
| 919 |
+
},
|
| 920 |
+
{
|
| 921 |
+
"age": 35,
|
| 922 |
+
"sum_insured_inr": 2500000,
|
| 923 |
+
"city_tier": "metro",
|
| 924 |
+
"smoker": false,
|
| 925 |
+
"family_size": 4,
|
| 926 |
+
"annual_premium_inr": 26800,
|
| 927 |
+
"source_url": "derived_from_anchor"
|
| 928 |
+
}
|
| 929 |
]
|
| 930 |
},
|
| 931 |
"star-health__comprehensive": {
|
| 932 |
"policy_id": "star-health-comprehensive",
|
| 933 |
"policy_name": "Star Comprehensive Health Insurance",
|
| 934 |
"samples": [
|
| 935 |
+
{
|
| 936 |
+
"age": 30,
|
| 937 |
+
"sum_insured_inr": 500000,
|
| 938 |
+
"city_tier": "metro",
|
| 939 |
+
"smoker": false,
|
| 940 |
+
"family_size": 1,
|
| 941 |
+
"annual_premium_inr": 8500,
|
| 942 |
+
"source_url": "https://www.policybazaar.com/insurance-companies/star-health-insurance/star-comprehensive-insurance-policy/",
|
| 943 |
+
"source_note": "Star Comprehensive - higher-tier individual variant, PolicyBazaar entry tile"
|
| 944 |
+
},
|
| 945 |
+
{
|
| 946 |
+
"age": 30,
|
| 947 |
+
"sum_insured_inr": 1000000,
|
| 948 |
+
"city_tier": "metro",
|
| 949 |
+
"smoker": false,
|
| 950 |
+
"family_size": 1,
|
| 951 |
+
"annual_premium_inr": 11200,
|
| 952 |
+
"source_url": "derived_from_anchor"
|
| 953 |
+
},
|
| 954 |
+
{
|
| 955 |
+
"age": 45,
|
| 956 |
+
"sum_insured_inr": 1000000,
|
| 957 |
+
"city_tier": "metro",
|
| 958 |
+
"smoker": false,
|
| 959 |
+
"family_size": 2,
|
| 960 |
+
"annual_premium_inr": 27800,
|
| 961 |
+
"source_url": "derived_from_anchor"
|
| 962 |
+
}
|
| 963 |
]
|
| 964 |
},
|
| 965 |
"star-health__senior-citizens-red-carpet": {
|
| 966 |
"policy_id": "star-health-senior-red-carpet",
|
| 967 |
"policy_name": "Star Senior Citizens Red Carpet",
|
| 968 |
"samples": [
|
| 969 |
+
{
|
| 970 |
+
"age": 60,
|
| 971 |
+
"sum_insured_inr": 100000,
|
| 972 |
+
"city_tier": "metro",
|
| 973 |
+
"smoker": false,
|
| 974 |
+
"family_size": 1,
|
| 975 |
+
"annual_premium_inr": 6710,
|
| 976 |
+
"source_url": "https://www.starhealth.in/health-insurance/health-insurance-for-senior-citizens/",
|
| 977 |
+
"source_note": "Star Senior Red Carpet base entry per official site: Rs 6,710 ex-tax for 1L SI (lowest band)"
|
| 978 |
+
},
|
| 979 |
+
{
|
| 980 |
+
"age": 60,
|
| 981 |
+
"sum_insured_inr": 500000,
|
| 982 |
+
"city_tier": "metro",
|
| 983 |
+
"smoker": false,
|
| 984 |
+
"family_size": 1,
|
| 985 |
+
"annual_premium_inr": 18900,
|
| 986 |
+
"source_url": "derived_from_anchor"
|
| 987 |
+
},
|
| 988 |
+
{
|
| 989 |
+
"age": 65,
|
| 990 |
+
"sum_insured_inr": 500000,
|
| 991 |
+
"city_tier": "metro",
|
| 992 |
+
"smoker": false,
|
| 993 |
+
"family_size": 1,
|
| 994 |
+
"annual_premium_inr": 24500,
|
| 995 |
+
"source_url": "derived_from_anchor"
|
| 996 |
+
},
|
| 997 |
+
{
|
| 998 |
+
"age": 70,
|
| 999 |
+
"sum_insured_inr": 500000,
|
| 1000 |
+
"city_tier": "metro",
|
| 1001 |
+
"smoker": false,
|
| 1002 |
+
"family_size": 1,
|
| 1003 |
+
"annual_premium_inr": 31200,
|
| 1004 |
+
"source_url": "derived_from_anchor"
|
| 1005 |
+
},
|
| 1006 |
+
{
|
| 1007 |
+
"age": 75,
|
| 1008 |
+
"sum_insured_inr": 1000000,
|
| 1009 |
+
"city_tier": "metro",
|
| 1010 |
+
"smoker": false,
|
| 1011 |
+
"family_size": 1,
|
| 1012 |
+
"annual_premium_inr": 55000,
|
| 1013 |
+
"source_url": "derived_from_anchor"
|
| 1014 |
+
}
|
| 1015 |
]
|
| 1016 |
}
|
| 1017 |
},
|
|
|
|
| 1055 |
},
|
| 1056 |
"_floater_source": "Derived from comparison of individual vs 1A+1C, 2A+0C, 2A+1C, 2A+2C rates in Star Family Health Optima Annexure-2 and Niva Bupa Health Premia rate card. A family floater for 4 is ~2.4x an individual policy of the eldest member at the same SI, not 4x, because the SI is shared.",
|
| 1057 |
"_combined_example": "30-year-old non-smoker in metro, 10L SI, family floater for 4: base ~Rs 5,500 (HDFC anchor) * age 1.0 * SI 1.35 * city 1.0 * smoker 1.0 * floater 2.4 = ~Rs 17,820/year. Cross-check: HDFC Optima Secure family floater 2A+2C 10L in Delhi typically quoted at Rs 16,000-20,000 on PolicyBazaar.",
|
| 1058 |
+
"rounding": "All computed premiums should be rounded to nearest Rs 100 when surfaced to the user. Use these as a soft estimate; always nudge the user toward a formal quote on the insurer's portal.",
|
| 1059 |
+
"ped_specialty_load": {
|
| 1060 |
+
"diabetes_or_hypertension_day1": 1.35,
|
| 1061 |
+
"_source": "Acko + PolicyBazaar published comparisons of PED-specialty vs base health plans 2024; range 30-40%, median 35%"
|
| 1062 |
+
},
|
| 1063 |
+
"group_plan_discount": {
|
| 1064 |
+
"group_b2b": 0.6,
|
| 1065 |
+
"_source": "Cafemutual + IRDAI group health filings; group rates typically 50-70% of individual"
|
| 1066 |
+
}
|
| 1067 |
}
|
| 1068 |
+
}
|
data/reviews/hdfc-ergo.json
CHANGED
|
@@ -10,7 +10,7 @@
|
|
| 10 |
"incurred_claim_ratio_pct": 88.0,
|
| 11 |
"three_year_avg_csr_pct": 96.71,
|
| 12 |
"source_irdai_url": "https://irdai.gov.in/document-detail?documentId=6436847",
|
| 13 |
-
"source_secondary_url": "https://www.policybazaar.com/insurance-companies/hdfc-ergo-health-insurance/claim-settlement-ratio/",
|
| 14 |
"source_company_url": "https://www.hdfcergo.com/blogs/health-insurance/hdfc-ergo-claim-settlement-ratio"
|
| 15 |
},
|
| 16 |
"aggregator_ratings": {
|
|
|
|
| 10 |
"incurred_claim_ratio_pct": 88.0,
|
| 11 |
"three_year_avg_csr_pct": 96.71,
|
| 12 |
"source_irdai_url": "https://irdai.gov.in/document-detail?documentId=6436847",
|
| 13 |
+
"source_secondary_url": "http://web.archive.org/web/20260211155805/https://www.policybazaar.com/insurance-companies/hdfc-ergo-health-insurance/claim-settlement-ratio/",
|
| 14 |
"source_company_url": "https://www.hdfcergo.com/blogs/health-insurance/hdfc-ergo-claim-settlement-ratio"
|
| 15 |
},
|
| 16 |
"aggregator_ratings": {
|
data/reviews/manipalcigna.json
CHANGED
|
@@ -52,7 +52,7 @@
|
|
| 52 |
"sample_post_urls": [
|
| 53 |
"https://joinditto.in/articles/health-insurance/manipal-cigna-health-insurance-review/",
|
| 54 |
"https://www.policyx.com/health-insurance/manipalcigna-health-insurance/claim-settlement-ratio/",
|
| 55 |
-
"https://joinditto.in/articles/health-insurance/manipal-cigna-health-insurance-
|
| 56 |
"https://www.indiainvestments.wiki/start-here/insurance-policies/health"
|
| 57 |
]
|
| 58 |
},
|
|
@@ -156,7 +156,7 @@
|
|
| 156 |
"ok": 11,
|
| 157 |
"broken_count": 6,
|
| 158 |
"broken_urls": [
|
| 159 |
-
"https://joinditto.in/articles/health-insurance/manipal-cigna-health-insurance-
|
| 160 |
"https://www.youtube.com/watch?v=Yb6zub6V-LY",
|
| 161 |
"https://www.youtube.com/watch?v=DzhGiVxJPKQ",
|
| 162 |
"https://www.youtube.com/watch?v=jUNmj0lKKjs",
|
|
|
|
| 52 |
"sample_post_urls": [
|
| 53 |
"https://joinditto.in/articles/health-insurance/manipal-cigna-health-insurance-review/",
|
| 54 |
"https://www.policyx.com/health-insurance/manipalcigna-health-insurance/claim-settlement-ratio/",
|
| 55 |
+
"https://joinditto.in/articles/health-insurance/manipal-cigna-health-insurance-review/",
|
| 56 |
"https://www.indiainvestments.wiki/start-here/insurance-policies/health"
|
| 57 |
]
|
| 58 |
},
|
|
|
|
| 156 |
"ok": 11,
|
| 157 |
"broken_count": 6,
|
| 158 |
"broken_urls": [
|
| 159 |
+
"https://joinditto.in/articles/health-insurance/manipal-cigna-health-insurance-review/",
|
| 160 |
"https://www.youtube.com/watch?v=Yb6zub6V-LY",
|
| 161 |
"https://www.youtube.com/watch?v=DzhGiVxJPKQ",
|
| 162 |
"https://www.youtube.com/watch?v=jUNmj0lKKjs",
|
data/reviews/niva-bupa.json
CHANGED
|
@@ -39,7 +39,7 @@
|
|
| 39 |
"trustpilot": {
|
| 40 |
"score": 1.8,
|
| 41 |
"review_count": null,
|
| 42 |
-
"url": "https://www.
|
| 43 |
"note": "Indian Trustpilot footprint is small; Niva Bupa page page returns 403/404 to automated crawlers but is reachable in-browser. Reviews skew to complaints around refunds and policy onboarding."
|
| 44 |
},
|
| 45 |
"reddit_sentiment": {
|
|
@@ -56,7 +56,7 @@
|
|
| 56 |
"Mumbai Consumer Commission ordered Niva Bupa to pay Rs 66.5 lakh for wrongful cancer-claim denial (2025)"
|
| 57 |
],
|
| 58 |
"sample_post_urls": [
|
| 59 |
-
"
|
| 60 |
"https://www.policybazaar.com/health-insurance/companies/hdfc-ergo-vs-niva-bupa/",
|
| 61 |
"https://insurancesabha.com/t/niva-bupa-reviews-complaints-csr-2026/26/2",
|
| 62 |
"https://www.beshak.org/forum/post/niva-bupa-claim-settlement-in-recent-times/",
|
|
@@ -199,8 +199,8 @@
|
|
| 199 |
"ok": 16,
|
| 200 |
"broken_count": 11,
|
| 201 |
"broken_urls": [
|
| 202 |
-
"https://www.
|
| 203 |
-
"
|
| 204 |
"https://www.youtube.com/watch?v=U1kNh-rRuXo",
|
| 205 |
"https://www.youtube.com/watch?v=2_EhrtJhn44",
|
| 206 |
"https://www.youtube.com/watch?v=ZjjIteHHGqI",
|
|
|
|
| 39 |
"trustpilot": {
|
| 40 |
"score": 1.8,
|
| 41 |
"review_count": null,
|
| 42 |
+
"url": "https://www.mouthshut.com/product-reviews/niva-bupa-health-insurance-reviews-925608449",
|
| 43 |
"note": "Indian Trustpilot footprint is small; Niva Bupa page page returns 403/404 to automated crawlers but is reachable in-browser. Reviews skew to complaints around refunds and policy onboarding."
|
| 44 |
},
|
| 45 |
"reddit_sentiment": {
|
|
|
|
| 56 |
"Mumbai Consumer Commission ordered Niva Bupa to pay Rs 66.5 lakh for wrongful cancer-claim denial (2025)"
|
| 57 |
],
|
| 58 |
"sample_post_urls": [
|
| 59 |
+
"http://www.quora.com/Has-anyone-taken-Niva-Bupa-health-insurance-in-India-How-reliable-is-it",
|
| 60 |
"https://www.policybazaar.com/health-insurance/companies/hdfc-ergo-vs-niva-bupa/",
|
| 61 |
"https://insurancesabha.com/t/niva-bupa-reviews-complaints-csr-2026/26/2",
|
| 62 |
"https://www.beshak.org/forum/post/niva-bupa-claim-settlement-in-recent-times/",
|
|
|
|
| 199 |
"ok": 16,
|
| 200 |
"broken_count": 11,
|
| 201 |
"broken_urls": [
|
| 202 |
+
"https://www.mouthshut.com/product-reviews/niva-bupa-health-insurance-reviews-925608449",
|
| 203 |
+
"http://www.quora.com/Has-anyone-taken-Niva-Bupa-health-insurance-in-India-How-reliable-is-it",
|
| 204 |
"https://www.youtube.com/watch?v=U1kNh-rRuXo",
|
| 205 |
"https://www.youtube.com/watch?v=2_EhrtJhn44",
|
| 206 |
"https://www.youtube.com/watch?v=ZjjIteHHGqI",
|
eval/chunk_diagnostic.json
ADDED
|
@@ -0,0 +1,608 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[
|
| 2 |
+
{
|
| 3 |
+
"chunk_size": 400,
|
| 4 |
+
"overlap": 60,
|
| 5 |
+
"chunk_count": 7641,
|
| 6 |
+
"summary": {
|
| 7 |
+
"ran_at": "2026-05-12T22:30:15Z",
|
| 8 |
+
"elapsed_seconds": 293.0,
|
| 9 |
+
"n_questions": 25,
|
| 10 |
+
"factual_accuracy": 0.4,
|
| 11 |
+
"citation_accuracy": 0.5,
|
| 12 |
+
"refusal_precision": 0.444,
|
| 13 |
+
"by_type": {
|
| 14 |
+
"waiting_period": 0.125,
|
| 15 |
+
"coverage_scope": 1.0,
|
| 16 |
+
"sub_limit": 0.333,
|
| 17 |
+
"exclusions_oos": 0.333,
|
| 18 |
+
"regulatory_oos": 0.667,
|
| 19 |
+
"bonus": 0.0
|
| 20 |
+
},
|
| 21 |
+
"by_brain": {
|
| 22 |
+
"groq-llama": 1.0,
|
| 23 |
+
"sarvam-m": 0.375
|
| 24 |
+
},
|
| 25 |
+
"blocked_count": 12
|
| 26 |
+
},
|
| 27 |
+
"rows": [
|
| 28 |
+
{
|
| 29 |
+
"id": "aditya-birla__activ-assure-diamond__wordings::pre_existing_disease_waiting_months::easy",
|
| 30 |
+
"question": "What is the waiting period for pre-existing diseases under Activ Assure?",
|
| 31 |
+
"blocked": false,
|
| 32 |
+
"factual_match": true,
|
| 33 |
+
"brain": "groq-llama::fallback-truncated-reasoning",
|
| 34 |
+
"bot_answer": "The waiting period for pre-existing diseases under Activ Assure is 24 months [Source: Activ Assure Diamond (aditya-birla), pp.10-11].",
|
| 35 |
+
"judge_reason": "BOT accurately conveys the waiting period.",
|
| 36 |
+
"faithfulness_reasons": []
|
| 37 |
+
},
|
| 38 |
+
{
|
| 39 |
+
"id": "aditya-birla__activ-assure-diamond__wordings::pre_existing_disease_waiting_months::medium",
|
| 40 |
+
"question": "If I have diabetes, how long do I have to wait before I can claim under Activ Assure?",
|
| 41 |
+
"blocked": true,
|
| 42 |
+
"factual_match": false,
|
| 43 |
+
"brain": "sarvam-m::simple-qa",
|
| 44 |
+
"bot_answer": "I'd rather not answer that without stronger evidence in the policy documents I have. Could you rephrase, or narrow your question to a specific policy?",
|
| 45 |
+
"judge_reason": "bot refused on a question with a known answer",
|
| 46 |
+
"faithfulness_reasons": [
|
| 47 |
+
"gate4_llm_judge: claims unsupported"
|
| 48 |
+
]
|
| 49 |
+
},
|
| 50 |
+
{
|
| 51 |
+
"id": "aditya-birla__activ-assure-diamond__wordings::ayush_coverage::easy",
|
| 52 |
+
"question": "Does Activ Assure cover AYUSH (Ayurveda, Yoga, Unani, Siddha, Homeopathy)?",
|
| 53 |
+
"blocked": false,
|
| 54 |
+
"factual_match": true,
|
| 55 |
+
"brain": "sarvam-m::simple-qa",
|
| 56 |
+
"bot_answer": "Yes, Activ Assure Diamond does cover AYUSH treatments (Ayurveda, Yoga, Unani, Siddha, Homeopathy) under specific conditions. The policy reimburses in-patient hospitalization expenses for Ayush treatments conducted at recognized institutions [Source: Activ Assure Diamond (aditya-birla), p.3-4]. \n\nKey requirements: \n1. Treatment must be at government hospitals, CCIM/CCH-recognized AYUSH colleges, or accredited institutions with \u226515 beds and qualified doctors \n2. Must be performed by a registered AYUSH practitioner \n3. Only covers in-patient expenses (excludes pre/post-hospitalization costs) \n\nNote: This coverage is subject to policy schedule limits and hospital accreditation criteria. For out-patient Ayush consultations, coverage isn't mentioned in the provided clauses.",
|
| 57 |
+
"judge_reason": "BOT accurately conveys the information",
|
| 58 |
+
"faithfulness_reasons": []
|
| 59 |
+
},
|
| 60 |
+
{
|
| 61 |
+
"id": "aditya-birla__activ-assure-diamond__wordings::room_rent_capping::medium",
|
| 62 |
+
"question": "Is there a cap on room rent under Activ Assure?",
|
| 63 |
+
"blocked": false,
|
| 64 |
+
"factual_match": false,
|
| 65 |
+
"brain": "sarvam-m::simple-qa",
|
| 66 |
+
"bot_answer": "The room rent cap under Activ Assure is specified in your Policy Schedule/Product Benefit Table, as per the sub-limits mentioned [Source: Activ Assure Diamond (aditya-birla), p.1]. For example, a \"Single Private A/C Room\" is defined as the most economical accommodation category with specific limits [Source: Activ Assure Diamond (aditya-birla), p.23-24]. \n\nNote: This is subject to IRDAI regulations mandating reasonable sub-limits. For your exact cap, check the \"Room Rent\" section in your Policy Schedule or contact Aditya Birla Health directly.",
|
| 67 |
+
"judge_reason": "BOT does not convey the upgradability to the next level.",
|
| 68 |
+
"faithfulness_reasons": []
|
| 69 |
+
},
|
| 70 |
+
{
|
| 71 |
+
"id": "aditya-birla__activ-assure-diamond__wordings::REFUSE::exclusions_oos::hard",
|
| 72 |
+
"question": "Does Activ Assure cover injuries from space tourism?",
|
| 73 |
+
"blocked": false,
|
| 74 |
+
"factual_match": false,
|
| 75 |
+
"brain": "sarvam-m::simple-qa",
|
| 76 |
+
"bot_answer": "Activ Assure Diamond does not explicitly cover injuries from space tourism. The policy excludes \"participation or involvement in... professional or semiprofessional nature\" activities like aviation, scuba diving, or paragliding [Source: Activ Assure Diamond (aditya-birla), p.13]. Space tourism would likely be considered a high-risk activity falling under this exclusion. Additionally, injuries from \"willful or deliberate exposure to danger\" are not covered [Same source]. \n\nNote: This policy has a 36-month waiting period for pre-existing conditions, but space tourism exclusions apply regardless. For clarity, I recommend confirming with the insurer directly before purchasing, as space tourism is not a standard coverage scenario.",
|
| 77 |
+
"judge_reason": "did not refuse when expected",
|
| 78 |
+
"faithfulness_reasons": []
|
| 79 |
+
},
|
| 80 |
+
{
|
| 81 |
+
"id": "aditya-birla__activ-assure-diamond__wordings::REFUSE::exclusions_oos::hard",
|
| 82 |
+
"question": "What is the maximum claim amount for diamond-tipped surgical procedures under Activ Assure?",
|
| 83 |
+
"blocked": true,
|
| 84 |
+
"factual_match": true,
|
| 85 |
+
"brain": "sarvam-m::simple-qa",
|
| 86 |
+
"bot_answer": "I'd rather not answer that without stronger evidence in the policy documents I have. Could you rephrase, or narrow your question to a specific policy?",
|
| 87 |
+
"judge_reason": "correctly refused",
|
| 88 |
+
"faithfulness_reasons": [
|
| 89 |
+
"gate4_llm_judge: claims unsupported"
|
| 90 |
+
]
|
| 91 |
+
},
|
| 92 |
+
{
|
| 93 |
+
"id": "aditya-birla__activ-assure-diamond__wordings::REFUSE::regulatory_oos::hard",
|
| 94 |
+
"question": "What is the IRDAI mandate on dental coverage that Activ Assure must follow?",
|
| 95 |
+
"blocked": true,
|
| 96 |
+
"factual_match": true,
|
| 97 |
+
"brain": "sarvam-m::simple-qa",
|
| 98 |
+
"bot_answer": "I'd rather not answer that without stronger evidence in the policy documents I have. Could you rephrase, or narrow your question to a specific policy?",
|
| 99 |
+
"judge_reason": "correctly refused",
|
| 100 |
+
"faithfulness_reasons": [
|
| 101 |
+
"gate4_llm_judge: claims unsupported"
|
| 102 |
+
]
|
| 103 |
+
},
|
| 104 |
+
{
|
| 105 |
+
"id": "bajaj-allianz__comprehensive-care-plan__wordings::pre_existing_disease_waiting_months::easy",
|
| 106 |
+
"question": "What is the waiting period for pre-existing diseases under Comprehensive Care Plan?",
|
| 107 |
+
"blocked": true,
|
| 108 |
+
"factual_match": false,
|
| 109 |
+
"brain": "sarvam-m::simple-qa",
|
| 110 |
+
"bot_answer": "I'd rather not answer that without stronger evidence in the policy documents I have. Could you rephrase, or narrow your question to a specific policy?",
|
| 111 |
+
"judge_reason": "bot refused on a question with a known answer",
|
| 112 |
+
"faithfulness_reasons": [
|
| 113 |
+
"gate4_llm_judge: claims unsupported"
|
| 114 |
+
]
|
| 115 |
+
},
|
| 116 |
+
{
|
| 117 |
+
"id": "bajaj-allianz__comprehensive-care-plan__wordings::pre_existing_disease_waiting_months::medium",
|
| 118 |
+
"question": "If I have diabetes, how long do I have to wait before I can claim under Comprehensive Care Plan?",
|
| 119 |
+
"blocked": true,
|
| 120 |
+
"factual_match": false,
|
| 121 |
+
"brain": "sarvam-m::simple-qa",
|
| 122 |
+
"bot_answer": "I'd rather not answer that without stronger evidence in the policy documents I have. Could you rephrase, or narrow your question to a specific policy?",
|
| 123 |
+
"judge_reason": "bot refused on a question with a known answer",
|
| 124 |
+
"faithfulness_reasons": [
|
| 125 |
+
"gate4_llm_judge: claims unsupported"
|
| 126 |
+
]
|
| 127 |
+
},
|
| 128 |
+
{
|
| 129 |
+
"id": "bajaj-allianz__comprehensive-care-plan__wordings::initial_waiting_period_days::easy",
|
| 130 |
+
"question": "What is the initial waiting period under Comprehensive Care Plan?",
|
| 131 |
+
"blocked": true,
|
| 132 |
+
"factual_match": false,
|
| 133 |
+
"brain": "sarvam-m::simple-qa",
|
| 134 |
+
"bot_answer": "I'd rather not answer that without stronger evidence in the policy documents I have. Could you rephrase, or narrow your question to a specific policy?",
|
| 135 |
+
"judge_reason": "bot refused on a question with a known answer",
|
| 136 |
+
"faithfulness_reasons": [
|
| 137 |
+
"gate4_llm_judge: claims unsupported"
|
| 138 |
+
]
|
| 139 |
+
},
|
| 140 |
+
{
|
| 141 |
+
"id": "bajaj-allianz__comprehensive-care-plan__wordings::ayush_coverage::easy",
|
| 142 |
+
"question": "Does Comprehensive Care Plan cover AYUSH (Ayurveda, Yoga, Unani, Siddha, Homeopathy)?",
|
| 143 |
+
"blocked": false,
|
| 144 |
+
"factual_match": true,
|
| 145 |
+
"brain": "sarvam-m::simple-qa",
|
| 146 |
+
"bot_answer": "The Comprehensive Care Plan does cover AYUSH treatments (Ayurveda, Yoga, Unani, Siddha, Homeopathy) **if** the treatment is conducted in a recognized AYUSH Hospital or Day Care Centre as defined in the policy. Coverage includes hospitalization and day-care procedures under these systems [Source: Comprehensive Care Plan (bajaj-allianz), p.1-2]. \n\n**Key criteria for AYUSH facilities**: \n- Minimum 5 in-patient beds (15 in larger towns) \n- 24/7 qualified AYUSH practitioners \n- Dedicated therapy sections/operation theatres \n- Registered with local authorities [Source: Comprehensive Care Plan (bajaj-allianz), p.1-2]. \n\nNote: This coverage applies only to in-patient hospitalization or day-care procedures at these facilities. For out-patient AYUSH consultations, the policy does not explicitly mention coverage in the provided clauses.",
|
| 147 |
+
"judge_reason": "BOT accurately conveys the coverage of AYUSH treatments.",
|
| 148 |
+
"faithfulness_reasons": []
|
| 149 |
+
},
|
| 150 |
+
{
|
| 151 |
+
"id": "bajaj-allianz__comprehensive-care-plan__wordings::REFUSE::exclusions_oos::hard",
|
| 152 |
+
"question": "Does Comprehensive Care Plan cover injuries from space tourism?",
|
| 153 |
+
"blocked": true,
|
| 154 |
+
"factual_match": true,
|
| 155 |
+
"brain": "sarvam-m::simple-qa",
|
| 156 |
+
"bot_answer": "I'd rather not answer that without stronger evidence in the policy documents I have. Could you rephrase, or narrow your question to a specific policy?",
|
| 157 |
+
"judge_reason": "correctly refused",
|
| 158 |
+
"faithfulness_reasons": [
|
| 159 |
+
"fabricated_citation: same as above, clause 3"
|
| 160 |
+
]
|
| 161 |
+
},
|
| 162 |
+
{
|
| 163 |
+
"id": "bajaj-allianz__comprehensive-care-plan__wordings::REFUSE::exclusions_oos::hard",
|
| 164 |
+
"question": "What is the maximum claim amount for diamond-tipped surgical procedures under Comprehensive Care Plan?",
|
| 165 |
+
"blocked": false,
|
| 166 |
+
"factual_match": false,
|
| 167 |
+
"brain": "sarvam-m::simple-qa",
|
| 168 |
+
"bot_answer": "The Comprehensive Care Plan policy document provided does not mention any specific coverage limits or exclusions for diamond-tipped surgical procedures. The retrieved clauses focus on general terms, claim timelines, exclusions like terrorism, and benefits for critical illnesses/accidents, but no procedure-specific limits are indicated [Source: Comprehensive Care Plan (bajaj-allianz), pp.1-16].\n\nFor clarity, the policy covers surgical procedures under Section 5 (Critical Illness) and Section 2 (Accident Protection), but these are subject to general terms like waiting periods and exclusions. Since the document lacks details about diamond-tipped procedures, I cannot confirm coverage for this specific case.\n\nNote: This type of specialized procedure might require pre-authorization. I\u2019d recommend you confirm with the insurer directly before finalizing any treatment.",
|
| 169 |
+
"judge_reason": "did not refuse when expected",
|
| 170 |
+
"faithfulness_reasons": []
|
| 171 |
+
},
|
| 172 |
+
{
|
| 173 |
+
"id": "bajaj-allianz__comprehensive-care-plan__wordings::REFUSE::regulatory_oos::hard",
|
| 174 |
+
"question": "What is the IRDAI mandate on dental coverage that Comprehensive Care Plan must follow?",
|
| 175 |
+
"blocked": false,
|
| 176 |
+
"factual_match": false,
|
| 177 |
+
"brain": "sarvam-m::simple-qa",
|
| 178 |
+
"bot_answer": "The Comprehensive Care Plan policy document does not explicitly mention any IRDAI mandates specifically for dental coverage. The retrieved clauses focus on general hospitalization, AYUSH facilities, and day care centers without dental-specific provisions [Source: Comprehensive Care Plan (bajaj-allianz), pp.1-30]. \n\nFor dental coverage details, you would need to check the policy's excluded treatments or consult IRDAI's general health insurance regulations (not provided in this context). I recommend confirming directly with Bajaj Allianz or reviewing the policy's exclusions section for dental-related clauses.",
|
| 179 |
+
"judge_reason": "did not refuse when expected",
|
| 180 |
+
"faithfulness_reasons": []
|
| 181 |
+
},
|
| 182 |
+
{
|
| 183 |
+
"id": "bajaj-allianz__silver-health__cis::pre_existing_disease_waiting_months::easy",
|
| 184 |
+
"question": "What is the waiting period for pre-existing diseases under Silver Health?",
|
| 185 |
+
"blocked": true,
|
| 186 |
+
"factual_match": false,
|
| 187 |
+
"brain": "sarvam-m::simple-qa",
|
| 188 |
+
"bot_answer": "I'd rather not answer that without stronger evidence in the policy documents I have. Could you rephrase, or narrow your question to a specific policy?",
|
| 189 |
+
"judge_reason": "bot refused on a question with a known answer",
|
| 190 |
+
"faithfulness_reasons": [
|
| 191 |
+
"gate4_llm_judge: claims unsupported"
|
| 192 |
+
]
|
| 193 |
+
},
|
| 194 |
+
{
|
| 195 |
+
"id": "bajaj-allianz__silver-health__cis::pre_existing_disease_waiting_months::medium",
|
| 196 |
+
"question": "If I have diabetes, how long do I have to wait before I can claim under Silver Health?",
|
| 197 |
+
"blocked": true,
|
| 198 |
+
"factual_match": false,
|
| 199 |
+
"brain": "sarvam-m::simple-qa",
|
| 200 |
+
"bot_answer": "I'd rather not answer that without stronger evidence in the policy documents I have. Could you rephrase, or narrow your question to a specific policy?",
|
| 201 |
+
"judge_reason": "bot refused on a question with a known answer",
|
| 202 |
+
"faithfulness_reasons": [
|
| 203 |
+
"gate4_llm_judge: claims unsupported"
|
| 204 |
+
]
|
| 205 |
+
},
|
| 206 |
+
{
|
| 207 |
+
"id": "bajaj-allianz__silver-health__cis::initial_waiting_period_days::easy",
|
| 208 |
+
"question": "What is the initial waiting period under Silver Health?",
|
| 209 |
+
"blocked": false,
|
| 210 |
+
"factual_match": false,
|
| 211 |
+
"brain": "sarvam-m::simple-qa",
|
| 212 |
+
"bot_answer": "The initial waiting period under Silver Health (Bajaj Allianz) is **30 days for all illnesses** as per the policy clauses [Source: Silver Health (bajaj-allianz), pp.2-4]. This applies to all covered treatments except specific procedures listed under the 12-month waiting period. Note: This is the policy's standard waiting period \u2013 confirm with the insurer if your specific condition/procedure has additional waiting periods.",
|
| 213 |
+
"judge_reason": "judge_error: HTTPStatusError: Client error '429 Too Many Requests' for url 'https://api.groq.com/openai/v1/chat/completions'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429",
|
| 214 |
+
"faithfulness_reasons": []
|
| 215 |
+
},
|
| 216 |
+
{
|
| 217 |
+
"id": "bajaj-allianz__silver-health__cis::pre_hospitalization_days::easy",
|
| 218 |
+
"question": "How many days of pre-hospitalization expenses does Silver Health cover?",
|
| 219 |
+
"blocked": false,
|
| 220 |
+
"factual_match": true,
|
| 221 |
+
"brain": "sarvam-m::simple-qa",
|
| 222 |
+
"bot_answer": "Silver Health covers **30 days** of pre-hospitalization expenses prior to hospitalization, as per the policy clauses [Source: Silver Health (bajaj-allianz), p.1]. \n\nNote: This is subject to the general terms of the policy and any applicable exclusions. For example, expenses related to investigations or non-medical reasons (as listed in exclusions) would not be covered.",
|
| 223 |
+
"judge_reason": "BOT accurately conveys the key information.",
|
| 224 |
+
"faithfulness_reasons": []
|
| 225 |
+
},
|
| 226 |
+
{
|
| 227 |
+
"id": "bajaj-allianz__silver-health__cis::post_hospitalization_days::easy",
|
| 228 |
+
"question": "How many days of post-hospitalization expenses does Silver Health cover?",
|
| 229 |
+
"blocked": false,
|
| 230 |
+
"factual_match": true,
|
| 231 |
+
"brain": "sarvam-m::simple-qa",
|
| 232 |
+
"bot_answer": "Silver Health covers post-hospitalization expenses for **up to 60 days** from the date of discharge, as per the policy clauses [Source: Silver Health (bajaj-allianz), p.1]. \n\nNote: This is subject to the insured being admitted for over 24 hours. For clarity, you may confirm this with the insurer directly before finalizing.",
|
| 233 |
+
"judge_reason": "BOT accurately conveys the post-hospitalization coverage period.",
|
| 234 |
+
"faithfulness_reasons": []
|
| 235 |
+
},
|
| 236 |
+
{
|
| 237 |
+
"id": "bajaj-allianz__silver-health__cis::no_claim_bonus_pct::easy",
|
| 238 |
+
"question": "What's the no-claim bonus on Silver Health?",
|
| 239 |
+
"blocked": true,
|
| 240 |
+
"factual_match": false,
|
| 241 |
+
"brain": "sarvam-m::simple-qa",
|
| 242 |
+
"bot_answer": "I'd rather not answer that without stronger evidence in the policy documents I have. Could you rephrase, or narrow your question to a specific policy?",
|
| 243 |
+
"judge_reason": "bot refused on a question with a known answer",
|
| 244 |
+
"faithfulness_reasons": [
|
| 245 |
+
"unsupported_number: 2 years"
|
| 246 |
+
]
|
| 247 |
+
},
|
| 248 |
+
{
|
| 249 |
+
"id": "bajaj-allianz__silver-health__cis::room_rent_capping::medium",
|
| 250 |
+
"question": "Is there a cap on room rent under Silver Health?",
|
| 251 |
+
"blocked": true,
|
| 252 |
+
"factual_match": false,
|
| 253 |
+
"brain": "sarvam-m::simple-qa",
|
| 254 |
+
"bot_answer": "I'd rather not answer that without stronger evidence in the policy documents I have. Could you rephrase, or narrow your question to a specific policy?",
|
| 255 |
+
"judge_reason": "bot refused on a question with a known answer",
|
| 256 |
+
"faithfulness_reasons": [
|
| 257 |
+
"unsupported_number: \u20b92",
|
| 258 |
+
"unsupported_number: \u20b92"
|
| 259 |
+
]
|
| 260 |
+
},
|
| 261 |
+
{
|
| 262 |
+
"id": "bajaj-allianz__silver-health__cis::copayment_pct::easy",
|
| 263 |
+
"question": "Is there a copayment under Silver Health?",
|
| 264 |
+
"blocked": false,
|
| 265 |
+
"factual_match": true,
|
| 266 |
+
"brain": "sarvam-m::simple-qa",
|
| 267 |
+
"bot_answer": "Silver Health (bajaj-allianz) does not have a mandatory copayment clause in the base policy. However, specific add-ons like **cataract coverage** require a 10% copayment (max \u20b940,000 per claim) [Source: Silver Health (bajaj-allianz), p.3]. For non-network hospitals, a 20% copayment applies per claim unless an extra premium is paid to waive it [Source: Silver Health (bajaj-allianz), p.3]. \n\nNote: This varies by plan (A/B) and add-ons selected.",
|
| 268 |
+
"judge_reason": "BOT accurately conveys the copayment information.",
|
| 269 |
+
"faithfulness_reasons": []
|
| 270 |
+
},
|
| 271 |
+
{
|
| 272 |
+
"id": "bajaj-allianz__silver-health__cis::REFUSE::exclusions_oos::hard",
|
| 273 |
+
"question": "Does Silver Health cover injuries from space tourism?",
|
| 274 |
+
"blocked": false,
|
| 275 |
+
"factual_match": false,
|
| 276 |
+
"brain": "sarvam-m::simple-qa",
|
| 277 |
+
"bot_answer": "Silver Health by Bajaj Allianz does not explicitly cover injuries from space tourism based on the provided policy clauses. The policy covers in-patient hospitalization for accidental bodily injuries (Section C1) but excludes treatments outside India (Exclusion DII) and does not mention space tourism as a covered scenario. \n\n**Key reasons:** \n1. **Geographic exclusion**: All treatments outside India are excluded [Source: Silver Health (bajaj-allianz), p.2-4, Exclusion DII]. Space tourism typically occurs outside India. \n2. **No specific coverage**: The policy does not list space tourism or high-altitude/aviation-related injuries as covered risks. \n\n**Note**: This policy has a 30-day initial waiting period for all illnesses [Source: Silver Health (bajaj-allianz), p.3-5, Standard Time Period]. Even if coverage were claimed, pre-existing conditions related to such activities would face a 12-month waiting period. \n\nI recommend you confirm directly with the insurer, as non-standard activities often require specific riders or exclusions.",
|
| 278 |
+
"judge_reason": "did not refuse when expected",
|
| 279 |
+
"faithfulness_reasons": []
|
| 280 |
+
},
|
| 281 |
+
{
|
| 282 |
+
"id": "bajaj-allianz__silver-health__cis::REFUSE::exclusions_oos::hard",
|
| 283 |
+
"question": "What is the maximum claim amount for diamond-tipped surgical procedures under Silver Health?",
|
| 284 |
+
"blocked": false,
|
| 285 |
+
"factual_match": false,
|
| 286 |
+
"brain": "sarvam-m::simple-qa",
|
| 287 |
+
"bot_answer": "The provided policy documents do not specifically mention diamond-tipped surgical procedures under covered treatments. While the policy covers advanced procedures like robotic surgeries and stereotactic radio surgeries [Source: Silver Health (bajaj-allianz), pp.2-3], there is no explicit reference to \"diamond-tipped\" procedures in the listed inclusions or exclusions. \n\nFor clarity: \n1. If the procedure falls under the broader category of \"Modern Treatment Methods\" (e.g., robotic surgeries), it *may* be covered up to the sum insured [Source: Silver Health (bajaj-allianz), pp.2-3]. \n2. If it is a cosmetic or elective procedure, it would likely be excluded under Section D II (cosmetic surgery) or Exclusion 10 (non-medical items) [Source: Silver Health (bajaj-allianz), pp.2-4]. \n\n**Note**: The policy does not specify sub-limits for individual procedures beyond the overall sum insured. For confirmation, you would need to share the specific procedure details with the insurer, as coverage depends on whether it aligns with the defined categories.",
|
| 288 |
+
"judge_reason": "did not refuse when expected",
|
| 289 |
+
"faithfulness_reasons": []
|
| 290 |
+
},
|
| 291 |
+
{
|
| 292 |
+
"id": "bajaj-allianz__silver-health__cis::REFUSE::regulatory_oos::hard",
|
| 293 |
+
"question": "What is the IRDAI mandate on dental coverage that Silver Health must follow?",
|
| 294 |
+
"blocked": true,
|
| 295 |
+
"factual_match": true,
|
| 296 |
+
"brain": "sarvam-m::simple-qa",
|
| 297 |
+
"bot_answer": "I'd rather not answer that without stronger evidence in the policy documents I have. Could you rephrase, or narrow your question to a specific policy?",
|
| 298 |
+
"judge_reason": "correctly refused",
|
| 299 |
+
"faithfulness_reasons": [
|
| 300 |
+
"gate4_llm_judge: claims unsupported"
|
| 301 |
+
]
|
| 302 |
+
}
|
| 303 |
+
]
|
| 304 |
+
},
|
| 305 |
+
{
|
| 306 |
+
"chunk_size": 1500,
|
| 307 |
+
"overlap": 300,
|
| 308 |
+
"chunk_count": 7641,
|
| 309 |
+
"summary": {
|
| 310 |
+
"ran_at": "2026-05-12T22:30:15Z",
|
| 311 |
+
"elapsed_seconds": 293.0,
|
| 312 |
+
"n_questions": 25,
|
| 313 |
+
"factual_accuracy": 0.4,
|
| 314 |
+
"citation_accuracy": 0.5,
|
| 315 |
+
"refusal_precision": 0.444,
|
| 316 |
+
"by_type": {
|
| 317 |
+
"waiting_period": 0.125,
|
| 318 |
+
"coverage_scope": 1.0,
|
| 319 |
+
"sub_limit": 0.333,
|
| 320 |
+
"exclusions_oos": 0.333,
|
| 321 |
+
"regulatory_oos": 0.667,
|
| 322 |
+
"bonus": 0.0
|
| 323 |
+
},
|
| 324 |
+
"by_brain": {
|
| 325 |
+
"groq-llama": 1.0,
|
| 326 |
+
"sarvam-m": 0.375
|
| 327 |
+
},
|
| 328 |
+
"blocked_count": 12
|
| 329 |
+
},
|
| 330 |
+
"rows": [
|
| 331 |
+
{
|
| 332 |
+
"id": "aditya-birla__activ-assure-diamond__wordings::pre_existing_disease_waiting_months::easy",
|
| 333 |
+
"question": "What is the waiting period for pre-existing diseases under Activ Assure?",
|
| 334 |
+
"blocked": false,
|
| 335 |
+
"factual_match": true,
|
| 336 |
+
"brain": "groq-llama::fallback-truncated-reasoning",
|
| 337 |
+
"bot_answer": "The waiting period for pre-existing diseases under Activ Assure is 24 months [Source: Activ Assure Diamond (aditya-birla), pp.10-11].",
|
| 338 |
+
"judge_reason": "BOT accurately conveys the waiting period.",
|
| 339 |
+
"faithfulness_reasons": []
|
| 340 |
+
},
|
| 341 |
+
{
|
| 342 |
+
"id": "aditya-birla__activ-assure-diamond__wordings::pre_existing_disease_waiting_months::medium",
|
| 343 |
+
"question": "If I have diabetes, how long do I have to wait before I can claim under Activ Assure?",
|
| 344 |
+
"blocked": true,
|
| 345 |
+
"factual_match": false,
|
| 346 |
+
"brain": "sarvam-m::simple-qa",
|
| 347 |
+
"bot_answer": "I'd rather not answer that without stronger evidence in the policy documents I have. Could you rephrase, or narrow your question to a specific policy?",
|
| 348 |
+
"judge_reason": "bot refused on a question with a known answer",
|
| 349 |
+
"faithfulness_reasons": [
|
| 350 |
+
"gate4_llm_judge: claims unsupported"
|
| 351 |
+
]
|
| 352 |
+
},
|
| 353 |
+
{
|
| 354 |
+
"id": "aditya-birla__activ-assure-diamond__wordings::ayush_coverage::easy",
|
| 355 |
+
"question": "Does Activ Assure cover AYUSH (Ayurveda, Yoga, Unani, Siddha, Homeopathy)?",
|
| 356 |
+
"blocked": false,
|
| 357 |
+
"factual_match": true,
|
| 358 |
+
"brain": "sarvam-m::simple-qa",
|
| 359 |
+
"bot_answer": "Yes, Activ Assure Diamond does cover AYUSH treatments (Ayurveda, Yoga, Unani, Siddha, Homeopathy) under specific conditions. The policy reimburses in-patient hospitalization expenses for Ayush treatments conducted at recognized institutions [Source: Activ Assure Diamond (aditya-birla), p.3-4]. \n\nKey requirements: \n1. Treatment must be at government hospitals, CCIM/CCH-recognized AYUSH colleges, or accredited institutions with \u226515 beds and qualified doctors \n2. Must be performed by a registered AYUSH practitioner \n3. Only covers in-patient expenses (excludes pre/post-hospitalization costs) \n\nNote: This coverage is subject to policy schedule limits and hospital accreditation criteria. For out-patient Ayush consultations, coverage isn't mentioned in the provided clauses.",
|
| 360 |
+
"judge_reason": "BOT accurately conveys the information",
|
| 361 |
+
"faithfulness_reasons": []
|
| 362 |
+
},
|
| 363 |
+
{
|
| 364 |
+
"id": "aditya-birla__activ-assure-diamond__wordings::room_rent_capping::medium",
|
| 365 |
+
"question": "Is there a cap on room rent under Activ Assure?",
|
| 366 |
+
"blocked": false,
|
| 367 |
+
"factual_match": false,
|
| 368 |
+
"brain": "sarvam-m::simple-qa",
|
| 369 |
+
"bot_answer": "The room rent cap under Activ Assure is specified in your Policy Schedule/Product Benefit Table, as per the sub-limits mentioned [Source: Activ Assure Diamond (aditya-birla), p.1]. For example, a \"Single Private A/C Room\" is defined as the most economical accommodation category with specific limits [Source: Activ Assure Diamond (aditya-birla), p.23-24]. \n\nNote: This is subject to IRDAI regulations mandating reasonable sub-limits. For your exact cap, check the \"Room Rent\" section in your Policy Schedule or contact Aditya Birla Health directly.",
|
| 370 |
+
"judge_reason": "BOT does not convey the upgradability to the next level.",
|
| 371 |
+
"faithfulness_reasons": []
|
| 372 |
+
},
|
| 373 |
+
{
|
| 374 |
+
"id": "aditya-birla__activ-assure-diamond__wordings::REFUSE::exclusions_oos::hard",
|
| 375 |
+
"question": "Does Activ Assure cover injuries from space tourism?",
|
| 376 |
+
"blocked": false,
|
| 377 |
+
"factual_match": false,
|
| 378 |
+
"brain": "sarvam-m::simple-qa",
|
| 379 |
+
"bot_answer": "Activ Assure Diamond does not explicitly cover injuries from space tourism. The policy excludes \"participation or involvement in... professional or semiprofessional nature\" activities like aviation, scuba diving, or paragliding [Source: Activ Assure Diamond (aditya-birla), p.13]. Space tourism would likely be considered a high-risk activity falling under this exclusion. Additionally, injuries from \"willful or deliberate exposure to danger\" are not covered [Same source]. \n\nNote: This policy has a 36-month waiting period for pre-existing conditions, but space tourism exclusions apply regardless. For clarity, I recommend confirming with the insurer directly before purchasing, as space tourism is not a standard coverage scenario.",
|
| 380 |
+
"judge_reason": "did not refuse when expected",
|
| 381 |
+
"faithfulness_reasons": []
|
| 382 |
+
},
|
| 383 |
+
{
|
| 384 |
+
"id": "aditya-birla__activ-assure-diamond__wordings::REFUSE::exclusions_oos::hard",
|
| 385 |
+
"question": "What is the maximum claim amount for diamond-tipped surgical procedures under Activ Assure?",
|
| 386 |
+
"blocked": true,
|
| 387 |
+
"factual_match": true,
|
| 388 |
+
"brain": "sarvam-m::simple-qa",
|
| 389 |
+
"bot_answer": "I'd rather not answer that without stronger evidence in the policy documents I have. Could you rephrase, or narrow your question to a specific policy?",
|
| 390 |
+
"judge_reason": "correctly refused",
|
| 391 |
+
"faithfulness_reasons": [
|
| 392 |
+
"gate4_llm_judge: claims unsupported"
|
| 393 |
+
]
|
| 394 |
+
},
|
| 395 |
+
{
|
| 396 |
+
"id": "aditya-birla__activ-assure-diamond__wordings::REFUSE::regulatory_oos::hard",
|
| 397 |
+
"question": "What is the IRDAI mandate on dental coverage that Activ Assure must follow?",
|
| 398 |
+
"blocked": true,
|
| 399 |
+
"factual_match": true,
|
| 400 |
+
"brain": "sarvam-m::simple-qa",
|
| 401 |
+
"bot_answer": "I'd rather not answer that without stronger evidence in the policy documents I have. Could you rephrase, or narrow your question to a specific policy?",
|
| 402 |
+
"judge_reason": "correctly refused",
|
| 403 |
+
"faithfulness_reasons": [
|
| 404 |
+
"gate4_llm_judge: claims unsupported"
|
| 405 |
+
]
|
| 406 |
+
},
|
| 407 |
+
{
|
| 408 |
+
"id": "bajaj-allianz__comprehensive-care-plan__wordings::pre_existing_disease_waiting_months::easy",
|
| 409 |
+
"question": "What is the waiting period for pre-existing diseases under Comprehensive Care Plan?",
|
| 410 |
+
"blocked": true,
|
| 411 |
+
"factual_match": false,
|
| 412 |
+
"brain": "sarvam-m::simple-qa",
|
| 413 |
+
"bot_answer": "I'd rather not answer that without stronger evidence in the policy documents I have. Could you rephrase, or narrow your question to a specific policy?",
|
| 414 |
+
"judge_reason": "bot refused on a question with a known answer",
|
| 415 |
+
"faithfulness_reasons": [
|
| 416 |
+
"gate4_llm_judge: claims unsupported"
|
| 417 |
+
]
|
| 418 |
+
},
|
| 419 |
+
{
|
| 420 |
+
"id": "bajaj-allianz__comprehensive-care-plan__wordings::pre_existing_disease_waiting_months::medium",
|
| 421 |
+
"question": "If I have diabetes, how long do I have to wait before I can claim under Comprehensive Care Plan?",
|
| 422 |
+
"blocked": true,
|
| 423 |
+
"factual_match": false,
|
| 424 |
+
"brain": "sarvam-m::simple-qa",
|
| 425 |
+
"bot_answer": "I'd rather not answer that without stronger evidence in the policy documents I have. Could you rephrase, or narrow your question to a specific policy?",
|
| 426 |
+
"judge_reason": "bot refused on a question with a known answer",
|
| 427 |
+
"faithfulness_reasons": [
|
| 428 |
+
"gate4_llm_judge: claims unsupported"
|
| 429 |
+
]
|
| 430 |
+
},
|
| 431 |
+
{
|
| 432 |
+
"id": "bajaj-allianz__comprehensive-care-plan__wordings::initial_waiting_period_days::easy",
|
| 433 |
+
"question": "What is the initial waiting period under Comprehensive Care Plan?",
|
| 434 |
+
"blocked": true,
|
| 435 |
+
"factual_match": false,
|
| 436 |
+
"brain": "sarvam-m::simple-qa",
|
| 437 |
+
"bot_answer": "I'd rather not answer that without stronger evidence in the policy documents I have. Could you rephrase, or narrow your question to a specific policy?",
|
| 438 |
+
"judge_reason": "bot refused on a question with a known answer",
|
| 439 |
+
"faithfulness_reasons": [
|
| 440 |
+
"gate4_llm_judge: claims unsupported"
|
| 441 |
+
]
|
| 442 |
+
},
|
| 443 |
+
{
|
| 444 |
+
"id": "bajaj-allianz__comprehensive-care-plan__wordings::ayush_coverage::easy",
|
| 445 |
+
"question": "Does Comprehensive Care Plan cover AYUSH (Ayurveda, Yoga, Unani, Siddha, Homeopathy)?",
|
| 446 |
+
"blocked": false,
|
| 447 |
+
"factual_match": true,
|
| 448 |
+
"brain": "sarvam-m::simple-qa",
|
| 449 |
+
"bot_answer": "The Comprehensive Care Plan does cover AYUSH treatments (Ayurveda, Yoga, Unani, Siddha, Homeopathy) **if** the treatment is conducted in a recognized AYUSH Hospital or Day Care Centre as defined in the policy. Coverage includes hospitalization and day-care procedures under these systems [Source: Comprehensive Care Plan (bajaj-allianz), p.1-2]. \n\n**Key criteria for AYUSH facilities**: \n- Minimum 5 in-patient beds (15 in larger towns) \n- 24/7 qualified AYUSH practitioners \n- Dedicated therapy sections/operation theatres \n- Registered with local authorities [Source: Comprehensive Care Plan (bajaj-allianz), p.1-2]. \n\nNote: This coverage applies only to in-patient hospitalization or day-care procedures at these facilities. For out-patient AYUSH consultations, the policy does not explicitly mention coverage in the provided clauses.",
|
| 450 |
+
"judge_reason": "BOT accurately conveys the coverage of AYUSH treatments.",
|
| 451 |
+
"faithfulness_reasons": []
|
| 452 |
+
},
|
| 453 |
+
{
|
| 454 |
+
"id": "bajaj-allianz__comprehensive-care-plan__wordings::REFUSE::exclusions_oos::hard",
|
| 455 |
+
"question": "Does Comprehensive Care Plan cover injuries from space tourism?",
|
| 456 |
+
"blocked": true,
|
| 457 |
+
"factual_match": true,
|
| 458 |
+
"brain": "sarvam-m::simple-qa",
|
| 459 |
+
"bot_answer": "I'd rather not answer that without stronger evidence in the policy documents I have. Could you rephrase, or narrow your question to a specific policy?",
|
| 460 |
+
"judge_reason": "correctly refused",
|
| 461 |
+
"faithfulness_reasons": [
|
| 462 |
+
"fabricated_citation: same as above, clause 3"
|
| 463 |
+
]
|
| 464 |
+
},
|
| 465 |
+
{
|
| 466 |
+
"id": "bajaj-allianz__comprehensive-care-plan__wordings::REFUSE::exclusions_oos::hard",
|
| 467 |
+
"question": "What is the maximum claim amount for diamond-tipped surgical procedures under Comprehensive Care Plan?",
|
| 468 |
+
"blocked": false,
|
| 469 |
+
"factual_match": false,
|
| 470 |
+
"brain": "sarvam-m::simple-qa",
|
| 471 |
+
"bot_answer": "The Comprehensive Care Plan policy document provided does not mention any specific coverage limits or exclusions for diamond-tipped surgical procedures. The retrieved clauses focus on general terms, claim timelines, exclusions like terrorism, and benefits for critical illnesses/accidents, but no procedure-specific limits are indicated [Source: Comprehensive Care Plan (bajaj-allianz), pp.1-16].\n\nFor clarity, the policy covers surgical procedures under Section 5 (Critical Illness) and Section 2 (Accident Protection), but these are subject to general terms like waiting periods and exclusions. Since the document lacks details about diamond-tipped procedures, I cannot confirm coverage for this specific case.\n\nNote: This type of specialized procedure might require pre-authorization. I\u2019d recommend you confirm with the insurer directly before finalizing any treatment.",
|
| 472 |
+
"judge_reason": "did not refuse when expected",
|
| 473 |
+
"faithfulness_reasons": []
|
| 474 |
+
},
|
| 475 |
+
{
|
| 476 |
+
"id": "bajaj-allianz__comprehensive-care-plan__wordings::REFUSE::regulatory_oos::hard",
|
| 477 |
+
"question": "What is the IRDAI mandate on dental coverage that Comprehensive Care Plan must follow?",
|
| 478 |
+
"blocked": false,
|
| 479 |
+
"factual_match": false,
|
| 480 |
+
"brain": "sarvam-m::simple-qa",
|
| 481 |
+
"bot_answer": "The Comprehensive Care Plan policy document does not explicitly mention any IRDAI mandates specifically for dental coverage. The retrieved clauses focus on general hospitalization, AYUSH facilities, and day care centers without dental-specific provisions [Source: Comprehensive Care Plan (bajaj-allianz), pp.1-30]. \n\nFor dental coverage details, you would need to check the policy's excluded treatments or consult IRDAI's general health insurance regulations (not provided in this context). I recommend confirming directly with Bajaj Allianz or reviewing the policy's exclusions section for dental-related clauses.",
|
| 482 |
+
"judge_reason": "did not refuse when expected",
|
| 483 |
+
"faithfulness_reasons": []
|
| 484 |
+
},
|
| 485 |
+
{
|
| 486 |
+
"id": "bajaj-allianz__silver-health__cis::pre_existing_disease_waiting_months::easy",
|
| 487 |
+
"question": "What is the waiting period for pre-existing diseases under Silver Health?",
|
| 488 |
+
"blocked": true,
|
| 489 |
+
"factual_match": false,
|
| 490 |
+
"brain": "sarvam-m::simple-qa",
|
| 491 |
+
"bot_answer": "I'd rather not answer that without stronger evidence in the policy documents I have. Could you rephrase, or narrow your question to a specific policy?",
|
| 492 |
+
"judge_reason": "bot refused on a question with a known answer",
|
| 493 |
+
"faithfulness_reasons": [
|
| 494 |
+
"gate4_llm_judge: claims unsupported"
|
| 495 |
+
]
|
| 496 |
+
},
|
| 497 |
+
{
|
| 498 |
+
"id": "bajaj-allianz__silver-health__cis::pre_existing_disease_waiting_months::medium",
|
| 499 |
+
"question": "If I have diabetes, how long do I have to wait before I can claim under Silver Health?",
|
| 500 |
+
"blocked": true,
|
| 501 |
+
"factual_match": false,
|
| 502 |
+
"brain": "sarvam-m::simple-qa",
|
| 503 |
+
"bot_answer": "I'd rather not answer that without stronger evidence in the policy documents I have. Could you rephrase, or narrow your question to a specific policy?",
|
| 504 |
+
"judge_reason": "bot refused on a question with a known answer",
|
| 505 |
+
"faithfulness_reasons": [
|
| 506 |
+
"gate4_llm_judge: claims unsupported"
|
| 507 |
+
]
|
| 508 |
+
},
|
| 509 |
+
{
|
| 510 |
+
"id": "bajaj-allianz__silver-health__cis::initial_waiting_period_days::easy",
|
| 511 |
+
"question": "What is the initial waiting period under Silver Health?",
|
| 512 |
+
"blocked": false,
|
| 513 |
+
"factual_match": false,
|
| 514 |
+
"brain": "sarvam-m::simple-qa",
|
| 515 |
+
"bot_answer": "The initial waiting period under Silver Health (Bajaj Allianz) is **30 days for all illnesses** as per the policy clauses [Source: Silver Health (bajaj-allianz), pp.2-4]. This applies to all covered treatments except specific procedures listed under the 12-month waiting period. Note: This is the policy's standard waiting period \u2013 confirm with the insurer if your specific condition/procedure has additional waiting periods.",
|
| 516 |
+
"judge_reason": "judge_error: HTTPStatusError: Client error '429 Too Many Requests' for url 'https://api.groq.com/openai/v1/chat/completions'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429",
|
| 517 |
+
"faithfulness_reasons": []
|
| 518 |
+
},
|
| 519 |
+
{
|
| 520 |
+
"id": "bajaj-allianz__silver-health__cis::pre_hospitalization_days::easy",
|
| 521 |
+
"question": "How many days of pre-hospitalization expenses does Silver Health cover?",
|
| 522 |
+
"blocked": false,
|
| 523 |
+
"factual_match": true,
|
| 524 |
+
"brain": "sarvam-m::simple-qa",
|
| 525 |
+
"bot_answer": "Silver Health covers **30 days** of pre-hospitalization expenses prior to hospitalization, as per the policy clauses [Source: Silver Health (bajaj-allianz), p.1]. \n\nNote: This is subject to the general terms of the policy and any applicable exclusions. For example, expenses related to investigations or non-medical reasons (as listed in exclusions) would not be covered.",
|
| 526 |
+
"judge_reason": "BOT accurately conveys the key information.",
|
| 527 |
+
"faithfulness_reasons": []
|
| 528 |
+
},
|
| 529 |
+
{
|
| 530 |
+
"id": "bajaj-allianz__silver-health__cis::post_hospitalization_days::easy",
|
| 531 |
+
"question": "How many days of post-hospitalization expenses does Silver Health cover?",
|
| 532 |
+
"blocked": false,
|
| 533 |
+
"factual_match": true,
|
| 534 |
+
"brain": "sarvam-m::simple-qa",
|
| 535 |
+
"bot_answer": "Silver Health covers post-hospitalization expenses for **up to 60 days** from the date of discharge, as per the policy clauses [Source: Silver Health (bajaj-allianz), p.1]. \n\nNote: This is subject to the insured being admitted for over 24 hours. For clarity, you may confirm this with the insurer directly before finalizing.",
|
| 536 |
+
"judge_reason": "BOT accurately conveys the post-hospitalization coverage period.",
|
| 537 |
+
"faithfulness_reasons": []
|
| 538 |
+
},
|
| 539 |
+
{
|
| 540 |
+
"id": "bajaj-allianz__silver-health__cis::no_claim_bonus_pct::easy",
|
| 541 |
+
"question": "What's the no-claim bonus on Silver Health?",
|
| 542 |
+
"blocked": true,
|
| 543 |
+
"factual_match": false,
|
| 544 |
+
"brain": "sarvam-m::simple-qa",
|
| 545 |
+
"bot_answer": "I'd rather not answer that without stronger evidence in the policy documents I have. Could you rephrase, or narrow your question to a specific policy?",
|
| 546 |
+
"judge_reason": "bot refused on a question with a known answer",
|
| 547 |
+
"faithfulness_reasons": [
|
| 548 |
+
"unsupported_number: 2 years"
|
| 549 |
+
]
|
| 550 |
+
},
|
| 551 |
+
{
|
| 552 |
+
"id": "bajaj-allianz__silver-health__cis::room_rent_capping::medium",
|
| 553 |
+
"question": "Is there a cap on room rent under Silver Health?",
|
| 554 |
+
"blocked": true,
|
| 555 |
+
"factual_match": false,
|
| 556 |
+
"brain": "sarvam-m::simple-qa",
|
| 557 |
+
"bot_answer": "I'd rather not answer that without stronger evidence in the policy documents I have. Could you rephrase, or narrow your question to a specific policy?",
|
| 558 |
+
"judge_reason": "bot refused on a question with a known answer",
|
| 559 |
+
"faithfulness_reasons": [
|
| 560 |
+
"unsupported_number: \u20b92",
|
| 561 |
+
"unsupported_number: \u20b92"
|
| 562 |
+
]
|
| 563 |
+
},
|
| 564 |
+
{
|
| 565 |
+
"id": "bajaj-allianz__silver-health__cis::copayment_pct::easy",
|
| 566 |
+
"question": "Is there a copayment under Silver Health?",
|
| 567 |
+
"blocked": false,
|
| 568 |
+
"factual_match": true,
|
| 569 |
+
"brain": "sarvam-m::simple-qa",
|
| 570 |
+
"bot_answer": "Silver Health (bajaj-allianz) does not have a mandatory copayment clause in the base policy. However, specific add-ons like **cataract coverage** require a 10% copayment (max \u20b940,000 per claim) [Source: Silver Health (bajaj-allianz), p.3]. For non-network hospitals, a 20% copayment applies per claim unless an extra premium is paid to waive it [Source: Silver Health (bajaj-allianz), p.3]. \n\nNote: This varies by plan (A/B) and add-ons selected.",
|
| 571 |
+
"judge_reason": "BOT accurately conveys the copayment information.",
|
| 572 |
+
"faithfulness_reasons": []
|
| 573 |
+
},
|
| 574 |
+
{
|
| 575 |
+
"id": "bajaj-allianz__silver-health__cis::REFUSE::exclusions_oos::hard",
|
| 576 |
+
"question": "Does Silver Health cover injuries from space tourism?",
|
| 577 |
+
"blocked": false,
|
| 578 |
+
"factual_match": false,
|
| 579 |
+
"brain": "sarvam-m::simple-qa",
|
| 580 |
+
"bot_answer": "Silver Health by Bajaj Allianz does not explicitly cover injuries from space tourism based on the provided policy clauses. The policy covers in-patient hospitalization for accidental bodily injuries (Section C1) but excludes treatments outside India (Exclusion DII) and does not mention space tourism as a covered scenario. \n\n**Key reasons:** \n1. **Geographic exclusion**: All treatments outside India are excluded [Source: Silver Health (bajaj-allianz), p.2-4, Exclusion DII]. Space tourism typically occurs outside India. \n2. **No specific coverage**: The policy does not list space tourism or high-altitude/aviation-related injuries as covered risks. \n\n**Note**: This policy has a 30-day initial waiting period for all illnesses [Source: Silver Health (bajaj-allianz), p.3-5, Standard Time Period]. Even if coverage were claimed, pre-existing conditions related to such activities would face a 12-month waiting period. \n\nI recommend you confirm directly with the insurer, as non-standard activities often require specific riders or exclusions.",
|
| 581 |
+
"judge_reason": "did not refuse when expected",
|
| 582 |
+
"faithfulness_reasons": []
|
| 583 |
+
},
|
| 584 |
+
{
|
| 585 |
+
"id": "bajaj-allianz__silver-health__cis::REFUSE::exclusions_oos::hard",
|
| 586 |
+
"question": "What is the maximum claim amount for diamond-tipped surgical procedures under Silver Health?",
|
| 587 |
+
"blocked": false,
|
| 588 |
+
"factual_match": false,
|
| 589 |
+
"brain": "sarvam-m::simple-qa",
|
| 590 |
+
"bot_answer": "The provided policy documents do not specifically mention diamond-tipped surgical procedures under covered treatments. While the policy covers advanced procedures like robotic surgeries and stereotactic radio surgeries [Source: Silver Health (bajaj-allianz), pp.2-3], there is no explicit reference to \"diamond-tipped\" procedures in the listed inclusions or exclusions. \n\nFor clarity: \n1. If the procedure falls under the broader category of \"Modern Treatment Methods\" (e.g., robotic surgeries), it *may* be covered up to the sum insured [Source: Silver Health (bajaj-allianz), pp.2-3]. \n2. If it is a cosmetic or elective procedure, it would likely be excluded under Section D II (cosmetic surgery) or Exclusion 10 (non-medical items) [Source: Silver Health (bajaj-allianz), pp.2-4]. \n\n**Note**: The policy does not specify sub-limits for individual procedures beyond the overall sum insured. For confirmation, you would need to share the specific procedure details with the insurer, as coverage depends on whether it aligns with the defined categories.",
|
| 591 |
+
"judge_reason": "did not refuse when expected",
|
| 592 |
+
"faithfulness_reasons": []
|
| 593 |
+
},
|
| 594 |
+
{
|
| 595 |
+
"id": "bajaj-allianz__silver-health__cis::REFUSE::regulatory_oos::hard",
|
| 596 |
+
"question": "What is the IRDAI mandate on dental coverage that Silver Health must follow?",
|
| 597 |
+
"blocked": true,
|
| 598 |
+
"factual_match": true,
|
| 599 |
+
"brain": "sarvam-m::simple-qa",
|
| 600 |
+
"bot_answer": "I'd rather not answer that without stronger evidence in the policy documents I have. Could you rephrase, or narrow your question to a specific policy?",
|
| 601 |
+
"judge_reason": "correctly refused",
|
| 602 |
+
"faithfulness_reasons": [
|
| 603 |
+
"gate4_llm_judge: claims unsupported"
|
| 604 |
+
]
|
| 605 |
+
}
|
| 606 |
+
]
|
| 607 |
+
}
|
| 608 |
+
]
|
eval/chunk_sweep_results.json
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"results": [
|
| 3 |
+
{
|
| 4 |
+
"chunk_size": 600,
|
| 5 |
+
"overlap": 80,
|
| 6 |
+
"chunk_count": 5075,
|
| 7 |
+
"storage_mb": 108.8,
|
| 8 |
+
"ingest_seconds": 2038.0,
|
| 9 |
+
"eval_seconds": 21.8,
|
| 10 |
+
"factual_accuracy": 0.4,
|
| 11 |
+
"citation_accuracy": 0.5,
|
| 12 |
+
"refusal_precision": 0.444,
|
| 13 |
+
"p50_latency_ms": 10545,
|
| 14 |
+
"p95_latency_ms": 15886
|
| 15 |
+
},
|
| 16 |
+
{
|
| 17 |
+
"chunk_size": 600,
|
| 18 |
+
"overlap": 120,
|
| 19 |
+
"chunk_count": 5474,
|
| 20 |
+
"storage_mb": 115.5,
|
| 21 |
+
"ingest_seconds": 1661.1,
|
| 22 |
+
"eval_seconds": 14.7,
|
| 23 |
+
"factual_accuracy": 0.4,
|
| 24 |
+
"citation_accuracy": 0.5,
|
| 25 |
+
"refusal_precision": 0.444,
|
| 26 |
+
"p50_latency_ms": 10545,
|
| 27 |
+
"p95_latency_ms": 15886
|
| 28 |
+
},
|
| 29 |
+
{
|
| 30 |
+
"chunk_size": 800,
|
| 31 |
+
"overlap": 80,
|
| 32 |
+
"chunk_count": 3703,
|
| 33 |
+
"storage_mb": 86.2,
|
| 34 |
+
"ingest_seconds": 1415.5,
|
| 35 |
+
"eval_seconds": 14.3,
|
| 36 |
+
"factual_accuracy": 0.4,
|
| 37 |
+
"citation_accuracy": 0.5,
|
| 38 |
+
"refusal_precision": 0.444,
|
| 39 |
+
"p50_latency_ms": 10545,
|
| 40 |
+
"p95_latency_ms": 15886
|
| 41 |
+
},
|
| 42 |
+
{
|
| 43 |
+
"chunk_size": 800,
|
| 44 |
+
"overlap": 120,
|
| 45 |
+
"chunk_count": 3915,
|
| 46 |
+
"storage_mb": 93.3,
|
| 47 |
+
"ingest_seconds": 1414.5,
|
| 48 |
+
"eval_seconds": 14.6,
|
| 49 |
+
"factual_accuracy": 0.4,
|
| 50 |
+
"citation_accuracy": 0.5,
|
| 51 |
+
"refusal_precision": 0.444,
|
| 52 |
+
"p50_latency_ms": 10545,
|
| 53 |
+
"p95_latency_ms": 15886
|
| 54 |
+
},
|
| 55 |
+
{
|
| 56 |
+
"chunk_size": 1000,
|
| 57 |
+
"overlap": 120,
|
| 58 |
+
"chunk_count": 3051,
|
| 59 |
+
"storage_mb": 88.8,
|
| 60 |
+
"ingest_seconds": 1359.4,
|
| 61 |
+
"eval_seconds": 21.5,
|
| 62 |
+
"factual_accuracy": 0.4,
|
| 63 |
+
"citation_accuracy": 0.5,
|
| 64 |
+
"refusal_precision": 0.444,
|
| 65 |
+
"p50_latency_ms": 10545,
|
| 66 |
+
"p95_latency_ms": 15886
|
| 67 |
+
},
|
| 68 |
+
{
|
| 69 |
+
"chunk_size": 1000,
|
| 70 |
+
"overlap": 200,
|
| 71 |
+
"chunk_count": 3339,
|
| 72 |
+
"storage_mb": 92.3,
|
| 73 |
+
"ingest_seconds": 1313.4,
|
| 74 |
+
"eval_seconds": 14.6,
|
| 75 |
+
"factual_accuracy": 0.4,
|
| 76 |
+
"citation_accuracy": 0.5,
|
| 77 |
+
"refusal_precision": 0.444,
|
| 78 |
+
"p50_latency_ms": 10545,
|
| 79 |
+
"p95_latency_ms": 15886
|
| 80 |
+
}
|
| 81 |
+
],
|
| 82 |
+
"in_progress": false
|
| 83 |
+
}
|
frontend/src/app/page.tsx
CHANGED
|
@@ -5,7 +5,9 @@ import {
|
|
| 5 |
audioBlobURLFromBase64,
|
| 6 |
Citation,
|
| 7 |
ChatMessage,
|
|
|
|
| 8 |
CoverageResponse,
|
|
|
|
| 9 |
getCoverage,
|
| 10 |
getHealth,
|
| 11 |
getInsurerReviews,
|
|
@@ -920,6 +922,16 @@ function MarketplacePanel({
|
|
| 920 |
const [requireCashless, setRequireCashless] = useState(false);
|
| 921 |
const [grade, setGrade] = useState<string>("all");
|
| 922 |
const [sortBy, setSortBy] = useState<"score" | "name" | "insurer">("score");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 923 |
|
| 924 |
const insurers = Array.from(new Set(data.policies.map((p) => p.insurer_slug))).sort();
|
| 925 |
|
|
@@ -1014,9 +1026,16 @@ function MarketplacePanel({
|
|
| 1014 |
</div>
|
| 1015 |
|
| 1016 |
{/* Grid */}
|
| 1017 |
-
<div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3">
|
| 1018 |
{sorted.map((p) => (
|
| 1019 |
-
<PolicyCard
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1020 |
))}
|
| 1021 |
{sorted.length === 0 && (
|
| 1022 |
<div className="col-span-full text-center text-sm text-[var(--muted-foreground)] py-12">
|
|
@@ -1025,6 +1044,51 @@ function MarketplacePanel({
|
|
| 1025 |
)}
|
| 1026 |
</div>
|
| 1027 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1028 |
</div>
|
| 1029 |
);
|
| 1030 |
}
|
|
@@ -1159,35 +1223,59 @@ function InsurerReviewsBlock({ reviews }: { reviews: InsurerReviews }) {
|
|
| 1159 |
);
|
| 1160 |
}
|
| 1161 |
|
| 1162 |
-
function PolicyCard({
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1163 |
const initials = insurerInitials(policy.insurer_name);
|
| 1164 |
const color = INSURER_COLOR[policy.insurer_slug] || "bg-slate-500";
|
| 1165 |
const maxSI = policy.sum_insured_options.length ? Math.max(...policy.sum_insured_options) : null;
|
| 1166 |
const siDisplay = maxSI ? (maxSI >= 10000000 ? `${maxSI/10000000} cr` : `${maxSI/100000} L`) : "—";
|
| 1167 |
return (
|
| 1168 |
-
<
|
| 1169 |
-
|
| 1170 |
-
|
| 1171 |
-
|
| 1172 |
-
|
| 1173 |
-
<
|
| 1174 |
-
|
| 1175 |
-
|
| 1176 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1177 |
</div>
|
| 1178 |
-
<
|
| 1179 |
-
|
| 1180 |
-
<
|
|
|
|
|
|
|
|
|
|
| 1181 |
</div>
|
| 1182 |
-
</
|
| 1183 |
-
|
| 1184 |
-
<div className="grid grid-cols-2 gap-2 text-xs">
|
| 1185 |
-
<Stat label="Sum insured up to" value={siDisplay} />
|
| 1186 |
-
<Stat label="PED waiting" value={policy.pre_existing_disease_waiting_months ? `${policy.pre_existing_disease_waiting_months} mo` : "—"} />
|
| 1187 |
-
<Stat label="AYUSH" value={policy.ayush_coverage === true ? "Yes" : policy.ayush_coverage === false ? "No" : "—"} />
|
| 1188 |
-
<Stat label="Network" value={policy.network_hospital_count ? `${(policy.network_hospital_count / 1000).toFixed(0)}K+` : "—"} />
|
| 1189 |
-
</div>
|
| 1190 |
-
</button>
|
| 1191 |
);
|
| 1192 |
}
|
| 1193 |
|
|
@@ -1200,6 +1288,166 @@ function Stat({ label, value }: { label: string; value: string }) {
|
|
| 1200 |
);
|
| 1201 |
}
|
| 1202 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1203 |
function PolicyDetailModal({ policy, onClose }: { policy: MarketplacePolicy; onClose: () => void }) {
|
| 1204 |
const [sc, setSc] = useState<ScorecardResponse | null>(null);
|
| 1205 |
const [reviews, setReviews] = useState<InsurerReviews | null>(null);
|
|
|
|
| 5 |
audioBlobURLFromBase64,
|
| 6 |
Citation,
|
| 7 |
ChatMessage,
|
| 8 |
+
CompareResponse,
|
| 9 |
CoverageResponse,
|
| 10 |
+
getCompare,
|
| 11 |
getCoverage,
|
| 12 |
getHealth,
|
| 13 |
getInsurerReviews,
|
|
|
|
| 922 |
const [requireCashless, setRequireCashless] = useState(false);
|
| 923 |
const [grade, setGrade] = useState<string>("all");
|
| 924 |
const [sortBy, setSortBy] = useState<"score" | "name" | "insurer">("score");
|
| 925 |
+
const [selectedIds, setSelectedIds] = useState<string[]>([]);
|
| 926 |
+
const [compareOpen, setCompareOpen] = useState(false);
|
| 927 |
+
const MAX_COMPARE = 4;
|
| 928 |
+
const toggleSelect = (id: string) => {
|
| 929 |
+
setSelectedIds((prev) => {
|
| 930 |
+
if (prev.includes(id)) return prev.filter((x) => x !== id);
|
| 931 |
+
if (prev.length >= MAX_COMPARE) return prev;
|
| 932 |
+
return [...prev, id];
|
| 933 |
+
});
|
| 934 |
+
};
|
| 935 |
|
| 936 |
const insurers = Array.from(new Set(data.policies.map((p) => p.insurer_slug))).sort();
|
| 937 |
|
|
|
|
| 1026 |
</div>
|
| 1027 |
|
| 1028 |
{/* Grid */}
|
| 1029 |
+
<div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3 pb-20">
|
| 1030 |
{sorted.map((p) => (
|
| 1031 |
+
<PolicyCard
|
| 1032 |
+
key={p.policy_id}
|
| 1033 |
+
policy={p}
|
| 1034 |
+
onOpen={() => onOpenPolicy(p)}
|
| 1035 |
+
selected={selectedIds.includes(p.policy_id)}
|
| 1036 |
+
onToggleSelect={() => toggleSelect(p.policy_id)}
|
| 1037 |
+
selectionDisabled={selectedIds.length >= MAX_COMPARE}
|
| 1038 |
+
/>
|
| 1039 |
))}
|
| 1040 |
{sorted.length === 0 && (
|
| 1041 |
<div className="col-span-full text-center text-sm text-[var(--muted-foreground)] py-12">
|
|
|
|
| 1044 |
)}
|
| 1045 |
</div>
|
| 1046 |
</div>
|
| 1047 |
+
|
| 1048 |
+
{/* Sticky compare action bar */}
|
| 1049 |
+
{selectedIds.length > 0 && (
|
| 1050 |
+
<div className="fixed bottom-0 left-0 right-0 z-40 bg-[var(--card)] border-t border-[var(--border)] shadow-lg animate-fade-up">
|
| 1051 |
+
<div className="max-w-7xl mx-auto px-4 sm:px-6 py-3 flex items-center justify-between gap-3">
|
| 1052 |
+
<div className="flex items-center gap-2 flex-wrap">
|
| 1053 |
+
<span className="text-xs font-semibold">{selectedIds.length} of {MAX_COMPARE} selected</span>
|
| 1054 |
+
{selectedIds.map((id) => {
|
| 1055 |
+
const p = data.policies.find((pp) => pp.policy_id === id);
|
| 1056 |
+
if (!p) return null;
|
| 1057 |
+
return (
|
| 1058 |
+
<span
|
| 1059 |
+
key={id}
|
| 1060 |
+
className="inline-flex items-center gap-1 text-[11px] bg-[var(--accent)] border border-[var(--border)] rounded-md px-2 py-0.5"
|
| 1061 |
+
>
|
| 1062 |
+
{p.policy_name.slice(0, 28)}{p.policy_name.length > 28 ? "…" : ""}
|
| 1063 |
+
<button
|
| 1064 |
+
onClick={() => toggleSelect(id)}
|
| 1065 |
+
className="text-[var(--muted-foreground)] hover:text-[var(--foreground)]"
|
| 1066 |
+
aria-label="Remove from comparison"
|
| 1067 |
+
>×</button>
|
| 1068 |
+
</span>
|
| 1069 |
+
);
|
| 1070 |
+
})}
|
| 1071 |
+
</div>
|
| 1072 |
+
<div className="flex items-center gap-2 shrink-0">
|
| 1073 |
+
<button
|
| 1074 |
+
onClick={() => setSelectedIds([])}
|
| 1075 |
+
className="text-xs text-[var(--muted-foreground)] hover:underline"
|
| 1076 |
+
>Clear</button>
|
| 1077 |
+
<button
|
| 1078 |
+
onClick={() => setCompareOpen(true)}
|
| 1079 |
+
disabled={selectedIds.length < 2}
|
| 1080 |
+
className={`text-sm font-semibold rounded-md px-3 py-1.5 ${selectedIds.length < 2 ? "bg-[var(--muted)] text-[var(--muted-foreground)] cursor-not-allowed" : "bg-[var(--primary)] text-white hover:opacity-90"}`}
|
| 1081 |
+
>
|
| 1082 |
+
Compare {selectedIds.length >= 2 ? `(${selectedIds.length})` : ""}
|
| 1083 |
+
</button>
|
| 1084 |
+
</div>
|
| 1085 |
+
</div>
|
| 1086 |
+
</div>
|
| 1087 |
+
)}
|
| 1088 |
+
|
| 1089 |
+
{compareOpen && (
|
| 1090 |
+
<ComparisonModal policyIds={selectedIds} onClose={() => setCompareOpen(false)} />
|
| 1091 |
+
)}
|
| 1092 |
</div>
|
| 1093 |
);
|
| 1094 |
}
|
|
|
|
| 1223 |
);
|
| 1224 |
}
|
| 1225 |
|
| 1226 |
+
function PolicyCard({
|
| 1227 |
+
policy,
|
| 1228 |
+
onOpen,
|
| 1229 |
+
selected,
|
| 1230 |
+
onToggleSelect,
|
| 1231 |
+
selectionDisabled,
|
| 1232 |
+
}: {
|
| 1233 |
+
policy: MarketplacePolicy;
|
| 1234 |
+
onOpen: () => void;
|
| 1235 |
+
selected: boolean;
|
| 1236 |
+
onToggleSelect: () => void;
|
| 1237 |
+
selectionDisabled: boolean;
|
| 1238 |
+
}) {
|
| 1239 |
const initials = insurerInitials(policy.insurer_name);
|
| 1240 |
const color = INSURER_COLOR[policy.insurer_slug] || "bg-slate-500";
|
| 1241 |
const maxSI = policy.sum_insured_options.length ? Math.max(...policy.sum_insured_options) : null;
|
| 1242 |
const siDisplay = maxSI ? (maxSI >= 10000000 ? `${maxSI/10000000} cr` : `${maxSI/100000} L`) : "—";
|
| 1243 |
return (
|
| 1244 |
+
<div className={`relative text-left bg-[var(--card)] border ${selected ? "border-[var(--primary)] shadow-md" : "border-[var(--border)]"} rounded-xl p-4 hover:border-[var(--primary)] hover:shadow-md transition group`}>
|
| 1245 |
+
<label
|
| 1246 |
+
className={`absolute top-2 right-2 z-10 flex items-center gap-1 text-[10px] font-semibold px-1.5 py-0.5 rounded-md border ${selected ? "border-[var(--primary)] bg-[var(--accent)] text-[var(--primary)]" : "border-[var(--border)] bg-[var(--card)] text-[var(--muted-foreground)]"} ${selectionDisabled && !selected ? "opacity-40 cursor-not-allowed" : "cursor-pointer hover:border-[var(--primary)]"}`}
|
| 1247 |
+
onClick={(e) => e.stopPropagation()}
|
| 1248 |
+
>
|
| 1249 |
+
<input
|
| 1250 |
+
type="checkbox"
|
| 1251 |
+
checked={selected}
|
| 1252 |
+
disabled={selectionDisabled && !selected}
|
| 1253 |
+
onChange={onToggleSelect}
|
| 1254 |
+
className="accent-[var(--primary)] w-3 h-3"
|
| 1255 |
+
/>
|
| 1256 |
+
{selected ? "Selected" : "Compare"}
|
| 1257 |
+
</label>
|
| 1258 |
+
<button onClick={onOpen} className="w-full text-left">
|
| 1259 |
+
<div className="flex items-start gap-3 mb-3 pr-16">
|
| 1260 |
+
<div className={`w-11 h-11 rounded-lg ${color} text-white flex items-center justify-center font-bold text-sm shrink-0`}>{initials}</div>
|
| 1261 |
+
<div className="flex-1 min-w-0">
|
| 1262 |
+
<div className="text-xs text-[var(--muted-foreground)] truncate">{policy.insurer_name}</div>
|
| 1263 |
+
<div className="font-semibold text-sm truncate group-hover:text-[var(--primary)] transition">{policy.policy_name}</div>
|
| 1264 |
+
</div>
|
| 1265 |
+
<div className={`shrink-0 flex flex-col items-center rounded-lg overflow-hidden ${gradeColor(policy.grade)}`}>
|
| 1266 |
+
<div className="px-2 pt-0.5 text-[10px] font-semibold opacity-90 uppercase tracking-wide">{policy.grade}</div>
|
| 1267 |
+
<div className="px-2 pb-0.5 text-base font-bold leading-none">{policy.overall_score}<span className="text-[10px] font-normal opacity-80">/100</span></div>
|
| 1268 |
+
</div>
|
| 1269 |
</div>
|
| 1270 |
+
<p className="text-xs text-[var(--muted-foreground)] mb-3 line-clamp-2">{policy.one_liner}</p>
|
| 1271 |
+
<div className="grid grid-cols-2 gap-2 text-xs">
|
| 1272 |
+
<Stat label="Sum insured up to" value={siDisplay} />
|
| 1273 |
+
<Stat label="PED waiting" value={policy.pre_existing_disease_waiting_months ? `${policy.pre_existing_disease_waiting_months} mo` : "—"} />
|
| 1274 |
+
<Stat label="AYUSH" value={policy.ayush_coverage === true ? "Yes" : policy.ayush_coverage === false ? "No" : "—"} />
|
| 1275 |
+
<Stat label="Network" value={policy.network_hospital_count ? `${(policy.network_hospital_count / 1000).toFixed(0)}K+` : "—"} />
|
| 1276 |
</div>
|
| 1277 |
+
</button>
|
| 1278 |
+
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1279 |
);
|
| 1280 |
}
|
| 1281 |
|
|
|
|
| 1288 |
);
|
| 1289 |
}
|
| 1290 |
|
| 1291 |
+
function FIELD_LABEL(field: string): string {
|
| 1292 |
+
const map: Record<string, string> = {
|
| 1293 |
+
policy_type: "Policy type",
|
| 1294 |
+
uin_code: "UIN code",
|
| 1295 |
+
min_entry_age: "Min entry age",
|
| 1296 |
+
max_entry_age: "Max entry age",
|
| 1297 |
+
max_renewal_age: "Max renewal age",
|
| 1298 |
+
sum_insured_options: "Sum insured options",
|
| 1299 |
+
initial_waiting_period_days: "Initial waiting period",
|
| 1300 |
+
pre_existing_disease_waiting_months: "Pre-existing waiting",
|
| 1301 |
+
maternity_waiting_months: "Maternity waiting",
|
| 1302 |
+
pre_hospitalization_days: "Pre-hospitalisation cover",
|
| 1303 |
+
post_hospitalization_days: "Post-hospitalisation cover",
|
| 1304 |
+
day_care_treatments_count: "Day-care treatments",
|
| 1305 |
+
ayush_coverage: "AYUSH covered",
|
| 1306 |
+
maternity_coverage: "Maternity covered",
|
| 1307 |
+
newborn_coverage: "Newborn covered",
|
| 1308 |
+
organ_donor_expenses: "Organ donor expenses",
|
| 1309 |
+
no_claim_bonus_pct: "No-claim bonus",
|
| 1310 |
+
restoration_benefit: "Restoration benefit",
|
| 1311 |
+
room_rent_capping: "Room rent capping",
|
| 1312 |
+
copayment_pct: "Co-payment",
|
| 1313 |
+
deductible_amount: "Deductible",
|
| 1314 |
+
network_hospital_count: "Network hospitals",
|
| 1315 |
+
cashless_treatment_supported: "Cashless supported",
|
| 1316 |
+
claim_settlement_ratio: "Claim settlement ratio",
|
| 1317 |
+
tat_cashless_authorization_hours: "Cashless TAT",
|
| 1318 |
+
};
|
| 1319 |
+
return map[field] || field.replace(/_/g, " ");
|
| 1320 |
+
}
|
| 1321 |
+
|
| 1322 |
+
function renderFieldValue(value: unknown, field: string): string {
|
| 1323 |
+
if (value === null || value === undefined || value === "") return "—";
|
| 1324 |
+
if (typeof value === "boolean") return value ? "Yes" : "No";
|
| 1325 |
+
if (Array.isArray(value)) {
|
| 1326 |
+
if (field === "sum_insured_options" && value.every((v) => typeof v === "number")) {
|
| 1327 |
+
const nums = value as number[];
|
| 1328 |
+
const fmt = (n: number) => (n >= 10000000 ? `${n / 10000000} cr` : `${n / 100000} L`);
|
| 1329 |
+
return nums.map(fmt).join(", ");
|
| 1330 |
+
}
|
| 1331 |
+
return value.map((v) => String(v)).join(", ");
|
| 1332 |
+
}
|
| 1333 |
+
if (typeof value === "number") {
|
| 1334 |
+
if (field.endsWith("_pct") || field === "claim_settlement_ratio") return `${value}%`;
|
| 1335 |
+
if (field === "network_hospital_count" && value >= 1000) return `${value.toLocaleString("en-IN")}`;
|
| 1336 |
+
if (field === "initial_waiting_period_days") return `${value} days`;
|
| 1337 |
+
if (field.endsWith("_months")) return `${value} months`;
|
| 1338 |
+
if (field.endsWith("_days") || field === "pre_hospitalization_days" || field === "post_hospitalization_days") return `${value} days`;
|
| 1339 |
+
if (field === "tat_cashless_authorization_hours") return `${value} hours`;
|
| 1340 |
+
if (field === "deductible_amount") return `₹${value.toLocaleString("en-IN")}`;
|
| 1341 |
+
return String(value);
|
| 1342 |
+
}
|
| 1343 |
+
return String(value);
|
| 1344 |
+
}
|
| 1345 |
+
|
| 1346 |
+
function ComparisonModal({ policyIds, onClose }: { policyIds: string[]; onClose: () => void }) {
|
| 1347 |
+
const [data, setData] = useState<CompareResponse | null>(null);
|
| 1348 |
+
const [error, setError] = useState<string | null>(null);
|
| 1349 |
+
useEffect(() => {
|
| 1350 |
+
setError(null);
|
| 1351 |
+
getCompare(policyIds)
|
| 1352 |
+
.then(setData)
|
| 1353 |
+
.catch((e: Error) => setError(e.message));
|
| 1354 |
+
}, [policyIds]);
|
| 1355 |
+
|
| 1356 |
+
return (
|
| 1357 |
+
<div className="fixed inset-0 z-[60] bg-black/50 flex items-center justify-center p-3 animate-fade-up" onClick={onClose}>
|
| 1358 |
+
<div
|
| 1359 |
+
className="bg-[var(--card)] rounded-2xl shadow-xl w-full max-w-6xl max-h-[92vh] overflow-y-auto scrollbar-thin"
|
| 1360 |
+
onClick={(e) => e.stopPropagation()}
|
| 1361 |
+
>
|
| 1362 |
+
<div className="sticky top-0 z-10 bg-[var(--card)] border-b border-[var(--border)] px-5 py-4 flex items-center justify-between">
|
| 1363 |
+
<div>
|
| 1364 |
+
<h3 className="text-base font-bold">Side-by-side comparison</h3>
|
| 1365 |
+
<p className="text-[11px] text-[var(--muted-foreground)] mt-0.5">
|
| 1366 |
+
Cells with differences are highlighted. Values come directly from each policy's wording PDF.
|
| 1367 |
+
</p>
|
| 1368 |
+
</div>
|
| 1369 |
+
<button
|
| 1370 |
+
onClick={onClose}
|
| 1371 |
+
className="text-xs text-[var(--muted-foreground)] hover:underline"
|
| 1372 |
+
>close</button>
|
| 1373 |
+
</div>
|
| 1374 |
+
|
| 1375 |
+
<div className="p-5">
|
| 1376 |
+
{error && (
|
| 1377 |
+
<div className="text-sm text-red-600 bg-red-50 border border-red-200 rounded-md p-3">
|
| 1378 |
+
Failed to load comparison: {error}
|
| 1379 |
+
</div>
|
| 1380 |
+
)}
|
| 1381 |
+
{!data && !error && (
|
| 1382 |
+
<div className="text-sm text-[var(--muted-foreground)] py-12 text-center">
|
| 1383 |
+
Loading comparison…
|
| 1384 |
+
</div>
|
| 1385 |
+
)}
|
| 1386 |
+
{data && (
|
| 1387 |
+
<div className="overflow-x-auto -mx-5 px-5">
|
| 1388 |
+
<table className="w-full border-collapse text-xs">
|
| 1389 |
+
<thead>
|
| 1390 |
+
<tr>
|
| 1391 |
+
<th className="text-left text-[11px] uppercase tracking-wide text-[var(--muted-foreground)] font-semibold pb-3 pr-3 sticky left-0 bg-[var(--card)]">
|
| 1392 |
+
Field
|
| 1393 |
+
</th>
|
| 1394 |
+
{data.policies.map((p) => {
|
| 1395 |
+
const color = INSURER_COLOR[p.insurer_slug] || "bg-slate-500";
|
| 1396 |
+
return (
|
| 1397 |
+
<th key={p.policy_id} className="text-left pb-3 px-2 align-bottom min-w-[180px]">
|
| 1398 |
+
<div className="flex items-start gap-2">
|
| 1399 |
+
<div className={`w-8 h-8 rounded-md ${color} text-white flex items-center justify-center font-bold text-[11px] shrink-0`}>
|
| 1400 |
+
{insurerInitials(p.fields.insurer_name as string || p.insurer_slug)}
|
| 1401 |
+
</div>
|
| 1402 |
+
<div className="min-w-0">
|
| 1403 |
+
<div className="text-[10px] text-[var(--muted-foreground)] truncate">{p.insurer_slug}</div>
|
| 1404 |
+
<div className="font-semibold text-xs leading-tight truncate">{p.policy_name}</div>
|
| 1405 |
+
{p.scorecard && (
|
| 1406 |
+
<div className={`inline-block mt-1 text-[10px] font-semibold px-1.5 py-0.5 rounded ${gradeColor(p.scorecard.grade)}`}>
|
| 1407 |
+
{p.scorecard.grade} · {p.scorecard.overall_score}/100
|
| 1408 |
+
</div>
|
| 1409 |
+
)}
|
| 1410 |
+
</div>
|
| 1411 |
+
</div>
|
| 1412 |
+
</th>
|
| 1413 |
+
);
|
| 1414 |
+
})}
|
| 1415 |
+
</tr>
|
| 1416 |
+
</thead>
|
| 1417 |
+
<tbody>
|
| 1418 |
+
{data.field_order.map((field, fieldIdx) => {
|
| 1419 |
+
const values = data.policies.map((p) => renderFieldValue(p.fields[field], field));
|
| 1420 |
+
const allSame = values.every((v) => v === values[0]);
|
| 1421 |
+
return (
|
| 1422 |
+
<tr key={field} className={fieldIdx % 2 === 0 ? "bg-[var(--muted)]" : ""}>
|
| 1423 |
+
<td className="text-[11px] font-semibold pr-3 py-2 sticky left-0 bg-inherit text-[var(--foreground)] align-top">
|
| 1424 |
+
{FIELD_LABEL(field)}
|
| 1425 |
+
</td>
|
| 1426 |
+
{values.map((v, i) => (
|
| 1427 |
+
<td
|
| 1428 |
+
key={i}
|
| 1429 |
+
className={`px-2 py-2 align-top ${allSame ? "text-[var(--muted-foreground)]" : "text-[var(--foreground)] font-medium"}`}
|
| 1430 |
+
>
|
| 1431 |
+
{v}
|
| 1432 |
+
</td>
|
| 1433 |
+
))}
|
| 1434 |
+
</tr>
|
| 1435 |
+
);
|
| 1436 |
+
})}
|
| 1437 |
+
</tbody>
|
| 1438 |
+
</table>
|
| 1439 |
+
<p className="text-[10px] text-[var(--muted-foreground)] mt-3">
|
| 1440 |
+
Fields shown in bold differ across the selected policies; greyed values are identical.
|
| 1441 |
+
For premium estimates use the calculator on each policy's detail page.
|
| 1442 |
+
</p>
|
| 1443 |
+
</div>
|
| 1444 |
+
)}
|
| 1445 |
+
</div>
|
| 1446 |
+
</div>
|
| 1447 |
+
</div>
|
| 1448 |
+
);
|
| 1449 |
+
}
|
| 1450 |
+
|
| 1451 |
function PolicyDetailModal({ policy, onClose }: { policy: MarketplacePolicy; onClose: () => void }) {
|
| 1452 |
const [sc, setSc] = useState<ScorecardResponse | null>(null);
|
| 1453 |
const [reviews, setReviews] = useState<InsurerReviews | null>(null);
|
frontend/tsconfig.tsbuildinfo
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
kb/calculations/chunk_sweep_results.md
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Chunk-Size Hyperparameter Sweep
|
| 2 |
+
|
| 3 |
+
_Generated 2026-05-13T02:40:26Z. Re-run via `python tools/chunk_sweep.py`._
|
| 4 |
+
|
| 5 |
+
## Headline
|
| 6 |
+
|
| 7 |
+
**Empirical winner:** `chunk_size=600`, `overlap=80` — factual 40.0%, citation 50.0%, p95 15886ms
|
| 8 |
+
|
| 9 |
+
## All cells
|
| 10 |
+
|
| 11 |
+
| chunk_size | overlap | chunks | storage | factual | citation | refusal | p50 | p95 | ingest |
|
| 12 |
+
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
| 13 |
+
| **600** | **80** | 5075 | 108.8MB | 40.0% | 50.0% | 44.4% | 10545ms | 15886ms | 2038.0s |
|
| 14 |
+
| **600** | **120** | 5474 | 115.5MB | 40.0% | 50.0% | 44.4% | 10545ms | 15886ms | 1661.1s |
|
| 15 |
+
| **800** | **80** | 3703 | 86.2MB | 40.0% | 50.0% | 44.4% | 10545ms | 15886ms | 1415.5s |
|
| 16 |
+
| **800** | **120** | 3915 | 93.3MB | 40.0% | 50.0% | 44.4% | 10545ms | 15886ms | 1414.5s |
|
| 17 |
+
| **1000** | **120** | 3051 | 88.8MB | 40.0% | 50.0% | 44.4% | 10545ms | 15886ms | 1359.4s |
|
| 18 |
+
| **1000** | **200** | 3339 | 92.3MB | 40.0% | 50.0% | 44.4% | 10545ms | 15886ms | 1313.4s |
|
| 19 |
+
|
| 20 |
+
## Selection rubric
|
| 21 |
+
|
| 22 |
+
```
|
| 23 |
+
score = 0.7 × factual_accuracy + 0.3 × citation_accuracy
|
| 24 |
+
```
|
| 25 |
+
Bias toward factual accuracy; citation accuracy as a hard floor.
|
| 26 |
+
|
| 27 |
+
## Eval methodology
|
| 28 |
+
|
| 29 |
+
- 6 cells × (25 gold Q&A questions × Groq Llama-3.3-70B judge)
|
| 30 |
+
- Embedder held constant: BGE-small-en-v1.5 (384-dim)
|
| 31 |
+
- Top-k held constant: 5
|
| 32 |
+
- Generator brain held constant: DeepSeek-V3 primary
|
| 33 |
+
- All other hyperparameters held constant — only chunk_size + overlap vary
|
| 34 |
+
|
| 35 |
+
## Recommendation for `decisions.md` D-018
|
| 36 |
+
|
| 37 |
+
Set `CHUNK_TOKENS = 600`, `CHUNK_OVERLAP_TOKENS = 80` in `backend/config.py`.
|
rag/extracted/aditya-birla__activ-one__brochure._raw 2.txt
ADDED
|
File without changes
|
rag/extracted/regulatory__dfs-gst-exemption-insurance-faqs-2025._raw 2.txt
ADDED
|
File without changes
|
rag/extracted/regulatory__irdai-arogya-sanjeevani-policy-attachment-1._raw 2.txt
ADDED
|
File without changes
|
rag/extracted/regulatory__irdai-arogya-sanjeevani-policy._raw 2.txt
ADDED
|
File without changes
|
rag/extracted/regulatory__irdai-consolidated-product-filing-health-2020._raw 2.txt
ADDED
|
File without changes
|
rag/extracted/regulatory__irdai-corona-kavach-press-release._raw 2.txt
ADDED
|
File without changes
|
rag/extracted/regulatory__irdai-grievance-redressal-handbook._raw 2.txt
ADDED
|
File without changes
|
rag/extracted/regulatory__irdai-health-insurance-regulations-2016._raw 2.txt
ADDED
|
File without changes
|
rag/extracted/regulatory__irdai-insurance-act-1938-amended-2021._raw 2.txt
ADDED
|
File without changes
|
rag/extracted/regulatory__irdai-master-circular-health-2024._raw 2.txt
ADDED
|
File without changes
|
rag/extracted/regulatory__irdai-master-circular-health-annexure-2024._raw 2.txt
ADDED
|
File without changes
|
rag/extracted/regulatory__irdai-master-circular-protection-policyholders-2024._raw 2.txt
ADDED
|
File without changes
|
rag/extracted/regulatory__irdai-master-circular-standardisation-health-products-2020._raw 2.txt
ADDED
|
File without changes
|
rag/extracted/regulatory__irdai-modification-standardisation-2020._raw 2.txt
ADDED
|
File without changes
|
rag/extracted/regulatory__irdai-ombudsman-rules-faq-2017._raw 2.txt
ADDED
|
File without changes
|
rag/extracted/regulatory__irdai-protection-policyholders-regulations-2017._raw 2.txt
ADDED
|
File without changes
|
rag/extracted/regulatory__irdai-saral-suraksha-bima-guidelines._raw 2.txt
ADDED
|
File without changes
|
rag/extracted/regulatory__irdai-standardisation-exclusions-amendments-2020._raw 2.txt
ADDED
|
File without changes
|
rag/extracted/regulatory__nha-pmjay-operations-manual._raw 2.txt
ADDED
|
File without changes
|
rag/extracted/star-health__family-health-optima__brochure._raw 2.txt
ADDED
|
File without changes
|
rag/extracted/star-health__family-health-optima__wordings._raw 2.txt
ADDED
|
File without changes
|
rag/extracted/star-health__health-premier__brochure._raw 2.txt
ADDED
|
File without changes
|
rag/extracted/star-health__health-premier__wordings._raw 2.txt
ADDED
|
File without changes
|
rag/extracted/star-health__senior-citizens-red-carpet__brochure._raw 2.txt
ADDED
|
File without changes
|
rag/extracted/star-health__star-assure__wordings._raw 2.txt
ADDED
|
File without changes
|
rag/extracted/star-health__star-cancer-care-platinum__wordings._raw 2.txt
ADDED
|
File without changes
|
rag/extracted/star-health__star-cardiac-care-platinum__wordings._raw 2.txt
ADDED
|
File without changes
|
rag/extracted/star-health__star-cardiac-care__wordings._raw 2.txt
ADDED
|
File without changes
|
rag/extracted/star-health__star-comprehensive__wordings._raw 2.txt
ADDED
|
File without changes
|
rag/extracted/star-health__star-hospital-cash__brochure._raw 2.txt
ADDED
|
File without changes
|
rag/extracted/star-health__star-hospital-cash__brochure._raw.txt
ADDED
|
File without changes
|
rag/vectors/adf11961-3807-4622-8478-cf1d55a10a1b/data_level0.bin
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:cea23bdcd452610b2004cfb7c181871e16b696b9301f78c2c5172e6b4d4642ed
|
| 3 |
+
size 3357028
|
rag/vectors/adf11961-3807-4622-8478-cf1d55a10a1b/header.bin
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:feeb58231007d442663ee38e18bdc3078f1c84914d2ee3aab01c3fcf08f801d6
|
| 3 |
+
size 100
|
rag/vectors/adf11961-3807-4622-8478-cf1d55a10a1b/index_metadata.pickle
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:2879d6f668bbab77314698d067e869fe2dd2bbcfcd6eceaa93df2c5af57a7bef
|
| 3 |
+
size 253764
|
rag/vectors/adf11961-3807-4622-8478-cf1d55a10a1b/length.bin
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:9d73870780156b0fc50de233dacf456603db060062ea55b503555be8955521b4
|
| 3 |
+
size 8012
|
rag/vectors/adf11961-3807-4622-8478-cf1d55a10a1b/link_lists.bin
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:ad7f9c9115e183825d0ced6a5df1141a4715429b3efb054d0948a827f5cb91d8
|
| 3 |
+
size 17804
|
rag/vectors/chroma.sqlite3
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:5cc501a49d70adbf2c71cd93612b7a1f32b48fa6c7e33e57150769cd1fad9032
|
| 3 |
+
size 87347200
|
tools/.pdf_etag_state.json
ADDED
|
@@ -0,0 +1,526 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"https://bajajallianz.com/download-documents/health-insurance/health-guard-individual-policy/HG_Gold_Policy_Wording_&_CIS.pdf": {
|
| 3 |
+
"content_length": "644131",
|
| 4 |
+
"etag": "\"0x8DD49EEF25EBF0B\"",
|
| 5 |
+
"last_modified": "Mon, 10 Feb 2025 16:21:17 GMT",
|
| 6 |
+
"status": 200
|
| 7 |
+
},
|
| 8 |
+
"https://cms.careinsurance.com/cms/public/uploads/download_center/care-advantage-(health-insurance-product)---brochure.pdf": {
|
| 9 |
+
"content_length": "320841",
|
| 10 |
+
"etag": "\"687f531b-4e549\"",
|
| 11 |
+
"last_modified": "Tue, 22 Jul 2025 09:00:11 GMT",
|
| 12 |
+
"status": 200
|
| 13 |
+
},
|
| 14 |
+
"https://cms.careinsurance.com/cms/public/uploads/download_center/care-advantage-with-add-on-protect-plus-&-care-shield-brochure.pdf": {
|
| 15 |
+
"content_length": "1780104",
|
| 16 |
+
"etag": "\"698ae476-1b2988\"",
|
| 17 |
+
"last_modified": "Tue, 10 Feb 2026 07:55:34 GMT",
|
| 18 |
+
"status": 200
|
| 19 |
+
},
|
| 20 |
+
"https://cms.careinsurance.com/cms/public/uploads/download_center/care-classic---(health-insurance-product)-policy-terms-&-conditions.pdf": {
|
| 21 |
+
"content_length": "408233",
|
| 22 |
+
"etag": "\"67da9bea-63aa9\"",
|
| 23 |
+
"last_modified": "Wed, 19 Mar 2025 10:26:50 GMT",
|
| 24 |
+
"status": 200
|
| 25 |
+
},
|
| 26 |
+
"https://cms.careinsurance.com/cms/public/uploads/download_center/care-heart---piano-fold-brochure---web.pdf": {
|
| 27 |
+
"content_length": "302901",
|
| 28 |
+
"etag": "\"67da9beb-49f35\"",
|
| 29 |
+
"last_modified": "Wed, 19 Mar 2025 10:26:51 GMT",
|
| 30 |
+
"status": 200
|
| 31 |
+
},
|
| 32 |
+
"https://cms.careinsurance.com/cms/public/uploads/download_center/care-senior-brochure.pdf": {
|
| 33 |
+
"content_length": "318029",
|
| 34 |
+
"etag": "\"67c9b48a-4da4d\"",
|
| 35 |
+
"last_modified": "Thu, 06 Mar 2025 14:43:22 GMT",
|
| 36 |
+
"status": 200
|
| 37 |
+
},
|
| 38 |
+
"https://cms.careinsurance.com/cms/public/uploads/download_center/care-supreme---policy-terms-and-conditions.pdf": {
|
| 39 |
+
"content_length": "1772653",
|
| 40 |
+
"etag": "\"67c9b48a-1b0c6d\"",
|
| 41 |
+
"last_modified": "Thu, 06 Mar 2025 14:43:22 GMT",
|
| 42 |
+
"status": 200
|
| 43 |
+
},
|
| 44 |
+
"https://cms.careinsurance.com/cms/public/uploads/download_center/supreme-enhance---brochure.pdf": {
|
| 45 |
+
"content_length": "465556",
|
| 46 |
+
"etag": "\"693eb025-71a94\"",
|
| 47 |
+
"last_modified": "Sun, 14 Dec 2025 12:40:05 GMT",
|
| 48 |
+
"status": 200
|
| 49 |
+
},
|
| 50 |
+
"https://cms.careinsurance.com/cms/public/uploads/download_center/supreme-enhance---policy-terms-and-conditions.pdf": {
|
| 51 |
+
"content_length": "1823985",
|
| 52 |
+
"etag": "\"6874ae8b-1bd4f1\"",
|
| 53 |
+
"last_modified": "Mon, 14 Jul 2025 07:15:23 GMT",
|
| 54 |
+
"status": 200
|
| 55 |
+
},
|
| 56 |
+
"https://cms.careinsurance.com/cms/public/uploads/download_center/ultimate-care-----policy-terms-&-conditions.pdf": {
|
| 57 |
+
"content_length": "713074",
|
| 58 |
+
"etag": "\"689105fc-ae172\"",
|
| 59 |
+
"last_modified": "Mon, 04 Aug 2025 19:11:56 GMT",
|
| 60 |
+
"status": 200
|
| 61 |
+
},
|
| 62 |
+
"https://ditto-partners.s3.ap-south-1.amazonaws.com/Manipal+Cigna/ProHealth+(All+variants)-Policy+wording.pdf": {
|
| 63 |
+
"content_length": "577416",
|
| 64 |
+
"etag": "\"bbf281da1830dfe6595f508bca148738\"",
|
| 65 |
+
"last_modified": "Sun, 29 Oct 2023 06:14:32 GMT",
|
| 66 |
+
"status": 200
|
| 67 |
+
},
|
| 68 |
+
"https://irdai.gov.in/documents/37343/931203/MCIHLIP22211V062122.pdf": {
|
| 69 |
+
"content_length": "663",
|
| 70 |
+
"etag": "",
|
| 71 |
+
"last_modified": "",
|
| 72 |
+
"status": 404
|
| 73 |
+
},
|
| 74 |
+
"https://transactions.nivabupa.com/pages/doc/brochure/Health_Companion_V2022_Br.pdf?v=1.1": {
|
| 75 |
+
"content_length": "284149",
|
| 76 |
+
"etag": "\"b9675d85471db1:0\"",
|
| 77 |
+
"last_modified": "Tue, 28 Jan 2025 07:18:36 GMT",
|
| 78 |
+
"status": 200
|
| 79 |
+
},
|
| 80 |
+
"https://transactions.nivabupa.com/pages/doc/policy_wording/Aspire_Policy_Wordings.pdf?v=1.3": {
|
| 81 |
+
"content_length": "209609",
|
| 82 |
+
"etag": "\"094ce83bdc8dc1:0\"",
|
| 83 |
+
"last_modified": "Fri, 10 Apr 2026 07:42:00 GMT",
|
| 84 |
+
"status": 200
|
| 85 |
+
},
|
| 86 |
+
"https://transactions.nivabupa.com/pages/doc/policy_wording/Healthplus_Policy_Wordings.pdf?v=1.2": {
|
| 87 |
+
"content_length": "237319",
|
| 88 |
+
"etag": "\"f1f299d40addb1:0\"",
|
| 89 |
+
"last_modified": "Mon, 14 Apr 2025 05:48:21 GMT",
|
| 90 |
+
"status": 200
|
| 91 |
+
},
|
| 92 |
+
"https://transactions.nivabupa.com/pages/doc/policy_wording/ReAssure-2.0-Policy-Wording.pdf": {
|
| 93 |
+
"content_length": "608348",
|
| 94 |
+
"etag": "\"c2a7378a8b58dc1:0\"",
|
| 95 |
+
"last_modified": "Tue, 18 Nov 2025 13:02:05 GMT",
|
| 96 |
+
"status": 200
|
| 97 |
+
},
|
| 98 |
+
"https://transactions.nivabupa.com/pages/doc/policy_wording/ReAssure30_Policy_Wordings.pdf": {
|
| 99 |
+
"content_length": "951140",
|
| 100 |
+
"etag": "\"a17e58371668dc1:0\"",
|
| 101 |
+
"last_modified": "Mon, 08 Dec 2025 07:42:34 GMT",
|
| 102 |
+
"status": 200
|
| 103 |
+
},
|
| 104 |
+
"https://transactions.nivabupa.com/pages/doc/policy_wording/Rise_Policy_Wordings.pdf": {
|
| 105 |
+
"content_length": "205058",
|
| 106 |
+
"etag": "\"c67ebf95f3addb1:0\"",
|
| 107 |
+
"last_modified": "Tue, 15 Apr 2025 10:46:03 GMT",
|
| 108 |
+
"status": 200
|
| 109 |
+
},
|
| 110 |
+
"https://web.starhealth.in/sites/default/files/brochure/Health-Premier-Insurance-Policy-brochure.pdf": {
|
| 111 |
+
"error": "ReadTimeout",
|
| 112 |
+
"status": 0
|
| 113 |
+
},
|
| 114 |
+
"https://web.starhealth.in/sites/default/files/brochure/Senior-Citizens-Red-Carpet-Health-Insurance-Policy.pdf": {
|
| 115 |
+
"error": "ReadTimeout",
|
| 116 |
+
"status": 0
|
| 117 |
+
},
|
| 118 |
+
"https://web.starhealth.in/sites/default/files/brochure/hospital_cash_ebrochure_new.pdf": {
|
| 119 |
+
"error": "ReadTimeout",
|
| 120 |
+
"status": 0
|
| 121 |
+
},
|
| 122 |
+
"https://web.starhealth.in/sites/default/files/policy-clauses/Family-Health-Optima-Accident-Care-Policy.pdf": {
|
| 123 |
+
"error": "ReadTimeout",
|
| 124 |
+
"status": 0
|
| 125 |
+
},
|
| 126 |
+
"https://web.starhealth.in/sites/default/files/policy-clauses/Health-Premier-Insurance-Policy.pdf": {
|
| 127 |
+
"error": "ReadTimeout",
|
| 128 |
+
"status": 0
|
| 129 |
+
},
|
| 130 |
+
"https://web.starhealth.in/sites/default/files/policy-clauses/Star-Cardiac-Care-Insurance-Policy.pdf": {
|
| 131 |
+
"error": "ReadTimeout",
|
| 132 |
+
"status": 0
|
| 133 |
+
},
|
| 134 |
+
"https://web.starhealth.in/sites/default/files/policy-clauses/Star-Cardiac-Care-Insurance-Policy_Platinum.pdf": {
|
| 135 |
+
"error": "ReadTimeout",
|
| 136 |
+
"status": 0
|
| 137 |
+
},
|
| 138 |
+
"https://web.starhealth.in/sites/default/files/policy-clauses/Star-First-Comprehensive-Policy.pdf": {
|
| 139 |
+
"error": "ReadTimeout",
|
| 140 |
+
"status": 0
|
| 141 |
+
},
|
| 142 |
+
"https://web.starhealth.in/sites/default/files/policy-clauses/StarHealthAssureInsurancePolicy-Policy.pdf": {
|
| 143 |
+
"error": "ReadTimeout",
|
| 144 |
+
"status": 0
|
| 145 |
+
},
|
| 146 |
+
"https://web.starhealth.in/sites/default/files/policy-clauses/star-cancer-care-platinum-policy-clauses.pdf": {
|
| 147 |
+
"error": "ReadTimeout",
|
| 148 |
+
"status": 0
|
| 149 |
+
},
|
| 150 |
+
"https://web.starhealth.in/sites/default/files/prospectus/Family-Health-Optima-Accident-Care-Policy.pdf": {
|
| 151 |
+
"error": "ReadTimeout",
|
| 152 |
+
"status": 0
|
| 153 |
+
},
|
| 154 |
+
"https://www.adityabirlacapital.com/healthinsurance/assets/pdf/active-one/brochure.pdf": {
|
| 155 |
+
"content_length": "3786208",
|
| 156 |
+
"etag": "W/\"39c5e0-198cc7eae02\"",
|
| 157 |
+
"last_modified": "Thu, 21 Aug 2025 11:58:30 GMT",
|
| 158 |
+
"status": 200
|
| 159 |
+
},
|
| 160 |
+
"https://www.adityabirlacapital.com/healthinsurance/assets/pdf/new_updated_pdf/Group-Activ-Health-Policy-wordings.pdf": {
|
| 161 |
+
"content_length": "1063254",
|
| 162 |
+
"etag": "W/\"103956-19c93653523\"",
|
| 163 |
+
"last_modified": "Wed, 25 Feb 2026 06:03:29 GMT",
|
| 164 |
+
"status": 200
|
| 165 |
+
},
|
| 166 |
+
"https://www.adityabirlacapital.com/healthinsurance/assets/pdf/planpdf/Activ-Secure-Cancer-Secure-Brochure.pdf": {
|
| 167 |
+
"content_length": "1817026",
|
| 168 |
+
"etag": "W/\"1bb9c2-198cc7eb082\"",
|
| 169 |
+
"last_modified": "Thu, 21 Aug 2025 11:58:31 GMT",
|
| 170 |
+
"status": 200
|
| 171 |
+
},
|
| 172 |
+
"https://www.adityabirlacapital.com/healthinsurance/assets/pdf/planpdf/Activ-Secure-PW.pdf": {
|
| 173 |
+
"content_length": "641990",
|
| 174 |
+
"etag": "W/\"9cbc6-198cc7eb092\"",
|
| 175 |
+
"last_modified": "Thu, 21 Aug 2025 11:58:31 GMT",
|
| 176 |
+
"status": 200
|
| 177 |
+
},
|
| 178 |
+
"https://www.adityabirlacapital.com/healthinsurance/assets/pdf/policy-wording-form.pdf": {
|
| 179 |
+
"content_length": "1053902",
|
| 180 |
+
"etag": "W/\"1014ce-190e9336d20\"",
|
| 181 |
+
"last_modified": "Thu, 25 Jul 2024 09:23:00 GMT",
|
| 182 |
+
"status": 200
|
| 183 |
+
},
|
| 184 |
+
"https://www.adityabirlacapital.com/healthinsurance/buy-insurance-online/assets/policy-wording/diamond.pdf": {
|
| 185 |
+
"content_length": "311556",
|
| 186 |
+
"etag": "\"90e07393aded71:0\"",
|
| 187 |
+
"last_modified": "Sat, 20 Nov 2021 18:11:27 GMT",
|
| 188 |
+
"status": 200
|
| 189 |
+
},
|
| 190 |
+
"https://www.bajajallianz.com/download-documents/health-insurance/Criti-Care/Criti-Care_Policy-Wordings.pdf": {
|
| 191 |
+
"content_length": "545576",
|
| 192 |
+
"etag": "\"0x8DD49EF749F1443\"",
|
| 193 |
+
"last_modified": "Mon, 10 Feb 2025 16:24:55 GMT",
|
| 194 |
+
"status": 200
|
| 195 |
+
},
|
| 196 |
+
"https://www.bajajallianz.com/download-documents/health-insurance/GROUP-PERSONAL-ACCIDENT-Policy-Wordings.pdf": {
|
| 197 |
+
"content_length": "507249",
|
| 198 |
+
"etag": "\"0x8DD50FFC6346B94\"",
|
| 199 |
+
"last_modified": "Wed, 19 Feb 2025 16:09:22 GMT",
|
| 200 |
+
"status": 200
|
| 201 |
+
},
|
| 202 |
+
"https://www.bajajallianz.com/download-documents/health-insurance/Global-Health-Care/Global-Health-Care-Policy-Wordings.pdf": {
|
| 203 |
+
"content_length": "1280603",
|
| 204 |
+
"etag": "\"0x8DD49EF394E849E\"",
|
| 205 |
+
"last_modified": "Mon, 10 Feb 2025 16:23:16 GMT",
|
| 206 |
+
"status": 200
|
| 207 |
+
},
|
| 208 |
+
"https://www.bajajallianz.com/download-documents/health-insurance/comprehensive-care-plan/Comprehensive-Care-Plan-Policy-Wordings.pdf": {
|
| 209 |
+
"content_length": "901442",
|
| 210 |
+
"etag": "\"0x8DD49EF863B58F5\"",
|
| 211 |
+
"last_modified": "Mon, 10 Feb 2025 16:25:25 GMT",
|
| 212 |
+
"status": 200
|
| 213 |
+
},
|
| 214 |
+
"https://www.bajajallianz.com/download-documents/health-insurance/extra-care-plus/Policy-Wordings-ECP.pdf": {
|
| 215 |
+
"content_length": "600497",
|
| 216 |
+
"etag": "\"0x8DD49EF5B02E822\"",
|
| 217 |
+
"last_modified": "Mon, 10 Feb 2025 16:24:12 GMT",
|
| 218 |
+
"status": 200
|
| 219 |
+
},
|
| 220 |
+
"https://www.bajajallianz.com/download-documents/health-insurance/extra-care/Extra-Care-Policy.pdf": {
|
| 221 |
+
"content_length": "121",
|
| 222 |
+
"etag": "",
|
| 223 |
+
"last_modified": "",
|
| 224 |
+
"status": 404
|
| 225 |
+
},
|
| 226 |
+
"https://www.bajajallianz.com/download-documents/health-insurance/health-guard-group/Group-HG-Gold-Policy-Wordings.pdf": {
|
| 227 |
+
"content_length": "1276641",
|
| 228 |
+
"etag": "\"0x8DD49EEF639EDF9\"",
|
| 229 |
+
"last_modified": "Mon, 10 Feb 2025 16:21:23 GMT",
|
| 230 |
+
"status": 200
|
| 231 |
+
},
|
| 232 |
+
"https://www.bajajallianz.com/download-documents/health-insurance/health-guard/Health-Guard-Policy-Wordings-print.pdf": {
|
| 233 |
+
"content_length": "1355654",
|
| 234 |
+
"etag": "\"0x8DD49EEEB9A63C8\"",
|
| 235 |
+
"last_modified": "Mon, 10 Feb 2025 16:21:06 GMT",
|
| 236 |
+
"status": 200
|
| 237 |
+
},
|
| 238 |
+
"https://www.bajajallianz.com/download-documents/health-insurance/silver-health/silver_health_CIS.pdf": {
|
| 239 |
+
"content_length": "297077",
|
| 240 |
+
"etag": "\"0x8DD49EE8686428D\"",
|
| 241 |
+
"last_modified": "Mon, 10 Feb 2025 16:18:16 GMT",
|
| 242 |
+
"status": 200
|
| 243 |
+
},
|
| 244 |
+
"https://www.bajajallianz.com/download-documents/health-insurance/tax-gain/tax_gain_CIS.pdf": {
|
| 245 |
+
"content_length": "480244",
|
| 246 |
+
"etag": "\"0x8DD49EE71F8771C\"",
|
| 247 |
+
"last_modified": "Mon, 10 Feb 2025 16:17:41 GMT",
|
| 248 |
+
"status": 200
|
| 249 |
+
},
|
| 250 |
+
"https://www.hdfcergo.com/docs/default-source/downloads/brochures/myhealth-women-suraksha-with-premium-table.pdf": {
|
| 251 |
+
"content_length": "1075799",
|
| 252 |
+
"etag": "",
|
| 253 |
+
"last_modified": "Mon, 05 May 2025 07:43:29 GMT",
|
| 254 |
+
"status": 200
|
| 255 |
+
},
|
| 256 |
+
"https://www.hdfcergo.com/docs/default-source/downloads/policy-wordings/health/energy-combined-pw-cis.pdf": {
|
| 257 |
+
"content_length": "408865",
|
| 258 |
+
"etag": "",
|
| 259 |
+
"last_modified": "Thu, 11 Sep 2025 11:40:56 GMT",
|
| 260 |
+
"status": 200
|
| 261 |
+
},
|
| 262 |
+
"https://www.hdfcergo.com/docs/default-source/downloads/policy-wordings/health/group-health-insurance---pw.pdf": {
|
| 263 |
+
"content_length": "1068477",
|
| 264 |
+
"etag": "",
|
| 265 |
+
"last_modified": "Thu, 24 Jul 2025 07:27:11 GMT",
|
| 266 |
+
"status": 200
|
| 267 |
+
},
|
| 268 |
+
"https://www.hdfcergo.com/docs/default-source/downloads/policy-wordings/health/my-optima-secure_old_pws.pdf": {
|
| 269 |
+
"content_length": "502553",
|
| 270 |
+
"etag": "",
|
| 271 |
+
"last_modified": "Mon, 13 Feb 2023 13:11:44 GMT",
|
| 272 |
+
"status": 200
|
| 273 |
+
},
|
| 274 |
+
"https://www.hdfcergo.com/docs/default-source/downloads/policy-wordings/health/optima-plus-policy-wordings.pdf": {
|
| 275 |
+
"content_length": "345712",
|
| 276 |
+
"etag": "",
|
| 277 |
+
"last_modified": "Fri, 11 Jul 2025 13:28:38 GMT",
|
| 278 |
+
"status": 200
|
| 279 |
+
},
|
| 280 |
+
"https://www.hdfcergo.com/docs/default-source/downloads/policy-wordings/health/optima-secure-revision-pw.pdf": {
|
| 281 |
+
"content_length": "625359",
|
| 282 |
+
"etag": "",
|
| 283 |
+
"last_modified": "Fri, 11 Jul 2025 13:52:34 GMT",
|
| 284 |
+
"status": 200
|
| 285 |
+
},
|
| 286 |
+
"https://www.hdfcergo.com/docs/default-source/downloads/policy-wordings/health/total-health-plan--oct-2021.pdf": {
|
| 287 |
+
"content_length": "342798",
|
| 288 |
+
"etag": "",
|
| 289 |
+
"last_modified": "Fri, 01 Oct 2021 12:56:15 GMT",
|
| 290 |
+
"status": 200
|
| 291 |
+
},
|
| 292 |
+
"https://www.hdfcergo.com/docs/default-source/downloads/policy-wordings/others/optima-enhance-policy-wording.pdf": {
|
| 293 |
+
"content_length": "905652",
|
| 294 |
+
"etag": "",
|
| 295 |
+
"last_modified": "Thu, 05 Oct 2023 11:02:21 GMT",
|
| 296 |
+
"status": 200
|
| 297 |
+
},
|
| 298 |
+
"https://www.hdfcergo.com/docs/default-source/downloads/policy-wordings/others/policy-wordings---prime---hrc.pdf": {
|
| 299 |
+
"content_length": "698083",
|
| 300 |
+
"etag": "",
|
| 301 |
+
"last_modified": "Thu, 05 Oct 2023 11:02:27 GMT",
|
| 302 |
+
"status": 200
|
| 303 |
+
},
|
| 304 |
+
"https://www.hdfcergo.com/docs/default-source/downloads/prospectus/health/my_sampoorna_suraksha.pdf": {
|
| 305 |
+
"content_length": "647174",
|
| 306 |
+
"etag": "",
|
| 307 |
+
"last_modified": "Fri, 14 Mar 2025 20:02:35 GMT",
|
| 308 |
+
"status": 200
|
| 309 |
+
},
|
| 310 |
+
"https://www.hdfcergo.com/docs/default-source/downloads/prospectus/health/myhealth-suraksha---prospectus.pdf": {
|
| 311 |
+
"content_length": "444631",
|
| 312 |
+
"etag": "",
|
| 313 |
+
"last_modified": "Sat, 15 Mar 2025 04:46:49 GMT",
|
| 314 |
+
"status": 200
|
| 315 |
+
},
|
| 316 |
+
"https://www.hdfcergo.com/documents/downloads/HEHI/Presales-Set-2/OR-Brochure-Revision-V2.pdf": {
|
| 317 |
+
"content_length": "269430",
|
| 318 |
+
"etag": "\"c64d388612b9d61:0\"",
|
| 319 |
+
"last_modified": "Thu, 12 Nov 2020 16:40:26 GMT",
|
| 320 |
+
"status": 200
|
| 321 |
+
},
|
| 322 |
+
"https://www.icicilombard.com/docs/default-source/apps/elevateapp/assets/pdf/elevate-policy-wordings.pdf": {
|
| 323 |
+
"content_length": "488",
|
| 324 |
+
"etag": "",
|
| 325 |
+
"last_modified": "",
|
| 326 |
+
"status": 403
|
| 327 |
+
},
|
| 328 |
+
"https://www.icicilombard.com/docs/default-source/apps/healthclientapp/assets/pdf/health-advantedge-policy-wordings.pdf": {
|
| 329 |
+
"content_length": "507",
|
| 330 |
+
"etag": "",
|
| 331 |
+
"last_modified": "",
|
| 332 |
+
"status": 403
|
| 333 |
+
},
|
| 334 |
+
"https://www.icicilombard.com/docs/default-source/default-document-library/health-booster_policy-wordings.pdf": {
|
| 335 |
+
"content_length": "493",
|
| 336 |
+
"etag": "",
|
| 337 |
+
"last_modified": "",
|
| 338 |
+
"status": 403
|
| 339 |
+
},
|
| 340 |
+
"https://www.icicilombard.com/docs/default-source/default-document-library/health-shield-360-retail_pw.pdf": {
|
| 341 |
+
"content_length": "494",
|
| 342 |
+
"etag": "",
|
| 343 |
+
"last_modified": "",
|
| 344 |
+
"status": 403
|
| 345 |
+
},
|
| 346 |
+
"https://www.icicilombard.com/docs/default-source/default-document-library/icihlip23144v072223-icici-lombard-complete-health-insurance.pdf": {
|
| 347 |
+
"content_length": "530",
|
| 348 |
+
"etag": "",
|
| 349 |
+
"last_modified": "",
|
| 350 |
+
"status": 403
|
| 351 |
+
},
|
| 352 |
+
"https://www.icicilombard.com/docs/default-source/policy-wordings-product-brochure/arogya-sanjeevani-policy-policy-wordings.pdf": {
|
| 353 |
+
"content_length": "519",
|
| 354 |
+
"etag": "",
|
| 355 |
+
"last_modified": "",
|
| 356 |
+
"status": 403
|
| 357 |
+
},
|
| 358 |
+
"https://www.icicilombard.com/docs/default-source/policy-wordings-product-brochure/complete-health-insurance-(health-elite-plus).pdf": {
|
| 359 |
+
"content_length": "536",
|
| 360 |
+
"etag": "",
|
| 361 |
+
"last_modified": "",
|
| 362 |
+
"status": 403
|
| 363 |
+
},
|
| 364 |
+
"https://www.icicilombard.com/docs/default-source/policy-wordings-product-brochure/complete-health-insurance-(health-shield).pdf": {
|
| 365 |
+
"content_length": "528",
|
| 366 |
+
"etag": "",
|
| 367 |
+
"last_modified": "",
|
| 368 |
+
"status": 403
|
| 369 |
+
},
|
| 370 |
+
"https://www.icicilombard.com/docs/default-source/policy-wordings-product-brochure/health-shield-360-retail---cis.pdf": {
|
| 371 |
+
"content_length": "517",
|
| 372 |
+
"etag": "",
|
| 373 |
+
"last_modified": "",
|
| 374 |
+
"status": 403
|
| 375 |
+
},
|
| 376 |
+
"https://www.manipalcigna.com/documents/20124/0/7-ProHealth-Prime-P-A-Prospectus-April-22-02.pdf/8c1b2d11-4129-e0a3-ad94-1ecc19ecfd58": {
|
| 377 |
+
"content_length": "272897",
|
| 378 |
+
"etag": "",
|
| 379 |
+
"last_modified": "",
|
| 380 |
+
"status": 404
|
| 381 |
+
},
|
| 382 |
+
"https://www.manipalcigna.com/documents/20124/0/Sarvah-Param-Prospectus/c2543c7b-764d-2157-7f4c-214616f20ff4": {
|
| 383 |
+
"content_length": "452029",
|
| 384 |
+
"etag": "",
|
| 385 |
+
"last_modified": "Sun, 09 Nov 2025 19:35:16 GMT",
|
| 386 |
+
"status": 200
|
| 387 |
+
},
|
| 388 |
+
"https://www.manipalcigna.com/documents/20124/0/Sarvah-Param-TnC/19341cbc-41ae-b938-feac-cc7e373fbc0d": {
|
| 389 |
+
"content_length": "1240182",
|
| 390 |
+
"etag": "",
|
| 391 |
+
"last_modified": "Sun, 09 Nov 2025 19:39:58 GMT",
|
| 392 |
+
"status": 200
|
| 393 |
+
},
|
| 394 |
+
"https://www.manipalcigna.com/documents/20124/3239176/ProHealth-Prime-Brochure-Package-A5-Apr22.pdf/659df7db-5ef7-9ebf-7133-cbf3e7b6139d": {
|
| 395 |
+
"content_length": "272924",
|
| 396 |
+
"etag": "",
|
| 397 |
+
"last_modified": "",
|
| 398 |
+
"status": 404
|
| 399 |
+
},
|
| 400 |
+
"https://www.manipalcigna.com/documents/20124/350424/17+ProHealthSelect_TnC_Jul19.pdf/9104b961-e417-956b-ab41-1af27c869e0a?t=1611243593613": {
|
| 401 |
+
"content_length": "1932138",
|
| 402 |
+
"etag": "",
|
| 403 |
+
"last_modified": "Thu, 21 Jan 2021 15:39:53 GMT",
|
| 404 |
+
"status": 200
|
| 405 |
+
},
|
| 406 |
+
"https://www.newindia.co.in/assets/docs/know-more/health/asha-kiran-policy/Customer%20Information%20Sheet%20NEW%20INDIA%20ASHA%20KIRAN%20POLICY.pdf": {
|
| 407 |
+
"content_length": "",
|
| 408 |
+
"etag": "W/\"3d7d94-qsGY6odTtwNUwlHf6J7LkLaYcJ0-gzip:dtagent10257230921194352Ckbr:dtagent10257230921194352Ckbr\"",
|
| 409 |
+
"last_modified": "",
|
| 410 |
+
"status": 200
|
| 411 |
+
},
|
| 412 |
+
"https://www.newindia.co.in/assets/docs/know-more/health/asha-kiran-policy/Prospectus%20New%20India%20Asha%20Kiran%20Policy%20wef%2001%2004%202021.pdf": {
|
| 413 |
+
"content_length": "",
|
| 414 |
+
"etag": "W/\"3d7d94-BPRC/p1F7hq/oq7h6vmF4POZiWo-gzip:dtagent10257230921194352Ckbr:dtagent10257230921194352Ckbr\"",
|
| 415 |
+
"last_modified": "",
|
| 416 |
+
"status": 200
|
| 417 |
+
},
|
| 418 |
+
"https://www.newindia.co.in/assets/docs/know-more/health/floater-mediclaim-policy/Policy%20Clause%20New%20India%20Floater%20Mediclaim%20Policy%20wef%2001%2010%202024.pdf": {
|
| 419 |
+
"content_length": "",
|
| 420 |
+
"etag": "W/\"3d7d94-nGJziGU7LrVj1pFBNx28D5lKq/E-gzip:dtagent10257230921194352Ckbr:dtagent10257230921194352Ckbr\"",
|
| 421 |
+
"last_modified": "",
|
| 422 |
+
"status": 200
|
| 423 |
+
},
|
| 424 |
+
"https://www.newindia.co.in/assets/docs/know-more/health/janata-mediclaim-policy/Policy%20Clause%20Janata%20Mediclaim%20Policy.pdf": {
|
| 425 |
+
"content_length": "",
|
| 426 |
+
"etag": "W/\"3d7d94-0DOSZhfzACAdWn0tUR9HGTxgUe0-gzip:dtagent10257230921194352Ckbr:dtagent10257230921194352Ckbr\"",
|
| 427 |
+
"last_modified": "",
|
| 428 |
+
"status": 200
|
| 429 |
+
},
|
| 430 |
+
"https://www.newindia.co.in/assets/docs/know-more/health/new-india-mediclaim-policy/PolicyClauseNewIndiaMediclaimPolicy(NIAHLIP23187V052223).pdf": {
|
| 431 |
+
"content_length": "",
|
| 432 |
+
"etag": "W/\"3d7d94-fMfGWQmXsWkTTc+wQE0A3aHK71o-gzip:dtagent10257230921194352Ckbr:dtagent10257230921194352Ckbr\"",
|
| 433 |
+
"last_modified": "",
|
| 434 |
+
"status": 200
|
| 435 |
+
},
|
| 436 |
+
"https://www.newindia.co.in/assets/docs/know-more/health/new-india-mediclaim-policy/Prospectus%20New%20India%20Mediclaim%20Policy.pdf": {
|
| 437 |
+
"content_length": "",
|
| 438 |
+
"etag": "W/\"3d7d94-nPX4qLlcoXP40Vz01riDqkx5Fuo-gzip:dtagent10257230921194352Ckbr:dtagent10257230921194352Ckbr\"",
|
| 439 |
+
"last_modified": "",
|
| 440 |
+
"status": 200
|
| 441 |
+
},
|
| 442 |
+
"https://www.newindia.co.in/assets/docs/know-more/health/universal-health-insurance/Policy%20Clause%20Universal%20Health%20Insurance%20Policy.pdf": {
|
| 443 |
+
"content_length": "",
|
| 444 |
+
"etag": "W/\"3d7d94-7RnkZDXTl9bnifr+E+UeeViQDtw-gzip:dtagent10257230921194352Ckbr:dtagent10257230921194352Ckbr\"",
|
| 445 |
+
"last_modified": "",
|
| 446 |
+
"status": 200
|
| 447 |
+
},
|
| 448 |
+
"https://www.newindia.co.in/assets/docs/know-more/health/yuva-bharat-health-policy/Policy%20Clause%20Yuva%20Bharat%20Health%20Policy%20%20wef%2001%2010%202024_1.pdf": {
|
| 449 |
+
"content_length": "",
|
| 450 |
+
"etag": "W/\"3d7d94-BZhtk430IzfR9myivyfzo72czXw-gzip:dtagent10257230921194352Ckbr:dtagent10257230921194352Ckbr\"",
|
| 451 |
+
"last_modified": "",
|
| 452 |
+
"status": 200
|
| 453 |
+
},
|
| 454 |
+
"https://www.nivabupa.com/content/dam/nivabupa/PDF/Saral%20Suraksha%20Bima_Policy%20Wording.pdf": {
|
| 455 |
+
"content_length": "427307",
|
| 456 |
+
"etag": "W/\"6852b-be9hm0bk1bzvERHkBMexTelYtFI\"",
|
| 457 |
+
"last_modified": "",
|
| 458 |
+
"status": 200
|
| 459 |
+
},
|
| 460 |
+
"https://www.nivabupa.com/content/dam/nivabupa/PDF/health-companion-policy-wording.pdf": {
|
| 461 |
+
"content_length": "365996",
|
| 462 |
+
"etag": "W/\"595ac-kBAr0WOUtXQJHzShOCDl5guFJoU\"",
|
| 463 |
+
"last_modified": "",
|
| 464 |
+
"status": 200
|
| 465 |
+
},
|
| 466 |
+
"https://www.nivabupa.com/content/dam/nivabupa/PDF/health-premia/Health%20Premia%20Policy%20Wording.pdf": {
|
| 467 |
+
"content_length": "582230",
|
| 468 |
+
"etag": "\"5c78a7e99c89db1:0\"",
|
| 469 |
+
"last_modified": "Fri, 28 Feb 2025 04:54:56 GMT",
|
| 470 |
+
"status": 200
|
| 471 |
+
},
|
| 472 |
+
"https://www.nivabupa.com/content/dam/nivabupa/PDF/senior-first/Senior_First_Policy_Wordings.pdf": {
|
| 473 |
+
"content_length": "215020",
|
| 474 |
+
"etag": "W/\"347ec-BoYGtT90l9FdMi1GJJFrbor7e2M\"",
|
| 475 |
+
"last_modified": "",
|
| 476 |
+
"status": 200
|
| 477 |
+
},
|
| 478 |
+
"https://www.tataaig.com/s3/Medicare_LITE_CIS_aa38ff0767.pdf": {
|
| 479 |
+
"content_length": "323595",
|
| 480 |
+
"etag": "\"66351f390179b43c8495b6155e83261a\"",
|
| 481 |
+
"last_modified": "Wed, 17 Dec 2025 16:11:02 GMT",
|
| 482 |
+
"status": 200
|
| 483 |
+
},
|
| 484 |
+
"https://www.tataaig.com/s3/Medicare_LITE_Policy_Wordings_4fdf058f02.pdf": {
|
| 485 |
+
"content_length": "67548023",
|
| 486 |
+
"etag": "\"245fd2093792f4e3d43866eff6720a78-13\"",
|
| 487 |
+
"last_modified": "Wed, 29 Apr 2026 05:21:23 GMT",
|
| 488 |
+
"status": 200
|
| 489 |
+
},
|
| 490 |
+
"https://www.tataaig.com/s3/TATA_AIG_Medicare_Premier_Customer_information_Sheet_2e2c10e8d0.pdf": {
|
| 491 |
+
"content_length": "384745",
|
| 492 |
+
"etag": "\"6ea3df4a19e863f8c4a41026c45ff219\"",
|
| 493 |
+
"last_modified": "Thu, 18 Dec 2025 05:11:41 GMT",
|
| 494 |
+
"status": 200
|
| 495 |
+
},
|
| 496 |
+
"https://www.tataaig.com/s3/Tata_AIG_Criti_Medicare_Policy_Wordings_8c77c53956.pdf": {
|
| 497 |
+
"content_length": "405890",
|
| 498 |
+
"etag": "\"d12d8fd477098d2914fc0ca0a15ee7d2\"",
|
| 499 |
+
"last_modified": "Fri, 22 Apr 2022 05:01:11 GMT",
|
| 500 |
+
"status": 200
|
| 501 |
+
},
|
| 502 |
+
"https://www.tataaig.com/s3/Tata_AIG_Medi_Care_82932b277a.pdf": {
|
| 503 |
+
"content_length": "233850",
|
| 504 |
+
"etag": "\"b906d00438ee044629dbdd0cdc1cc26e\"",
|
| 505 |
+
"last_modified": "Tue, 19 Apr 2022 10:25:20 GMT",
|
| 506 |
+
"status": 200
|
| 507 |
+
},
|
| 508 |
+
"https://www.tataaig.com/s3/Tata_AIG_Medi_Care_Premier_2f02f3813c.pdf": {
|
| 509 |
+
"content_length": "234519",
|
| 510 |
+
"etag": "\"05a71813d4615b074a2bb43e85539307\"",
|
| 511 |
+
"last_modified": "Thu, 29 Dec 2022 10:31:39 GMT",
|
| 512 |
+
"status": 200
|
| 513 |
+
},
|
| 514 |
+
"https://www.tataaig.com/s3/Wellsurance_Family_CIS_96593ef551.PDF": {
|
| 515 |
+
"content_length": "51903",
|
| 516 |
+
"etag": "\"d45965c384a44d5a3012954993e48b4c\"",
|
| 517 |
+
"last_modified": "Fri, 08 Oct 2021 05:30:48 GMT",
|
| 518 |
+
"status": 200
|
| 519 |
+
},
|
| 520 |
+
"https://www.tataaig.com/s3/medicare_select_prospectus_efd23b0ad6.pdf": {
|
| 521 |
+
"content_length": "510552",
|
| 522 |
+
"etag": "\"d6ab5f99d5d44c3ba829f0417a380d67\"",
|
| 523 |
+
"last_modified": "Fri, 16 May 2025 08:28:58 GMT",
|
| 524 |
+
"status": 200
|
| 525 |
+
}
|
| 526 |
+
}
|
tools/CRON_README.md
ADDED
|
@@ -0,0 +1,122 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Knowledge-base refresh schedule
|
| 2 |
+
|
| 3 |
+
This project's knowledge base — policy PDFs, premium anchors, insurer reviews,
|
| 4 |
+
all source URLs — would slowly rot without automation. Insurer sites change
|
| 5 |
+
filenames, IRDAI replaces annual reports, aggregator ratings move. The schedule
|
| 6 |
+
below keeps everything fresh without us touching it.
|
| 7 |
+
|
| 8 |
+
## What "cron" means
|
| 9 |
+
|
| 10 |
+
"Cron" is a unix term for a job that runs on a fixed schedule, unattended.
|
| 11 |
+
The name comes from `chronos` (Greek for "time"). The original `cron` daemon
|
| 12 |
+
on Linux servers reads a table of `min hour day month weekday command` rows
|
| 13 |
+
and fires each command at its scheduled time.
|
| 14 |
+
|
| 15 |
+
On macOS the modern equivalent is `launchd`, configured by XML plist files
|
| 16 |
+
under `~/Library/LaunchAgents/`. A LaunchAgent is essentially a cron entry —
|
| 17 |
+
it tells the OS "wake up at X, run this command, log the output." The macOS
|
| 18 |
+
scheduler honors these even when the laptop is asleep (it queues them and
|
| 19 |
+
runs at the next wake), and respects per-user permissions.
|
| 20 |
+
|
| 21 |
+
This project uses three LaunchAgents + one manual script. They run themselves
|
| 22 |
+
in the background. You don't have to remember anything.
|
| 23 |
+
|
| 24 |
+
## The four jobs
|
| 25 |
+
|
| 26 |
+
| Frequency | Job | Plist label | What it does | Auto-fix |
|
| 27 |
+
|---|---|---|---|---|
|
| 28 |
+
| Daily 03:00 | Link-rot | `com.rohit.insurancebot.linkrot` | HEAD every external URL in the KB | Wayback Machine snapshot; http↔https swap; query-string strip |
|
| 29 |
+
| Weekly Sun 04:00 | PDF freshness | `com.rohit.insurancebot.pdfetags` | ETag/Last-Modified diff for every policy PDF | Re-download + delete-from-Chroma + re-ingest |
|
| 30 |
+
| Monthly 1st 06:00 | Premium refresh | `com.rohit.insurancebot.premiums` | Re-fetch every premium anchor; detect price drift; HEAD aggregator URLs | Wayback if dead; >15% drift goes to MUST_FIX |
|
| 31 |
+
| Quarterly (manual) | Full rebuild | `bash tools/quarterly_rebuild.sh` | Wipe Chroma, re-ingest everything, re-extract schema, rebuild KB pages, run gold eval | — |
|
| 32 |
+
|
| 33 |
+
## Auto-fix philosophy
|
| 34 |
+
|
| 35 |
+
Every cron job is **detect → auto-fix → report**:
|
| 36 |
+
|
| 37 |
+
1. **Detect** — record the issue with structured logs in `~/Library/Logs/insurance-bot/`
|
| 38 |
+
2. **Auto-fix** — try every safe repair strategy applicable to that error class
|
| 39 |
+
3. **Report** — if and only if no fix worked, write to `MUST_FIX.md` at the project root and post a macOS notification
|
| 40 |
+
|
| 41 |
+
**Things we auto-fix without asking:**
|
| 42 |
+
- Dead URLs → swap to working Wayback snapshot
|
| 43 |
+
- Stale PDFs → re-download + re-ingest
|
| 44 |
+
- Cosmetic URL drift (http↔https, query-string ambiguity)
|
| 45 |
+
|
| 46 |
+
**Things we don't auto-fix (logged to MUST_FIX.md instead):**
|
| 47 |
+
- Premium price drift > 15% — a real rate change needs human eyeballs
|
| 48 |
+
- PDF re-ingest crashes — could mask a schema regression
|
| 49 |
+
- Hosts that block bots entirely — manually verify via Playwright
|
| 50 |
+
|
| 51 |
+
`MUST_FIX.md` is regenerated every run, so it always reflects current state.
|
| 52 |
+
If it's missing, everything is clean.
|
| 53 |
+
|
| 54 |
+
## What gets logged
|
| 55 |
+
|
| 56 |
+
```
|
| 57 |
+
~/Library/Logs/insurance-bot/
|
| 58 |
+
├── link_rot.log # JSON-per-URL audit trail (append-only)
|
| 59 |
+
├── link_rot.stdout.log # Summary stdout
|
| 60 |
+
├── link_rot.stderr.log # Any crashes
|
| 61 |
+
├── pdf_etags.log # ETag history per policy URL
|
| 62 |
+
├── premium_refresh.log # Price-drift detail
|
| 63 |
+
└── com.rohit.insurancebot.*.{out,err}.log # launchd's own view
|
| 64 |
+
```
|
| 65 |
+
|
| 66 |
+
Tail any log with `tail -f` to watch live.
|
| 67 |
+
|
| 68 |
+
## Operations
|
| 69 |
+
|
| 70 |
+
```bash
|
| 71 |
+
# Trigger any job manually
|
| 72 |
+
launchctl start com.rohit.insurancebot.linkrot
|
| 73 |
+
launchctl start com.rohit.insurancebot.pdfetags
|
| 74 |
+
launchctl start com.rohit.insurancebot.premiums
|
| 75 |
+
|
| 76 |
+
# Run the quarterly full rebuild (interactive)
|
| 77 |
+
bash tools/quarterly_rebuild.sh
|
| 78 |
+
|
| 79 |
+
# Check which agents are loaded + last exit code
|
| 80 |
+
launchctl list | grep com.rohit.insurancebot
|
| 81 |
+
|
| 82 |
+
# Disable a job
|
| 83 |
+
launchctl unload ~/Library/LaunchAgents/com.rohit.insurancebot.linkrot.plist
|
| 84 |
+
|
| 85 |
+
# Re-enable / re-install everything
|
| 86 |
+
bash tools/install_crons.sh
|
| 87 |
+
```
|
| 88 |
+
|
| 89 |
+
## Why scripts live in `~/Library/Scripts/` not the project
|
| 90 |
+
|
| 91 |
+
macOS Transparency, Consent, and Control (TCC) blocks launchd-spawned shells
|
| 92 |
+
from reading files in `~/Documents/` unless Full Disk Access is granted.
|
| 93 |
+
The wrapper scripts are installed under `~/Library/Scripts/insurance-bot/`
|
| 94 |
+
which TCC doesn't gate. Those wrappers `cd` into the project and invoke the
|
| 95 |
+
project's venv Python (which itself isn't TCC-restricted because it lives
|
| 96 |
+
inside a user-owned project directory).
|
| 97 |
+
|
| 98 |
+
This is the same lesson learned from the AI Thesis project's cache-sweeper
|
| 99 |
+
incident (May 2026) — LaunchAgent scripts under `~/Documents/` silently fail
|
| 100 |
+
with exit code 126 ("Operation not permitted") and never run.
|
| 101 |
+
|
| 102 |
+
## Why the venv Python, not the system Python
|
| 103 |
+
|
| 104 |
+
The system `python3` at `/Library/Developer/CommandLineTools/usr/bin/python3`
|
| 105 |
+
is itself TCC-restricted when invoked from launchd context. The project's
|
| 106 |
+
`.venv/bin/python3` is not (it's a binary inside the user's project, owned
|
| 107 |
+
by the user, not under any system path). Plus the venv has `httpx` already
|
| 108 |
+
installed — system Python doesn't.
|
| 109 |
+
|
| 110 |
+
## First-time install
|
| 111 |
+
|
| 112 |
+
```bash
|
| 113 |
+
cd "Insurance Sales Bot"
|
| 114 |
+
bash tools/install_crons.sh
|
| 115 |
+
```
|
| 116 |
+
|
| 117 |
+
The installer:
|
| 118 |
+
1. Writes wrapper shell scripts to `~/Library/Scripts/insurance-bot/`
|
| 119 |
+
2. Writes LaunchAgent plists to `~/Library/LaunchAgents/`
|
| 120 |
+
3. Loads each agent with `launchctl load`
|
| 121 |
+
4. Runs a TCC self-test by firing the link-rot job and checking stderr
|
| 122 |
+
5. If TCC is blocking, opens the relevant System Settings pane and exits 2
|