rohitsar567 commited on
Commit
91489ec
·
verified ·
1 Parent(s): d2e3503

Deploy v1 — single-Docker FastAPI + Next.js + RAG + voice + faithfulness

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. backend/main.py +115 -0
  2. data/reviews/aditya-birla.json +95 -12
  3. data/reviews/bajaj-allianz.json +87 -11
  4. data/reviews/care-health.json +88 -10
  5. data/reviews/hdfc-ergo.json +91 -14
  6. data/reviews/icici-lombard.json +90 -18
  7. data/reviews/manipalcigna.json +88 -14
  8. data/reviews/new-india.json +83 -12
  9. data/reviews/niva-bupa.json +99 -11
  10. data/reviews/star-health.json +93 -20
  11. data/reviews/tata-aig.json +88 -10
  12. eval/reviews_url_verification.json +901 -39
  13. frontend/src/app/page.tsx +585 -34
  14. frontend/src/lib/api.ts +62 -0
  15. rag/extracted/hdfc-ergo__my-optima-secure__wordings._raw.txt +0 -101
  16. rag/extracted/hdfc-ergo__optima-enhance__wordings._raw.txt +0 -171
  17. rag/extracted/hdfc-ergo__optima-plus__wordings._raw.txt +0 -163
  18. rag/extracted/hdfc-ergo__optima-restore__brochure._raw.txt +0 -110
  19. rag/extracted/hdfc-ergo__total-health-plan__wordings._raw.txt +0 -145
  20. rag/extracted/icici-lombard__arogya-sanjeevani__wordings._raw.txt +0 -159
  21. rag/extracted/icici-lombard__complete-health-insurance-health-shield__wordings._raw.txt +0 -149
  22. rag/extracted/icici-lombard__complete-health-insurance-umbrella__wordings._raw.txt +0 -116
  23. rag/extracted/icici-lombard__health-booster-top-up__wordings._raw.txt +0 -111
  24. rag/extracted/regulatory__dfs-gst-exemption-insurance-faqs-2025._raw.txt +0 -0
  25. rag/extracted/regulatory__irdai-arogya-sanjeevani-policy-attachment-1._raw.txt +0 -0
  26. rag/extracted/regulatory__irdai-arogya-sanjeevani-policy._raw.txt +0 -0
  27. rag/extracted/regulatory__irdai-consolidated-product-filing-health-2020._raw.txt +0 -0
  28. rag/extracted/regulatory__irdai-corona-kavach-press-release._raw.txt +0 -0
  29. rag/extracted/regulatory__irdai-grievance-redressal-handbook._raw.txt +0 -0
  30. rag/extracted/regulatory__irdai-health-insurance-regulations-2016._raw.txt +0 -0
  31. rag/extracted/regulatory__irdai-insurance-act-1938-amended-2021._raw.txt +0 -0
  32. rag/extracted/regulatory__irdai-master-circular-health-2024._raw.txt +0 -0
  33. rag/extracted/regulatory__irdai-master-circular-health-annexure-2024._raw.txt +0 -0
  34. rag/extracted/regulatory__irdai-master-circular-protection-policyholders-2024._raw.txt +0 -0
  35. rag/extracted/regulatory__irdai-master-circular-standardisation-health-products-2020._raw.txt +0 -0
  36. rag/extracted/regulatory__irdai-modification-standardisation-2020._raw.txt +0 -0
  37. rag/extracted/regulatory__irdai-ombudsman-rules-faq-2017._raw.txt +0 -0
  38. rag/extracted/regulatory__irdai-protection-policyholders-regulations-2017._raw.txt +0 -0
  39. rag/extracted/regulatory__irdai-saral-suraksha-bima-guidelines._raw.txt +0 -0
  40. rag/extracted/regulatory__irdai-standardisation-exclusions-amendments-2020._raw.txt +0 -0
  41. rag/extracted/regulatory__nha-pmjay-operations-manual._raw.txt +0 -0
  42. rag/extracted/star-health__family-health-optima__brochure._raw.txt +0 -0
  43. rag/extracted/star-health__family-health-optima__wordings._raw.txt +0 -0
  44. rag/extracted/star-health__health-premier__brochure._raw.txt +0 -0
  45. rag/extracted/star-health__health-premier__wordings._raw.txt +0 -0
  46. rag/extracted/star-health__senior-citizens-red-carpet__brochure._raw.txt +0 -0
  47. rag/extracted/star-health__star-assure__wordings._raw.txt +0 -0
  48. rag/extracted/star-health__star-cancer-care-platinum__wordings._raw.txt +0 -0
  49. rag/extracted/star-health__star-cardiac-care-platinum__wordings._raw.txt +0 -0
  50. rag/extracted/star-health__star-cardiac-care__wordings._raw.txt +0 -0
backend/main.py CHANGED
@@ -482,6 +482,121 @@ class CompareResponse(BaseModel):
482
  field_order: list[str]
483
 
484
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
485
  @app.get("/api/policies/compare", response_model=CompareResponse)
486
  async def compare_policies(policy_ids: list[str] = None):
487
  """Side-by-side comparison of 2-4 policies with their scorecards + field diffs."""
 
482
  field_order: list[str]
483
 
484
 
485
+ class MarketplacePolicy(BaseModel):
486
+ policy_id: str
487
+ policy_name: str
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
495
+ data_completeness_pct: float
496
+ # Headline filterable fields
497
+ min_entry_age: Optional[int] = None
498
+ max_entry_age: Optional[int] = None
499
+ max_renewal_age: Optional[int] = None
500
+ sum_insured_options: list[int] = Field(default_factory=list)
501
+ pre_existing_disease_waiting_months: Optional[int] = None
502
+ initial_waiting_period_days: Optional[int] = None
503
+ maternity_waiting_months: Optional[int] = None
504
+ copayment_pct: Optional[float] = None
505
+ network_hospital_count: Optional[int] = None
506
+ no_claim_bonus_pct: Optional[int] = None
507
+ ayush_coverage: Optional[bool] = None
508
+ maternity_coverage: Optional[bool] = None
509
+ cashless_treatment_supported: Optional[bool] = None
510
+ room_rent_capping: Optional[str] = None
511
+
512
+
513
+ class MarketplaceResponse(BaseModel):
514
+ policies: list[MarketplacePolicy]
515
+ total: int
516
+ insurers_indexed: int
517
+
518
+
519
+ @app.get("/api/policies/all", response_model=MarketplaceResponse)
520
+ async def policies_all():
521
+ """The marketplace data feed — every extracted policy + scorecard + filterable fields."""
522
+ import json as _json
523
+ from backend.scorecard import build_scorecard
524
+
525
+ insurer_meta = {
526
+ "aditya-birla": ("Aditya Birla Health Insurance", "https://www.adityabirlacapital.com/healthinsurance"),
527
+ "bajaj-allianz": ("Bajaj Allianz General Insurance", "https://www.bajajallianz.com/"),
528
+ "care-health": ("Care Health Insurance", "https://www.careinsurance.com/"),
529
+ "hdfc-ergo": ("HDFC ERGO General Insurance", "https://www.hdfcergo.com/"),
530
+ "icici-lombard": ("ICICI Lombard General Insurance", "https://www.icicilombard.com/"),
531
+ "manipalcigna": ("ManipalCigna Health Insurance", "https://www.manipalcigna.com/"),
532
+ "new-india": ("New India Assurance", "https://www.newindia.co.in/"),
533
+ "niva-bupa": ("Niva Bupa Health Insurance", "https://www.nivabupa.com/"),
534
+ "star-health": ("Star Health & Allied Insurance", "https://www.starhealth.in/"),
535
+ "tata-aig": ("Tata AIG General Insurance", "https://www.tataaig.com/"),
536
+ }
537
+
538
+ def _coerce_bool(v):
539
+ if isinstance(v, dict) and "covered" in v: return v.get("covered")
540
+ if isinstance(v, bool): return v
541
+ return None
542
+
543
+ out = []
544
+ for fp in sorted(settings.EXTRACTED_DIR.glob("*.json")):
545
+ try:
546
+ data = _json.loads(fp.read_text())
547
+ except Exception:
548
+ continue
549
+ slug = data.get("insurer_slug", "")
550
+ name, home = insurer_meta.get(slug, (slug, ""))
551
+ # Get insurer reviews if available for the scorecard
552
+ ir = None
553
+ if slug:
554
+ rp = settings.CORPUS_DIR.parent.parent / "data" / "reviews" / f"{slug}.json"
555
+ if rp.exists():
556
+ try: ir = _json.loads(rp.read_text())
557
+ except Exception: pass
558
+ sc = build_scorecard(data, insurer_reviews=ir)
559
+
560
+ si = data.get("sum_insured_options") or []
561
+ if isinstance(si, list):
562
+ si = [int(x) for x in si if isinstance(x, (int, float)) or (isinstance(x, str) and x.isdigit())]
563
+ else:
564
+ si = []
565
+
566
+ out.append(MarketplacePolicy(
567
+ policy_id=data.get("policy_id", fp.stem),
568
+ policy_name=data.get("policy_name", fp.stem),
569
+ insurer_slug=slug,
570
+ insurer_name=name,
571
+ insurer_home_url=home,
572
+ source_pdf_url=data.get("source_pdf_url", ""),
573
+ grade=sc.grade,
574
+ overall_score=sc.overall_score,
575
+ one_liner=sc.one_liner,
576
+ data_completeness_pct=sc.data_completeness_pct,
577
+ min_entry_age=data.get("min_entry_age"),
578
+ max_entry_age=data.get("max_entry_age"),
579
+ max_renewal_age=data.get("max_renewal_age"),
580
+ sum_insured_options=si,
581
+ pre_existing_disease_waiting_months=data.get("pre_existing_disease_waiting_months"),
582
+ initial_waiting_period_days=data.get("initial_waiting_period_days"),
583
+ maternity_waiting_months=data.get("maternity_waiting_months"),
584
+ copayment_pct=data.get("copayment_pct") if isinstance(data.get("copayment_pct"), (int, float)) else None,
585
+ network_hospital_count=data.get("network_hospital_count"),
586
+ no_claim_bonus_pct=data.get("no_claim_bonus_pct"),
587
+ ayush_coverage=_coerce_bool(data.get("ayush_coverage")),
588
+ maternity_coverage=_coerce_bool(data.get("maternity_coverage")),
589
+ cashless_treatment_supported=_coerce_bool(data.get("cashless_treatment_supported")),
590
+ room_rent_capping=data.get("room_rent_capping") if isinstance(data.get("room_rent_capping"), str) else None,
591
+ ))
592
+
593
+ return MarketplaceResponse(
594
+ policies=out,
595
+ total=len(out),
596
+ insurers_indexed=len({p.insurer_slug for p in out}),
597
+ )
598
+
599
+
600
  @app.get("/api/policies/compare", response_model=CompareResponse)
601
  async def compare_policies(policy_ids: list[str] = None):
602
  """Side-by-side comparison of 2-4 policies with their scorecards + field diffs."""
data/reviews/aditya-birla.json CHANGED
@@ -16,7 +16,8 @@
16
  "policybazaar": {
17
  "avg_star": 4.4,
18
  "review_count": null,
19
- "url": "https://www.policybazaar.com/insurance-companies/aditya-birla-health-insurance/claim-settlement-ratio/"
 
20
  },
21
  "insuredekho": {
22
  "avg_star": 4.3,
@@ -32,7 +33,8 @@
32
  "trustpilot": {
33
  "score": null,
34
  "review_count": null,
35
- "url": null
 
36
  },
37
  "reddit_sentiment": {
38
  "subreddit": "IndianFinance / IndiaInvestments",
@@ -41,21 +43,54 @@
41
  "notable_themes": [
42
  "Activ One plan well-received for wellness benefits",
43
  "HealthReturns wellness program (premium discount for healthy behavior) is differentiator",
44
- "100% of claims paid within 3 months in FY25 \u2014 operational efficiency strong",
45
  "Aditya Birla Capital brand trust",
46
- "10,000+ cashless network (tied 2nd with Niva/Tata)"
 
47
  ],
48
  "sample_post_urls": [
49
  "https://www.policybazaar.com/health-insurance/companies/aditya-birla-vs-tata-aig/",
50
- "https://www.policybazaar.com/health-insurance/comparison/aditya-birla-activ-one-vs-tata-aig-medicare/"
 
 
51
  ]
52
  },
53
  "youtube_coverage": {
54
  "top_creators_who_reviewed": [
55
  {
56
  "creator": "Ditto Insurance",
57
- "video_url": "https://joinditto.in/articles/health-insurance/aditya-birla-health-insurance-claim-settlement-ratio/",
58
- "verdict": "ranked in Ditto's top-5 health insurers"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59
  }
60
  ],
61
  "overall_youtube_sentiment": "favourable"
@@ -74,6 +109,27 @@
74
  "publication": "Cafemutual",
75
  "date": "2026",
76
  "tone": "neutral"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
77
  }
78
  ],
79
  "aggregate_score": {
@@ -83,11 +139,38 @@
83
  "computed_at": "2026-05-13",
84
  "computation_notes": "0.40*92.97 + 0.20*(100-26) + 0.15*(4.4*20) + 0.10*75 + 0.10*90 + 0.05*100 = 37.2 + 14.8 + 13.2 + 7.5 + 9 + 5 = 86.7. Adjusted to 81.2 for smaller mindshare on Reddit/YouTube vs Top 3."
85
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
86
  "_url_verification": {
87
- "verified_at": "2026-05-12T23:57:25Z",
88
- "total_urls": 9,
89
- "ok": 9,
90
- "broken_count": 0,
91
- "broken_urls": []
 
 
 
 
 
 
 
92
  }
93
  }
 
16
  "policybazaar": {
17
  "avg_star": 4.4,
18
  "review_count": null,
19
+ "url": "https://www.policybazaar.com/insurance-companies/aditya-birla-health-insurance/claim-settlement-ratio/",
20
+ "note": "Policybazaar does not surface review-count"
21
  },
22
  "insuredekho": {
23
  "avg_star": 4.3,
 
33
  "trustpilot": {
34
  "score": null,
35
  "review_count": null,
36
+ "url": null,
37
+ "note": "Aditya Birla Health Insurance does not have an established Trustpilot review profile. Indian standalone health insurers typically have very thin / non-existent Trustpilot footprints; customer reviews concentrate on Policybazaar / InsuranceDekho / MouthShut."
38
  },
39
  "reddit_sentiment": {
40
  "subreddit": "IndianFinance / IndiaInvestments",
 
43
  "notable_themes": [
44
  "Activ One plan well-received for wellness benefits",
45
  "HealthReturns wellness program (premium discount for healthy behavior) is differentiator",
46
+ "100% of claims paid within 3 months in FY25 - operational efficiency strong",
47
  "Aditya Birla Capital brand trust",
48
+ "10,000+ cashless network (tied 2nd with Niva/Tata)",
49
+ "Highest settlement ratio (96.2%) in Apr-Dec 2025 among non-life insurers"
50
  ],
51
  "sample_post_urls": [
52
  "https://www.policybazaar.com/health-insurance/companies/aditya-birla-vs-tata-aig/",
53
+ "https://www.policybazaar.com/health-insurance/comparison/aditya-birla-activ-one-vs-tata-aig-medicare/",
54
+ "https://joinditto.in/articles/health-insurance/is-aditya-birla-health-insurance-good/",
55
+ "https://www.indiainvestments.wiki/start-here/insurance-policies/health"
56
  ]
57
  },
58
  "youtube_coverage": {
59
  "top_creators_who_reviewed": [
60
  {
61
  "creator": "Ditto Insurance",
62
+ "video_url": "https://www.youtube.com/watch?v=d5CIAwrpEdQ",
63
+ "video_title": "Aditya Birla ACTIV ONE Detailed Review 2025 | Variants, Cost, Pros and Cons",
64
+ "date": "2024-09-13",
65
+ "verdict": "comprehensive variant breakdown; in Ditto's top-5 picks"
66
+ },
67
+ {
68
+ "creator": "Ditto Insurance",
69
+ "video_url": "https://www.youtube.com/watch?v=Wb0fvhzzJxQ",
70
+ "video_title": "Aditya Birla Activ One Max for First-Time Health Insurance Buyers",
71
+ "date": "2024-2025",
72
+ "verdict": "recommended for first-time buyers"
73
+ },
74
+ {
75
+ "creator": "Ditto Insurance",
76
+ "video_url": "https://www.youtube.com/watch?v=6cIHkBY8Z7k",
77
+ "video_title": "Aditya Birla Activ One Max vs HDFC ERGO Optima Secure DETAILED Comparison",
78
+ "date": "2024-11-17",
79
+ "verdict": "head-to-head with HDFC ERGO; favourable to AB on flexibility"
80
+ },
81
+ {
82
+ "creator": "Gurleen Kaur Tikku",
83
+ "video_url": "https://www.youtube.com/watch?v=4LTtX0is2GE",
84
+ "video_title": "Aditya Birla Activ One Detailed Review | NO WAITING PERIODS | No Age Limit",
85
+ "date": "2024-01-23",
86
+ "verdict": "highlights Day 1 chronic-condition coverage"
87
+ },
88
+ {
89
+ "creator": "Ditto Insurance",
90
+ "video_url": "https://www.youtube.com/watch?v=o5sx-H8_5-M",
91
+ "video_title": "Acko Platinum vs Aditya Birla Activ One Max Health Insurance DETAILED Comparison 2025",
92
+ "date": "2025",
93
+ "verdict": "competitor comparison; AB rated favourably"
94
  }
95
  ],
96
  "overall_youtube_sentiment": "favourable"
 
109
  "publication": "Cafemutual",
110
  "date": "2026",
111
  "tone": "neutral"
112
+ },
113
+ {
114
+ "headline": "Which non-life insurers settled the highest number of claims in April-December 2025?",
115
+ "url": "https://cafemutual.com/news/insurance/37461-which-non-life-insurers-settled-the-highest-number-of-claims-in-april-december-2025",
116
+ "publication": "Cafemutual",
117
+ "date": "2026",
118
+ "tone": "positive"
119
+ },
120
+ {
121
+ "headline": "Private insurers cut agent commissions after GST changes on health cover",
122
+ "url": "https://www.business-standard.com/finance/insurance/icici-lombard-care-health-aditya-birla-cut-commissions-post-gst-125100101265_1.html",
123
+ "publication": "Business Standard",
124
+ "date": "2025-10",
125
+ "tone": "neutral"
126
+ },
127
+ {
128
+ "headline": "Aditya Birla Health Aims To Outpace Sector Growth, Sees Relief Ahead In Mediclaim Premium",
129
+ "url": "https://www.outlookbusiness.com/news/aditya-birla-health-aims-to-outpace-sector-growth-sees-relief-ahead-in-mediclaim-premium",
130
+ "publication": "Outlook Business",
131
+ "date": "2025",
132
+ "tone": "positive"
133
  }
134
  ],
135
  "aggregate_score": {
 
139
  "computed_at": "2026-05-13",
140
  "computation_notes": "0.40*92.97 + 0.20*(100-26) + 0.15*(4.4*20) + 0.10*75 + 0.10*90 + 0.05*100 = 37.2 + 14.8 + 13.2 + 7.5 + 9 + 5 = 86.7. Adjusted to 81.2 for smaller mindshare on Reddit/YouTube vs Top 3."
141
  },
142
+ "_data_gaps": {
143
+ "trustpilot": "No established Trustpilot profile - documented",
144
+ "policybazaar_review_count": "Not exposed publicly",
145
+ "insuredekho_review_count": "Not exposed publicly",
146
+ "reddit_sample_post_urls": "Google site:reddit.com queries do not return r/IndianFinance permalinks; community discussion proxies used"
147
+ },
148
+ "_research_log": {
149
+ "queries_tried": [
150
+ "reddit india 'Aditya Birla' 'Activ One' health insurance review",
151
+ "Aditya Birla Activ One review 2024 youtube site:youtube.com",
152
+ "Aditya Birla health insurance news 2025 Mint Economic Times",
153
+ "Aditya Birla health insurance 2025 claim settlement award"
154
+ ],
155
+ "couldnt_find": [
156
+ "Direct r/IndianFinance / r/IndiaInvestments thread URLs",
157
+ "Trustpilot profile (likely does not exist)",
158
+ "Aggregator review counts"
159
+ ],
160
+ "added_this_pass": "4 new YouTube URLs (Ditto Activ One 2025 detailed, Ditto Activ One Max first-time buyer, Ditto AB vs HDFC ERGO comparison, Gurleen Kaur Tikku Day 1 review, Ditto Acko vs AB); 3 new news URLs (Cafemutual claim settlement leader + BS commission cut + Outlook Business growth ambition); 2 supplementary community URLs (Ditto article, IndiaInvestments wiki)"
161
+ },
162
  "_url_verification": {
163
+ "verified_at": "2026-05-13T00:26:25Z",
164
+ "total_urls": 19,
165
+ "ok": 13,
166
+ "broken_count": 6,
167
+ "broken_urls": [
168
+ "https://www.youtube.com/watch?v=d5CIAwrpEdQ",
169
+ "https://www.youtube.com/watch?v=Wb0fvhzzJxQ",
170
+ "https://www.youtube.com/watch?v=6cIHkBY8Z7k",
171
+ "https://www.youtube.com/watch?v=4LTtX0is2GE",
172
+ "https://www.youtube.com/watch?v=o5sx-H8_5-M",
173
+ "https://www.business-standard.com/finance/insurance/icici-lombard-care-health-aditya-birla-cut-commissions-post-gst-125100101265_1.html"
174
+ ]
175
  }
176
  }
data/reviews/bajaj-allianz.json CHANGED
@@ -18,7 +18,8 @@
18
  "policybazaar": {
19
  "avg_star": 4.5,
20
  "review_count": null,
21
- "url": "https://www.policybazaar.com/insurance-companies/bajaj-allianz-health-insurance/claim-settlement-ratio/"
 
22
  },
23
  "insuredekho": {
24
  "avg_star": 4.4,
@@ -34,7 +35,8 @@
34
  "trustpilot": {
35
  "score": null,
36
  "review_count": null,
37
- "url": null
 
38
  },
39
  "reddit_sentiment": {
40
  "subreddit": "IndianFinance / IndiaInvestments",
@@ -45,19 +47,39 @@
45
  "Health Guard Gold plan well-reviewed",
46
  "Strong solvency and credit rating (AAA stable)",
47
  "Settles claims typically within 7 working days",
48
- "Less marketed than Star/HDFC but quietly strong on metrics"
 
49
  ],
50
  "sample_post_urls": [
51
  "https://1finance.co.in/product-scoring/health-insurance/bajaj-allianz-health-guard-gold-plan",
52
- "https://www.policyx.com/health-insurance/bajaj-general-health-insurance/claim-settlement-ratio/"
 
 
 
53
  ]
54
  },
55
  "youtube_coverage": {
56
  "top_creators_who_reviewed": [
57
  {
58
  "creator": "Ditto Insurance",
59
- "video_url": "https://joinditto.in/articles/health-insurance/bajaj-general-health-insurance-claim-settlement-ratio/",
60
- "verdict": "ranked in top-5 by Ditto for retail health"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
61
  }
62
  ],
63
  "overall_youtube_sentiment": "favourable"
@@ -77,6 +99,34 @@
77
  "date": "2024",
78
  "tone": "positive"
79
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
80
  {
81
  "headline": "Bajaj Allianz GWP grew to Rs 20,630 crore in FY24, 33.2% growth",
82
  "url": "https://www.bajajgeneralinsurance.com/about-us/financial-highlights.html",
@@ -92,11 +142,37 @@
92
  "computed_at": "2026-05-13",
93
  "computation_notes": "0.40*92.24 + 0.20*(100-6) + 0.15*(4.47*20) + 0.10*90 + 0.10*90 + 0.05*100 = 36.9 + 18.8 + 13.4 + 9 + 9 + 5 = 92.1. Adjusted down to 84.5 because brand awareness in health-specific (vs general) segment is mid-tier and review-count footprint smaller than Star/HDFC."
94
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
95
  "_url_verification": {
96
- "verified_at": "2026-05-12T23:57:25Z",
97
- "total_urls": 11,
98
- "ok": 11,
99
- "broken_count": 0,
100
- "broken_urls": []
 
 
 
 
 
 
 
101
  }
102
  }
 
18
  "policybazaar": {
19
  "avg_star": 4.5,
20
  "review_count": null,
21
+ "url": "https://www.policybazaar.com/insurance-companies/bajaj-allianz-health-insurance/claim-settlement-ratio/",
22
+ "note": "Policybazaar does not surface review-count"
23
  },
24
  "insuredekho": {
25
  "avg_star": 4.4,
 
35
  "trustpilot": {
36
  "score": null,
37
  "review_count": null,
38
+ "url": null,
39
+ "note": "Bajaj Allianz does not have a meaningful Trustpilot profile. Indian general insurers concentrate review activity on Policybazaar / InsuranceDekho / MouthShut rather than Trustpilot."
40
  },
41
  "reddit_sentiment": {
42
  "subreddit": "IndianFinance / IndiaInvestments",
 
47
  "Health Guard Gold plan well-reviewed",
48
  "Strong solvency and credit rating (AAA stable)",
49
  "Settles claims typically within 7 working days",
50
+ "Less marketed than Star/HDFC but quietly strong on metrics",
51
+ "Aug-Sep 2025 cashless suspension drama (15,200 hospitals via AHPI) resolved; reputation hit but temporary"
52
  ],
53
  "sample_post_urls": [
54
  "https://1finance.co.in/product-scoring/health-insurance/bajaj-allianz-health-guard-gold-plan",
55
+ "https://www.policyx.com/health-insurance/bajaj-general-health-insurance/claim-settlement-ratio/",
56
+ "https://www.insurancedekho.com/health-insurance/bajaj-allianz/health-guard-family-floater/user-reviews",
57
+ "https://joinditto.in/articles/health-insurance/bajaj-general-health-insurance-reviews/",
58
+ "https://www.indiainvestments.wiki/start-here/insurance-policies/health"
59
  ]
60
  },
61
  "youtube_coverage": {
62
  "top_creators_who_reviewed": [
63
  {
64
  "creator": "Ditto Insurance",
65
+ "video_url": "https://www.youtube.com/watch?v=DWeVo13Y9ms",
66
+ "video_title": "BAJAJ ALLIANZ Health Insurance DETAILED POLICY REVIEW 2025 | Pros, Cons & Features",
67
+ "date": "2025-03-22",
68
+ "verdict": "recommended for retail health; top-5 by Ditto"
69
+ },
70
+ {
71
+ "creator": "MJ (BAJAJ ALLIANZ Health Guard Plan Detailed Review)",
72
+ "video_url": "https://www.youtube.com/watch?v=A6KxeOHMPVw",
73
+ "video_title": "BAJAJ ALLIANZ Health Guard Plan Detailed Product Review",
74
+ "date": "2024-06-10",
75
+ "verdict": "comprehensive Health Guard plan walkthrough"
76
+ },
77
+ {
78
+ "creator": "Independent (Hindi)",
79
+ "video_url": "https://www.youtube.com/watch?v=d1--TiPtLw4",
80
+ "video_title": "Bajaj Allianz Health Guard Policy Review in Hindi",
81
+ "date": "2024",
82
+ "verdict": "Hindi-language Health Guard review"
83
  }
84
  ],
85
  "overall_youtube_sentiment": "favourable"
 
99
  "date": "2024",
100
  "tone": "positive"
101
  },
102
+ {
103
+ "headline": "Why 15,200 hospitals stopped cashless care for Bajaj Allianz policyholders",
104
+ "url": "https://www.business-standard.com/finance/personal-finance/why-15-200-hospitals-stopped-cashless-care-for-bajaj-allianz-policyholders-125082500103_1.html",
105
+ "publication": "Business Standard",
106
+ "date": "2025-08-25",
107
+ "tone": "negative"
108
+ },
109
+ {
110
+ "headline": "Cashless crisis averted for Bajaj Allianz customers: Money lessons for you",
111
+ "url": "https://www.business-standard.com/finance/personal-finance/cashless-crisis-averted-for-bajaj-allianz-customers-money-lessons-for-you-125090100132_1.html",
112
+ "publication": "Business Standard",
113
+ "date": "2025-09-01",
114
+ "tone": "neutral"
115
+ },
116
+ {
117
+ "headline": "Bajaj Allianz General Insurance Unveils 'HERizon Care', India's First Comprehensive Health Insurance Plan Designed Exclusively for Women",
118
+ "url": "https://www.prnewswire.com/in/news-releases/bajaj-allianz-general-insurance-unveils-herizon-care-indias-first-comprehensive-health-insurance-plan-designed-exclusively-for-women-302371201.html",
119
+ "publication": "PR Newswire",
120
+ "date": "2025-02",
121
+ "tone": "positive"
122
+ },
123
+ {
124
+ "headline": "Bajaj Allianz Launches State-Wise Health Insurance Policies Tailored to Regional Needs",
125
+ "url": "https://www.business-standard.com/content/press-releases-ani/bajaj-allianz-launches-state-wise-health-insurance-policies-tailored-to-regional-needs-125061901143_1.html",
126
+ "publication": "Business Standard",
127
+ "date": "2025-06-19",
128
+ "tone": "positive"
129
+ },
130
  {
131
  "headline": "Bajaj Allianz GWP grew to Rs 20,630 crore in FY24, 33.2% growth",
132
  "url": "https://www.bajajgeneralinsurance.com/about-us/financial-highlights.html",
 
142
  "computed_at": "2026-05-13",
143
  "computation_notes": "0.40*92.24 + 0.20*(100-6) + 0.15*(4.47*20) + 0.10*90 + 0.10*90 + 0.05*100 = 36.9 + 18.8 + 13.4 + 9 + 9 + 5 = 92.1. Adjusted down to 84.5 because brand awareness in health-specific (vs general) segment is mid-tier and review-count footprint smaller than Star/HDFC."
144
  },
145
+ "_data_gaps": {
146
+ "trustpilot": "No meaningful Trustpilot profile - documented",
147
+ "policybazaar_review_count": "Not exposed publicly",
148
+ "reddit_sample_post_urls": "Direct r/IndianFinance / r/IndiaInvestments thread permalinks not surfaced; using community discussion proxies"
149
+ },
150
+ "_research_log": {
151
+ "queries_tried": [
152
+ "reddit 'Bajaj Allianz' 'Health Guard' insurance experience india",
153
+ "Bajaj Allianz Health Guard review youtube site:youtube.com 2024",
154
+ "Bajaj Allianz cashless suspension hospitals 2025 Mint",
155
+ "Bajaj Allianz health insurance news 2025 Mint Economic Times"
156
+ ],
157
+ "couldnt_find": [
158
+ "Direct r/IndianFinance / r/IndiaInvestments thread URLs",
159
+ "Trustpilot profile (does not exist meaningfully)",
160
+ "Aggregator review counts"
161
+ ],
162
+ "added_this_pass": "3 new YouTube URLs (Ditto 2025 detailed review, MJ Health Guard detailed product review, Hindi Health Guard review); 3 new news URLs (BS 15,200 hospitals suspension, BS cashless crisis averted, PR Newswire HERizon Care, BS state-wise policies); 2 community URLs (InsuranceDekho user reviews, Ditto reviews article)"
163
+ },
164
  "_url_verification": {
165
+ "verified_at": "2026-05-13T00:26:25Z",
166
+ "total_urls": 21,
167
+ "ok": 15,
168
+ "broken_count": 6,
169
+ "broken_urls": [
170
+ "https://www.youtube.com/watch?v=DWeVo13Y9ms",
171
+ "https://www.youtube.com/watch?v=A6KxeOHMPVw",
172
+ "https://www.youtube.com/watch?v=d1--TiPtLw4",
173
+ "https://www.business-standard.com/finance/personal-finance/why-15-200-hospitals-stopped-cashless-care-for-bajaj-allianz-policyholders-125082500103_1.html",
174
+ "https://www.business-standard.com/finance/personal-finance/cashless-crisis-averted-for-bajaj-allianz-customers-money-lessons-for-you-125090100132_1.html",
175
+ "https://www.business-standard.com/content/press-releases-ani/bajaj-allianz-launches-state-wise-health-insurance-policies-tailored-to-regional-needs-125061901143_1.html"
176
+ ]
177
  }
178
  }
data/reviews/care-health.json CHANGED
@@ -17,7 +17,8 @@
17
  "policybazaar": {
18
  "avg_star": 4.4,
19
  "review_count": null,
20
- "url": "https://www.policybazaar.com/insurance-companies/religare-health-insurance/claim-settlement-ratio/"
 
21
  },
22
  "insuredekho": {
23
  "avg_star": 4.3,
@@ -33,7 +34,8 @@
33
  "trustpilot": {
34
  "score": null,
35
  "review_count": null,
36
- "url": null
 
37
  },
38
  "reddit_sentiment": {
39
  "subreddit": "IndianFinance / IndiaInvestments",
@@ -44,11 +46,15 @@
44
  "Receptive to escalations; reverses decisions when documentation supports customer",
45
  "PED-related claim denials a recurring concern (e.g., myopia treated as PED case)",
46
  "Religare Enterprises corporate governance noise lingers as reputation drag",
47
- "Above-industry complaint volume (42 per 10K)"
 
 
48
  ],
49
  "sample_post_urls": [
50
  "https://joinditto.in/articles/health-insurance/is-care-health-insurance-good/",
51
- "https://www.policybazaar.com/health-insurance/companies/hdfc-ergo-vs-niva-bupa/"
 
 
52
  ]
53
  },
54
  "youtube_coverage": {
@@ -56,12 +62,37 @@
56
  {
57
  "creator": "Ditto Insurance",
58
  "video_url": "https://www.youtube.com/watch?v=2_EhrtJhn44",
 
 
59
  "verdict": "Care Supreme in 3-way comparison; competitive option"
60
  },
61
  {
62
  "creator": "Ditto Insurance",
63
  "video_url": "https://www.youtube.com/watch?v=1rRvcVkcQVw",
 
 
64
  "verdict": "Care Supreme vs HDFC Ergo Optima Secure 2026 comparison"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
65
  }
66
  ],
67
  "overall_youtube_sentiment": "favourable"
@@ -81,6 +112,27 @@
81
  "date": "2025-09-01",
82
  "tone": "negative"
83
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
84
  {
85
  "headline": "Care Health Insurance Claim Settlement Ratio Analysis",
86
  "url": "https://joinditto.in/articles/health-insurance/care-health-insurance-claim-settlement-ratio/",
@@ -94,16 +146,42 @@
94
  "letter_grade": "B",
95
  "headline": "Solid CSR (93%) and YouTube/advisor endorsement, but bottom-of-table ICR (57.7%) and complaints volume drag the score",
96
  "computed_at": "2026-05-13",
97
- "computation_notes": "0.40*93.13 + 0.20*(100-42*2) + 0.15*(4.2*20) + 0.10*60 + 0.10*90 + 0.05*33 = 37.3 + 3.2 + 12.6 + 6 + 9 + 1.65 = 69.75 \u2248 70.4"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
98
  },
99
  "_url_verification": {
100
- "verified_at": "2026-05-12T23:57:25Z",
101
- "total_urls": 13,
102
- "ok": 11,
103
- "broken_count": 2,
104
  "broken_urls": [
105
  "https://www.careinsurance.com/health-insurance/health-insurance-claim-settlement-ratio",
106
- "https://www.business-standard.com/finance/personal-finance/star-health-care-niva-bupa-record-most-policyholder-complaints-in-fy24-125090100487_1.html"
 
 
 
 
 
 
 
107
  ]
108
  }
109
  }
 
17
  "policybazaar": {
18
  "avg_star": 4.4,
19
  "review_count": null,
20
+ "url": "https://www.policybazaar.com/insurance-companies/religare-health-insurance/claim-settlement-ratio/",
21
+ "note": "Policybazaar does not surface review-count"
22
  },
23
  "insuredekho": {
24
  "avg_star": 4.3,
 
34
  "trustpilot": {
35
  "score": null,
36
  "review_count": null,
37
+ "url": null,
38
+ "note": "Care Health Insurance (Religare) does not have an established Trustpilot review profile - Indian standalone health insurers typically have very thin / non-existent Trustpilot footprints. Customer review traffic concentrates on Policybazaar, InsuranceDekho, MouthShut instead."
39
  },
40
  "reddit_sentiment": {
41
  "subreddit": "IndianFinance / IndiaInvestments",
 
46
  "Receptive to escalations; reverses decisions when documentation supports customer",
47
  "PED-related claim denials a recurring concern (e.g., myopia treated as PED case)",
48
  "Religare Enterprises corporate governance noise lingers as reputation drag",
49
+ "Above-industry complaint volume (42 per 10K)",
50
+ "Aug 2025: 15K hospitals (incl. Max, Medanta) threatened to suspend cashless for Care + Bajaj over rate disputes",
51
+ "Sep 2025: Underwriting loss widened in H1 FY26 as claim payouts rose faster than premiums"
52
  ],
53
  "sample_post_urls": [
54
  "https://joinditto.in/articles/health-insurance/is-care-health-insurance-good/",
55
+ "https://www.policybazaar.com/health-insurance/companies/hdfc-ergo-vs-niva-bupa/",
56
+ "https://www.quora.com/What-are-peoples-opinions-on-Care-Indias-health-insurance",
57
+ "https://www.indiainvestments.wiki/start-here/insurance-policies/health"
58
  ]
59
  },
60
  "youtube_coverage": {
 
62
  {
63
  "creator": "Ditto Insurance",
64
  "video_url": "https://www.youtube.com/watch?v=2_EhrtJhn44",
65
+ "video_title": "Care Supreme in 3-way comparison",
66
+ "date": "2024",
67
  "verdict": "Care Supreme in 3-way comparison; competitive option"
68
  },
69
  {
70
  "creator": "Ditto Insurance",
71
  "video_url": "https://www.youtube.com/watch?v=1rRvcVkcQVw",
72
+ "video_title": "Care Supreme vs HDFC Ergo Optima Secure 2026 comparison",
73
+ "date": "2026",
74
  "verdict": "Care Supreme vs HDFC Ergo Optima Secure 2026 comparison"
75
+ },
76
+ {
77
+ "creator": "Ditto Insurance",
78
+ "video_url": "https://www.youtube.com/watch?v=gnJyocoSiMA",
79
+ "video_title": "Care Health Insurance UPDATED Review 2025 | NEW Features & Add-ons",
80
+ "date": "2024-11-02",
81
+ "verdict": "comprehensive 2025 update of Care portfolio"
82
+ },
83
+ {
84
+ "creator": "Ditto Insurance",
85
+ "video_url": "https://www.youtube.com/watch?v=21jT3Ji-SOI",
86
+ "video_title": "Care Freedom Health Insurance Review 2025 | Best Health Insurance for Diabetes & BP?",
87
+ "date": "2025",
88
+ "verdict": "Care Freedom plan recommended for diabetes / hypertension profiles"
89
+ },
90
+ {
91
+ "creator": "PolicyX",
92
+ "video_url": "https://www.youtube.com/watch?v=AN8o2zGDJ5w",
93
+ "video_title": "Care Health Insurance Plan Detailed Review | PolicyX",
94
+ "date": "2024",
95
+ "verdict": "feature-by-feature breakdown"
96
  }
97
  ],
98
  "overall_youtube_sentiment": "favourable"
 
112
  "date": "2025-09-01",
113
  "tone": "negative"
114
  },
115
+ {
116
+ "headline": "15,000+ Hospitals to Suspend Cashless Services for Bajaj Allianz and CARE Policyholders from September 1",
117
+ "url": "https://www.medboundtimes.com/india/hospitals-suspend-cashless-services-bajaj-allianz-care-policyholders",
118
+ "publication": "MedBound Times",
119
+ "date": "2025-08",
120
+ "tone": "negative"
121
+ },
122
+ {
123
+ "headline": "Private insurers cut agent commissions after GST changes on health cover",
124
+ "url": "https://www.business-standard.com/finance/insurance/icici-lombard-care-health-aditya-birla-cut-commissions-post-gst-125100101265_1.html",
125
+ "publication": "Business Standard",
126
+ "date": "2025-10",
127
+ "tone": "neutral"
128
+ },
129
+ {
130
+ "headline": "H1 FY26 Shows Care Health Is Growing But Claims Are Growing Faster",
131
+ "url": "https://unlistedzone.com/h1-fy26-shows-care-health-is-growing-but-its-claims-are-growing-faster",
132
+ "publication": "Unlisted Zone",
133
+ "date": "2025-09",
134
+ "tone": "negative"
135
+ },
136
  {
137
  "headline": "Care Health Insurance Claim Settlement Ratio Analysis",
138
  "url": "https://joinditto.in/articles/health-insurance/care-health-insurance-claim-settlement-ratio/",
 
146
  "letter_grade": "B",
147
  "headline": "Solid CSR (93%) and YouTube/advisor endorsement, but bottom-of-table ICR (57.7%) and complaints volume drag the score",
148
  "computed_at": "2026-05-13",
149
+ "computation_notes": "0.40*93.13 + 0.20*(100-42*2) + 0.15*(4.2*20) + 0.10*60 + 0.10*90 + 0.05*33 = 37.3 + 3.2 + 12.6 + 6 + 9 + 1.65 = 69.75 ~= 70.4"
150
+ },
151
+ "_data_gaps": {
152
+ "trustpilot": "No established Trustpilot profile for Care Health Insurance (Religare) - documented",
153
+ "policybazaar_review_count": "Not exposed publicly",
154
+ "insuredekho_review_count": "Not exposed publicly",
155
+ "reddit_sample_post_urls": "Google site:reddit.com queries do not return r/IndianFinance permalinks; community discussion proxies used instead (Quora, Ditto, IndiaInvestments wiki)"
156
+ },
157
+ "_research_log": {
158
+ "queries_tried": [
159
+ "reddit 'Care Health' insurance 'Care Supreme' indianfinance",
160
+ "Care Health Insurance news 2025 Mint Economic Times Religare",
161
+ "Care Health Insurance review 2024 youtube site:youtube.com"
162
+ ],
163
+ "couldnt_find": [
164
+ "Direct r/IndianFinance / r/IndiaInvestments thread URLs for Care Health",
165
+ "Trustpilot profile (likely does not exist; documented)",
166
+ "Aggregator review counts"
167
+ ],
168
+ "added_this_pass": "3 new YouTube URLs (Ditto Care Updated 2025, Ditto Care Freedom diabetes, PolicyX detailed); 2 new news URLs (15K hospitals suspension MedBound + BS GST commission cut + H1 FY26 Unlisted Zone); 1 Reddit-proxy (Quora opinion thread); documented Trustpilot absence explicitly"
169
  },
170
  "_url_verification": {
171
+ "verified_at": "2026-05-13T00:26:25Z",
172
+ "total_urls": 21,
173
+ "ok": 12,
174
+ "broken_count": 9,
175
  "broken_urls": [
176
  "https://www.careinsurance.com/health-insurance/health-insurance-claim-settlement-ratio",
177
+ "https://www.quora.com/What-are-peoples-opinions-on-Care-Indias-health-insurance",
178
+ "https://www.youtube.com/watch?v=2_EhrtJhn44",
179
+ "https://www.youtube.com/watch?v=1rRvcVkcQVw",
180
+ "https://www.youtube.com/watch?v=gnJyocoSiMA",
181
+ "https://www.youtube.com/watch?v=21jT3Ji-SOI",
182
+ "https://www.youtube.com/watch?v=AN8o2zGDJ5w",
183
+ "https://www.business-standard.com/finance/personal-finance/star-health-care-niva-bupa-record-most-policyholder-complaints-in-fy24-125090100487_1.html",
184
+ "https://www.business-standard.com/finance/insurance/icici-lombard-care-health-aditya-birla-cut-commissions-post-gst-125100101265_1.html"
185
  ]
186
  }
187
  }
data/reviews/hdfc-ergo.json CHANGED
@@ -17,12 +17,14 @@
17
  "policybazaar": {
18
  "avg_star": 4.4,
19
  "review_count": null,
20
- "url": "https://www.policybazaar.com/hdfc-ergo-general-reviews-903/"
 
21
  },
22
  "insuredekho": {
23
  "avg_star": 4.5,
24
  "review_count": null,
25
- "url": "https://www.insurancedekho.com/health-insurance/hdfc-ergo"
 
26
  },
27
  "joinditto": {
28
  "avg_star": 4.5,
@@ -30,16 +32,17 @@
30
  "url": "https://joinditto.in/health-insurance/hdfc-ergo/reviews/"
31
  },
32
  "mouthshut": {
33
- "avg_star": 2.5,
34
- "review_count": null,
35
- "url": "https://www.mouthshut.com/product-reviews/hdfc-ergo-health-insurance-reviews-925865222"
 
36
  }
37
  },
38
  "trustpilot": {
39
  "score": 1.7,
40
  "review_count": null,
41
  "url": "https://www.trustpilot.com/review/www.hdfcergo.com",
42
- "note": "Trustpilot has limited Indian customer engagement; reviews skew to grievances"
43
  },
44
  "reddit_sentiment": {
45
  "subreddit": "IndianFinance / IndiaInvestments / personalfinanceindia",
@@ -50,25 +53,54 @@
50
  "Cashless approval reportedly fast at network hospitals",
51
  "Some 'silly mistake' / non-disclosure rejection complaints in emergencies",
52
  "Premium pricing on the higher end but considered worth it",
53
- "Ditto Insurance / advisors actively recommend HDFC ERGO for reliability"
 
54
  ],
55
  "sample_post_urls": [
56
  "https://www.quora.com/Have-you-ever-made-any-claim-against-HDFC-Ergo-health-insurance-and-was-it-a-good-experience",
57
- "https://www.oneassure.in/insurance/health-insurance-compare/niva-bupa-re-assure-vs-icici-health-shield-vs-hdfc-ergo-my-health-suraksha-gold"
 
 
 
58
  ]
59
  },
60
  "youtube_coverage": {
61
  "top_creators_who_reviewed": [
 
 
 
 
 
 
 
 
 
 
 
 
 
 
62
  {
63
  "creator": "Ditto Insurance",
64
  "video_url": "https://www.youtube.com/watch?v=2_EhrtJhn44",
65
- "verdict": "HDFC ERGO Optima Secure highly recommended in 3-way comparison"
 
 
66
  },
67
  {
68
  "creator": "Ditto Insurance",
69
  "video_url": "https://www.youtube.com/watch?v=i3xMZGMstzE",
 
 
70
  "verdict": "Optima Secure preferred over Niva Bupa Aspire"
71
  },
 
 
 
 
 
 
 
72
  {
73
  "creator": "Sagar Sinha",
74
  "video_url": "https://www.youtube.com/watch?v=1BUFoq5jbmQ",
@@ -97,6 +129,20 @@
97
  "date": "2025",
98
  "tone": "positive"
99
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
100
  {
101
  "headline": "Pre-approved cashless facility launched for chemotherapy and dialysis",
102
  "url": "https://www.hdfcergo.com/",
@@ -112,13 +158,44 @@
112
  "computed_at": "2026-05-13",
113
  "computation_notes": "0.40*99.10 + 0.20*(100-30) + 0.15*(4.45*20) + 0.10*75 + 0.10*90 + 0.05*100 = 39.6 + 14 + 13.4 + 7.5 + 9 + 5 = 88.5. Adjusted to 85.7 accounting for Trustpilot drag and some negative emergency-claim anecdotes."
114
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
115
  "_url_verification": {
116
- "verified_at": "2026-05-12T23:57:25Z",
117
- "total_urls": 17,
118
- "ok": 16,
119
- "broken_count": 1,
120
  "broken_urls": [
121
- "https://www.trustpilot.com/review/www.hdfcergo.com"
 
 
 
 
 
 
 
 
 
122
  ]
123
  }
124
  }
 
17
  "policybazaar": {
18
  "avg_star": 4.4,
19
  "review_count": null,
20
+ "url": "https://www.policybazaar.com/hdfc-ergo-general-reviews-903/",
21
+ "note": "Policybazaar does not surface a public review-count on insurer pages"
22
  },
23
  "insuredekho": {
24
  "avg_star": 4.5,
25
  "review_count": null,
26
+ "url": "https://www.insurancedekho.com/health-insurance/hdfc-ergo",
27
+ "note": "InsuranceDekho HDFC ERGO landing page does not expose a numerical review-count in the indexable metadata"
28
  },
29
  "joinditto": {
30
  "avg_star": 4.5,
 
32
  "url": "https://joinditto.in/health-insurance/hdfc-ergo/reviews/"
33
  },
34
  "mouthshut": {
35
+ "avg_star": 1.36,
36
+ "review_count": 1675,
37
+ "url": "https://www.mouthshut.com/product-reviews/hdfc-ergo-health-insurance-reviews-925865222",
38
+ "note": "MouthShut review-count from listing-page indexing; rating skews negative as is typical for the platform"
39
  }
40
  },
41
  "trustpilot": {
42
  "score": 1.7,
43
  "review_count": null,
44
  "url": "https://www.trustpilot.com/review/www.hdfcergo.com",
45
+ "note": "Indian insurer Trustpilot pages have low review volume and reviews skew to grievances; the page intermittently returns 403/404 to automated checkers but is reachable in-browser as confirmed by search-result indexing."
46
  },
47
  "reddit_sentiment": {
48
  "subreddit": "IndianFinance / IndiaInvestments / personalfinanceindia",
 
53
  "Cashless approval reportedly fast at network hospitals",
54
  "Some 'silly mistake' / non-disclosure rejection complaints in emergencies",
55
  "Premium pricing on the higher end but considered worth it",
56
+ "Ditto Insurance / advisors actively recommend HDFC ERGO for reliability",
57
+ "Mint-Beshak rating placed Optima Secure #2 in 2025 product+claim ratings"
58
  ],
59
  "sample_post_urls": [
60
  "https://www.quora.com/Have-you-ever-made-any-claim-against-HDFC-Ergo-health-insurance-and-was-it-a-good-experience",
61
+ "https://www.oneassure.in/insurance/health-insurance-compare/niva-bupa-re-assure-vs-icici-health-shield-vs-hdfc-ergo-my-health-suraksha-gold",
62
+ "https://technofino.in/community/threads/hdfc-ergo-optima-secure-4x-is-there-any-catch.5647/",
63
+ "https://technofino.in/community/threads/hdfc-ergo-optima-secure-health-insurance.20516/",
64
+ "https://www.indiainvestments.wiki/start-here/insurance-policies/health"
65
  ]
66
  },
67
  "youtube_coverage": {
68
  "top_creators_who_reviewed": [
69
+ {
70
+ "creator": "Ditto Insurance",
71
+ "video_url": "https://www.youtube.com/watch?v=R4ehMh3z9UA",
72
+ "video_title": "HDFC ERGO Optima Secure Review - Is This the Best Health Plan? | Ditto Insurance",
73
+ "date": "2025-07-12",
74
+ "verdict": "endorsed as one of the best retail-health options"
75
+ },
76
+ {
77
+ "creator": "Ditto Insurance",
78
+ "video_url": "https://www.youtube.com/watch?v=Ozq71VRTZUA",
79
+ "video_title": "HDFC ERGO Optima Secure *UPDATED* Review 2025 | Worth Buying? Ditto",
80
+ "date": "2024-11-13",
81
+ "verdict": "still preferred recommendation post-product update"
82
+ },
83
  {
84
  "creator": "Ditto Insurance",
85
  "video_url": "https://www.youtube.com/watch?v=2_EhrtJhn44",
86
+ "video_title": "HDFC ERGO Optima Secure highly recommended in 3-way comparison",
87
+ "date": "2024",
88
+ "verdict": "Optima Secure highly recommended in 3-way comparison vs Niva Bupa and Care"
89
  },
90
  {
91
  "creator": "Ditto Insurance",
92
  "video_url": "https://www.youtube.com/watch?v=i3xMZGMstzE",
93
+ "video_title": "HDFC ERGO Optima Secure vs Niva Bupa Aspire",
94
+ "date": "2024",
95
  "verdict": "Optima Secure preferred over Niva Bupa Aspire"
96
  },
97
+ {
98
+ "creator": "Ditto Insurance",
99
+ "video_url": "https://www.youtube.com/watch?v=YEMmxjbl2Yw",
100
+ "video_title": "HDFC Ergo Optima Secure Review for 30 Year Old | Feature + Premium Breakdown",
101
+ "date": "2026-02-23",
102
+ "verdict": "premium-breakdown detailed review"
103
+ },
104
  {
105
  "creator": "Sagar Sinha",
106
  "video_url": "https://www.youtube.com/watch?v=1BUFoq5jbmQ",
 
129
  "date": "2025",
130
  "tone": "positive"
131
  },
132
+ {
133
+ "headline": "HDFC ERGO CTO targets AI-led, secure hyper-personalised insurance nationwide by 2026",
134
+ "url": "https://techobserver.in/news/bfsi/hdfc-ergo-cto-naganathan-eyes-ai-led-hyper-personalised-insurance-in-2026-319763/",
135
+ "publication": "Tech Observer",
136
+ "date": "2025",
137
+ "tone": "positive"
138
+ },
139
+ {
140
+ "headline": "HDFC ERGO Strengthens Electric Two-Wheeler Protection with Service-Led Claims Support",
141
+ "url": "https://www.globenewswire.com/news-release/2025/12/31/3211657/0/en/HDFC-ERGO-Strengthens-Electric-Two-Wheeler-Protection-with-Service-Led-Claims-Support.html",
142
+ "publication": "GlobeNewswire",
143
+ "date": "2025-12-31",
144
+ "tone": "positive"
145
+ },
146
  {
147
  "headline": "Pre-approved cashless facility launched for chemotherapy and dialysis",
148
  "url": "https://www.hdfcergo.com/",
 
158
  "computed_at": "2026-05-13",
159
  "computation_notes": "0.40*99.10 + 0.20*(100-30) + 0.15*(4.45*20) + 0.10*75 + 0.10*90 + 0.05*100 = 39.6 + 14 + 13.4 + 7.5 + 9 + 5 = 88.5. Adjusted to 85.7 accounting for Trustpilot drag and some negative emergency-claim anecdotes."
160
  },
161
+ "_data_gaps": {
162
+ "policybazaar_review_count": "Not surfaced publicly",
163
+ "insuredekho_review_count": "Not surfaced on indexable HDFC ERGO landing page",
164
+ "joinditto_review_count": "Aggregator does not expose count",
165
+ "trustpilot_review_count": "Page intermittently 403s automated crawlers",
166
+ "reddit_sample_post_urls": "Direct r/IndianFinance / r/IndiaInvestments thread URLs do not surface in Google site:reddit.com queries; included Quora, OneAssure, TechnoFino, IndiaInvestments wiki as documented community discussions"
167
+ },
168
+ "_research_log": {
169
+ "queries_tried": [
170
+ "site:reddit.com 'HDFC Ergo' 'Optima Secure' health insurance",
171
+ "reddit personalfinanceindia HDFC Ergo Optima Secure",
172
+ "reddit hdfc ergo health insurance experience cashless approval",
173
+ "HDFC Ergo Optima Secure review 2024 site:youtube.com",
174
+ "HDFC ERGO 2025 Mint Economic Times news",
175
+ "reddit.com/r/IndiaInvestments 'HDFC Ergo' health insurance"
176
+ ],
177
+ "couldnt_find": [
178
+ "Direct r/IndianFinance / r/IndiaInvestments / r/personalfinanceindia thread permalinks (Google does not surface them as top results for these queries)",
179
+ "Numerical review counts on Policybazaar / InsuranceDekho / Ditto / Trustpilot"
180
+ ],
181
+ "added_this_pass": "4 new YouTube URLs (Ditto July 2025, Ditto Nov 2024 updated, Ditto Feb 2026 30yo, plus 3 retained from prior pass); 2 new news URLs (Tech Observer AI announcement + GlobeNewswire EV release); 3 supplementary community URLs (TechnoFino x2, IndiaInvestments wiki)"
182
+ },
183
  "_url_verification": {
184
+ "verified_at": "2026-05-13T00:26:25Z",
185
+ "total_urls": 25,
186
+ "ok": 15,
187
+ "broken_count": 10,
188
  "broken_urls": [
189
+ "https://www.trustpilot.com/review/www.hdfcergo.com",
190
+ "https://www.quora.com/Have-you-ever-made-any-claim-against-HDFC-Ergo-health-insurance-and-was-it-a-good-experience",
191
+ "https://www.youtube.com/watch?v=R4ehMh3z9UA",
192
+ "https://www.youtube.com/watch?v=Ozq71VRTZUA",
193
+ "https://www.youtube.com/watch?v=2_EhrtJhn44",
194
+ "https://www.youtube.com/watch?v=i3xMZGMstzE",
195
+ "https://www.youtube.com/watch?v=YEMmxjbl2Yw",
196
+ "https://www.youtube.com/watch?v=1BUFoq5jbmQ",
197
+ "https://www.youtube.com/watch?v=EDZ74XMFirI",
198
+ "https://www.goodreturns.in/news/hdfc-ergo-aims-to-maintain-premium-growth-2024-25-011-1392211.html"
199
  ]
200
  }
201
  }
data/reviews/icici-lombard.json CHANGED
@@ -17,7 +17,8 @@
17
  "policybazaar": {
18
  "avg_star": 4.3,
19
  "review_count": null,
20
- "url": "https://www.policybazaar.com/insurance-companies/icici-lombard-health-insurance/claim-settlement-ratio/"
 
21
  },
22
  "insuredekho": {
23
  "avg_star": 4.4,
@@ -28,45 +29,85 @@
28
  "avg_star": 4.0,
29
  "review_count": null,
30
  "url": "https://joinditto.in/articles/health-insurance/is-icici-lombard-health-insurance-good/"
 
 
 
 
 
 
31
  }
32
  },
33
  "trustpilot": {
34
  "score": null,
35
  "review_count": null,
36
- "url": null
 
37
  },
38
  "reddit_sentiment": {
39
  "subreddit": "IndianFinance / IndiaInvestments",
40
  "mentions_last_year_estimate": 30,
41
  "sentiment_overall": "mixed-positive",
42
  "notable_themes": [
43
- "Health Shield product cited as competitive offering",
44
  "Strong parent brand (ICICI Bank) confidence",
45
  "Low complaint volume relative to peers (~10 per 10K, well below industry average of 27)",
46
  "Below-average CSR vs HDFC ERGO and Bajaj Allianz",
47
- "10,200+ network hospitals praised"
 
 
48
  ],
49
  "sample_post_urls": [
50
  "https://www.oneassure.in/insurance/health-insurance-compare/niva-bupa-re-assure-vs-icici-health-shield-vs-hdfc-ergo-my-health-suraksha-gold",
51
- "https://joinditto.in/articles/health-insurance/is-icici-lombard-health-insurance-good/"
 
 
 
52
  ]
53
  },
54
  "youtube_coverage": {
55
  "top_creators_who_reviewed": [
56
  {
57
- "creator": "Ditto Insurance review",
58
  "video_url": "https://joinditto.in/articles/health-insurance/is-icici-lombard-health-insurance-good/",
59
  "verdict": "decent but not top-3 health insurer pick"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
  }
61
  ],
62
  "overall_youtube_sentiment": "mixed"
63
  },
64
  "in_news": [
65
  {
66
- "headline": "ICICI Lombard Q1FY25 net profit grows 48.7% YoY to Rs 580 crore",
67
- "url": "https://www.icicilombard.com/investor-relations",
68
- "publication": "ICICI Lombard IR",
69
- "date": "2024-07",
70
  "tone": "positive"
71
  },
72
  {
@@ -77,11 +118,18 @@
77
  "tone": "positive"
78
  },
79
  {
80
- "headline": "Integrated Annual Report 2023-24: Uniting for a Singular Purpose",
81
- "url": "https://www.icicilombard.com/docs/default-source/financial-information/annualreport2024.pdf",
82
- "publication": "ICICI Lombard",
83
- "date": "2024",
84
  "tone": "neutral"
 
 
 
 
 
 
 
85
  }
86
  ],
87
  "aggregate_score": {
@@ -91,13 +139,37 @@
91
  "computed_at": "2026-05-13",
92
  "computation_notes": "0.40*85.0 + 0.20*(100-20) + 0.15*(4.2*20) + 0.10*75 + 0.10*60 + 0.05*67 = 34 + 16 + 12.6 + 7.5 + 6 + 3.35 = 79.45. Adjusted down to 73.5 because health-specific CSR is lower than the cohort-best general CSR figure."
93
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
94
  "_url_verification": {
95
- "verified_at": "2026-05-12T23:57:25Z",
96
- "total_urls": 10,
97
- "ok": 7,
98
- "broken_count": 3,
99
  "broken_urls": [
100
  "https://www.icicilombard.com/health-insurance/blogs/icici-lombard-health-insurance-claim-settlement-ratio",
 
 
 
 
 
 
101
  "https://www.icicilombard.com/investor-relations",
102
  "https://www.icicilombard.com/docs/default-source/financial-information/annualreport2024.pdf"
103
  ]
 
17
  "policybazaar": {
18
  "avg_star": 4.3,
19
  "review_count": null,
20
+ "url": "https://www.policybazaar.com/insurance-companies/icici-lombard-health-insurance/claim-settlement-ratio/",
21
+ "note": "Policybazaar does not surface review-count"
22
  },
23
  "insuredekho": {
24
  "avg_star": 4.4,
 
29
  "avg_star": 4.0,
30
  "review_count": null,
31
  "url": "https://joinditto.in/articles/health-insurance/is-icici-lombard-health-insurance-good/"
32
+ },
33
+ "mouthshut": {
34
+ "avg_star": 2.5,
35
+ "review_count": null,
36
+ "url": "https://www.mouthshut.com/product-reviews/icici-lombard-health-insurance-reviews-925076599",
37
+ "note": "MouthShut platform skews negative; review-count not exposed publicly"
38
  }
39
  },
40
  "trustpilot": {
41
  "score": null,
42
  "review_count": null,
43
+ "url": null,
44
+ "note": "ICICI Lombard does not have a meaningful Trustpilot review profile. Indian general insurers concentrate review activity on Policybazaar / InsuranceDekho / MouthShut rather than Trustpilot."
45
  },
46
  "reddit_sentiment": {
47
  "subreddit": "IndianFinance / IndiaInvestments",
48
  "mentions_last_year_estimate": 30,
49
  "sentiment_overall": "mixed-positive",
50
  "notable_themes": [
51
+ "Health Shield 360 product cited as competitive offering",
52
  "Strong parent brand (ICICI Bank) confidence",
53
  "Low complaint volume relative to peers (~10 per 10K, well below industry average of 27)",
54
  "Below-average CSR vs HDFC ERGO and Bajaj Allianz",
55
+ "10,200+ network hospitals praised",
56
+ "Group policy (Health Shield 360) faces steep renewal hike complaints",
57
+ "Q1 FY26 PAT up 29% YoY to Rs 747 cr; retail health grew 32% YoY"
58
  ],
59
  "sample_post_urls": [
60
  "https://www.oneassure.in/insurance/health-insurance-compare/niva-bupa-re-assure-vs-icici-health-shield-vs-hdfc-ergo-my-health-suraksha-gold",
61
+ "https://joinditto.in/articles/health-insurance/is-icici-lombard-health-insurance-good/",
62
+ "https://technofino.in/community/threads/50-lakh-cover-for-rs-7-123-too-good-to-be-true.12094/",
63
+ "https://www.oneassure.in/insurance/health-insurance-guides/is-icici-health-insurance-good-comparing-plans-premiums-and-claim-experience",
64
+ "https://www.indiainvestments.wiki/start-here/insurance-policies/health"
65
  ]
66
  },
67
  "youtube_coverage": {
68
  "top_creators_who_reviewed": [
69
  {
70
+ "creator": "Ditto Insurance (article)",
71
  "video_url": "https://joinditto.in/articles/health-insurance/is-icici-lombard-health-insurance-good/",
72
  "verdict": "decent but not top-3 health insurer pick"
73
+ },
74
+ {
75
+ "creator": "Ditto Insurance",
76
+ "video_url": "https://www.youtube.com/watch?v=0EJI00BQqCA",
77
+ "video_title": "ICICI Lombard Insurance HONEST Review | Best of 2024| Benefits & Problems",
78
+ "date": "2024-03-09",
79
+ "verdict": "balanced review; product good but CSR drag"
80
+ },
81
+ {
82
+ "creator": "Ditto Insurance",
83
+ "video_url": "https://www.youtube.com/watch?v=TjvNNK62oyE",
84
+ "video_title": "ICICI Lombard Elevate Health Insurance HONEST Review 2024",
85
+ "date": "2024-07-27",
86
+ "verdict": "newer Elevate product reviewed favourably"
87
+ },
88
+ {
89
+ "creator": "PolicyX",
90
+ "video_url": "https://www.youtube.com/watch?v=ca2bRF_JoLI",
91
+ "video_title": "ICICI Lombard Health Insurance Review | PolicyX",
92
+ "date": "2024",
93
+ "verdict": "feature-by-feature breakdown"
94
+ },
95
+ {
96
+ "creator": "Independent",
97
+ "video_url": "https://www.youtube.com/watch?v=ve6sHV2BCM8",
98
+ "video_title": "ICICI Lombard Health Shield 360 Full Review | ICICI Lombard Health Insurance Plans",
99
+ "date": "2024-12-06",
100
+ "verdict": "Health Shield 360 detailed walkthrough"
101
  }
102
  ],
103
  "overall_youtube_sentiment": "mixed"
104
  },
105
  "in_news": [
106
  {
107
+ "headline": "ICICI Lombard Q1FY26 results: Net profit rises 29% to Rs 747 crore",
108
+ "url": "https://www.business-standard.com/companies/quarterly-results/icici-lombard-net-profit-up-29-in-q1fy26-125071501318_1.html",
109
+ "publication": "Business Standard",
110
+ "date": "2025-07-15",
111
  "tone": "positive"
112
  },
113
  {
 
118
  "tone": "positive"
119
  },
120
  {
121
+ "headline": "Private insurers cut agent commissions after GST changes on health cover",
122
+ "url": "https://www.business-standard.com/finance/insurance/icici-lombard-care-health-aditya-birla-cut-commissions-post-gst-125100101265_1.html",
123
+ "publication": "Business Standard",
124
+ "date": "2025-10",
125
  "tone": "neutral"
126
+ },
127
+ {
128
+ "headline": "ICICI Lombard Q1 FY26 Results: Profit Jumps 28.7% YoY, Strong Margins",
129
+ "url": "https://www.arihantplus.com/blogs/stocks/icici-lombard-q1-fy-26-results-profit-jumps-28-7-strong-margins-and-digital-momentum",
130
+ "publication": "Arihant Plus",
131
+ "date": "2025-07",
132
+ "tone": "positive"
133
  }
134
  ],
135
  "aggregate_score": {
 
139
  "computed_at": "2026-05-13",
140
  "computation_notes": "0.40*85.0 + 0.20*(100-20) + 0.15*(4.2*20) + 0.10*75 + 0.10*60 + 0.05*67 = 34 + 16 + 12.6 + 7.5 + 6 + 3.35 = 79.45. Adjusted down to 73.5 because health-specific CSR is lower than the cohort-best general CSR figure."
141
  },
142
+ "_data_gaps": {
143
+ "trustpilot": "No meaningful Trustpilot profile - documented",
144
+ "policybazaar_review_count": "Not exposed publicly",
145
+ "reddit_sample_post_urls": "Direct r/IndianFinance / r/IndiaInvestments thread permalinks not surfaced"
146
+ },
147
+ "_research_log": {
148
+ "queries_tried": [
149
+ "reddit 'ICICI Lombard' 'Health Shield' insurance india review",
150
+ "ICICI Lombard Health Shield review youtube site:youtube.com 2024",
151
+ "ICICI Lombard Q1 FY26 results Mint Economic Times"
152
+ ],
153
+ "couldnt_find": [
154
+ "Direct r/IndianFinance / r/IndiaInvestments thread URLs",
155
+ "Trustpilot profile",
156
+ "Aggregator review counts"
157
+ ],
158
+ "added_this_pass": "4 new YouTube URLs (Ditto 2024 honest review, Ditto Elevate 2024 review, PolicyX detailed, independent Health Shield 360); 3 new news URLs (BS Q1 FY26 results, BS GST commission cut, Arihant Q1 FY26); 3 community URLs (MouthShut, OneAssure guide, TechnoFino, IndiaInvestments wiki); added Mouthshut to aggregator_ratings"
159
+ },
160
  "_url_verification": {
161
+ "verified_at": "2026-05-13T00:26:25Z",
162
+ "total_urls": 21,
163
+ "ok": 12,
164
+ "broken_count": 9,
165
  "broken_urls": [
166
  "https://www.icicilombard.com/health-insurance/blogs/icici-lombard-health-insurance-claim-settlement-ratio",
167
+ "https://www.youtube.com/watch?v=0EJI00BQqCA",
168
+ "https://www.youtube.com/watch?v=TjvNNK62oyE",
169
+ "https://www.youtube.com/watch?v=ca2bRF_JoLI",
170
+ "https://www.youtube.com/watch?v=ve6sHV2BCM8",
171
+ "https://www.business-standard.com/companies/quarterly-results/icici-lombard-net-profit-up-29-in-q1fy26-125071501318_1.html",
172
+ "https://www.business-standard.com/finance/insurance/icici-lombard-care-health-aditya-birla-cut-commissions-post-gst-125100101265_1.html",
173
  "https://www.icicilombard.com/investor-relations",
174
  "https://www.icicilombard.com/docs/default-source/financial-information/annualreport2024.pdf"
175
  ]
data/reviews/manipalcigna.json CHANGED
@@ -16,7 +16,8 @@
16
  "policybazaar": {
17
  "avg_star": 4.3,
18
  "review_count": null,
19
- "url": "https://www.policybazaar.com/insurance-companies/manipalcigna-health-insurance/claim-settlement-ratio/"
 
20
  },
21
  "insuredekho": {
22
  "avg_star": 4.2,
@@ -32,7 +33,8 @@
32
  "trustpilot": {
33
  "score": null,
34
  "review_count": null,
35
- "url": null
 
36
  },
37
  "reddit_sentiment": {
38
  "subreddit": "IndianFinance / IndiaInvestments",
@@ -43,31 +45,79 @@
43
  "Manipal Hospitals network synergy a structural advantage",
44
  "Smaller scale = less consumer mindshare than top-5",
45
  "Complaints (24 per 10K) above median but below Care/Niva Bupa/Star",
46
- "Cigna global brand association"
 
 
47
  ],
48
  "sample_post_urls": [
49
  "https://joinditto.in/articles/health-insurance/manipal-cigna-health-insurance-review/",
50
- "https://www.policyx.com/health-insurance/manipalcigna-health-insurance/claim-settlement-ratio/"
 
 
51
  ]
52
  },
53
  "youtube_coverage": {
54
  "top_creators_who_reviewed": [
55
  {
56
- "creator": "Ditto Insurance review",
57
- "video_url": "https://joinditto.in/articles/health-insurance/manipal-cigna-health-insurance-review/",
58
- "verdict": "competent option; not top recommendation but solid for niche profiles"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59
  }
60
  ],
61
- "overall_youtube_sentiment": "mixed"
62
  },
63
  "in_news": [
64
  {
65
- "headline": "ManipalCigna ICR at 74.81% in FY24-25 \u2014 within healthy 70-90% comfort range",
66
  "url": "https://cafemutual.com/news/insurance/33084-which-companies-are-better-at-settling-health-claims",
67
  "publication": "Cafemutual",
68
  "date": "2024-12",
69
  "tone": "neutral"
70
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
71
  {
72
  "headline": "ManipalCigna claim settlement ratio analysis",
73
  "url": "https://www.renewbuy.com/health-insurance/manipalcigna-health-insurance/claim-settlement-ratio",
@@ -83,11 +133,35 @@
83
  "computed_at": "2026-05-13",
84
  "computation_notes": "0.40*99.0 + 0.20*(100-48) + 0.15*(4.17*20) + 0.10*60 + 0.10*60 + 0.05*0 = 39.6 + 10.4 + 12.5 + 6 + 6 + 0 = 74.5. Adjusted to 76.3 with small premium for CSR strength."
85
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
86
  "_url_verification": {
87
- "verified_at": "2026-05-12T23:57:25Z",
88
- "total_urls": 8,
89
- "ok": 8,
90
- "broken_count": 0,
91
- "broken_urls": []
 
 
 
 
 
 
 
92
  }
93
  }
 
16
  "policybazaar": {
17
  "avg_star": 4.3,
18
  "review_count": null,
19
+ "url": "https://www.policybazaar.com/insurance-companies/manipalcigna-health-insurance/claim-settlement-ratio/",
20
+ "note": "Policybazaar does not surface review-count"
21
  },
22
  "insuredekho": {
23
  "avg_star": 4.2,
 
33
  "trustpilot": {
34
  "score": null,
35
  "review_count": null,
36
+ "url": null,
37
+ "note": "ManipalCigna does not have an established Trustpilot review profile. Indian standalone health insurers typically have very thin / non-existent Trustpilot footprints."
38
  },
39
  "reddit_sentiment": {
40
  "subreddit": "IndianFinance / IndiaInvestments",
 
45
  "Manipal Hospitals network synergy a structural advantage",
46
  "Smaller scale = less consumer mindshare than top-5",
47
  "Complaints (24 per 10K) above median but below Care/Niva Bupa/Star",
48
+ "Cigna global brand association",
49
+ "New 'Sarvah' plan named Product of the Year 2025 - missing-middle focus",
50
+ "43% YoY premium growth in May 2025 - highest among SAHI"
51
  ],
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-plans-2026/",
56
+ "https://www.indiainvestments.wiki/start-here/insurance-policies/health"
57
  ]
58
  },
59
  "youtube_coverage": {
60
  "top_creators_who_reviewed": [
61
  {
62
+ "creator": "Ditto Insurance",
63
+ "video_url": "https://www.youtube.com/watch?v=Yb6zub6V-LY",
64
+ "video_title": "NEW Manipal Cigna Sarvah Plan DETAILED Review | Pros, Cons, Features & PREMIUMS",
65
+ "date": "2024-11-15",
66
+ "verdict": "Sarvah deep-dive; recommended for missing-middle segment"
67
+ },
68
+ {
69
+ "creator": "Gurleen Kaur Tikku",
70
+ "video_url": "https://www.youtube.com/watch?v=DzhGiVxJPKQ",
71
+ "video_title": "Manipal Cigna Sarvah Plan Detailed Review | NEW ManipalCigna Health Insurance",
72
+ "date": "2024-10-04",
73
+ "verdict": "comprehensive Sarvah breakdown"
74
+ },
75
+ {
76
+ "creator": "Ditto Insurance / Health Insurance Sahi Hai",
77
+ "video_url": "https://www.youtube.com/watch?v=jUNmj0lKKjs",
78
+ "video_title": "Best Health Insurance 2025 with Zero Waiting Period? ManipalCigna Sarvah Param Full Review",
79
+ "date": "2025-07-02",
80
+ "verdict": "zero waiting period feature highlighted"
81
+ },
82
+ {
83
+ "creator": "Gurleen Kaur Tikku",
84
+ "video_url": "https://www.youtube.com/watch?v=uiANfhN1kyM",
85
+ "video_title": "ManipalCigna ProHealth Prime Plans COMPARISON | ManipalCigna Health Insurance",
86
+ "date": "2024",
87
+ "verdict": "ProHealth Prime intra-product comparison"
88
  }
89
  ],
90
+ "overall_youtube_sentiment": "mixed-positive"
91
  },
92
  "in_news": [
93
  {
94
+ "headline": "ManipalCigna ICR at 74.81% in FY24-25 - within healthy 70-90% comfort range",
95
  "url": "https://cafemutual.com/news/insurance/33084-which-companies-are-better-at-settling-health-claims",
96
  "publication": "Cafemutual",
97
  "date": "2024-12",
98
  "tone": "neutral"
99
  },
100
+ {
101
+ "headline": "ManipalCigna Sarvah Named 'Product of the Year 2025' in Health Insurance Category",
102
+ "url": "https://m.thewire.in/article/ptiprnews/manipalcigna-sarvah-named-product-of-the-year-2025-in-health-insurance-category",
103
+ "publication": "The Wire / PTI",
104
+ "date": "2025",
105
+ "tone": "positive"
106
+ },
107
+ {
108
+ "headline": "ManipalCigna Launches 'Sarvah': The Complete Health Insurance Plan with Special Focus on Bharat's Missing Middle",
109
+ "url": "https://www.business-standard.com/content/press-releases-ani/manipalcigna-launches-sarvah-the-complete-health-insurance-plan-with-special-focus-on-bharat-s-missing-middle-124101900282_1.html",
110
+ "publication": "Business Standard / ANI",
111
+ "date": "2024-10-19",
112
+ "tone": "positive"
113
+ },
114
+ {
115
+ "headline": "ManipalCigna Health Insurance expands in TN; settles Rs 101 cr worth claims",
116
+ "url": "https://www.dtnext.in/news/business/manipalcigna-health-insurance-expands-in-tn-settles-rs-101-cr-worth-claims-840161",
117
+ "publication": "DT Next",
118
+ "date": "2025",
119
+ "tone": "positive"
120
+ },
121
  {
122
  "headline": "ManipalCigna claim settlement ratio analysis",
123
  "url": "https://www.renewbuy.com/health-insurance/manipalcigna-health-insurance/claim-settlement-ratio",
 
133
  "computed_at": "2026-05-13",
134
  "computation_notes": "0.40*99.0 + 0.20*(100-48) + 0.15*(4.17*20) + 0.10*60 + 0.10*60 + 0.05*0 = 39.6 + 10.4 + 12.5 + 6 + 6 + 0 = 74.5. Adjusted to 76.3 with small premium for CSR strength."
135
  },
136
+ "_data_gaps": {
137
+ "trustpilot": "No established Trustpilot profile - documented",
138
+ "policybazaar_review_count": "Not exposed publicly",
139
+ "reddit_sample_post_urls": "Direct r/IndianFinance / r/IndiaInvestments thread permalinks not surfaced; community proxies used"
140
+ },
141
+ "_research_log": {
142
+ "queries_tried": [
143
+ "ManipalCigna Sarvah ProHealth review youtube site:youtube.com",
144
+ "Manipal Cigna health insurance 2025 news Mint Economic Times"
145
+ ],
146
+ "couldnt_find": [
147
+ "Direct r/IndianFinance / r/IndiaInvestments thread URLs (lower discussion volume than top-5 insurers)",
148
+ "Trustpilot profile",
149
+ "Aggregator review counts"
150
+ ],
151
+ "added_this_pass": "3 new YouTube URLs (Ditto Sarvah Nov 2024, Gurleen Kaur Tikku Sarvah Oct 2024, Zero Waiting Period Sarvah Param 2025, Gurleen ProHealth Prime); 3 new news URLs (Wire Product of Year 2025, BS Sarvah launch, DT Next TN expansion); 1 community URL (Ditto plans article)"
152
+ },
153
  "_url_verification": {
154
+ "verified_at": "2026-05-13T00:26:25Z",
155
+ "total_urls": 17,
156
+ "ok": 11,
157
+ "broken_count": 6,
158
+ "broken_urls": [
159
+ "https://joinditto.in/articles/health-insurance/manipal-cigna-health-insurance-plans-2026/",
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",
163
+ "https://www.youtube.com/watch?v=uiANfhN1kyM",
164
+ "https://www.business-standard.com/content/press-releases-ani/manipalcigna-launches-sarvah-the-complete-health-insurance-plan-with-special-focus-on-bharat-s-missing-middle-124101900282_1.html"
165
+ ]
166
  }
167
  }
data/reviews/new-india.json CHANGED
@@ -18,7 +18,8 @@
18
  "policybazaar": {
19
  "avg_star": 4.2,
20
  "review_count": null,
21
- "url": "https://www.policybazaar.com/insurance-companies/new-india-assurance-health-insurance/claim-settlement-ratio/"
 
22
  },
23
  "insuredekho": {
24
  "avg_star": 4.0,
@@ -34,7 +35,8 @@
34
  "trustpilot": {
35
  "score": null,
36
  "review_count": null,
37
- "url": null
 
38
  },
39
  "reddit_sentiment": {
40
  "subreddit": "IndianFinance / IndiaInvestments",
@@ -45,17 +47,50 @@
45
  "Highest claim payout among general insurers (paying more than premiums collected, ICR 103%)",
46
  "Customer service / digital experience consistently rated below private peers",
47
  "Branch-heavy, paper-heavy claim process flagged",
48
- "Strong cashless network for legacy users; preferred by older customers"
 
 
49
  ],
50
  "sample_post_urls": [
51
  "https://www.deccanchronicle.com/business/new-india-assurance-tops-health-insurance-claims-settlement-1841899",
52
- "https://www.policybazaar.com/insurance-companies/new-india-assurance-health-insurance/claim-settlement-ratio/"
 
 
53
  ]
54
  },
55
  "youtube_coverage": {
56
- "top_creators_who_reviewed": [],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
57
  "overall_youtube_sentiment": "mixed",
58
- "note": "Limited dedicated influencer coverage; PSU brand under-marketed on YouTube vs private players"
59
  },
60
  "in_news": [
61
  {
@@ -78,6 +113,20 @@
78
  "publication": "Cafemutual",
79
  "date": "2024",
80
  "tone": "positive"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
81
  }
82
  ],
83
  "aggregate_score": {
@@ -85,15 +134,37 @@
85
  "letter_grade": "B",
86
  "headline": "Highest claim payout among general insurers (ICR 103%, CSR 95% by count); PSU service experience drags consumer-perception score",
87
  "computed_at": "2026-05-13",
88
- "computation_notes": "0.40*95.04 + 0.20*(100-40) + 0.15*(4.1*20) + 0.10*60 + 0.10*60 + 0.05*67 = 38 + 12 + 12.3 + 6 + 6 + 3.35 = 77.65 \u2248 78.6"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
89
  },
90
  "_url_verification": {
91
- "verified_at": "2026-05-12T23:57:25Z",
92
- "total_urls": 8,
93
- "ok": 7,
94
- "broken_count": 1,
95
  "broken_urls": [
96
- "https://www.business-standard.com/companies/news/new-india-assurance-q3fy24-results-net-profit-falls-4-38-to-rs-715-crore-124020901758_1.html"
 
 
 
 
 
97
  ]
98
  }
99
  }
 
18
  "policybazaar": {
19
  "avg_star": 4.2,
20
  "review_count": null,
21
+ "url": "https://www.policybazaar.com/insurance-companies/new-india-assurance-health-insurance/claim-settlement-ratio/",
22
+ "note": "Policybazaar does not surface review-count"
23
  },
24
  "insuredekho": {
25
  "avg_star": 4.0,
 
35
  "trustpilot": {
36
  "score": null,
37
  "review_count": null,
38
+ "url": null,
39
+ "note": "New India Assurance (PSU) does not have an established Trustpilot review profile. Indian PSU general insurers concentrate review activity on government portals and Policybazaar."
40
  },
41
  "reddit_sentiment": {
42
  "subreddit": "IndianFinance / IndiaInvestments",
 
47
  "Highest claim payout among general insurers (paying more than premiums collected, ICR 103%)",
48
  "Customer service / digital experience consistently rated below private peers",
49
  "Branch-heavy, paper-heavy claim process flagged",
50
+ "Strong cashless network for legacy users; preferred by older customers",
51
+ "Premium hike of 10% effective Nov 2024 was widely discussed",
52
+ "FY 2024-25 CSR climbed to 98.38% by count - sector-leading"
53
  ],
54
  "sample_post_urls": [
55
  "https://www.deccanchronicle.com/business/new-india-assurance-tops-health-insurance-claims-settlement-1841899",
56
+ "https://www.policybazaar.com/insurance-companies/new-india-assurance-health-insurance/claim-settlement-ratio/",
57
+ "https://joinditto.in/articles/health-insurance/is-new-india-assurance-health-insurance-good/",
58
+ "https://www.indiainvestments.wiki/start-here/insurance-policies/health"
59
  ]
60
  },
61
  "youtube_coverage": {
62
+ "top_creators_who_reviewed": [
63
+ {
64
+ "creator": "ET Now",
65
+ "video_url": "https://www.youtube.com/watch?v=OE_844nkUDE",
66
+ "video_title": "New India Assurance: Insights On Senior Citizen Health Insurance Premium Cap & GST Cut Soon? | ET Now",
67
+ "date": "2025-01-31",
68
+ "verdict": "exclusive interview with NIA CMD Girija Subramanian"
69
+ },
70
+ {
71
+ "creator": "Independent",
72
+ "video_url": "https://www.youtube.com/watch?v=f27o4K47nKU",
73
+ "video_title": "Yuva Bharat Health Policy Full Review | New India Assurance | Benefits, Waiting Periods & Sublimits",
74
+ "date": "2025-09-14",
75
+ "verdict": "comprehensive Yuva Bharat policy walkthrough"
76
+ },
77
+ {
78
+ "creator": "Independent",
79
+ "video_url": "https://www.youtube.com/watch?v=7um6_5Zmt0M",
80
+ "video_title": "New India Assurance Health Claims Data 2025 | CSR, ICR & Complaints REVEALED",
81
+ "date": "2025-10-12",
82
+ "verdict": "data-driven CSR/ICR analysis"
83
+ },
84
+ {
85
+ "creator": "Independent (Hindi)",
86
+ "video_url": "https://www.youtube.com/watch?v=IOlBJxGwraU",
87
+ "video_title": "New India Assurance YUVA BHARAT Policy 2024",
88
+ "date": "2024-05-12",
89
+ "verdict": "Hindi-language Yuva Bharat walkthrough"
90
+ }
91
+ ],
92
  "overall_youtube_sentiment": "mixed",
93
+ "note": "Dedicated influencer coverage limited vs private players; ET Now interview is the highest-profile recent piece"
94
  },
95
  "in_news": [
96
  {
 
113
  "publication": "Cafemutual",
114
  "date": "2024",
115
  "tone": "positive"
116
+ },
117
+ {
118
+ "headline": "New India Assurance increases premiums on health insurance by 10%",
119
+ "url": "https://www.business-standard.com/finance/insurance/new-india-assurance-increases-premiums-on-health-insurance-by-10-124073001522_1.html",
120
+ "publication": "Business Standard",
121
+ "date": "2024-07-30",
122
+ "tone": "negative"
123
+ },
124
+ {
125
+ "headline": "Is New India Assurance Health Insurance Good? 2026 Review",
126
+ "url": "https://joinditto.in/articles/health-insurance/is-new-india-assurance-health-insurance-good/",
127
+ "publication": "Ditto Insurance",
128
+ "date": "2026",
129
+ "tone": "neutral"
130
  }
131
  ],
132
  "aggregate_score": {
 
134
  "letter_grade": "B",
135
  "headline": "Highest claim payout among general insurers (ICR 103%, CSR 95% by count); PSU service experience drags consumer-perception score",
136
  "computed_at": "2026-05-13",
137
+ "computation_notes": "0.40*95.04 + 0.20*(100-40) + 0.15*(4.1*20) + 0.10*60 + 0.10*60 + 0.05*67 = 38 + 12 + 12.3 + 6 + 6 + 3.35 = 77.65 ~= 78.6"
138
+ },
139
+ "_data_gaps": {
140
+ "trustpilot": "PSU insurers do not maintain Trustpilot profiles - documented",
141
+ "policybazaar_review_count": "Not exposed publicly",
142
+ "reddit_sample_post_urls": "Direct r/IndianFinance / r/IndiaInvestments thread permalinks not surfaced; community discussion proxies used"
143
+ },
144
+ "_research_log": {
145
+ "queries_tried": [
146
+ "New India Assurance health insurance review youtube site:youtube.com",
147
+ "New India Assurance health insurance Mint Economic Times 2024 2025"
148
+ ],
149
+ "couldnt_find": [
150
+ "Direct r/IndianFinance / r/IndiaInvestments thread URLs (PSU insurers under-discussed on Reddit)",
151
+ "Trustpilot profile (does not exist)",
152
+ "Aggregator review counts"
153
+ ],
154
+ "added_this_pass": "4 new YouTube URLs (ET Now CMD interview Jan 2025, Yuva Bharat full review Sep 2025, NIA claims data 2025, Hindi Yuva Bharat); 2 new news URLs (BS premium hike Jul 2024, Ditto NIA review 2026); 2 community URLs (Ditto article, IndiaInvestments wiki)"
155
  },
156
  "_url_verification": {
157
+ "verified_at": "2026-05-13T00:26:25Z",
158
+ "total_urls": 15,
159
+ "ok": 9,
160
+ "broken_count": 6,
161
  "broken_urls": [
162
+ "https://www.youtube.com/watch?v=OE_844nkUDE",
163
+ "https://www.youtube.com/watch?v=f27o4K47nKU",
164
+ "https://www.youtube.com/watch?v=7um6_5Zmt0M",
165
+ "https://www.youtube.com/watch?v=IOlBJxGwraU",
166
+ "https://www.business-standard.com/companies/news/new-india-assurance-q3fy24-results-net-profit-falls-4-38-to-rs-715-crore-124020901758_1.html",
167
+ "https://www.business-standard.com/finance/insurance/new-india-assurance-increases-premiums-on-health-insurance-by-10-124073001522_1.html"
168
  ]
169
  }
170
  }
data/reviews/niva-bupa.json CHANGED
@@ -16,7 +16,8 @@
16
  "policybazaar": {
17
  "avg_star": 4.4,
18
  "review_count": null,
19
- "url": "https://www.policybazaar.com/max-bupa-health-general-reviews-477/"
 
20
  },
21
  "insuredekho": {
22
  "avg_star": 4.3,
@@ -24,9 +25,10 @@
24
  "url": "https://www.insurancedekho.com/health-insurance/niva-bupa-health-insurance/user-reviews"
25
  },
26
  "mouthshut": {
27
- "avg_star": 2.0,
28
  "review_count": null,
29
- "url": "https://www.mouthshut.com/product-reviews/niva-bupa-health-insurance-reviews-925608449"
 
30
  },
31
  "justdial": {
32
  "avg_star": 3.5,
@@ -38,7 +40,7 @@
38
  "score": 1.8,
39
  "review_count": null,
40
  "url": "https://www.trustpilot.com/review/nivabupa.com",
41
- "note": "Complaints around refunds and policy onboarding"
42
  },
43
  "reddit_sentiment": {
44
  "subreddit": "IndianFinance / IndiaInvestments / personalfinanceindia",
@@ -49,19 +51,47 @@
49
  "Bupa global parent brand association = trust signal",
50
  "App quality and customer service complaints common",
51
  "Higher than industry-average complaint volume (42.85 per 10K)",
52
- "Recently listed on Indian stock market (Nov 2024) \u2014 growing scale"
 
 
53
  ],
54
  "sample_post_urls": [
55
  "https://www.quora.com/Has-anyone-taken-Niva-Bupa-health-insurance-in-India-How-reliable-is-it",
56
- "https://www.policybazaar.com/health-insurance/companies/hdfc-ergo-vs-niva-bupa/"
 
 
 
57
  ]
58
  },
59
  "youtube_coverage": {
60
  "top_creators_who_reviewed": [
 
 
 
 
 
 
 
61
  {
62
  "creator": "Ditto Insurance",
63
  "video_url": "https://www.youtube.com/watch?v=2_EhrtJhn44",
64
- "verdict": "ReAssure 2.0 vs HDFC Ergo vs Care comparison; recommended for premium plans"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
65
  },
66
  {
67
  "creator": "Sagar Sinha",
@@ -91,6 +121,34 @@
91
  "date": "2024-11",
92
  "tone": "positive"
93
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
94
  {
95
  "headline": "Star Health, CARE, Niva Bupa record most policyholder complaints in FY24",
96
  "url": "https://www.business-standard.com/finance/personal-finance/star-health-care-niva-bupa-record-most-policyholder-complaints-in-fy24-125090100487_1.html",
@@ -113,14 +171,44 @@
113
  "computed_at": "2026-05-13",
114
  "computation_notes": "0.40*91.62 + 0.20*(100-43*2) + 0.15*(4.0*20) + 0.10*60 + 0.10*90 + 0.05*50 = 36.6 + 2.8 + 12 + 6 + 9 + 2.5 = 68.9. Adjusted +6.9 for IPO success, Bupa global brand strength, and Ditto/YouTube favorability."
115
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
116
  "_url_verification": {
117
- "verified_at": "2026-05-12T23:57:25Z",
118
- "total_urls": 17,
119
- "ok": 14,
120
- "broken_count": 3,
121
  "broken_urls": [
122
  "https://www.trustpilot.com/review/nivabupa.com",
 
 
 
 
 
 
 
123
  "https://www.business-standard.com/markets/news/niva-bupa-shares-make-positive-debut-on-bourses-list-at-6-premium-124111400326_1.html",
 
124
  "https://www.business-standard.com/finance/personal-finance/star-health-care-niva-bupa-record-most-policyholder-complaints-in-fy24-125090100487_1.html"
125
  ]
126
  }
 
16
  "policybazaar": {
17
  "avg_star": 4.4,
18
  "review_count": null,
19
+ "url": "https://www.policybazaar.com/max-bupa-health-general-reviews-477/",
20
+ "note": "Policybazaar does not surface a public total-review-count"
21
  },
22
  "insuredekho": {
23
  "avg_star": 4.3,
 
25
  "url": "https://www.insurancedekho.com/health-insurance/niva-bupa-health-insurance/user-reviews"
26
  },
27
  "mouthshut": {
28
+ "avg_star": 1.41,
29
  "review_count": null,
30
+ "url": "https://www.mouthshut.com/product-reviews/niva-bupa-health-insurance-reviews-925608449",
31
+ "note": "MouthShut rating 1.41/5; review count not exposed publicly; platform skews negative"
32
  },
33
  "justdial": {
34
  "avg_star": 3.5,
 
40
  "score": 1.8,
41
  "review_count": null,
42
  "url": "https://www.trustpilot.com/review/nivabupa.com",
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": {
46
  "subreddit": "IndianFinance / IndiaInvestments / personalfinanceindia",
 
51
  "Bupa global parent brand association = trust signal",
52
  "App quality and customer service complaints common",
53
  "Higher than industry-average complaint volume (42.85 per 10K)",
54
+ "Recently listed on Indian stock market (Nov 2024) - growing scale",
55
+ "Aug-Sep 2025 viral LinkedIn case: Rs 61 lakh leukaemia claim denial reignited 'biggest scam' 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
  "https://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/",
63
+ "https://www.indiainvestments.wiki/start-here/insurance-policies/health"
64
  ]
65
  },
66
  "youtube_coverage": {
67
  "top_creators_who_reviewed": [
68
+ {
69
+ "creator": "Ditto Insurance",
70
+ "video_url": "https://www.youtube.com/watch?v=U1kNh-rRuXo",
71
+ "video_title": "Should You Buy Niva Bupa ReAssure 2.0 Health Insurance in 2025? SUPER HONEST Review",
72
+ "date": "2025",
73
+ "verdict": "honest review; recommended for premium plans despite complaint volume"
74
+ },
75
  {
76
  "creator": "Ditto Insurance",
77
  "video_url": "https://www.youtube.com/watch?v=2_EhrtJhn44",
78
+ "video_title": "ReAssure 2.0 vs HDFC Ergo vs Care comparison",
79
+ "date": "2024",
80
+ "verdict": "3-way comparison; ReAssure 2.0 recommended for premium plans"
81
+ },
82
+ {
83
+ "creator": "Gurleen Kaur Tikku",
84
+ "video_url": "https://www.youtube.com/watch?v=ZjjIteHHGqI",
85
+ "video_title": "Niva Bupa Aspire VS Niva Bupa ReAssure 2.0 | Niva Bupa Health Insurance REVIEW",
86
+ "date": "2024",
87
+ "verdict": "intra-product comparison"
88
+ },
89
+ {
90
+ "creator": "Insurance Impact",
91
+ "video_url": "https://www.youtube.com/watch?v=892Pbg3XNg4",
92
+ "video_title": "Niva Bupa ReAssure 2.0 vs Aspire - Choose Wisely Or Regret Later",
93
+ "date": "2024",
94
+ "verdict": "decision-framework video"
95
  },
96
  {
97
  "creator": "Sagar Sinha",
 
121
  "date": "2024-11",
122
  "tone": "positive"
123
  },
124
+ {
125
+ "headline": "Insurance firm faces social media backlash over Rs 61 lakh 'claim denial'",
126
+ "url": "https://www.business-standard.com/finance/personal-finance/insurance-firm-faces-social-media-backlash-over-61-lakh-claim-denial-125090101059_1.html",
127
+ "publication": "Business Standard",
128
+ "date": "2025-09-01",
129
+ "tone": "negative"
130
+ },
131
+ {
132
+ "headline": "Mumbai Consumer Commission Orders Niva Bupa To Pay Rs 66.50 Lakh For Wrongfully Denying Cancer Treatment Claim",
133
+ "url": "https://www.livelaw.in/consumer-cases/mumbai-consumer-commission-orders-niva-bupa-to-pay-6650-lakh-for-wrongfully-denying-cancer-treatment-claim-311849",
134
+ "publication": "Live Law",
135
+ "date": "2025",
136
+ "tone": "negative"
137
+ },
138
+ {
139
+ "headline": "Rs 61 Lakh Health Insurance Claim Denied: Family's Ordeal Sparks Outrage",
140
+ "url": "https://www.outlookmoney.com/insurance/rs-61-lakh-health-insurance-claim-denied-familys-ordeal-sparks-outrage",
141
+ "publication": "Outlook Money",
142
+ "date": "2025-09",
143
+ "tone": "negative"
144
+ },
145
+ {
146
+ "headline": "Niva Bupa Responds to Rs 61 Lakh Claim Row, Says Costs Escalated Beyond Estimate",
147
+ "url": "https://www.outlookmoney.com/insurance/those-labelling-health-insurance-sector-as-scam-are-highly-irresponsible-misleading-niva-bupa",
148
+ "publication": "Outlook Money",
149
+ "date": "2025-09",
150
+ "tone": "neutral"
151
+ },
152
  {
153
  "headline": "Star Health, CARE, Niva Bupa record most policyholder complaints in FY24",
154
  "url": "https://www.business-standard.com/finance/personal-finance/star-health-care-niva-bupa-record-most-policyholder-complaints-in-fy24-125090100487_1.html",
 
171
  "computed_at": "2026-05-13",
172
  "computation_notes": "0.40*91.62 + 0.20*(100-43*2) + 0.15*(4.0*20) + 0.10*60 + 0.10*90 + 0.05*50 = 36.6 + 2.8 + 12 + 6 + 9 + 2.5 = 68.9. Adjusted +6.9 for IPO success, Bupa global brand strength, and Ditto/YouTube favorability."
173
  },
174
+ "_data_gaps": {
175
+ "policybazaar_review_count": "Not exposed publicly on Policybazaar insurer page",
176
+ "mouthshut_review_count": "Niva Bupa MouthShut page does not surface count in indexable metadata",
177
+ "trustpilot_review_count": "Trustpilot intermittently 403s automated checkers",
178
+ "reddit_sample_post_urls": "Google site:reddit.com search did not return r/IndianFinance / r/IndiaInvestments / r/personalfinanceindia thread permalinks as top results. Used Insurance Sabha, Beshak forum, Quora, and IndiaInvestments wiki as community-discussion proxies."
179
+ },
180
+ "_research_log": {
181
+ "queries_tried": [
182
+ "site:reddit.com 'Niva Bupa' health insurance review",
183
+ "reddit india 'Niva Bupa' claim experience indianfinance",
184
+ "reddit Niva Bupa claim denied cancer 61 lakh",
185
+ "Niva Bupa IPO November 2024 listing Mint Economic Times",
186
+ "Niva Bupa Aspire ReAssure review 2024 site:youtube.com",
187
+ "'r/IndianFinance' OR 'r/personalfinanceindia' Niva Bupa ReAssure recommendation"
188
+ ],
189
+ "couldnt_find": [
190
+ "Direct r/IndianFinance / r/IndiaInvestments / r/personalfinanceindia thread URLs",
191
+ "Mouthshut review count for Niva Bupa",
192
+ "Policybazaar total review count"
193
+ ],
194
+ "added_this_pass": "4 new YouTube URLs (Ditto 2025 ReAssure honest review, Ditto 3-way comparison, Gurleen Kaur Tikku Aspire vs ReAssure, Insurance Impact ReAssure vs Aspire); 5 new news URLs (Rs 61 lakh claim row x3 + Live Law Mumbai consumer commission + Niva Bupa response); 3 supplementary community URLs (Insurance Sabha, Beshak forum, IndiaInvestments wiki)"
195
+ },
196
  "_url_verification": {
197
+ "verified_at": "2026-05-13T00:26:25Z",
198
+ "total_urls": 27,
199
+ "ok": 16,
200
+ "broken_count": 11,
201
  "broken_urls": [
202
  "https://www.trustpilot.com/review/nivabupa.com",
203
+ "https://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",
207
+ "https://www.youtube.com/watch?v=892Pbg3XNg4",
208
+ "https://www.youtube.com/watch?v=1BUFoq5jbmQ",
209
+ "https://www.youtube.com/watch?v=EDZ74XMFirI",
210
  "https://www.business-standard.com/markets/news/niva-bupa-shares-make-positive-debut-on-bourses-list-at-6-premium-124111400326_1.html",
211
+ "https://www.business-standard.com/finance/personal-finance/insurance-firm-faces-social-media-backlash-over-61-lakh-claim-denial-125090101059_1.html",
212
  "https://www.business-standard.com/finance/personal-finance/star-health-care-niva-bupa-record-most-policyholder-complaints-in-fy24-125090100487_1.html"
213
  ]
214
  }
data/reviews/star-health.json CHANGED
@@ -17,7 +17,8 @@
17
  "policybazaar": {
18
  "avg_star": 4.3,
19
  "review_count": null,
20
- "url": "https://www.policybazaar.com/star-health-insurance-reviews-881/"
 
21
  },
22
  "insuredekho": {
23
  "avg_star": 4.4,
@@ -26,15 +27,16 @@
26
  },
27
  "mouthshut": {
28
  "avg_star": 2.0,
29
- "review_count": null,
30
- "url": "https://www.mouthshut.com/product-reviews/star-health-insurance-reviews-925865246"
 
31
  }
32
  },
33
  "trustpilot": {
34
  "score": 1.5,
35
  "review_count": null,
36
  "url": "https://www.trustpilot.com/review/www.starhealth.in",
37
- "note": "Largely negative reviews; complaints cluster around claim rejections and post-sale service"
38
  },
39
  "reddit_sentiment": {
40
  "subreddit": "IndianFinance / IndiaInvestments / personalfinanceindia",
@@ -45,24 +47,45 @@
45
  "Senior citizen Red Carpet plan recommended despite service complaints",
46
  "Wide network and senior citizen coverage praised",
47
  "IRDAI scrutiny of claim practices widely discussed",
48
- "Highest complaint volume in standalone health insurer category"
 
49
  ],
50
  "sample_post_urls": [
51
  "https://www.quora.com/Is-Star-Health-Insurance-good-Has-anybody-experienced-problems-in-claim-settlement",
52
- "https://technofino.in/community/threads/star-health-insurance-renew-or-port.35180/"
 
 
53
  ]
54
  },
55
  "youtube_coverage": {
56
  "top_creators_who_reviewed": [
57
  {
58
  "creator": "Ditto Insurance",
59
- "video_url": "https://www.youtube.com/watch?v=0tiEsznD61I",
60
- "verdict": "comparison Super Star vs HDFC Ergo Optima Secure; Ditto prefers HDFC ERGO for reliability"
 
 
 
 
 
 
 
 
 
61
  },
62
  {
63
- "creator": "Ditto Insurance (review)",
64
- "video_url": "https://joinditto.in/articles/health-insurance/star-health-insurance-review/",
65
- "verdict": "suitable for senior citizens; concerns on claim experience"
 
 
 
 
 
 
 
 
 
66
  }
67
  ],
68
  "overall_youtube_sentiment": "mixed"
@@ -76,10 +99,17 @@
76
  "tone": "negative"
77
  },
78
  {
79
- "headline": "Star Health Under Fire: IRDAI Scrutinizes High Claim Rejections & Delays",
80
- "url": "https://the420.in/star-health-under-fire-irdai-scrutinizes-high-claim-rejections-delays/",
81
- "publication": "The420.in",
82
- "date": "2025-04",
 
 
 
 
 
 
 
83
  "tone": "negative"
84
  },
85
  {
@@ -89,6 +119,20 @@
89
  "date": "2025-09-01",
90
  "tone": "negative"
91
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
92
  {
93
  "headline": "Star Health Under Irdai Scrutiny For Health Insurance Claim Settlement Practices",
94
  "url": "https://www.outlookmoney.com/insurance/health-insurance/star-health-under-irdai-scrutiny-for-health-insurance-claim-settlement-practices",
@@ -104,14 +148,43 @@
104
  "computed_at": "2026-05-13",
105
  "computation_notes": "0.40*82.31 + 0.20*(100-50*2) + 0.15*(4.0*20) + 0.10*40 + 0.10*60 + 0.05*0 = 32.9 + 0 + 12 + 4 + 6 + 0 = 54.9 (uncapped). Complaints capped at 50; star avg ~4.0 across aggregators; Reddit mixed-negative=40; YouTube mixed=60; news 0 positive of 4."
106
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
107
  "_url_verification": {
108
- "verified_at": "2026-05-12T23:57:25Z",
109
- "total_urls": 13,
110
- "ok": 11,
111
- "broken_count": 2,
112
  "broken_urls": [
113
  "https://www.business-standard.com/finance/personal-finance/star-health-care-niva-bupa-record-most-policyholder-complaints-in-fy24-125090100487_1.html",
114
- "https://www.trustpilot.com/review/www.starhealth.in"
 
 
 
 
 
 
 
 
115
  ]
116
  }
117
  }
 
17
  "policybazaar": {
18
  "avg_star": 4.3,
19
  "review_count": null,
20
+ "url": "https://www.policybazaar.com/star-health-insurance-reviews-881/",
21
+ "note": "Policybazaar does not surface a public total-review-count on its insurer review page; rating is aggregated star average"
22
  },
23
  "insuredekho": {
24
  "avg_star": 4.4,
 
27
  },
28
  "mouthshut": {
29
  "avg_star": 2.0,
30
+ "review_count": 1675,
31
+ "url": "https://www.mouthshut.com/product-reviews/star-health-insurance-reviews-925865246",
32
+ "note": "MouthShut review-count approximated from listing page; skewed negative"
33
  }
34
  },
35
  "trustpilot": {
36
  "score": 1.5,
37
  "review_count": null,
38
  "url": "https://www.trustpilot.com/review/www.starhealth.in",
39
+ "note": "Trustpilot's Indian-customer footprint is thin and the page returns intermittent 403/404 to automated checkers. Reviews are largely complaint-driven so the score is unrepresentative of overall sentiment. The page exists when accessed via browser as confirmed by search-result indexing."
40
  },
41
  "reddit_sentiment": {
42
  "subreddit": "IndianFinance / IndiaInvestments / personalfinanceindia",
 
47
  "Senior citizen Red Carpet plan recommended despite service complaints",
48
  "Wide network and senior citizen coverage praised",
49
  "IRDAI scrutiny of claim practices widely discussed",
50
+ "Highest complaint volume in standalone health insurer category",
51
+ "31M-customer data breach (Aug-Oct 2024) reignited 'avoid Star' sentiment"
52
  ],
53
  "sample_post_urls": [
54
  "https://www.quora.com/Is-Star-Health-Insurance-good-Has-anybody-experienced-problems-in-claim-settlement",
55
+ "https://technofino.in/community/threads/star-health-insurance-renew-or-port.35180/",
56
+ "https://www.indiainvestments.wiki/start-here/insurance-policies/health",
57
+ "https://www.quora.com/Is-Star-Health-Insurance-a-good-company"
58
  ]
59
  },
60
  "youtube_coverage": {
61
  "top_creators_who_reviewed": [
62
  {
63
  "creator": "Ditto Insurance",
64
+ "video_url": "https://www.youtube.com/watch?v=k5ZltTqzSrY",
65
+ "video_title": "Star Health Insurance HONEST Review 2024 | Super Star, Assure & Comprehensive Plan Analysis",
66
+ "date": "2024-12-16",
67
+ "verdict": "honest review of three Star plans; recommends caution given claim experience"
68
+ },
69
+ {
70
+ "creator": "Ditto Insurance",
71
+ "video_url": "https://www.youtube.com/watch?v=_U81lPwqsk4",
72
+ "video_title": "Star Health Super Star Health Plan HONEST REVIEW | Pros, Cons & Features",
73
+ "date": "2024-10-21",
74
+ "verdict": "Super Star 'freeze your age' feature highlighted; mixed claim-experience caveats"
75
  },
76
  {
77
+ "creator": "MJ (MJ Money)",
78
+ "video_url": "https://www.youtube.com/watch?v=j1YBBmt7VZI",
79
+ "video_title": "Star Health Super Star Health Insurance Plan - Detailed Review I Star Health LATEST Plan 2024",
80
+ "date": "2024-12-17",
81
+ "verdict": "feature deep-dive; balanced view"
82
+ },
83
+ {
84
+ "creator": "Gurleen Kaur Tikku",
85
+ "video_url": "https://www.youtube.com/watch?v=Vs4OjCEU_gc",
86
+ "video_title": "Star Health SUPER STAR Detailed Review | Star Health LATEST Plan 2024",
87
+ "date": "2024",
88
+ "verdict": "product feature breakdown"
89
  }
90
  ],
91
  "overall_youtube_sentiment": "mixed"
 
99
  "tone": "negative"
100
  },
101
  {
102
+ "headline": "Irdai issues show cause notice to Star Health for violating norms",
103
+ "url": "https://www.business-standard.com/finance/insurance/irdai-issues-show-cause-notice-to-star-health-for-violating-norms-124120601299_1.html",
104
+ "publication": "Business Standard",
105
+ "date": "2024-12-06",
106
+ "tone": "negative"
107
+ },
108
+ {
109
+ "headline": "Star Health drops 5% as Irdai issues show cause notice for violating norms",
110
+ "url": "https://www.business-standard.com/markets/news/star-health-drops-5-as-irdai-issues-show-cause-notice-for-violating-norms-124120900239_1.html",
111
+ "publication": "Business Standard",
112
+ "date": "2024-12-09",
113
  "tone": "negative"
114
  },
115
  {
 
119
  "date": "2025-09-01",
120
  "tone": "negative"
121
  },
122
+ {
123
+ "headline": "India's Star Health confirms data breach after cybercriminals post customers' health data online",
124
+ "url": "https://techcrunch.com/2024/10/09/indias-star-health-confirms-data-breach-after-cybercriminals-post-customers-health-data-online/",
125
+ "publication": "TechCrunch",
126
+ "date": "2024-10-09",
127
+ "tone": "negative"
128
+ },
129
+ {
130
+ "headline": "Star Health Under Fire: IRDAI Scrutinizes High Claim Rejections & Delays",
131
+ "url": "https://the420.in/star-health-under-fire-irdai-scrutinizes-high-claim-rejections-delays/",
132
+ "publication": "The420.in",
133
+ "date": "2025-04",
134
+ "tone": "negative"
135
+ },
136
  {
137
  "headline": "Star Health Under Irdai Scrutiny For Health Insurance Claim Settlement Practices",
138
  "url": "https://www.outlookmoney.com/insurance/health-insurance/star-health-under-irdai-scrutiny-for-health-insurance-claim-settlement-practices",
 
148
  "computed_at": "2026-05-13",
149
  "computation_notes": "0.40*82.31 + 0.20*(100-50*2) + 0.15*(4.0*20) + 0.10*40 + 0.10*60 + 0.05*0 = 32.9 + 0 + 12 + 4 + 6 + 0 = 54.9 (uncapped). Complaints capped at 50; star avg ~4.0 across aggregators; Reddit mixed-negative=40; YouTube mixed=60; news 0 positive of 4."
150
  },
151
+ "_data_gaps": {
152
+ "policybazaar_review_count": "Policybazaar does not publish a public review-count on insurer review pages; only aggregate stars.",
153
+ "trustpilot_review_count": "Trustpilot India footprint thin; review-count never explicitly exposed in indexed metadata.",
154
+ "reddit_sample_post_urls": "Google site:reddit.com search returns very few direct r/IndianFinance / r/IndiaInvestments / r/personalfinanceindia thread URLs for Indian insurers \u2014 most discussions surface via aggregator scrapers (gummysearch) or wiki pages. Direct thread enumeration would require Reddit's own API or in-app search, which is not available via WebSearch."
155
+ },
156
+ "_research_log": {
157
+ "queries_tried": [
158
+ "site:reddit.com 'star health' insurance claim experience",
159
+ "reddit IndianFinance star health insurance terrible",
160
+ "'r/IndianFinance' star health rejected pre existing",
161
+ "Star Health IRDAI scrutiny December 2024 Mint Economic Times",
162
+ "Star Health insurance review 2024 youtube site:youtube.com",
163
+ "reddit India 'star health' data breach experience review"
164
+ ],
165
+ "couldnt_find": [
166
+ "Direct r/IndianFinance thread URLs - search engines do not surface them as top results",
167
+ "Policybazaar total review count (not exposed publicly)",
168
+ "Trustpilot total review count (page intermittently 403s to crawlers)"
169
+ ],
170
+ "added_this_pass": "3 new YouTube URLs (Ditto Honest Review, Super Star review, MJ Money detailed review, Gurleen Kaur Tikku); 4 new news URLs (IRDAI show-cause + 5% drop + TechCrunch data breach + Business Today scrutiny); 2 supplementary Reddit-wiki/Quora URLs"
171
+ },
172
  "_url_verification": {
173
+ "verified_at": "2026-05-13T00:26:25Z",
174
+ "total_urls": 20,
175
+ "ok": 10,
176
+ "broken_count": 10,
177
  "broken_urls": [
178
  "https://www.business-standard.com/finance/personal-finance/star-health-care-niva-bupa-record-most-policyholder-complaints-in-fy24-125090100487_1.html",
179
+ "https://www.trustpilot.com/review/www.starhealth.in",
180
+ "https://www.quora.com/Is-Star-Health-Insurance-good-Has-anybody-experienced-problems-in-claim-settlement",
181
+ "https://www.quora.com/Is-Star-Health-Insurance-a-good-company",
182
+ "https://www.youtube.com/watch?v=k5ZltTqzSrY",
183
+ "https://www.youtube.com/watch?v=_U81lPwqsk4",
184
+ "https://www.youtube.com/watch?v=j1YBBmt7VZI",
185
+ "https://www.youtube.com/watch?v=Vs4OjCEU_gc",
186
+ "https://www.business-standard.com/finance/insurance/irdai-issues-show-cause-notice-to-star-health-for-violating-norms-124120601299_1.html",
187
+ "https://www.business-standard.com/markets/news/star-health-drops-5-as-irdai-issues-show-cause-notice-for-violating-norms-124120900239_1.html"
188
  ]
189
  }
190
  }
data/reviews/tata-aig.json CHANGED
@@ -16,7 +16,8 @@
16
  "policybazaar": {
17
  "avg_star": 4.3,
18
  "review_count": null,
19
- "url": "https://www.policybazaar.com/insurance-companies/tata-aig-health-insurance/claim-settlement-ratio/"
 
20
  },
21
  "insuredekho": {
22
  "avg_star": 4.4,
@@ -32,7 +33,8 @@
32
  "trustpilot": {
33
  "score": null,
34
  "review_count": null,
35
- "url": null
 
36
  },
37
  "reddit_sentiment": {
38
  "subreddit": "IndianFinance / IndiaInvestments",
@@ -43,11 +45,14 @@
43
  "Tata brand trust",
44
  "Below-industry-average CSR is the main concern",
45
  "Service standards rated above average; GWP grew from Rs 1,930 cr (FY22) to Rs 3,592 cr (FY25)",
46
- "10,000+ cashless network"
 
47
  ],
48
  "sample_post_urls": [
49
  "https://www.beshak.org/insurance/health-insurance/best-health-insurance-plans/tata-aig-medi-care/",
50
- "https://www.policybazaar.com/health-insurance/companies/aditya-birla-vs-tata-aig/"
 
 
51
  ]
52
  },
53
  "youtube_coverage": {
@@ -56,9 +61,37 @@
56
  "creator": "1Finance",
57
  "video_url": "https://1finance.co.in/product-scoring/health-insurance/tata-aig-medicare",
58
  "verdict": "MediCare scored on product features; recommended for premium segment"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59
  }
60
  ],
61
- "overall_youtube_sentiment": "mixed"
62
  },
63
  "in_news": [
64
  {
@@ -74,6 +107,27 @@
74
  "publication": "Beshak",
75
  "date": "2026-04",
76
  "tone": "neutral"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
77
  }
78
  ],
79
  "aggregate_score": {
@@ -83,11 +137,35 @@
83
  "computed_at": "2026-05-13",
84
  "computation_notes": "0.40*88.72 + 0.20*(100-22) + 0.15*(4.3*20) + 0.10*75 + 0.10*60 + 0.05*100 = 35.5 + 15.6 + 12.9 + 7.5 + 6 + 5 = 82.5. Adjusted to 75.6 reflecting below-industry CSR average comment."
85
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
86
  "_url_verification": {
87
- "verified_at": "2026-05-12T23:57:25Z",
88
- "total_urls": 9,
89
- "ok": 9,
90
- "broken_count": 0,
91
- "broken_urls": []
 
 
 
 
 
 
92
  }
93
  }
 
16
  "policybazaar": {
17
  "avg_star": 4.3,
18
  "review_count": null,
19
+ "url": "https://www.policybazaar.com/insurance-companies/tata-aig-health-insurance/claim-settlement-ratio/",
20
+ "note": "Policybazaar does not surface review-count"
21
  },
22
  "insuredekho": {
23
  "avg_star": 4.4,
 
33
  "trustpilot": {
34
  "score": null,
35
  "review_count": null,
36
+ "url": null,
37
+ "note": "Tata AIG does not have a meaningful Trustpilot review profile. Indian general insurers concentrate review activity on Policybazaar / InsuranceDekho / MouthShut."
38
  },
39
  "reddit_sentiment": {
40
  "subreddit": "IndianFinance / IndiaInvestments",
 
45
  "Tata brand trust",
46
  "Below-industry-average CSR is the main concern",
47
  "Service standards rated above average; GWP grew from Rs 1,930 cr (FY22) to Rs 3,592 cr (FY25)",
48
+ "10,000+ cashless network",
49
+ "Sep 2025: Tata AIG suspended cashless at Max Hospitals (3rd insurer after Star, Niva Bupa); reputation hit"
50
  ],
51
  "sample_post_urls": [
52
  "https://www.beshak.org/insurance/health-insurance/best-health-insurance-plans/tata-aig-medi-care/",
53
+ "https://www.policybazaar.com/health-insurance/companies/aditya-birla-vs-tata-aig/",
54
+ "https://joinditto.in/articles/health-insurance/tata-aig-health-insurance-claim-settlement-ratio/",
55
+ "https://www.indiainvestments.wiki/start-here/insurance-policies/health"
56
  ]
57
  },
58
  "youtube_coverage": {
 
61
  "creator": "1Finance",
62
  "video_url": "https://1finance.co.in/product-scoring/health-insurance/tata-aig-medicare",
63
  "verdict": "MediCare scored on product features; recommended for premium segment"
64
+ },
65
+ {
66
+ "creator": "Ditto Insurance",
67
+ "video_url": "https://www.youtube.com/watch?v=Drg-E3bxekU",
68
+ "video_title": "Tata Medicare Select First Look | Features, Pros, and Add-ons | Ditto Insurance",
69
+ "date": "2025-04-27",
70
+ "verdict": "newest variant (Medicare Select) first-look"
71
+ },
72
+ {
73
+ "creator": "Insurance Impact",
74
+ "video_url": "https://www.youtube.com/watch?v=hNSQlPwFGdY",
75
+ "video_title": "TATA AIG Health Insurance Review (Pros & Cons) | Insurance Impact",
76
+ "date": "2024-12-12",
77
+ "verdict": "balanced pros/cons review"
78
+ },
79
+ {
80
+ "creator": "Gurleen Kaur Tikku / Independent",
81
+ "video_url": "https://www.youtube.com/watch?v=696mpVFVehU",
82
+ "video_title": "TATA AIG Medicare Premier ULTIMATE Review",
83
+ "date": "2024-08-08",
84
+ "verdict": "Premier deep-dive"
85
+ },
86
+ {
87
+ "creator": "Independent",
88
+ "video_url": "https://www.youtube.com/watch?v=VJg8lnc3wwQ",
89
+ "video_title": "TATA AIG Medicare Premier, Plus & Lite Review | Best Maternity Benefit Explained",
90
+ "date": "2025-03-06",
91
+ "verdict": "3-variant comparison; maternity emphasis"
92
  }
93
  ],
94
+ "overall_youtube_sentiment": "mixed-positive"
95
  },
96
  "in_news": [
97
  {
 
107
  "publication": "Beshak",
108
  "date": "2026-04",
109
  "tone": "neutral"
110
+ },
111
+ {
112
+ "headline": "Cashless Claim Settlement Suspended for Tata AIG Policyholders at Max Hospitals: What Patients Should Know",
113
+ "url": "https://www.outlookmoney.com/insurance/cashless-claim-settlement-suspended-for-tata-aig-policyholders-at-max-hospitals-what-patients-should-know",
114
+ "publication": "Outlook Money",
115
+ "date": "2025-09",
116
+ "tone": "negative"
117
+ },
118
+ {
119
+ "headline": "Hospital bill shock: Tata AIG is third insurer to exit Max cashless network",
120
+ "url": "https://www.business-standard.com/finance/personal-finance/hospital-bill-shock-tata-aig-is-third-insurer-to-exit-max-cashless-network-125092800816_1.html",
121
+ "publication": "Business Standard",
122
+ "date": "2025-09-28",
123
+ "tone": "negative"
124
+ },
125
+ {
126
+ "headline": "Tata AIG Launches Health Supercharge Insurance Plan With Enhanced Cover",
127
+ "url": "https://www.outlookbusiness.com/financial-planning/tata-aig-launches-health-supercharge-insurance-plan-with-enhanced-cover",
128
+ "publication": "Outlook Business",
129
+ "date": "2025",
130
+ "tone": "positive"
131
  }
132
  ],
133
  "aggregate_score": {
 
137
  "computed_at": "2026-05-13",
138
  "computation_notes": "0.40*88.72 + 0.20*(100-22) + 0.15*(4.3*20) + 0.10*75 + 0.10*60 + 0.05*100 = 35.5 + 15.6 + 12.9 + 7.5 + 6 + 5 = 82.5. Adjusted to 75.6 reflecting below-industry CSR average comment."
139
  },
140
+ "_data_gaps": {
141
+ "trustpilot": "No meaningful Trustpilot profile - documented",
142
+ "policybazaar_review_count": "Not exposed publicly",
143
+ "reddit_sample_post_urls": "Direct r/IndianFinance / r/IndiaInvestments thread permalinks not surfaced; community proxies used"
144
+ },
145
+ "_research_log": {
146
+ "queries_tried": [
147
+ "Tata AIG MediCare review youtube site:youtube.com 2024",
148
+ "Tata AIG health insurance 2025 news Mint Economic Times",
149
+ "Tata AIG Max hospitals cashless dispute Mint Economic Times"
150
+ ],
151
+ "couldnt_find": [
152
+ "Direct r/IndianFinance / r/IndiaInvestments thread URLs",
153
+ "Trustpilot profile",
154
+ "Aggregator review counts"
155
+ ],
156
+ "added_this_pass": "4 new YouTube URLs (Ditto Medicare Select first-look 2025, Insurance Impact pros/cons 2024, Gurleen Premier Ultimate 2024, MediCare 3-variant Maternity 2025); 3 new news URLs (Outlook Money Max cashless suspended, BS 3rd insurer Max exit, Outlook Business Supercharge launch); 2 community URLs (Ditto article, IndiaInvestments wiki)"
157
+ },
158
  "_url_verification": {
159
+ "verified_at": "2026-05-13T00:26:25Z",
160
+ "total_urls": 17,
161
+ "ok": 12,
162
+ "broken_count": 5,
163
+ "broken_urls": [
164
+ "https://www.youtube.com/watch?v=Drg-E3bxekU",
165
+ "https://www.youtube.com/watch?v=hNSQlPwFGdY",
166
+ "https://www.youtube.com/watch?v=696mpVFVehU",
167
+ "https://www.youtube.com/watch?v=VJg8lnc3wwQ",
168
+ "https://www.business-standard.com/finance/personal-finance/hospital-bill-shock-tata-aig-is-third-insurer-to-exit-max-cashless-network-125092800816_1.html"
169
+ ]
170
  }
171
  }
eval/reviews_url_verification.json CHANGED
@@ -1,22 +1,96 @@
1
  {
2
- "verified_at": "2026-05-12T23:57:25Z",
3
  "per_insurer": {
4
  "aditya-birla": {
5
- "total": 9,
6
- "ok": 9,
7
- "broken": 0,
8
- "broken_list": []
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  },
10
  "bajaj-allianz": {
11
- "total": 11,
12
- "ok": 11,
13
- "broken": 0,
14
- "broken_list": []
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
  },
16
  "care-health": {
17
- "total": 13,
18
- "ok": 11,
19
- "broken": 2,
20
  "broken_list": [
21
  {
22
  "path": "claim_metrics.source_company_url",
@@ -24,31 +98,127 @@
24
  "status": 403,
25
  "error": null
26
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27
  {
28
  "path": "in_news.[1].url",
29
  "url": "https://www.business-standard.com/finance/personal-finance/star-health-care-niva-bupa-record-most-policyholder-complaints-in-fy24-125090100487_1.html",
30
  "status": 403,
31
  "error": null
 
 
 
 
 
 
32
  }
33
  ]
34
  },
35
  "hdfc-ergo": {
36
- "total": 17,
37
- "ok": 16,
38
- "broken": 1,
39
  "broken_list": [
40
  {
41
  "path": "trustpilot.url",
42
  "url": "https://www.trustpilot.com/review/www.hdfcergo.com",
43
  "status": 403,
44
  "error": null
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
45
  }
46
  ]
47
  },
48
  "icici-lombard": {
49
- "total": 10,
50
- "ok": 7,
51
- "broken": 3,
52
  "broken_list": [
53
  {
54
  "path": "claim_metrics.source_company_url",
@@ -56,14 +226,50 @@
56
  "status": 403,
57
  "error": null
58
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59
  {
60
  "path": "in_news.[0].url",
61
- "url": "https://www.icicilombard.com/investor-relations",
62
  "status": 403,
63
  "error": null
64
  },
65
  {
66
  "path": "in_news.[2].url",
 
 
 
 
 
 
 
 
 
 
 
 
67
  "url": "https://www.icicilombard.com/docs/default-source/financial-information/annualreport2024.pdf",
68
  "status": 403,
69
  "error": null
@@ -71,28 +277,95 @@
71
  ]
72
  },
73
  "manipalcigna": {
74
- "total": 8,
75
- "ok": 8,
76
- "broken": 0,
77
- "broken_list": []
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
78
  },
79
  "new-india": {
80
- "total": 8,
81
- "ok": 7,
82
- "broken": 1,
83
  "broken_list": [
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
84
  {
85
  "path": "in_news.[1].url",
86
  "url": "https://www.business-standard.com/companies/news/new-india-assurance-q3fy24-results-net-profit-falls-4-38-to-rs-715-crore-124020901758_1.html",
87
  "status": 403,
88
  "error": null
 
 
 
 
 
 
89
  }
90
  ]
91
  },
92
  "niva-bupa": {
93
- "total": 17,
94
- "ok": 14,
95
- "broken": 3,
96
  "broken_list": [
97
  {
98
  "path": "trustpilot.url",
@@ -100,6 +373,48 @@
100
  "status": 403,
101
  "error": null
102
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
103
  {
104
  "path": "in_news.[0].url",
105
  "url": "https://www.business-standard.com/markets/news/niva-bupa-shares-make-positive-debut-on-bourses-list-at-6-premium-124111400326_1.html",
@@ -108,6 +423,12 @@
108
  },
109
  {
110
  "path": "in_news.[2].url",
 
 
 
 
 
 
111
  "url": "https://www.business-standard.com/finance/personal-finance/star-health-care-niva-bupa-record-most-policyholder-complaints-in-fy24-125090100487_1.html",
112
  "status": 403,
113
  "error": null
@@ -115,9 +436,9 @@
115
  ]
116
  },
117
  "star-health": {
118
- "total": 13,
119
- "ok": 11,
120
- "broken": 2,
121
  "broken_list": [
122
  {
123
  "path": "claim_metrics.source_secondary_url",
@@ -130,18 +451,181 @@
130
  "url": "https://www.trustpilot.com/review/www.starhealth.in",
131
  "status": 403,
132
  "error": null
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
133
  }
134
  ]
135
  },
136
  "tata-aig": {
137
- "total": 9,
138
- "ok": 9,
139
- "broken": 0,
140
- "broken_list": []
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
141
  }
142
  },
143
- "total_urls": 95,
144
  "broken_urls": [
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
145
  {
146
  "insurer": "care-health",
147
  "path": "claim_metrics.source_company_url",
@@ -149,6 +633,48 @@
149
  "status": 403,
150
  "error": null
151
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
152
  {
153
  "insurer": "care-health",
154
  "path": "in_news.[1].url",
@@ -156,6 +682,13 @@
156
  "status": 403,
157
  "error": null
158
  },
 
 
 
 
 
 
 
159
  {
160
  "insurer": "hdfc-ergo",
161
  "path": "trustpilot.url",
@@ -163,6 +696,69 @@
163
  "status": 403,
164
  "error": null
165
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
166
  {
167
  "insurer": "icici-lombard",
168
  "path": "claim_metrics.source_company_url",
@@ -170,20 +766,132 @@
170
  "status": 403,
171
  "error": null
172
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
173
  {
174
  "insurer": "icici-lombard",
175
  "path": "in_news.[0].url",
176
- "url": "https://www.icicilombard.com/investor-relations",
177
  "status": 403,
178
  "error": null
179
  },
180
  {
181
  "insurer": "icici-lombard",
182
  "path": "in_news.[2].url",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
183
  "url": "https://www.icicilombard.com/docs/default-source/financial-information/annualreport2024.pdf",
184
  "status": 403,
185
  "error": null
186
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
187
  {
188
  "insurer": "new-india",
189
  "path": "in_news.[1].url",
@@ -191,6 +899,13 @@
191
  "status": 403,
192
  "error": null
193
  },
 
 
 
 
 
 
 
194
  {
195
  "insurer": "niva-bupa",
196
  "path": "trustpilot.url",
@@ -198,6 +913,55 @@
198
  "status": 403,
199
  "error": null
200
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
201
  {
202
  "insurer": "niva-bupa",
203
  "path": "in_news.[0].url",
@@ -208,6 +972,13 @@
208
  {
209
  "insurer": "niva-bupa",
210
  "path": "in_news.[2].url",
 
 
 
 
 
 
 
211
  "url": "https://www.business-standard.com/finance/personal-finance/star-health-care-niva-bupa-record-most-policyholder-complaints-in-fy24-125090100487_1.html",
212
  "status": 403,
213
  "error": null
@@ -225,7 +996,98 @@
225
  "url": "https://www.trustpilot.com/review/www.starhealth.in",
226
  "status": 403,
227
  "error": null
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
228
  }
229
  ],
230
- "ok_urls": 103
231
  }
 
1
  {
2
+ "verified_at": "2026-05-13T00:26:25Z",
3
  "per_insurer": {
4
  "aditya-birla": {
5
+ "total": 19,
6
+ "ok": 13,
7
+ "broken": 6,
8
+ "broken_list": [
9
+ {
10
+ "path": "youtube_coverage.top_creators_who_reviewed.[0].video_url",
11
+ "url": "https://www.youtube.com/watch?v=d5CIAwrpEdQ",
12
+ "status": 429,
13
+ "error": null
14
+ },
15
+ {
16
+ "path": "youtube_coverage.top_creators_who_reviewed.[1].video_url",
17
+ "url": "https://www.youtube.com/watch?v=Wb0fvhzzJxQ",
18
+ "status": 429,
19
+ "error": null
20
+ },
21
+ {
22
+ "path": "youtube_coverage.top_creators_who_reviewed.[2].video_url",
23
+ "url": "https://www.youtube.com/watch?v=6cIHkBY8Z7k",
24
+ "status": 429,
25
+ "error": null
26
+ },
27
+ {
28
+ "path": "youtube_coverage.top_creators_who_reviewed.[3].video_url",
29
+ "url": "https://www.youtube.com/watch?v=4LTtX0is2GE",
30
+ "status": 429,
31
+ "error": null
32
+ },
33
+ {
34
+ "path": "youtube_coverage.top_creators_who_reviewed.[4].video_url",
35
+ "url": "https://www.youtube.com/watch?v=o5sx-H8_5-M",
36
+ "status": 429,
37
+ "error": null
38
+ },
39
+ {
40
+ "path": "in_news.[3].url",
41
+ "url": "https://www.business-standard.com/finance/insurance/icici-lombard-care-health-aditya-birla-cut-commissions-post-gst-125100101265_1.html",
42
+ "status": 403,
43
+ "error": null
44
+ }
45
+ ]
46
  },
47
  "bajaj-allianz": {
48
+ "total": 21,
49
+ "ok": 15,
50
+ "broken": 6,
51
+ "broken_list": [
52
+ {
53
+ "path": "youtube_coverage.top_creators_who_reviewed.[0].video_url",
54
+ "url": "https://www.youtube.com/watch?v=DWeVo13Y9ms",
55
+ "status": 429,
56
+ "error": null
57
+ },
58
+ {
59
+ "path": "youtube_coverage.top_creators_who_reviewed.[1].video_url",
60
+ "url": "https://www.youtube.com/watch?v=A6KxeOHMPVw",
61
+ "status": 429,
62
+ "error": null
63
+ },
64
+ {
65
+ "path": "youtube_coverage.top_creators_who_reviewed.[2].video_url",
66
+ "url": "https://www.youtube.com/watch?v=d1--TiPtLw4",
67
+ "status": 429,
68
+ "error": null
69
+ },
70
+ {
71
+ "path": "in_news.[2].url",
72
+ "url": "https://www.business-standard.com/finance/personal-finance/why-15-200-hospitals-stopped-cashless-care-for-bajaj-allianz-policyholders-125082500103_1.html",
73
+ "status": 403,
74
+ "error": null
75
+ },
76
+ {
77
+ "path": "in_news.[3].url",
78
+ "url": "https://www.business-standard.com/finance/personal-finance/cashless-crisis-averted-for-bajaj-allianz-customers-money-lessons-for-you-125090100132_1.html",
79
+ "status": 403,
80
+ "error": null
81
+ },
82
+ {
83
+ "path": "in_news.[5].url",
84
+ "url": "https://www.business-standard.com/content/press-releases-ani/bajaj-allianz-launches-state-wise-health-insurance-policies-tailored-to-regional-needs-125061901143_1.html",
85
+ "status": 403,
86
+ "error": null
87
+ }
88
+ ]
89
  },
90
  "care-health": {
91
+ "total": 21,
92
+ "ok": 12,
93
+ "broken": 9,
94
  "broken_list": [
95
  {
96
  "path": "claim_metrics.source_company_url",
 
98
  "status": 403,
99
  "error": null
100
  },
101
+ {
102
+ "path": "reddit_sentiment.sample_post_urls.[2]",
103
+ "url": "https://www.quora.com/What-are-peoples-opinions-on-Care-Indias-health-insurance",
104
+ "status": 403,
105
+ "error": null
106
+ },
107
+ {
108
+ "path": "youtube_coverage.top_creators_who_reviewed.[0].video_url",
109
+ "url": "https://www.youtube.com/watch?v=2_EhrtJhn44",
110
+ "status": 429,
111
+ "error": null
112
+ },
113
+ {
114
+ "path": "youtube_coverage.top_creators_who_reviewed.[1].video_url",
115
+ "url": "https://www.youtube.com/watch?v=1rRvcVkcQVw",
116
+ "status": 429,
117
+ "error": null
118
+ },
119
+ {
120
+ "path": "youtube_coverage.top_creators_who_reviewed.[2].video_url",
121
+ "url": "https://www.youtube.com/watch?v=gnJyocoSiMA",
122
+ "status": 429,
123
+ "error": null
124
+ },
125
+ {
126
+ "path": "youtube_coverage.top_creators_who_reviewed.[3].video_url",
127
+ "url": "https://www.youtube.com/watch?v=21jT3Ji-SOI",
128
+ "status": 429,
129
+ "error": null
130
+ },
131
+ {
132
+ "path": "youtube_coverage.top_creators_who_reviewed.[4].video_url",
133
+ "url": "https://www.youtube.com/watch?v=AN8o2zGDJ5w",
134
+ "status": 429,
135
+ "error": null
136
+ },
137
  {
138
  "path": "in_news.[1].url",
139
  "url": "https://www.business-standard.com/finance/personal-finance/star-health-care-niva-bupa-record-most-policyholder-complaints-in-fy24-125090100487_1.html",
140
  "status": 403,
141
  "error": null
142
+ },
143
+ {
144
+ "path": "in_news.[3].url",
145
+ "url": "https://www.business-standard.com/finance/insurance/icici-lombard-care-health-aditya-birla-cut-commissions-post-gst-125100101265_1.html",
146
+ "status": 403,
147
+ "error": null
148
  }
149
  ]
150
  },
151
  "hdfc-ergo": {
152
+ "total": 25,
153
+ "ok": 15,
154
+ "broken": 10,
155
  "broken_list": [
156
  {
157
  "path": "trustpilot.url",
158
  "url": "https://www.trustpilot.com/review/www.hdfcergo.com",
159
  "status": 403,
160
  "error": null
161
+ },
162
+ {
163
+ "path": "reddit_sentiment.sample_post_urls.[0]",
164
+ "url": "https://www.quora.com/Have-you-ever-made-any-claim-against-HDFC-Ergo-health-insurance-and-was-it-a-good-experience",
165
+ "status": 403,
166
+ "error": null
167
+ },
168
+ {
169
+ "path": "youtube_coverage.top_creators_who_reviewed.[0].video_url",
170
+ "url": "https://www.youtube.com/watch?v=R4ehMh3z9UA",
171
+ "status": 429,
172
+ "error": null
173
+ },
174
+ {
175
+ "path": "youtube_coverage.top_creators_who_reviewed.[1].video_url",
176
+ "url": "https://www.youtube.com/watch?v=Ozq71VRTZUA",
177
+ "status": 429,
178
+ "error": null
179
+ },
180
+ {
181
+ "path": "youtube_coverage.top_creators_who_reviewed.[2].video_url",
182
+ "url": "https://www.youtube.com/watch?v=2_EhrtJhn44",
183
+ "status": 429,
184
+ "error": null
185
+ },
186
+ {
187
+ "path": "youtube_coverage.top_creators_who_reviewed.[3].video_url",
188
+ "url": "https://www.youtube.com/watch?v=i3xMZGMstzE",
189
+ "status": 429,
190
+ "error": null
191
+ },
192
+ {
193
+ "path": "youtube_coverage.top_creators_who_reviewed.[4].video_url",
194
+ "url": "https://www.youtube.com/watch?v=YEMmxjbl2Yw",
195
+ "status": 429,
196
+ "error": null
197
+ },
198
+ {
199
+ "path": "youtube_coverage.top_creators_who_reviewed.[5].video_url",
200
+ "url": "https://www.youtube.com/watch?v=1BUFoq5jbmQ",
201
+ "status": 429,
202
+ "error": null
203
+ },
204
+ {
205
+ "path": "youtube_coverage.top_creators_who_reviewed.[6].video_url",
206
+ "url": "https://www.youtube.com/watch?v=EDZ74XMFirI",
207
+ "status": 429,
208
+ "error": null
209
+ },
210
+ {
211
+ "path": "in_news.[0].url",
212
+ "url": "https://www.goodreturns.in/news/hdfc-ergo-aims-to-maintain-premium-growth-2024-25-011-1392211.html",
213
+ "status": 403,
214
+ "error": null
215
  }
216
  ]
217
  },
218
  "icici-lombard": {
219
+ "total": 21,
220
+ "ok": 12,
221
+ "broken": 9,
222
  "broken_list": [
223
  {
224
  "path": "claim_metrics.source_company_url",
 
226
  "status": 403,
227
  "error": null
228
  },
229
+ {
230
+ "path": "youtube_coverage.top_creators_who_reviewed.[1].video_url",
231
+ "url": "https://www.youtube.com/watch?v=0EJI00BQqCA",
232
+ "status": 429,
233
+ "error": null
234
+ },
235
+ {
236
+ "path": "youtube_coverage.top_creators_who_reviewed.[2].video_url",
237
+ "url": "https://www.youtube.com/watch?v=TjvNNK62oyE",
238
+ "status": 429,
239
+ "error": null
240
+ },
241
+ {
242
+ "path": "youtube_coverage.top_creators_who_reviewed.[3].video_url",
243
+ "url": "https://www.youtube.com/watch?v=ca2bRF_JoLI",
244
+ "status": 429,
245
+ "error": null
246
+ },
247
+ {
248
+ "path": "youtube_coverage.top_creators_who_reviewed.[4].video_url",
249
+ "url": "https://www.youtube.com/watch?v=ve6sHV2BCM8",
250
+ "status": 429,
251
+ "error": null
252
+ },
253
  {
254
  "path": "in_news.[0].url",
255
+ "url": "https://www.business-standard.com/companies/quarterly-results/icici-lombard-net-profit-up-29-in-q1fy26-125071501318_1.html",
256
  "status": 403,
257
  "error": null
258
  },
259
  {
260
  "path": "in_news.[2].url",
261
+ "url": "https://www.business-standard.com/finance/insurance/icici-lombard-care-health-aditya-birla-cut-commissions-post-gst-125100101265_1.html",
262
+ "status": 403,
263
+ "error": null
264
+ },
265
+ {
266
+ "path": "_url_verification.broken_urls.[1]",
267
+ "url": "https://www.icicilombard.com/investor-relations",
268
+ "status": 403,
269
+ "error": null
270
+ },
271
+ {
272
+ "path": "_url_verification.broken_urls.[2]",
273
  "url": "https://www.icicilombard.com/docs/default-source/financial-information/annualreport2024.pdf",
274
  "status": 403,
275
  "error": null
 
277
  ]
278
  },
279
  "manipalcigna": {
280
+ "total": 17,
281
+ "ok": 11,
282
+ "broken": 6,
283
+ "broken_list": [
284
+ {
285
+ "path": "reddit_sentiment.sample_post_urls.[2]",
286
+ "url": "https://joinditto.in/articles/health-insurance/manipal-cigna-health-insurance-plans-2026/",
287
+ "status": 404,
288
+ "error": null
289
+ },
290
+ {
291
+ "path": "youtube_coverage.top_creators_who_reviewed.[0].video_url",
292
+ "url": "https://www.youtube.com/watch?v=Yb6zub6V-LY",
293
+ "status": 429,
294
+ "error": null
295
+ },
296
+ {
297
+ "path": "youtube_coverage.top_creators_who_reviewed.[1].video_url",
298
+ "url": "https://www.youtube.com/watch?v=DzhGiVxJPKQ",
299
+ "status": 429,
300
+ "error": null
301
+ },
302
+ {
303
+ "path": "youtube_coverage.top_creators_who_reviewed.[2].video_url",
304
+ "url": "https://www.youtube.com/watch?v=jUNmj0lKKjs",
305
+ "status": 429,
306
+ "error": null
307
+ },
308
+ {
309
+ "path": "youtube_coverage.top_creators_who_reviewed.[3].video_url",
310
+ "url": "https://www.youtube.com/watch?v=uiANfhN1kyM",
311
+ "status": 429,
312
+ "error": null
313
+ },
314
+ {
315
+ "path": "in_news.[2].url",
316
+ "url": "https://www.business-standard.com/content/press-releases-ani/manipalcigna-launches-sarvah-the-complete-health-insurance-plan-with-special-focus-on-bharat-s-missing-middle-124101900282_1.html",
317
+ "status": 403,
318
+ "error": null
319
+ }
320
+ ]
321
  },
322
  "new-india": {
323
+ "total": 15,
324
+ "ok": 9,
325
+ "broken": 6,
326
  "broken_list": [
327
+ {
328
+ "path": "youtube_coverage.top_creators_who_reviewed.[0].video_url",
329
+ "url": "https://www.youtube.com/watch?v=OE_844nkUDE",
330
+ "status": 429,
331
+ "error": null
332
+ },
333
+ {
334
+ "path": "youtube_coverage.top_creators_who_reviewed.[1].video_url",
335
+ "url": "https://www.youtube.com/watch?v=f27o4K47nKU",
336
+ "status": 429,
337
+ "error": null
338
+ },
339
+ {
340
+ "path": "youtube_coverage.top_creators_who_reviewed.[2].video_url",
341
+ "url": "https://www.youtube.com/watch?v=7um6_5Zmt0M",
342
+ "status": 429,
343
+ "error": null
344
+ },
345
+ {
346
+ "path": "youtube_coverage.top_creators_who_reviewed.[3].video_url",
347
+ "url": "https://www.youtube.com/watch?v=IOlBJxGwraU",
348
+ "status": 429,
349
+ "error": null
350
+ },
351
  {
352
  "path": "in_news.[1].url",
353
  "url": "https://www.business-standard.com/companies/news/new-india-assurance-q3fy24-results-net-profit-falls-4-38-to-rs-715-crore-124020901758_1.html",
354
  "status": 403,
355
  "error": null
356
+ },
357
+ {
358
+ "path": "in_news.[3].url",
359
+ "url": "https://www.business-standard.com/finance/insurance/new-india-assurance-increases-premiums-on-health-insurance-by-10-124073001522_1.html",
360
+ "status": 403,
361
+ "error": null
362
  }
363
  ]
364
  },
365
  "niva-bupa": {
366
+ "total": 27,
367
+ "ok": 16,
368
+ "broken": 11,
369
  "broken_list": [
370
  {
371
  "path": "trustpilot.url",
 
373
  "status": 403,
374
  "error": null
375
  },
376
+ {
377
+ "path": "reddit_sentiment.sample_post_urls.[0]",
378
+ "url": "https://www.quora.com/Has-anyone-taken-Niva-Bupa-health-insurance-in-India-How-reliable-is-it",
379
+ "status": 403,
380
+ "error": null
381
+ },
382
+ {
383
+ "path": "youtube_coverage.top_creators_who_reviewed.[0].video_url",
384
+ "url": "https://www.youtube.com/watch?v=U1kNh-rRuXo",
385
+ "status": 429,
386
+ "error": null
387
+ },
388
+ {
389
+ "path": "youtube_coverage.top_creators_who_reviewed.[1].video_url",
390
+ "url": "https://www.youtube.com/watch?v=2_EhrtJhn44",
391
+ "status": 429,
392
+ "error": null
393
+ },
394
+ {
395
+ "path": "youtube_coverage.top_creators_who_reviewed.[2].video_url",
396
+ "url": "https://www.youtube.com/watch?v=ZjjIteHHGqI",
397
+ "status": 429,
398
+ "error": null
399
+ },
400
+ {
401
+ "path": "youtube_coverage.top_creators_who_reviewed.[3].video_url",
402
+ "url": "https://www.youtube.com/watch?v=892Pbg3XNg4",
403
+ "status": 429,
404
+ "error": null
405
+ },
406
+ {
407
+ "path": "youtube_coverage.top_creators_who_reviewed.[4].video_url",
408
+ "url": "https://www.youtube.com/watch?v=1BUFoq5jbmQ",
409
+ "status": 429,
410
+ "error": null
411
+ },
412
+ {
413
+ "path": "youtube_coverage.top_creators_who_reviewed.[5].video_url",
414
+ "url": "https://www.youtube.com/watch?v=EDZ74XMFirI",
415
+ "status": 429,
416
+ "error": null
417
+ },
418
  {
419
  "path": "in_news.[0].url",
420
  "url": "https://www.business-standard.com/markets/news/niva-bupa-shares-make-positive-debut-on-bourses-list-at-6-premium-124111400326_1.html",
 
423
  },
424
  {
425
  "path": "in_news.[2].url",
426
+ "url": "https://www.business-standard.com/finance/personal-finance/insurance-firm-faces-social-media-backlash-over-61-lakh-claim-denial-125090101059_1.html",
427
+ "status": 403,
428
+ "error": null
429
+ },
430
+ {
431
+ "path": "in_news.[6].url",
432
  "url": "https://www.business-standard.com/finance/personal-finance/star-health-care-niva-bupa-record-most-policyholder-complaints-in-fy24-125090100487_1.html",
433
  "status": 403,
434
  "error": null
 
436
  ]
437
  },
438
  "star-health": {
439
+ "total": 20,
440
+ "ok": 10,
441
+ "broken": 10,
442
  "broken_list": [
443
  {
444
  "path": "claim_metrics.source_secondary_url",
 
451
  "url": "https://www.trustpilot.com/review/www.starhealth.in",
452
  "status": 403,
453
  "error": null
454
+ },
455
+ {
456
+ "path": "reddit_sentiment.sample_post_urls.[0]",
457
+ "url": "https://www.quora.com/Is-Star-Health-Insurance-good-Has-anybody-experienced-problems-in-claim-settlement",
458
+ "status": 403,
459
+ "error": null
460
+ },
461
+ {
462
+ "path": "reddit_sentiment.sample_post_urls.[3]",
463
+ "url": "https://www.quora.com/Is-Star-Health-Insurance-a-good-company",
464
+ "status": 403,
465
+ "error": null
466
+ },
467
+ {
468
+ "path": "youtube_coverage.top_creators_who_reviewed.[0].video_url",
469
+ "url": "https://www.youtube.com/watch?v=k5ZltTqzSrY",
470
+ "status": 429,
471
+ "error": null
472
+ },
473
+ {
474
+ "path": "youtube_coverage.top_creators_who_reviewed.[1].video_url",
475
+ "url": "https://www.youtube.com/watch?v=_U81lPwqsk4",
476
+ "status": 429,
477
+ "error": null
478
+ },
479
+ {
480
+ "path": "youtube_coverage.top_creators_who_reviewed.[2].video_url",
481
+ "url": "https://www.youtube.com/watch?v=j1YBBmt7VZI",
482
+ "status": 429,
483
+ "error": null
484
+ },
485
+ {
486
+ "path": "youtube_coverage.top_creators_who_reviewed.[3].video_url",
487
+ "url": "https://www.youtube.com/watch?v=Vs4OjCEU_gc",
488
+ "status": 429,
489
+ "error": null
490
+ },
491
+ {
492
+ "path": "in_news.[1].url",
493
+ "url": "https://www.business-standard.com/finance/insurance/irdai-issues-show-cause-notice-to-star-health-for-violating-norms-124120601299_1.html",
494
+ "status": 403,
495
+ "error": null
496
+ },
497
+ {
498
+ "path": "in_news.[2].url",
499
+ "url": "https://www.business-standard.com/markets/news/star-health-drops-5-as-irdai-issues-show-cause-notice-for-violating-norms-124120900239_1.html",
500
+ "status": 403,
501
+ "error": null
502
  }
503
  ]
504
  },
505
  "tata-aig": {
506
+ "total": 17,
507
+ "ok": 12,
508
+ "broken": 5,
509
+ "broken_list": [
510
+ {
511
+ "path": "youtube_coverage.top_creators_who_reviewed.[1].video_url",
512
+ "url": "https://www.youtube.com/watch?v=Drg-E3bxekU",
513
+ "status": 429,
514
+ "error": null
515
+ },
516
+ {
517
+ "path": "youtube_coverage.top_creators_who_reviewed.[2].video_url",
518
+ "url": "https://www.youtube.com/watch?v=hNSQlPwFGdY",
519
+ "status": 429,
520
+ "error": null
521
+ },
522
+ {
523
+ "path": "youtube_coverage.top_creators_who_reviewed.[3].video_url",
524
+ "url": "https://www.youtube.com/watch?v=696mpVFVehU",
525
+ "status": 429,
526
+ "error": null
527
+ },
528
+ {
529
+ "path": "youtube_coverage.top_creators_who_reviewed.[4].video_url",
530
+ "url": "https://www.youtube.com/watch?v=VJg8lnc3wwQ",
531
+ "status": 429,
532
+ "error": null
533
+ },
534
+ {
535
+ "path": "in_news.[3].url",
536
+ "url": "https://www.business-standard.com/finance/personal-finance/hospital-bill-shock-tata-aig-is-third-insurer-to-exit-max-cashless-network-125092800816_1.html",
537
+ "status": 403,
538
+ "error": null
539
+ }
540
+ ]
541
  }
542
  },
543
+ "total_urls": 172,
544
  "broken_urls": [
545
+ {
546
+ "insurer": "aditya-birla",
547
+ "path": "youtube_coverage.top_creators_who_reviewed.[0].video_url",
548
+ "url": "https://www.youtube.com/watch?v=d5CIAwrpEdQ",
549
+ "status": 429,
550
+ "error": null
551
+ },
552
+ {
553
+ "insurer": "aditya-birla",
554
+ "path": "youtube_coverage.top_creators_who_reviewed.[1].video_url",
555
+ "url": "https://www.youtube.com/watch?v=Wb0fvhzzJxQ",
556
+ "status": 429,
557
+ "error": null
558
+ },
559
+ {
560
+ "insurer": "aditya-birla",
561
+ "path": "youtube_coverage.top_creators_who_reviewed.[2].video_url",
562
+ "url": "https://www.youtube.com/watch?v=6cIHkBY8Z7k",
563
+ "status": 429,
564
+ "error": null
565
+ },
566
+ {
567
+ "insurer": "aditya-birla",
568
+ "path": "youtube_coverage.top_creators_who_reviewed.[3].video_url",
569
+ "url": "https://www.youtube.com/watch?v=4LTtX0is2GE",
570
+ "status": 429,
571
+ "error": null
572
+ },
573
+ {
574
+ "insurer": "aditya-birla",
575
+ "path": "youtube_coverage.top_creators_who_reviewed.[4].video_url",
576
+ "url": "https://www.youtube.com/watch?v=o5sx-H8_5-M",
577
+ "status": 429,
578
+ "error": null
579
+ },
580
+ {
581
+ "insurer": "aditya-birla",
582
+ "path": "in_news.[3].url",
583
+ "url": "https://www.business-standard.com/finance/insurance/icici-lombard-care-health-aditya-birla-cut-commissions-post-gst-125100101265_1.html",
584
+ "status": 403,
585
+ "error": null
586
+ },
587
+ {
588
+ "insurer": "bajaj-allianz",
589
+ "path": "youtube_coverage.top_creators_who_reviewed.[0].video_url",
590
+ "url": "https://www.youtube.com/watch?v=DWeVo13Y9ms",
591
+ "status": 429,
592
+ "error": null
593
+ },
594
+ {
595
+ "insurer": "bajaj-allianz",
596
+ "path": "youtube_coverage.top_creators_who_reviewed.[1].video_url",
597
+ "url": "https://www.youtube.com/watch?v=A6KxeOHMPVw",
598
+ "status": 429,
599
+ "error": null
600
+ },
601
+ {
602
+ "insurer": "bajaj-allianz",
603
+ "path": "youtube_coverage.top_creators_who_reviewed.[2].video_url",
604
+ "url": "https://www.youtube.com/watch?v=d1--TiPtLw4",
605
+ "status": 429,
606
+ "error": null
607
+ },
608
+ {
609
+ "insurer": "bajaj-allianz",
610
+ "path": "in_news.[2].url",
611
+ "url": "https://www.business-standard.com/finance/personal-finance/why-15-200-hospitals-stopped-cashless-care-for-bajaj-allianz-policyholders-125082500103_1.html",
612
+ "status": 403,
613
+ "error": null
614
+ },
615
+ {
616
+ "insurer": "bajaj-allianz",
617
+ "path": "in_news.[3].url",
618
+ "url": "https://www.business-standard.com/finance/personal-finance/cashless-crisis-averted-for-bajaj-allianz-customers-money-lessons-for-you-125090100132_1.html",
619
+ "status": 403,
620
+ "error": null
621
+ },
622
+ {
623
+ "insurer": "bajaj-allianz",
624
+ "path": "in_news.[5].url",
625
+ "url": "https://www.business-standard.com/content/press-releases-ani/bajaj-allianz-launches-state-wise-health-insurance-policies-tailored-to-regional-needs-125061901143_1.html",
626
+ "status": 403,
627
+ "error": null
628
+ },
629
  {
630
  "insurer": "care-health",
631
  "path": "claim_metrics.source_company_url",
 
633
  "status": 403,
634
  "error": null
635
  },
636
+ {
637
+ "insurer": "care-health",
638
+ "path": "reddit_sentiment.sample_post_urls.[2]",
639
+ "url": "https://www.quora.com/What-are-peoples-opinions-on-Care-Indias-health-insurance",
640
+ "status": 403,
641
+ "error": null
642
+ },
643
+ {
644
+ "insurer": "care-health",
645
+ "path": "youtube_coverage.top_creators_who_reviewed.[0].video_url",
646
+ "url": "https://www.youtube.com/watch?v=2_EhrtJhn44",
647
+ "status": 429,
648
+ "error": null
649
+ },
650
+ {
651
+ "insurer": "care-health",
652
+ "path": "youtube_coverage.top_creators_who_reviewed.[1].video_url",
653
+ "url": "https://www.youtube.com/watch?v=1rRvcVkcQVw",
654
+ "status": 429,
655
+ "error": null
656
+ },
657
+ {
658
+ "insurer": "care-health",
659
+ "path": "youtube_coverage.top_creators_who_reviewed.[2].video_url",
660
+ "url": "https://www.youtube.com/watch?v=gnJyocoSiMA",
661
+ "status": 429,
662
+ "error": null
663
+ },
664
+ {
665
+ "insurer": "care-health",
666
+ "path": "youtube_coverage.top_creators_who_reviewed.[3].video_url",
667
+ "url": "https://www.youtube.com/watch?v=21jT3Ji-SOI",
668
+ "status": 429,
669
+ "error": null
670
+ },
671
+ {
672
+ "insurer": "care-health",
673
+ "path": "youtube_coverage.top_creators_who_reviewed.[4].video_url",
674
+ "url": "https://www.youtube.com/watch?v=AN8o2zGDJ5w",
675
+ "status": 429,
676
+ "error": null
677
+ },
678
  {
679
  "insurer": "care-health",
680
  "path": "in_news.[1].url",
 
682
  "status": 403,
683
  "error": null
684
  },
685
+ {
686
+ "insurer": "care-health",
687
+ "path": "in_news.[3].url",
688
+ "url": "https://www.business-standard.com/finance/insurance/icici-lombard-care-health-aditya-birla-cut-commissions-post-gst-125100101265_1.html",
689
+ "status": 403,
690
+ "error": null
691
+ },
692
  {
693
  "insurer": "hdfc-ergo",
694
  "path": "trustpilot.url",
 
696
  "status": 403,
697
  "error": null
698
  },
699
+ {
700
+ "insurer": "hdfc-ergo",
701
+ "path": "reddit_sentiment.sample_post_urls.[0]",
702
+ "url": "https://www.quora.com/Have-you-ever-made-any-claim-against-HDFC-Ergo-health-insurance-and-was-it-a-good-experience",
703
+ "status": 403,
704
+ "error": null
705
+ },
706
+ {
707
+ "insurer": "hdfc-ergo",
708
+ "path": "youtube_coverage.top_creators_who_reviewed.[0].video_url",
709
+ "url": "https://www.youtube.com/watch?v=R4ehMh3z9UA",
710
+ "status": 429,
711
+ "error": null
712
+ },
713
+ {
714
+ "insurer": "hdfc-ergo",
715
+ "path": "youtube_coverage.top_creators_who_reviewed.[1].video_url",
716
+ "url": "https://www.youtube.com/watch?v=Ozq71VRTZUA",
717
+ "status": 429,
718
+ "error": null
719
+ },
720
+ {
721
+ "insurer": "hdfc-ergo",
722
+ "path": "youtube_coverage.top_creators_who_reviewed.[2].video_url",
723
+ "url": "https://www.youtube.com/watch?v=2_EhrtJhn44",
724
+ "status": 429,
725
+ "error": null
726
+ },
727
+ {
728
+ "insurer": "hdfc-ergo",
729
+ "path": "youtube_coverage.top_creators_who_reviewed.[3].video_url",
730
+ "url": "https://www.youtube.com/watch?v=i3xMZGMstzE",
731
+ "status": 429,
732
+ "error": null
733
+ },
734
+ {
735
+ "insurer": "hdfc-ergo",
736
+ "path": "youtube_coverage.top_creators_who_reviewed.[4].video_url",
737
+ "url": "https://www.youtube.com/watch?v=YEMmxjbl2Yw",
738
+ "status": 429,
739
+ "error": null
740
+ },
741
+ {
742
+ "insurer": "hdfc-ergo",
743
+ "path": "youtube_coverage.top_creators_who_reviewed.[5].video_url",
744
+ "url": "https://www.youtube.com/watch?v=1BUFoq5jbmQ",
745
+ "status": 429,
746
+ "error": null
747
+ },
748
+ {
749
+ "insurer": "hdfc-ergo",
750
+ "path": "youtube_coverage.top_creators_who_reviewed.[6].video_url",
751
+ "url": "https://www.youtube.com/watch?v=EDZ74XMFirI",
752
+ "status": 429,
753
+ "error": null
754
+ },
755
+ {
756
+ "insurer": "hdfc-ergo",
757
+ "path": "in_news.[0].url",
758
+ "url": "https://www.goodreturns.in/news/hdfc-ergo-aims-to-maintain-premium-growth-2024-25-011-1392211.html",
759
+ "status": 403,
760
+ "error": null
761
+ },
762
  {
763
  "insurer": "icici-lombard",
764
  "path": "claim_metrics.source_company_url",
 
766
  "status": 403,
767
  "error": null
768
  },
769
+ {
770
+ "insurer": "icici-lombard",
771
+ "path": "youtube_coverage.top_creators_who_reviewed.[1].video_url",
772
+ "url": "https://www.youtube.com/watch?v=0EJI00BQqCA",
773
+ "status": 429,
774
+ "error": null
775
+ },
776
+ {
777
+ "insurer": "icici-lombard",
778
+ "path": "youtube_coverage.top_creators_who_reviewed.[2].video_url",
779
+ "url": "https://www.youtube.com/watch?v=TjvNNK62oyE",
780
+ "status": 429,
781
+ "error": null
782
+ },
783
+ {
784
+ "insurer": "icici-lombard",
785
+ "path": "youtube_coverage.top_creators_who_reviewed.[3].video_url",
786
+ "url": "https://www.youtube.com/watch?v=ca2bRF_JoLI",
787
+ "status": 429,
788
+ "error": null
789
+ },
790
+ {
791
+ "insurer": "icici-lombard",
792
+ "path": "youtube_coverage.top_creators_who_reviewed.[4].video_url",
793
+ "url": "https://www.youtube.com/watch?v=ve6sHV2BCM8",
794
+ "status": 429,
795
+ "error": null
796
+ },
797
  {
798
  "insurer": "icici-lombard",
799
  "path": "in_news.[0].url",
800
+ "url": "https://www.business-standard.com/companies/quarterly-results/icici-lombard-net-profit-up-29-in-q1fy26-125071501318_1.html",
801
  "status": 403,
802
  "error": null
803
  },
804
  {
805
  "insurer": "icici-lombard",
806
  "path": "in_news.[2].url",
807
+ "url": "https://www.business-standard.com/finance/insurance/icici-lombard-care-health-aditya-birla-cut-commissions-post-gst-125100101265_1.html",
808
+ "status": 403,
809
+ "error": null
810
+ },
811
+ {
812
+ "insurer": "icici-lombard",
813
+ "path": "_url_verification.broken_urls.[1]",
814
+ "url": "https://www.icicilombard.com/investor-relations",
815
+ "status": 403,
816
+ "error": null
817
+ },
818
+ {
819
+ "insurer": "icici-lombard",
820
+ "path": "_url_verification.broken_urls.[2]",
821
  "url": "https://www.icicilombard.com/docs/default-source/financial-information/annualreport2024.pdf",
822
  "status": 403,
823
  "error": null
824
  },
825
+ {
826
+ "insurer": "manipalcigna",
827
+ "path": "reddit_sentiment.sample_post_urls.[2]",
828
+ "url": "https://joinditto.in/articles/health-insurance/manipal-cigna-health-insurance-plans-2026/",
829
+ "status": 404,
830
+ "error": null
831
+ },
832
+ {
833
+ "insurer": "manipalcigna",
834
+ "path": "youtube_coverage.top_creators_who_reviewed.[0].video_url",
835
+ "url": "https://www.youtube.com/watch?v=Yb6zub6V-LY",
836
+ "status": 429,
837
+ "error": null
838
+ },
839
+ {
840
+ "insurer": "manipalcigna",
841
+ "path": "youtube_coverage.top_creators_who_reviewed.[1].video_url",
842
+ "url": "https://www.youtube.com/watch?v=DzhGiVxJPKQ",
843
+ "status": 429,
844
+ "error": null
845
+ },
846
+ {
847
+ "insurer": "manipalcigna",
848
+ "path": "youtube_coverage.top_creators_who_reviewed.[2].video_url",
849
+ "url": "https://www.youtube.com/watch?v=jUNmj0lKKjs",
850
+ "status": 429,
851
+ "error": null
852
+ },
853
+ {
854
+ "insurer": "manipalcigna",
855
+ "path": "youtube_coverage.top_creators_who_reviewed.[3].video_url",
856
+ "url": "https://www.youtube.com/watch?v=uiANfhN1kyM",
857
+ "status": 429,
858
+ "error": null
859
+ },
860
+ {
861
+ "insurer": "manipalcigna",
862
+ "path": "in_news.[2].url",
863
+ "url": "https://www.business-standard.com/content/press-releases-ani/manipalcigna-launches-sarvah-the-complete-health-insurance-plan-with-special-focus-on-bharat-s-missing-middle-124101900282_1.html",
864
+ "status": 403,
865
+ "error": null
866
+ },
867
+ {
868
+ "insurer": "new-india",
869
+ "path": "youtube_coverage.top_creators_who_reviewed.[0].video_url",
870
+ "url": "https://www.youtube.com/watch?v=OE_844nkUDE",
871
+ "status": 429,
872
+ "error": null
873
+ },
874
+ {
875
+ "insurer": "new-india",
876
+ "path": "youtube_coverage.top_creators_who_reviewed.[1].video_url",
877
+ "url": "https://www.youtube.com/watch?v=f27o4K47nKU",
878
+ "status": 429,
879
+ "error": null
880
+ },
881
+ {
882
+ "insurer": "new-india",
883
+ "path": "youtube_coverage.top_creators_who_reviewed.[2].video_url",
884
+ "url": "https://www.youtube.com/watch?v=7um6_5Zmt0M",
885
+ "status": 429,
886
+ "error": null
887
+ },
888
+ {
889
+ "insurer": "new-india",
890
+ "path": "youtube_coverage.top_creators_who_reviewed.[3].video_url",
891
+ "url": "https://www.youtube.com/watch?v=IOlBJxGwraU",
892
+ "status": 429,
893
+ "error": null
894
+ },
895
  {
896
  "insurer": "new-india",
897
  "path": "in_news.[1].url",
 
899
  "status": 403,
900
  "error": null
901
  },
902
+ {
903
+ "insurer": "new-india",
904
+ "path": "in_news.[3].url",
905
+ "url": "https://www.business-standard.com/finance/insurance/new-india-assurance-increases-premiums-on-health-insurance-by-10-124073001522_1.html",
906
+ "status": 403,
907
+ "error": null
908
+ },
909
  {
910
  "insurer": "niva-bupa",
911
  "path": "trustpilot.url",
 
913
  "status": 403,
914
  "error": null
915
  },
916
+ {
917
+ "insurer": "niva-bupa",
918
+ "path": "reddit_sentiment.sample_post_urls.[0]",
919
+ "url": "https://www.quora.com/Has-anyone-taken-Niva-Bupa-health-insurance-in-India-How-reliable-is-it",
920
+ "status": 403,
921
+ "error": null
922
+ },
923
+ {
924
+ "insurer": "niva-bupa",
925
+ "path": "youtube_coverage.top_creators_who_reviewed.[0].video_url",
926
+ "url": "https://www.youtube.com/watch?v=U1kNh-rRuXo",
927
+ "status": 429,
928
+ "error": null
929
+ },
930
+ {
931
+ "insurer": "niva-bupa",
932
+ "path": "youtube_coverage.top_creators_who_reviewed.[1].video_url",
933
+ "url": "https://www.youtube.com/watch?v=2_EhrtJhn44",
934
+ "status": 429,
935
+ "error": null
936
+ },
937
+ {
938
+ "insurer": "niva-bupa",
939
+ "path": "youtube_coverage.top_creators_who_reviewed.[2].video_url",
940
+ "url": "https://www.youtube.com/watch?v=ZjjIteHHGqI",
941
+ "status": 429,
942
+ "error": null
943
+ },
944
+ {
945
+ "insurer": "niva-bupa",
946
+ "path": "youtube_coverage.top_creators_who_reviewed.[3].video_url",
947
+ "url": "https://www.youtube.com/watch?v=892Pbg3XNg4",
948
+ "status": 429,
949
+ "error": null
950
+ },
951
+ {
952
+ "insurer": "niva-bupa",
953
+ "path": "youtube_coverage.top_creators_who_reviewed.[4].video_url",
954
+ "url": "https://www.youtube.com/watch?v=1BUFoq5jbmQ",
955
+ "status": 429,
956
+ "error": null
957
+ },
958
+ {
959
+ "insurer": "niva-bupa",
960
+ "path": "youtube_coverage.top_creators_who_reviewed.[5].video_url",
961
+ "url": "https://www.youtube.com/watch?v=EDZ74XMFirI",
962
+ "status": 429,
963
+ "error": null
964
+ },
965
  {
966
  "insurer": "niva-bupa",
967
  "path": "in_news.[0].url",
 
972
  {
973
  "insurer": "niva-bupa",
974
  "path": "in_news.[2].url",
975
+ "url": "https://www.business-standard.com/finance/personal-finance/insurance-firm-faces-social-media-backlash-over-61-lakh-claim-denial-125090101059_1.html",
976
+ "status": 403,
977
+ "error": null
978
+ },
979
+ {
980
+ "insurer": "niva-bupa",
981
+ "path": "in_news.[6].url",
982
  "url": "https://www.business-standard.com/finance/personal-finance/star-health-care-niva-bupa-record-most-policyholder-complaints-in-fy24-125090100487_1.html",
983
  "status": 403,
984
  "error": null
 
996
  "url": "https://www.trustpilot.com/review/www.starhealth.in",
997
  "status": 403,
998
  "error": null
999
+ },
1000
+ {
1001
+ "insurer": "star-health",
1002
+ "path": "reddit_sentiment.sample_post_urls.[0]",
1003
+ "url": "https://www.quora.com/Is-Star-Health-Insurance-good-Has-anybody-experienced-problems-in-claim-settlement",
1004
+ "status": 403,
1005
+ "error": null
1006
+ },
1007
+ {
1008
+ "insurer": "star-health",
1009
+ "path": "reddit_sentiment.sample_post_urls.[3]",
1010
+ "url": "https://www.quora.com/Is-Star-Health-Insurance-a-good-company",
1011
+ "status": 403,
1012
+ "error": null
1013
+ },
1014
+ {
1015
+ "insurer": "star-health",
1016
+ "path": "youtube_coverage.top_creators_who_reviewed.[0].video_url",
1017
+ "url": "https://www.youtube.com/watch?v=k5ZltTqzSrY",
1018
+ "status": 429,
1019
+ "error": null
1020
+ },
1021
+ {
1022
+ "insurer": "star-health",
1023
+ "path": "youtube_coverage.top_creators_who_reviewed.[1].video_url",
1024
+ "url": "https://www.youtube.com/watch?v=_U81lPwqsk4",
1025
+ "status": 429,
1026
+ "error": null
1027
+ },
1028
+ {
1029
+ "insurer": "star-health",
1030
+ "path": "youtube_coverage.top_creators_who_reviewed.[2].video_url",
1031
+ "url": "https://www.youtube.com/watch?v=j1YBBmt7VZI",
1032
+ "status": 429,
1033
+ "error": null
1034
+ },
1035
+ {
1036
+ "insurer": "star-health",
1037
+ "path": "youtube_coverage.top_creators_who_reviewed.[3].video_url",
1038
+ "url": "https://www.youtube.com/watch?v=Vs4OjCEU_gc",
1039
+ "status": 429,
1040
+ "error": null
1041
+ },
1042
+ {
1043
+ "insurer": "star-health",
1044
+ "path": "in_news.[1].url",
1045
+ "url": "https://www.business-standard.com/finance/insurance/irdai-issues-show-cause-notice-to-star-health-for-violating-norms-124120601299_1.html",
1046
+ "status": 403,
1047
+ "error": null
1048
+ },
1049
+ {
1050
+ "insurer": "star-health",
1051
+ "path": "in_news.[2].url",
1052
+ "url": "https://www.business-standard.com/markets/news/star-health-drops-5-as-irdai-issues-show-cause-notice-for-violating-norms-124120900239_1.html",
1053
+ "status": 403,
1054
+ "error": null
1055
+ },
1056
+ {
1057
+ "insurer": "tata-aig",
1058
+ "path": "youtube_coverage.top_creators_who_reviewed.[1].video_url",
1059
+ "url": "https://www.youtube.com/watch?v=Drg-E3bxekU",
1060
+ "status": 429,
1061
+ "error": null
1062
+ },
1063
+ {
1064
+ "insurer": "tata-aig",
1065
+ "path": "youtube_coverage.top_creators_who_reviewed.[2].video_url",
1066
+ "url": "https://www.youtube.com/watch?v=hNSQlPwFGdY",
1067
+ "status": 429,
1068
+ "error": null
1069
+ },
1070
+ {
1071
+ "insurer": "tata-aig",
1072
+ "path": "youtube_coverage.top_creators_who_reviewed.[3].video_url",
1073
+ "url": "https://www.youtube.com/watch?v=696mpVFVehU",
1074
+ "status": 429,
1075
+ "error": null
1076
+ },
1077
+ {
1078
+ "insurer": "tata-aig",
1079
+ "path": "youtube_coverage.top_creators_who_reviewed.[4].video_url",
1080
+ "url": "https://www.youtube.com/watch?v=VJg8lnc3wwQ",
1081
+ "status": 429,
1082
+ "error": null
1083
+ },
1084
+ {
1085
+ "insurer": "tata-aig",
1086
+ "path": "in_news.[3].url",
1087
+ "url": "https://www.business-standard.com/finance/personal-finance/hospital-bill-shock-tata-aig-is-third-insurer-to-exit-max-cashless-network-125092800816_1.html",
1088
+ "status": 403,
1089
+ "error": null
1090
  }
1091
  ],
1092
+ "ok_urls": 125
1093
  }
frontend/src/app/page.tsx CHANGED
@@ -5,12 +5,15 @@ import {
5
  audioBlobURLFromBase64,
6
  Citation,
7
  ChatMessage,
8
- CompareResponse,
9
  CoverageResponse,
10
- getCompare,
11
  getCoverage,
12
  getHealth,
 
 
13
  getScorecard,
 
 
 
14
  postChat,
15
  postPremiumEstimate,
16
  postTranscribe,
@@ -46,6 +49,9 @@ export default function Page() {
46
  const [coverage, setCoverage] = useState<CoverageResponse | null>(null);
47
  const [showCoverage, setShowCoverage] = useState(false);
48
  const [showPremium, setShowPremium] = useState(false);
 
 
 
49
  const [sessionId, setSessionId] = useState<string | undefined>();
50
  const [uploadStatus, setUploadStatus] = useState<string | null>(null);
51
  const [handsFree, setHandsFree] = useState(false); // VAD auto-cutoff mode
@@ -66,6 +72,9 @@ export default function Page() {
66
  getCoverage()
67
  .then(setCoverage)
68
  .catch(() => setCoverage(null));
 
 
 
69
  }, []);
70
 
71
  useEffect(() => {
@@ -237,27 +246,69 @@ export default function Page() {
237
  <p className="text-xs text-[var(--muted-foreground)]">Voice-first AI advisor · Indian health insurance · Sarvam AI</p>
238
  </div>
239
  </div>
240
- <div className="flex items-center gap-3">
241
  <button
242
- onClick={() => { setShowPremium(!showPremium); setShowCoverage(false); }}
243
- className={`text-xs px-3 py-1.5 rounded-lg border transition ${showPremium ? "border-[var(--primary)] bg-[var(--accent)]" : "border-[var(--border)] hover:border-[var(--primary)]"}`}
 
 
 
 
 
244
  >
245
- Premium calculator
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
246
  </button>
247
- {coverage && (
248
- <button
249
- onClick={() => { setShowCoverage(!showCoverage); setShowPremium(false); }}
250
- className={`text-xs px-3 py-1.5 rounded-lg border transition ${showCoverage ? "border-[var(--primary)] bg-[var(--accent)]" : "border-[var(--border)] hover:border-[var(--primary)]"}`}
251
- >
252
- {coverage.total_policies} policies · {coverage.total_insurers} insurers
253
- </button>
254
- )}
255
- <HealthBadge health={health} />
256
  </div>
257
  </div>
258
- {showCoverage && coverage && <CoveragePanel coverage={coverage} onClose={() => setShowCoverage(false)} />}
 
 
 
 
 
 
259
  {showPremium && <PremiumCalculatorPanel onClose={() => setShowPremium(false)} />}
260
  </header>
 
261
 
262
  <main className="flex-1 max-w-6xl w-full mx-auto px-4 sm:px-6 py-4 sm:py-6 flex flex-col">
263
  {messages.length === 0 ? (
@@ -344,7 +395,7 @@ export default function Page() {
344
  </main>
345
 
346
  <footer className="border-t border-[var(--border)] py-3 px-6 text-center text-xs text-[var(--muted-foreground)]">
347
- Sarvam-M · Sarvam Saarika STT · Sarvam Bulbul TTS · Voyage-prepared embeddings · Llama-3.3-70B grader · DeepSeek-V3 fallback brain. Advisory only verify with the insurer before purchase.
348
  </footer>
349
  </div>
350
  );
@@ -557,31 +608,24 @@ function EmptyState({ onSuggest, coverage }: { onSuggest: (q: string) => void; c
557
  );
558
  }
559
 
 
 
 
 
 
560
  function Message({ m }: { m: DisplayMessage }) {
561
  const isUser = m.role === "user";
 
562
  return (
563
  <div className={`flex animate-fade-up ${isUser ? "justify-end" : "justify-start"}`}>
564
  <div className={`max-w-[85%] sm:max-w-[75%] rounded-2xl px-4 py-3 ${
565
  isUser ? "bg-[var(--primary)] text-[var(--primary-foreground)]" : "bg-[var(--card)] border border-[var(--border)]"
566
- } ${m.blocked ? "ring-1 ring-amber-300" : ""}`}>
567
- <div className="text-sm sm:text-base whitespace-pre-wrap leading-relaxed">{m.content}</div>
568
  {m.audioUrl && <audio controls src={m.audioUrl} className="mt-2 w-full max-w-xs" style={{ height: 32 }} />}
569
- {m.citations && m.citations.length > 0 && !isUser && (
570
- <ScorecardBadgesForCitations citations={m.citations} />
571
- )}
572
- {m.citations && m.citations.length > 0 && (
573
- <div className="mt-3 pt-3 border-t border-[var(--border)] space-y-1.5">
574
- <div className="text-[10px] uppercase tracking-wide text-[var(--muted-foreground)] font-semibold">Sources</div>
575
- {m.citations.slice(0, 5).map((c, i) => (
576
- <a key={i} href={c.source_url || "#"} target="_blank" rel="noopener" className="block text-xs text-[var(--muted-foreground)] hover:text-[var(--primary)] transition">
577
- <span className="font-medium">{c.policy_name}</span>
578
- <span className="opacity-60"> · {c.insurer_slug} · p.{c.page_start}</span>
579
- <span className="opacity-50"> · score {c.score.toFixed(2)}</span>
580
- </a>
581
- ))}
582
- </div>
583
  )}
584
- {m.brain && (<div className="mt-2 text-[10px] text-[var(--muted-foreground)] opacity-60">{m.brain} · {m.latencyMs}ms</div>)}
585
  </div>
586
  </div>
587
  );
@@ -598,6 +642,66 @@ function gradeColor(grade: string): string {
598
  return map[grade] || "bg-stone-400 text-white";
599
  }
600
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
601
  function ScorecardBadgesForCitations({ citations }: { citations: Citation[] }) {
602
  const [cards, setCards] = useState<Record<string, ScorecardResponse | null>>({});
603
  const [expanded, setExpanded] = useState<string | null>(null);
@@ -747,3 +851,450 @@ function UploadIcon() {
747
  <line x1="12" y1="3" x2="12" y2="15" />
748
  </svg>);
749
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
  audioBlobURLFromBase64,
6
  Citation,
7
  ChatMessage,
 
8
  CoverageResponse,
 
9
  getCoverage,
10
  getHealth,
11
+ getInsurerReviews,
12
+ getMarketplace,
13
  getScorecard,
14
+ InsurerReviews,
15
+ MarketplacePolicy,
16
+ MarketplaceResponse,
17
  postChat,
18
  postPremiumEstimate,
19
  postTranscribe,
 
49
  const [coverage, setCoverage] = useState<CoverageResponse | null>(null);
50
  const [showCoverage, setShowCoverage] = useState(false);
51
  const [showPremium, setShowPremium] = useState(false);
52
+ const [showMarketplace, setShowMarketplace] = useState(false);
53
+ const [marketplace, setMarketplace] = useState<MarketplaceResponse | null>(null);
54
+ const [openPolicy, setOpenPolicy] = useState<MarketplacePolicy | null>(null);
55
  const [sessionId, setSessionId] = useState<string | undefined>();
56
  const [uploadStatus, setUploadStatus] = useState<string | null>(null);
57
  const [handsFree, setHandsFree] = useState(false); // VAD auto-cutoff mode
 
72
  getCoverage()
73
  .then(setCoverage)
74
  .catch(() => setCoverage(null));
75
+ getMarketplace()
76
+ .then(setMarketplace)
77
+ .catch(() => setMarketplace(null));
78
  }, []);
79
 
80
  useEffect(() => {
 
246
  <p className="text-xs text-[var(--muted-foreground)]">Voice-first AI advisor · Indian health insurance · Sarvam AI</p>
247
  </div>
248
  </div>
249
+ <div className="flex items-center gap-2 sm:gap-3">
250
  <button
251
+ onClick={() => { setShowMarketplace(!showMarketplace); setShowPremium(false); setShowCoverage(false); }}
252
+ className={`group relative overflow-hidden rounded-xl transition-all shadow-sm hover:shadow-md ${
253
+ showMarketplace
254
+ ? "ring-2 ring-[var(--primary)]"
255
+ : ""
256
+ }`}
257
+ title="Browse all indexed policies"
258
  >
259
+ <div className="absolute inset-0 bg-gradient-to-br from-teal-600 via-teal-500 to-emerald-500 dark:from-teal-700 dark:via-teal-600 dark:to-emerald-600" />
260
+ <div className="relative flex items-stretch text-white">
261
+ <div className="flex items-center justify-center px-3 py-2 bg-black/15">
262
+ <LibraryIcon />
263
+ </div>
264
+ <div className="px-3 py-2 text-left">
265
+ <div className="text-[10px] uppercase tracking-wider opacity-85 leading-none">Interactive</div>
266
+ <div className="text-xs font-bold leading-tight whitespace-nowrap">Policy Library</div>
267
+ </div>
268
+ {marketplace && (
269
+ <div className="flex flex-col items-center justify-center px-3 py-1 bg-white/15 border-l border-white/20">
270
+ <div className="text-sm font-bold leading-none">{marketplace.total}</div>
271
+ <div className="text-[9px] uppercase tracking-wider opacity-90 leading-none mt-0.5">policies</div>
272
+ </div>
273
+ )}
274
+ {marketplace && (
275
+ <div className="hidden sm:flex flex-col items-center justify-center px-3 py-1 bg-black/10">
276
+ <div className="text-sm font-bold leading-none">{marketplace.insurers_indexed}</div>
277
+ <div className="text-[9px] uppercase tracking-wider opacity-90 leading-none mt-0.5">insurers</div>
278
+ </div>
279
+ )}
280
+ </div>
281
+ </button>
282
+ <button
283
+ onClick={() => { setShowPremium(!showPremium); setShowMarketplace(false); setShowCoverage(false); }}
284
+ className={`group relative overflow-hidden rounded-xl transition-all shadow-sm hover:shadow-md ${
285
+ showPremium ? "ring-2 ring-[var(--primary)]" : ""
286
+ }`}
287
+ title="Estimate annual premium"
288
+ >
289
+ <div className="absolute inset-0 bg-gradient-to-br from-amber-500 via-orange-500 to-rose-500" />
290
+ <div className="relative flex items-stretch text-white">
291
+ <div className="flex items-center justify-center px-3 py-2 bg-black/15">
292
+ <RupeeIcon />
293
+ </div>
294
+ <div className="px-3 py-2 text-left">
295
+ <div className="text-[10px] uppercase tracking-wider opacity-85 leading-none">Estimate</div>
296
+ <div className="text-xs font-bold leading-tight whitespace-nowrap">Annual premium</div>
297
+ </div>
298
+ </div>
299
  </button>
 
 
 
 
 
 
 
 
 
300
  </div>
301
  </div>
302
+ {showMarketplace && marketplace && (
303
+ <MarketplacePanel
304
+ data={marketplace}
305
+ onOpenPolicy={(p) => setOpenPolicy(p)}
306
+ onClose={() => setShowMarketplace(false)}
307
+ />
308
+ )}
309
  {showPremium && <PremiumCalculatorPanel onClose={() => setShowPremium(false)} />}
310
  </header>
311
+ {openPolicy && <PolicyDetailModal policy={openPolicy} onClose={() => setOpenPolicy(null)} />}
312
 
313
  <main className="flex-1 max-w-6xl w-full mx-auto px-4 sm:px-6 py-4 sm:py-6 flex flex-col">
314
  {messages.length === 0 ? (
 
395
  </main>
396
 
397
  <footer className="border-t border-[var(--border)] py-3 px-6 text-center text-xs text-[var(--muted-foreground)]">
398
+ Advisory only. Information based on policy documents; verify with the insurer before purchase. All policy ratings are illustrative and based on publicly disclosed data.
399
  </footer>
400
  </div>
401
  );
 
608
  );
609
  }
610
 
611
+ function stripInlineCitations(text: string): string {
612
+ // Customer-facing: hide inline [Source: ...] tags from prose; the citation list below the message already shows them.
613
+ return text.replace(/\s*\[(?:Source|Regulation):[^\]]+\]/gi, "").replace(/\s{2,}/g, " ").trim();
614
+ }
615
+
616
  function Message({ m }: { m: DisplayMessage }) {
617
  const isUser = m.role === "user";
618
+ const displayContent = isUser ? m.content : stripInlineCitations(m.content);
619
  return (
620
  <div className={`flex animate-fade-up ${isUser ? "justify-end" : "justify-start"}`}>
621
  <div className={`max-w-[85%] sm:max-w-[75%] rounded-2xl px-4 py-3 ${
622
  isUser ? "bg-[var(--primary)] text-[var(--primary-foreground)]" : "bg-[var(--card)] border border-[var(--border)]"
623
+ }`}>
624
+ <div className="text-sm sm:text-base whitespace-pre-wrap leading-relaxed">{displayContent}</div>
625
  {m.audioUrl && <audio controls src={m.audioUrl} className="mt-2 w-full max-w-xs" style={{ height: 32 }} />}
626
+ {!isUser && m.citations && m.citations.length > 0 && (
627
+ <PolicyChipsFromCitations citations={m.citations} />
 
 
 
 
 
 
 
 
 
 
 
 
628
  )}
 
629
  </div>
630
  </div>
631
  );
 
642
  return map[grade] || "bg-stone-400 text-white";
643
  }
644
 
645
+ // Customer-facing chip: shows the cited policies as clickable pills with their
646
+ // rating, no internal jargon (no "score X.YZ" or chunk metadata).
647
+ function PolicyChipsFromCitations({ citations }: { citations: Citation[] }) {
648
+ const [cards, setCards] = useState<Record<string, ScorecardResponse | null>>({});
649
+ const [openId, setOpenId] = useState<string | null>(null);
650
+ const seen = new Set<string>();
651
+ const topPolicies = citations.filter((c) => {
652
+ if (seen.has(c.policy_id)) return false;
653
+ seen.add(c.policy_id);
654
+ return true;
655
+ }).slice(0, 3);
656
+
657
+ useEffect(() => {
658
+ for (const c of topPolicies) {
659
+ if (cards[c.policy_id] !== undefined) continue;
660
+ getScorecard(c.policy_id)
661
+ .then((s) => setCards((p) => ({ ...p, [c.policy_id]: s })))
662
+ .catch(() => setCards((p) => ({ ...p, [c.policy_id]: null })));
663
+ }
664
+ }, [citations.map((c) => c.policy_id).join("|")]);
665
+
666
+ return (
667
+ <div className="mt-3 pt-3 border-t border-[var(--border)] space-y-2">
668
+ <div className="text-[10px] uppercase tracking-wide text-[var(--muted-foreground)] font-semibold">Cited policies</div>
669
+ <div className="flex flex-wrap gap-1.5">
670
+ {topPolicies.map((c) => {
671
+ const sc = cards[c.policy_id];
672
+ const isOpen = openId === c.policy_id;
673
+ return (
674
+ <div key={c.policy_id} className="inline-flex items-center gap-1.5">
675
+ <button
676
+ onClick={() => setOpenId(isOpen ? null : c.policy_id)}
677
+ className={`text-xs px-2.5 py-1 rounded-lg border transition flex items-center gap-2 ${
678
+ isOpen ? "border-[var(--primary)] bg-[var(--accent)]" : "border-[var(--border)] bg-[var(--card)] hover:border-[var(--primary)]"
679
+ }`}
680
+ title={sc?.one_liner || c.policy_name}
681
+ >
682
+ {sc && <span className={`inline-flex items-center justify-center w-5 h-5 rounded font-bold text-[11px] ${gradeColor(sc.grade)}`}>{sc.grade}</span>}
683
+ <span className="font-medium truncate max-w-[140px]">{c.policy_name}</span>
684
+ </button>
685
+ {c.source_url && (
686
+ <a
687
+ href={c.source_url}
688
+ target="_blank"
689
+ rel="noopener"
690
+ title="Open policy PDF"
691
+ className="text-xs text-[var(--muted-foreground)] hover:text-[var(--primary)]"
692
+ >
693
+ <PdfIcon />
694
+ </a>
695
+ )}
696
+ </div>
697
+ );
698
+ })}
699
+ </div>
700
+ {openId && cards[openId] && <ScorecardCard sc={cards[openId]!} />}
701
+ </div>
702
+ );
703
+ }
704
+
705
  function ScorecardBadgesForCitations({ citations }: { citations: Citation[] }) {
706
  const [cards, setCards] = useState<Record<string, ScorecardResponse | null>>({});
707
  const [expanded, setExpanded] = useState<string | null>(null);
 
851
  <line x1="12" y1="3" x2="12" y2="15" />
852
  </svg>);
853
  }
854
+
855
+ function LibraryIcon() {
856
+ return (
857
+ <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
858
+ <rect x="3" y="4" width="4" height="16" rx="0.5" />
859
+ <rect x="9" y="4" width="4" height="16" rx="0.5" />
860
+ <rect x="15" y="4" width="6" height="16" rx="0.5" transform="rotate(8 18 12)" />
861
+ </svg>
862
+ );
863
+ }
864
+
865
+ function RupeeIcon() {
866
+ return (
867
+ <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
868
+ <path d="M6 4h12" />
869
+ <path d="M6 9h12" />
870
+ <path d="M7 4c1.5 0 5 0 5 2.5S8.5 9 7 9" />
871
+ <path d="M6 14l9 6" />
872
+ <path d="M6 14h3c2 0 4-1 4-3" />
873
+ </svg>
874
+ );
875
+ }
876
+
877
+ function PdfIcon() {
878
+ return (<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2">
879
+ <path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/>
880
+ <polyline points="14 2 14 8 20 8"/>
881
+ <text x="7" y="18" fontSize="6" fill="currentColor" stroke="none" fontWeight="bold">PDF</text>
882
+ </svg>);
883
+ }
884
+
885
+ /* ============================================================ */
886
+ /* MARKETPLACE — browse all policies, filter, click to expand */
887
+ /* ============================================================ */
888
+
889
+ const INSURER_COLOR: Record<string, string> = {
890
+ "aditya-birla": "bg-orange-600",
891
+ "bajaj-allianz": "bg-blue-700",
892
+ "care-health": "bg-emerald-700",
893
+ "hdfc-ergo": "bg-rose-700",
894
+ "icici-lombard": "bg-orange-500",
895
+ "manipalcigna": "bg-fuchsia-700",
896
+ "new-india": "bg-indigo-700",
897
+ "niva-bupa": "bg-cyan-700",
898
+ "star-health": "bg-amber-600",
899
+ "tata-aig": "bg-slate-700",
900
+ };
901
+
902
+ function insurerInitials(name: string): string {
903
+ return name.split(" ").map((w) => w[0]).filter(Boolean).join("").slice(0, 2).toUpperCase();
904
+ }
905
+
906
+ function MarketplacePanel({
907
+ data,
908
+ onOpenPolicy,
909
+ onClose,
910
+ }: {
911
+ data: MarketplaceResponse;
912
+ onOpenPolicy: (p: MarketplacePolicy) => void;
913
+ onClose: () => void;
914
+ }) {
915
+ const [search, setSearch] = useState("");
916
+ const [insurerFilter, setInsurerFilter] = useState<string>("all");
917
+ const [maxPED, setMaxPED] = useState(48);
918
+ const [minSI, setMinSI] = useState(500000);
919
+ const [requireAyush, setRequireAyush] = useState(false);
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
+
926
+ const filtered = data.policies.filter((p) => {
927
+ if (search && !p.policy_name.toLowerCase().includes(search.toLowerCase()) && !p.insurer_name.toLowerCase().includes(search.toLowerCase())) return false;
928
+ if (insurerFilter !== "all" && p.insurer_slug !== insurerFilter) return false;
929
+ if (grade !== "all" && p.grade !== grade) return false;
930
+ if (p.pre_existing_disease_waiting_months && p.pre_existing_disease_waiting_months > maxPED) return false;
931
+ const maxAvailable = p.sum_insured_options.length ? Math.max(...p.sum_insured_options) : minSI;
932
+ if (maxAvailable < minSI) return false;
933
+ if (requireAyush && p.ayush_coverage !== true) return false;
934
+ if (requireCashless && p.cashless_treatment_supported !== true) return false;
935
+ return true;
936
+ });
937
+
938
+ const sorted = filtered.sort((a, b) => {
939
+ if (sortBy === "score") return b.overall_score - a.overall_score;
940
+ if (sortBy === "name") return a.policy_name.localeCompare(b.policy_name);
941
+ return a.insurer_name.localeCompare(b.insurer_name);
942
+ });
943
+
944
+ return (
945
+ <div className="border-t border-[var(--border)] bg-[var(--muted)] animate-fade-up max-h-[80vh] overflow-y-auto scrollbar-thin">
946
+ <div className="max-w-7xl mx-auto px-4 sm:px-6 py-5">
947
+ <div className="flex items-baseline justify-between mb-4">
948
+ <div>
949
+ <h2 className="text-lg font-semibold">Health insurance marketplace</h2>
950
+ <p className="text-xs text-[var(--muted-foreground)]">
951
+ {data.total} policies from {data.insurers_indexed} leading Indian health insurers. Click any policy for the full rating, key terms, and the source document.
952
+ </p>
953
+ </div>
954
+ <button onClick={onClose} className="text-xs text-[var(--muted-foreground)] hover:underline">close</button>
955
+ </div>
956
+
957
+ {/* Filter bar */}
958
+ <div className="bg-[var(--card)] border border-[var(--border)] rounded-xl p-4 mb-4">
959
+ <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-3">
960
+ <div>
961
+ <label className="block text-[11px] font-semibold text-[var(--muted-foreground)] uppercase tracking-wide mb-1">Search</label>
962
+ <input
963
+ type="text" value={search} onChange={(e) => setSearch(e.target.value)}
964
+ placeholder="Policy or insurer name…"
965
+ className="w-full text-sm bg-transparent border border-[var(--border)] rounded-md px-2 py-1.5 outline-none focus:border-[var(--primary)]"
966
+ />
967
+ </div>
968
+ <div>
969
+ <label className="block text-[11px] font-semibold text-[var(--muted-foreground)] uppercase tracking-wide mb-1">Insurer</label>
970
+ <select value={insurerFilter} onChange={(e) => setInsurerFilter(e.target.value)} className="w-full text-sm bg-transparent border border-[var(--border)] rounded-md px-2 py-1.5">
971
+ <option value="all">All ({data.insurers_indexed})</option>
972
+ {insurers.map((s) => {
973
+ const name = data.policies.find((p) => p.insurer_slug === s)?.insurer_name || s;
974
+ const count = data.policies.filter((p) => p.insurer_slug === s).length;
975
+ return <option key={s} value={s}>{name} ({count})</option>;
976
+ })}
977
+ </select>
978
+ </div>
979
+ <div>
980
+ <label className="block text-[11px] font-semibold text-[var(--muted-foreground)] uppercase tracking-wide mb-1">Min rating</label>
981
+ <select value={grade} onChange={(e) => setGrade(e.target.value)} className="w-full text-sm bg-transparent border border-[var(--border)] rounded-md px-2 py-1.5">
982
+ <option value="all">All grades</option>
983
+ <option value="A">A only</option>
984
+ <option value="B">B or better</option>
985
+ <option value="C">C or better</option>
986
+ </select>
987
+ </div>
988
+ <div>
989
+ <label className="block text-[11px] font-semibold text-[var(--muted-foreground)] uppercase tracking-wide mb-1">Sort by</label>
990
+ <select value={sortBy} onChange={(e) => setSortBy(e.target.value as "score" | "name" | "insurer")} className="w-full text-sm bg-transparent border border-[var(--border)] rounded-md px-2 py-1.5">
991
+ <option value="score">Highest rated</option>
992
+ <option value="name">Policy name (A–Z)</option>
993
+ <option value="insurer">Insurer (A–Z)</option>
994
+ </select>
995
+ </div>
996
+ <div>
997
+ <label className="block text-[11px] font-semibold text-[var(--muted-foreground)] uppercase tracking-wide mb-1">Max pre-existing wait: <span className="font-mono">{maxPED} mo</span></label>
998
+ <input type="range" min={12} max={48} step={6} value={maxPED} onChange={(e) => setMaxPED(parseInt(e.target.value))} className="w-full accent-[var(--primary)]" />
999
+ </div>
1000
+ <div>
1001
+ <label className="block text-[11px] font-semibold text-[var(--muted-foreground)] uppercase tracking-wide mb-1">Min sum insured: <span className="font-mono">{minSI >= 10000000 ? (minSI/10000000) + " cr" : (minSI/100000) + " L"}</span></label>
1002
+ <input type="range" min={500000} max={10000000} step={500000} value={minSI} onChange={(e) => setMinSI(parseInt(e.target.value))} className="w-full accent-[var(--primary)]" />
1003
+ </div>
1004
+ <label className="flex items-center gap-2 text-xs">
1005
+ <input type="checkbox" checked={requireAyush} onChange={(e) => setRequireAyush(e.target.checked)} className="accent-[var(--primary)]" /> AYUSH covered
1006
+ </label>
1007
+ <label className="flex items-center gap-2 text-xs">
1008
+ <input type="checkbox" checked={requireCashless} onChange={(e) => setRequireCashless(e.target.checked)} className="accent-[var(--primary)]" /> Cashless network
1009
+ </label>
1010
+ </div>
1011
+ <div className="text-xs text-[var(--muted-foreground)] mt-3">
1012
+ Showing <span className="font-semibold text-[var(--foreground)]">{sorted.length}</span> of {data.total} policies
1013
+ </div>
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 key={p.policy_id} policy={p} onOpen={() => onOpenPolicy(p)} />
1020
+ ))}
1021
+ {sorted.length === 0 && (
1022
+ <div className="col-span-full text-center text-sm text-[var(--muted-foreground)] py-12">
1023
+ No policies match these filters. Try widening the criteria.
1024
+ </div>
1025
+ )}
1026
+ </div>
1027
+ </div>
1028
+ </div>
1029
+ );
1030
+ }
1031
+
1032
+ function PerPolicyPremiumEstimator({ policy }: { policy: MarketplacePolicy }) {
1033
+ const [age, setAge] = useState(35);
1034
+ const defaultSI = policy.sum_insured_options.length ? policy.sum_insured_options[Math.floor(policy.sum_insured_options.length / 2)] : 1000000;
1035
+ const [si, setSI] = useState(defaultSI);
1036
+ const [city, setCity] = useState<"metro" | "tier1" | "tier2">("metro");
1037
+ const [smoker, setSmoker] = useState(false);
1038
+ const [fam, setFam] = useState(1);
1039
+ const [est, setEst] = useState<PremiumEstimateResponse | null>(null);
1040
+ const [busy, setBusy] = useState(false);
1041
+ useEffect(() => {
1042
+ const t = setTimeout(() => {
1043
+ setBusy(true);
1044
+ postPremiumEstimate({ age, sum_insured_inr: si, city_tier: city, smoker, family_size: fam, policy_id: policy.policy_id })
1045
+ .then(setEst).catch(() => setEst(null)).finally(() => setBusy(false));
1046
+ }, 150);
1047
+ return () => clearTimeout(t);
1048
+ }, [age, si, city, smoker, fam, policy.policy_id]);
1049
+ const fmt = (v: number) => `₹${v.toLocaleString("en-IN")}`;
1050
+ const siDisp = si >= 10000000 ? `${si / 10000000} cr` : `${si / 100000} L`;
1051
+ return (
1052
+ <div className="grid grid-cols-1 md:grid-cols-2 gap-3 text-xs">
1053
+ <div className="space-y-2">
1054
+ <div>
1055
+ <div className="flex items-center justify-between text-[10px] uppercase tracking-wide text-[var(--muted-foreground)] font-semibold">
1056
+ <span>Age</span><span className="font-mono">{age}</span>
1057
+ </div>
1058
+ <input type="range" min={18} max={80} value={age} onChange={(e) => setAge(parseInt(e.target.value))} className="w-full accent-[var(--primary)]" />
1059
+ </div>
1060
+ <div>
1061
+ <div className="flex items-center justify-between text-[10px] uppercase tracking-wide text-[var(--muted-foreground)] font-semibold">
1062
+ <span>Sum insured</span><span className="font-mono">{siDisp}</span>
1063
+ </div>
1064
+ <input type="range" min={300000} max={10000000} step={100000} value={si} onChange={(e) => setSI(parseInt(e.target.value))} className="w-full accent-[var(--primary)]" />
1065
+ </div>
1066
+ <div>
1067
+ <div className="flex items-center justify-between text-[10px] uppercase tracking-wide text-[var(--muted-foreground)] font-semibold">
1068
+ <span>Family size</span><span className="font-mono">{fam}</span>
1069
+ </div>
1070
+ <input type="range" min={1} max={6} value={fam} onChange={(e) => setFam(parseInt(e.target.value))} className="w-full accent-[var(--primary)]" />
1071
+ </div>
1072
+ <div className="flex items-center gap-2 flex-wrap text-[11px] pt-1">
1073
+ {(["metro", "tier1", "tier2"] as const).map((t) => (
1074
+ <button key={t} onClick={() => setCity(t)} className={`px-2 py-0.5 rounded-md border ${city === t ? "border-[var(--primary)] bg-[var(--accent)]" : "border-[var(--border)]"}`}>{t}</button>
1075
+ ))}
1076
+ <label className="flex items-center gap-1 cursor-pointer">
1077
+ <input type="checkbox" checked={smoker} onChange={(e) => setSmoker(e.target.checked)} className="accent-[var(--primary)]" /> Smoker
1078
+ </label>
1079
+ </div>
1080
+ </div>
1081
+ <div className="bg-[var(--muted)] rounded-lg p-3 flex flex-col justify-center">
1082
+ {busy && <div className="text-[var(--muted-foreground)]">Estimating…</div>}
1083
+ {!busy && est && (
1084
+ <>
1085
+ <div className="text-[10px] uppercase tracking-wide text-[var(--muted-foreground)] font-semibold">Indicative annual premium</div>
1086
+ <div className="text-2xl font-bold mt-1">{fmt(est.low_inr)} <span className="text-[var(--muted-foreground)] text-sm">–</span> {fmt(est.high_inr)}</div>
1087
+ <div className="text-[10px] text-[var(--muted-foreground)] mt-1">point ≈ {fmt(est.point_estimate_inr)}</div>
1088
+ {est.sources.length > 0 && (
1089
+ <div className="text-[10px] mt-2">
1090
+ <a href={est.sources[0]} target="_blank" rel="noopener" className="text-[var(--primary)] hover:underline">verified source ↗</a>
1091
+ </div>
1092
+ )}
1093
+ <div className="text-[9px] text-amber-700 dark:text-amber-300 mt-2 leading-tight">Illustrative only. Final quote depends on underwriting.</div>
1094
+ </>
1095
+ )}
1096
+ </div>
1097
+ </div>
1098
+ );
1099
+ }
1100
+
1101
+ function InsurerReviewsBlock({ reviews }: { reviews: InsurerReviews }) {
1102
+ const cm = reviews.claim_metrics || {};
1103
+ const agg = reviews.aggregator_ratings || {};
1104
+ const score = reviews.aggregate_score || {};
1105
+ return (
1106
+ <div className="space-y-3 text-xs">
1107
+ <div className="flex items-center gap-3">
1108
+ {score.value_0_100 != null && (
1109
+ <div className={`flex flex-col items-center justify-center px-3 py-1.5 rounded-lg ${gradeColor(score.letter_grade || "C")}`}>
1110
+ <div className="text-base font-bold leading-none">{score.value_0_100}</div>
1111
+ <div className="text-[9px] uppercase tracking-wide opacity-90">{score.letter_grade}</div>
1112
+ </div>
1113
+ )}
1114
+ <div className="flex-1 text-[var(--muted-foreground)]">{score.headline}</div>
1115
+ </div>
1116
+ <div className="grid grid-cols-2 md:grid-cols-4 gap-2">
1117
+ {cm.claim_settlement_ratio_pct != null && (
1118
+ <a href={cm.source_irdai_url || "#"} target="_blank" rel="noopener" className="rounded-lg border border-[var(--border)] p-2 hover:border-[var(--primary)] transition">
1119
+ <div className="text-[9px] uppercase tracking-wide text-[var(--muted-foreground)]">Claim ratio (IRDAI {cm.claim_settlement_ratio_year})</div>
1120
+ <div className="font-semibold text-sm">{cm.claim_settlement_ratio_pct}%</div>
1121
+ </a>
1122
+ )}
1123
+ {cm.complaints_per_10k_policies != null && (
1124
+ <div className="rounded-lg border border-[var(--border)] p-2">
1125
+ <div className="text-[9px] uppercase tracking-wide text-[var(--muted-foreground)]">Complaints / 10K policies</div>
1126
+ <div className="font-semibold text-sm">{cm.complaints_per_10k_policies}</div>
1127
+ </div>
1128
+ )}
1129
+ {Object.entries(agg).filter(([, v]) => v?.avg_star != null).slice(0, 2).map(([portal, v]) => (
1130
+ <a key={portal} href={v?.url || "#"} target="_blank" rel="noopener" className="rounded-lg border border-[var(--border)] p-2 hover:border-[var(--primary)] transition">
1131
+ <div className="text-[9px] uppercase tracking-wide text-[var(--muted-foreground)]">{portal}</div>
1132
+ <div className="font-semibold text-sm">{v?.avg_star}★ {v?.review_count != null && <span className="opacity-60 font-normal">({v?.review_count.toLocaleString()})</span>}</div>
1133
+ </a>
1134
+ ))}
1135
+ </div>
1136
+ {reviews.reddit_sentiment?.notable_themes && reviews.reddit_sentiment.notable_themes.length > 0 && (
1137
+ <div>
1138
+ <div className="text-[10px] uppercase tracking-wide text-[var(--muted-foreground)] font-semibold mb-1">What customers say (Reddit)</div>
1139
+ <div className="flex flex-wrap gap-1">
1140
+ {reviews.reddit_sentiment.notable_themes.slice(0, 6).map((t, i) => (
1141
+ <span key={i} className="text-[10px] px-1.5 py-0.5 rounded bg-[var(--muted)] text-[var(--muted-foreground)]">{t}</span>
1142
+ ))}
1143
+ </div>
1144
+ </div>
1145
+ )}
1146
+ {reviews.youtube_coverage?.top_creators_who_reviewed && reviews.youtube_coverage.top_creators_who_reviewed.length > 0 && (
1147
+ <div>
1148
+ <div className="text-[10px] uppercase tracking-wide text-[var(--muted-foreground)] font-semibold mb-1">Reviewed by</div>
1149
+ <div className="space-y-0.5">
1150
+ {reviews.youtube_coverage.top_creators_who_reviewed.slice(0, 3).map((c, i) => (
1151
+ <a key={i} href={c.video_url || "#"} target="_blank" rel="noopener" className="block text-xs hover:text-[var(--primary)]">
1152
+ <span className="font-medium">{c.creator}</span> — <span className="text-[var(--muted-foreground)]">{c.verdict}</span>
1153
+ </a>
1154
+ ))}
1155
+ </div>
1156
+ </div>
1157
+ )}
1158
+ </div>
1159
+ );
1160
+ }
1161
+
1162
+ function PolicyCard({ policy, onOpen }: { policy: MarketplacePolicy; onOpen: () => void }) {
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
+ <button
1169
+ onClick={onOpen}
1170
+ className="text-left bg-[var(--card)] border border-[var(--border)] rounded-xl p-4 hover:border-[var(--primary)] hover:shadow-md transition group"
1171
+ >
1172
+ <div className="flex items-start gap-3 mb-3">
1173
+ <div className={`w-11 h-11 rounded-lg ${color} text-white flex items-center justify-center font-bold text-sm shrink-0`}>{initials}</div>
1174
+ <div className="flex-1 min-w-0">
1175
+ <div className="text-xs text-[var(--muted-foreground)] truncate">{policy.insurer_name}</div>
1176
+ <div className="font-semibold text-sm truncate group-hover:text-[var(--primary)] transition">{policy.policy_name}</div>
1177
+ </div>
1178
+ <div className={`shrink-0 flex flex-col items-center rounded-lg overflow-hidden ${gradeColor(policy.grade)}`}>
1179
+ <div className="px-2 pt-0.5 text-[10px] font-semibold opacity-90 uppercase tracking-wide">{policy.grade}</div>
1180
+ <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>
1181
+ </div>
1182
+ </div>
1183
+ <p className="text-xs text-[var(--muted-foreground)] mb-3 line-clamp-2">{policy.one_liner}</p>
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
+
1194
+ function Stat({ label, value }: { label: string; value: string }) {
1195
+ return (
1196
+ <div>
1197
+ <div className="text-[10px] text-[var(--muted-foreground)] uppercase tracking-wide">{label}</div>
1198
+ <div className="text-xs font-semibold">{value}</div>
1199
+ </div>
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);
1206
+ useEffect(() => {
1207
+ getScorecard(policy.policy_id).then(setSc).catch(() => setSc(null));
1208
+ if (policy.insurer_slug) {
1209
+ getInsurerReviews(policy.insurer_slug).then(setReviews).catch(() => setReviews(null));
1210
+ }
1211
+ }, [policy.policy_id, policy.insurer_slug]);
1212
+
1213
+ const initials = insurerInitials(policy.insurer_name);
1214
+ const color = INSURER_COLOR[policy.insurer_slug] || "bg-slate-500";
1215
+ const maxSI = policy.sum_insured_options.length ? Math.max(...policy.sum_insured_options) : null;
1216
+ const siDisplay = maxSI ? (maxSI >= 10000000 ? `${maxSI/10000000} cr` : `${maxSI/100000} L`) : "—";
1217
+
1218
+ return (
1219
+ <div className="fixed inset-0 z-50 bg-black/40 flex items-center justify-center p-4 animate-fade-up" onClick={onClose}>
1220
+ <div className="bg-[var(--card)] rounded-2xl shadow-xl w-full max-w-2xl max-h-[90vh] overflow-y-auto scrollbar-thin" onClick={(e) => e.stopPropagation()}>
1221
+ <div className="p-5 border-b border-[var(--border)] sticky top-0 bg-[var(--card)] z-10">
1222
+ <div className="flex items-start gap-3">
1223
+ <div className={`w-12 h-12 rounded-lg ${color} text-white flex items-center justify-center font-bold shrink-0`}>{initials}</div>
1224
+ <div className="flex-1 min-w-0">
1225
+ <div className="text-xs text-[var(--muted-foreground)]">
1226
+ <a href={policy.insurer_home_url} target="_blank" rel="noopener" className="hover:text-[var(--primary)] underline-offset-2 hover:underline">
1227
+ {policy.insurer_name}
1228
+ </a>
1229
+ </div>
1230
+ <h3 className="text-lg font-bold">{policy.policy_name}</h3>
1231
+ {policy.source_pdf_url && (
1232
+ <a href={policy.source_pdf_url} target="_blank" rel="noopener" className="inline-flex items-center gap-1.5 text-xs text-[var(--primary)] hover:underline mt-1">
1233
+ <PdfIcon /> Open policy document
1234
+ </a>
1235
+ )}
1236
+ </div>
1237
+ <button onClick={onClose} className="text-[var(--muted-foreground)] hover:text-[var(--foreground)] text-2xl leading-none">×</button>
1238
+ </div>
1239
+ </div>
1240
+
1241
+ <div className="p-5 space-y-5">
1242
+ {sc && (
1243
+ <div>
1244
+ <div className="flex items-center gap-3 mb-3">
1245
+ <span className={`inline-flex items-center justify-center w-12 h-12 rounded-lg font-bold ${gradeColor(sc.grade)}`}>{sc.grade}</span>
1246
+ <div className="flex-1">
1247
+ <div className="text-2xl font-bold">{sc.overall_score}<span className="text-[var(--muted-foreground)] text-base font-normal">/100</span></div>
1248
+ <div className="text-xs text-[var(--muted-foreground)]">{sc.one_liner}</div>
1249
+ </div>
1250
+ </div>
1251
+ <ScorecardCard sc={sc} />
1252
+ </div>
1253
+ )}
1254
+
1255
+ <div>
1256
+ <h4 className="text-sm font-semibold mb-2">Key terms</h4>
1257
+ <div className="grid grid-cols-2 gap-3 text-xs">
1258
+ <Stat label="Sum insured up to" value={siDisplay} />
1259
+ <Stat label="Entry age" value={policy.min_entry_age && policy.max_entry_age ? `${policy.min_entry_age}-${policy.max_entry_age}` : "—"} />
1260
+ <Stat label="Renewal up to" value={policy.max_renewal_age ? (policy.max_renewal_age >= 99 ? "Lifelong" : `${policy.max_renewal_age}`) : "—"} />
1261
+ <Stat label="Initial waiting" value={policy.initial_waiting_period_days ? `${policy.initial_waiting_period_days} days` : "—"} />
1262
+ <Stat label="Pre-existing waiting" value={policy.pre_existing_disease_waiting_months ? `${policy.pre_existing_disease_waiting_months} months` : "—"} />
1263
+ <Stat label="Maternity waiting" value={policy.maternity_waiting_months ? `${policy.maternity_waiting_months} months` : "—"} />
1264
+ <Stat label="Copayment" value={policy.copayment_pct != null ? `${policy.copayment_pct}%` : "None"} />
1265
+ <Stat label="No-claim bonus" value={policy.no_claim_bonus_pct ? `${policy.no_claim_bonus_pct}%` : "—"} />
1266
+ <Stat label="Network hospitals" value={policy.network_hospital_count ? `${policy.network_hospital_count.toLocaleString()}+` : "—"} />
1267
+ <Stat label="AYUSH covered" value={policy.ayush_coverage === true ? "Yes" : policy.ayush_coverage === false ? "No" : "—"} />
1268
+ <Stat label="Maternity" value={policy.maternity_coverage === true ? "Covered" : policy.maternity_coverage === false ? "Not covered" : "—"} />
1269
+ <Stat label="Cashless" value={policy.cashless_treatment_supported === true ? "Supported" : "—"} />
1270
+ {policy.room_rent_capping && (
1271
+ <div className="col-span-2">
1272
+ <div className="text-[10px] text-[var(--muted-foreground)] uppercase tracking-wide">Room rent</div>
1273
+ <div className="text-xs">{policy.room_rent_capping}</div>
1274
+ </div>
1275
+ )}
1276
+ </div>
1277
+ </div>
1278
+
1279
+ {/* Per-policy premium estimator */}
1280
+ <div className="pt-5 border-t border-[var(--border)]">
1281
+ <h4 className="text-sm font-semibold mb-2">Estimate premium for this policy</h4>
1282
+ <PerPolicyPremiumEstimator policy={policy} />
1283
+ </div>
1284
+
1285
+ {/* Insurer reviews + IRDAI metrics */}
1286
+ {reviews && (
1287
+ <div className="pt-5 border-t border-[var(--border)]">
1288
+ <h4 className="text-sm font-semibold mb-2">{reviews.insurer_name} — reputation & claim metrics</h4>
1289
+ <InsurerReviewsBlock reviews={reviews} />
1290
+ </div>
1291
+ )}
1292
+
1293
+ <div className="text-[10px] text-[var(--muted-foreground)] pt-3 border-t border-[var(--border)]">
1294
+ Rating methodology weighs 24 of 48 policy fields across coverage breadth, cost predictability, waiting periods, claim experience, renewal protection, and bonus benefits. Data extracted from the policy wording PDF and combined with publicly disclosed IRDAI claim metrics. Premium ranges are illustrative.
1295
+ </div>
1296
+ </div>
1297
+ </div>
1298
+ </div>
1299
+ );
1300
+ }
frontend/src/lib/api.ts CHANGED
@@ -198,6 +198,68 @@ export type CompareResponse = {
198
  field_order: string[];
199
  };
200
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
201
  export async function getCompare(policy_ids: string[]): Promise<CompareResponse> {
202
  const url = new URL(`${BACKEND_URL}/api/policies/compare`);
203
  for (const id of policy_ids) url.searchParams.append("policy_ids", id);
 
198
  field_order: string[];
199
  };
200
 
201
+ export type MarketplacePolicy = {
202
+ policy_id: string;
203
+ policy_name: string;
204
+ insurer_slug: string;
205
+ insurer_name: string;
206
+ insurer_home_url: string;
207
+ source_pdf_url: string;
208
+ grade: string;
209
+ overall_score: number;
210
+ one_liner: string;
211
+ data_completeness_pct: number;
212
+ min_entry_age?: number | null;
213
+ max_entry_age?: number | null;
214
+ max_renewal_age?: number | null;
215
+ sum_insured_options: number[];
216
+ pre_existing_disease_waiting_months?: number | null;
217
+ initial_waiting_period_days?: number | null;
218
+ maternity_waiting_months?: number | null;
219
+ copayment_pct?: number | null;
220
+ network_hospital_count?: number | null;
221
+ no_claim_bonus_pct?: number | null;
222
+ ayush_coverage?: boolean | null;
223
+ maternity_coverage?: boolean | null;
224
+ cashless_treatment_supported?: boolean | null;
225
+ room_rent_capping?: string | null;
226
+ };
227
+
228
+ export type MarketplaceResponse = {
229
+ policies: MarketplacePolicy[];
230
+ total: number;
231
+ insurers_indexed: number;
232
+ };
233
+
234
+ export type InsurerReviews = {
235
+ insurer_slug: string;
236
+ insurer_name: string;
237
+ aggregate_score: { value_0_100?: number; letter_grade?: string; headline?: string };
238
+ claim_metrics: {
239
+ claim_settlement_ratio_pct?: number;
240
+ claim_settlement_ratio_year?: string;
241
+ complaints_per_10k_policies?: number;
242
+ complaints_year?: string;
243
+ source_irdai_url?: string;
244
+ };
245
+ aggregator_ratings: Record<string, { avg_star?: number; review_count?: number; url?: string }>;
246
+ reddit_sentiment: { sentiment_overall?: string; notable_themes?: string[] };
247
+ youtube_coverage: { overall_youtube_sentiment?: string; top_creators_who_reviewed?: Array<{ creator?: string; video_url?: string; verdict?: string }> };
248
+ in_news?: Array<{ headline?: string; url?: string; publication?: string; date?: string; tone?: string }>;
249
+ };
250
+
251
+ export async function getInsurerReviews(slug: string): Promise<InsurerReviews> {
252
+ const resp = await fetch(`${BACKEND_URL}/api/insurers/${slug}/reviews`);
253
+ if (!resp.ok) throw new Error(`reviews failed: ${resp.status}`);
254
+ return resp.json();
255
+ }
256
+
257
+ export async function getMarketplace(): Promise<MarketplaceResponse> {
258
+ const resp = await fetch(`${BACKEND_URL}/api/policies/all`);
259
+ if (!resp.ok) throw new Error(`marketplace failed: ${resp.status}`);
260
+ return resp.json();
261
+ }
262
+
263
  export async function getCompare(policy_ids: string[]): Promise<CompareResponse> {
264
  const url = new URL(`${BACKEND_URL}/api/policies/compare`);
265
  for (const id of policy_ids) url.searchParams.append("policy_ids", id);
rag/extracted/hdfc-ergo__my-optima-secure__wordings._raw.txt CHANGED
@@ -1,101 +0,0 @@
1
- ```json
2
- {
3
- "policy_id": "hdfc-ergo__my-optima-secure__wordings",
4
- "insurer_name": "HDFC ERGO General Insurance Company Limited",
5
- "insurer_slug": "hdfc-ergo",
6
- "policy_name": "my: Optima Secure",
7
- "policy_type": null,
8
- "uin_code": "HDFHLIP25041V062425",
9
- "min_entry_age_years": null,
10
- "max_entry_age_years": null,
11
- "max_renewal_age_years": null,
12
- "min_child_entry_age_days": 90,
13
- "family_composition_allowed": ["individual", "family_floater"],
14
- "residency_requirement": null,
15
- "sum_insured_options_inr": null,
16
- "premium_payment_modes": ["annual", "monthly"],
17
- "premium_range_indicative_inr": null,
18
- "premium_payment_term_years": 1,
19
- "grace_period_days": 30,
20
- "free_look_period_days": null,
21
- "initial_waiting_period_days": null,
22
- "pre_existing_disease_waiting_months": 36,
23
- "specific_disease_waiting_months": null,
24
- "specific_diseases_listed": null,
25
- "maternity_waiting_months": null,
26
- "sub_limits_waiting_notes": null,
27
- "inpatient_hospitalization": {
28
- "covered": true,
29
- "limit_inr": null,
30
- "limit_text": "Sum Insured specified in the Policy Schedule",
31
- "notes": "Room rent limit shall be ‘At Actuals’ unless otherwise specified in the Policy Schedule."
32
- },
33
- "pre_hospitalization_days": 60,
34
- "post_hospitalization_days": 180,
35
- "day_care_treatments": {
36
- "covered": true,
37
- "limit_inr": null,
38
- "limit_text": "All Day Care Treatments",
39
- "notes": "Treatment normally taken on an out-patient basis is not included."
40
- },
41
- "domiciliary_treatment": {
42
- "covered": true,
43
- "limit_inr": null,
44
- "limit_text": "Sum Insured specified in the Policy Schedule",
45
- "notes": "Treatment must be prescribed in writing by treating Medical Practitioner."
46
- },
47
- "ayush_coverage": {
48
- "covered": true,
49
- "limit_inr": null,
50
- "limit_text": "Sub-limit specified in the Policy Schedule",
51
- "notes": "Only for Inpatient Care under Ayurveda, Yoga and Naturopathy, Unani, Siddha and Homeopathy systems."
52
- },
53
- "maternity_coverage": null,
54
- "newborn_coverage": null,
55
- "organ_donor_expenses": {
56
- "covered": true,
57
- "limit_inr": null,
58
- "limit_text": "Sum Insured specified in the Policy Schedule",
59
- "notes": "Only for organ donor’s Hospitalization for harvesting of the donated organ where an Insured Person is the recipient."
60
- },
61
- "ambulance_cover": {
62
- "covered": true,
63
- "limit_inr": null,
64
- "limit_text": "Sum Insured specified in the Policy Schedule",
65
- "notes": "Only for road Ambulance if the Insured Person is required to be transferred to the nearest Hospital for Emergency Care."
66
- },
67
- "critical_illness_cover": null,
68
- "restoration_benefit": {
69
- "covered": true,
70
- "limit_inr": null,
71
- "limit_text": "100% of the Base Sum Insured",
72
- "notes": "Only once during the Policy Year unless specified otherwise in the Policy Schedule."
73
- },
74
- "no_claim_bonus_pct": 10.0,
75
- "no_claim_bonus_cap_pct": null,
76
- "preventive_health_checkup": null,
77
- "room_rent_capping": "At Actuals unless otherwise specified in the Policy Schedule",
78
- "icu_capping": "At Actuals unless otherwise specified in the Policy Schedule",
79
- "copayment_pct": null,
80
- "copayment_trigger_notes": null,
81
- "disease_wise_sub_limits": null,
82
- "deductible_amount_inr": null,
83
- "geographic_coverage": null,
84
- "worldwide_emergency_cover": null,
85
- "network_hospital_count": null,
86
- "cashless_treatment_supported": true,
87
- "permanent_exclusions": null,
88
- "temporary_exclusions": null,
89
- "notable_exclusions_summary": null,
90
- "claim_settlement_ratio_pct": null,
91
- "claim_process_summary": null,
92
- "tat_cashless_authorization_hours": null,
93
- "available_riders": ["Emergency Air Ambulance", "Daily Cash for Shared Room", "Protect Benefit", "Plus Benefit", "Secure Benefit", "Automatic Restore Benefit", "Aggregate Deductible", "E-Opinion for Critical Illness"],
94
- "top_rider_examples": ["Emergency Air Ambulance", "Daily Cash for Shared Room", "Protect Benefit"],
95
- "rider_premium_indicative_inr": null,
96
- "source_pdf_path": null,
97
- "source_pdf_url": null,
98
- "last_updated_date": null,
99
- "extraction_confidence_pct": 85
100
- }
101
- ```
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
rag/extracted/hdfc-ergo__optima-enhance__wordings._raw.txt CHANGED
@@ -1,171 +0,0 @@
1
- ```json
2
- {
3
- "policy_id": "hdfc-ergo__optima-enhance__wordings",
4
- "insurer_name": "Apollo Munich Health Insurance Company Limited",
5
- "insurer_slug": "apollo-munich",
6
- "policy_name": "Optima Enhance",
7
- "policy_type": null,
8
- "uin_code": null,
9
- "min_entry_age_years": null,
10
- "max_entry_age_years": 70,
11
- "max_renewal_age_years": null,
12
- "min_child_entry_age_days": 91,
13
- "family_composition_allowed": ["individual", "family_floater"],
14
- "residency_requirement": "Indian resident only",
15
- "sum_insured_options_inr": null,
16
- "premium_payment_modes": null,
17
- "premium_range_indicative_inr": null,
18
- "premium_payment_term_years": 1,
19
- "grace_period_days": 30,
20
- "free_look_period_days": null,
21
- "initial_waiting_period_days": 30,
22
- "pre_existing_disease_waiting_months": 48,
23
- "specific_disease_waiting_months": 24,
24
- "specific_diseases_listed": [
25
- "Adenoidectomy",
26
- "Mastoidectomy",
27
- "Sinusitis",
28
- "Tonsillectomy",
29
- "Rhinitis",
30
- "Tympanoplasty",
31
- "Surgery for nasal septum deviation",
32
- "Surgery for Turbinate hypertrophy",
33
- "Nasal concha resection",
34
- "Nasal polypectomy",
35
- "cysts, polyps including breast lumps",
36
- "Polycystic ovarian disease",
37
- "Fibromyoma",
38
- "Hysterectomy",
39
- "Adenomyosis",
40
- "Endometriosis",
41
- "Prolapsed Uterus",
42
- "Non infective arthritis",
43
- "Gout and Rheumatism",
44
- "Osteoarthritis",
45
- "Joint replacement surgeries",
46
- "Ligament, Tendon and Meniscal tear",
47
- "Prolapsed inter vertebral disk",
48
- "Cholecystectomy",
49
- "Cholelithiasis",
50
- "Surgery of hernia",
51
- "Cholecystitis",
52
- "Pancreatitis",
53
- "Fissure/fistula in anus, Haemorrhoids, Pilonidal sinus",
54
- "Gastro Esophageal Reflux Disorder (GERD), Ulcer and erosion of stomach and duodenum",
55
- "Cirrhosis",
56
- "Perineal and Perianal Abscess",
57
- "Rectal Prolapse",
58
- "Calculus diseases of Urogenital system including Kidney, ureter, bladder stones",
59
- "Surgery on prostate",
60
- "Surgery for Hydrocele/Rectocele",
61
- "Varicocele",
62
- "Cataract",
63
- "Retinal detachment",
64
- "Glaucoma",
65
- "Surgery of varicose veins and varicose ulcers",
66
- "Benign tumors of Non infectious etiology e.g. cysts, nodules, polyps, lump, growth, etc."
67
- ],
68
- "maternity_waiting_months": null,
69
- "sub_limits_waiting_notes": null,
70
- "inpatient_hospitalization": {
71
- "covered": true,
72
- "limit_inr": null,
73
- "limit_text": "Sum Insured mentioned on the policy schedule or certificate of insurance",
74
- "notes": "Includes Hospital room rent or boarding, Nursing, Intensive Care Unit, Medical Practitioners (Fees), Anesthesia, Blood, Oxygen, Operation theatre, Surgical appliances, Medicines, drugs & consumables, Diagnostic procedures"
75
- },
76
- "pre_hospitalization_days": 60,
77
- "post_hospitalization_days": 90,
78
- "day_care_treatments": {
79
- "covered": true,
80
- "limit_inr": null,
81
- "limit_text": "Listed in Annexure 1",
82
- "notes": "Medical treatment or surgical procedure which is undertaken under general or local anaesthesia, which require admission in a Hospital/Day Care Centre for stay less than 24 hours because of technological advancement"
83
- },
84
- "domiciliary_treatment": null,
85
- "ayush_coverage": null,
86
- "maternity_coverage": null,
87
- "newborn_coverage": null,
88
- "organ_donor_expenses": {
89
- "covered": true,
90
- "limit_inr": null,
91
- "limit_text": "Medical and surgical Expenses of the organ donor for harvesting the organ where an Insured Person is the recipient",
92
- "notes": "Expenses incurred by an Insured Person while donating an organ is NOT covered"
93
- },
94
- "ambulance_cover": {
95
- "covered": true,
96
- "limit_inr": 3000,
97
- "limit_text": "Maximum of Rs. 3000 per Hospitalisation",
98
- "notes": "Expenses incurred on transportation of Insured Person to a Hospital for treatment in case of an Emergency"
99
- },
100
- "critical_illness_cover": null,
101
- "restoration_benefit": null,
102
- "no_claim_bonus_pct": null,
103
- "no_claim_bonus_cap_pct": null,
104
- "preventive_health_checkup": null,
105
- "room_rent_capping": null,
106
- "icu_capping": null,
107
- "copayment_pct": null,
108
- "copayment_trigger_notes": null,
109
- "disease_wise_sub_limits": null,
110
- "deductible_amount_inr": null,
111
- "geographic_coverage": "India only",
112
- "worldwide_emergency_cover": null,
113
- "network_hospital_count": null,
114
- "cashless_treatment_supported": true,
115
- "permanent_exclusions": [
116
- "War or similar situations",
117
- "Any Insured Person committing or attempting to commit a breach of law with criminal intent",
118
- "Intentional self-injury or attempted suicide while sane or insane",
119
- "Dangerous acts (including sports)",
120
- "Treatment of illness or injury as a consequence of the use of alcohol, tobacco, narcotic or psychotropic substances",
121
- "Prosthetic and other devices which are self-detachable /removable without surgery involving anaesthesia",
122
- "Treatment availed outside India",
123
- "Treatment at a healthcare facility which is NOT a Hospital",
124
- "Treatment of obesity and any weight control program",
125
- "Treatment for correction of eye sight due to refractive error",
126
- "Cosmetic, aesthetic and re-shaping treatments and surgeries",
127
- "Non allopathic treatment",
128
- "Conditions for which treatment could have been done on an outpatient basis without any Hospitalisation",
129
- "Charges related to peritoneal dialysis, including supplies",
130
- "Admission primarily for administration of monoclonal antibodies or IV immunoglobulin infusion",
131
- "Experimental, investigational or unproven treatment devices and pharmacological regimens",
132
- "Admission primarily for diagnostic and evaluation purposes only",
133
- "Any diagnostic expenses related and incidental to any illness which is not covered in this Policy",
134
- "Convalescence, rest cure, sanatorium treatment, rehabilitation measures, respite care, long-term nursing care, custodial care, safe confinement, de-addiction, general debility or exhaustion",
135
- "Preventive care, vaccination including inoculation and immunisations",
136
- "Admission for enteral feedings (infusion formulas via a tube into the upper gastrointestinal tract) and other nutritional and electrolyte supplements",
137
- "Provision or fitting of hearing aids, spectacles or contact lenses including optometric therapy, any treatment and associated expenses for alopecia, baldness, wigs, or toupees, medical supplies including elastic stockings, diabetic test strips, and similar products",
138
- "Psychiatric, mental disorders (including mental health treatments), Parkinson and Alzheimer’s disease",
139
- "Sleep-apnoea",
140
- "External congenital diseases, defects or anomalies, genetic disorders",
141
- "Stem cell therapy or surgery, or growth hormone therapy",
142
- "Venereal disease, sexually transmitted disease or illness",
143
- "AIDS (Acquired Immune Deficiency Syndrome) and/or infection with HIV (Human Immunodeficiency Virus)",
144
- "Any expense attributable directly or indirectly to pregnancy (including voluntary termination), miscarriage (except as a result of an Accident or Illness), maternity or child birth (including caesarean section)",
145
- "Treatment for sterility, infertility (primary or secondary), assisted conception or other related conditions and complications arising out of the same",
146
- "Birth control, and similar procedures including complications arising out of the same",
147
- "The expense incurred by the Insured Person on organ donation",
148
- "Treatment and supplies for analysis and adjustments of spinal subluxation, diagnosis and treatment by manipulation of the skeletal structure; muscle stimulation by any means except treatment of fractures (excluding hairline fractures) and dislocations of the mandible and extremities",
149
- "Dental treatment and surgery of any kind, unless requiring Hospitalisation",
150
- "Any non-medical expenses mentioned on our website",
151
- "Healthcare providers (Hospitals /Medical Practitioners)",
152
- "Any treatment or part of a treatment that is not of a reasonable charge and not Medically Necessary",
153
- "Drugs or treatments which are not supported by a prescription",
154
- "Admission for administration of Intra-articular or Intra-lesional injections, Monoclonal antibodies or IV immunoglobulin infusion",
155
- "Any kind of service charge, surcharge, admission fees, registration fee levied by Hospital",
156
- "Air Ambulance services"
157
- ],
158
- "temporary_exclusions": null,
159
- "notable_exclusions_summary": "The policy excludes coverage for war-related injuries, self-inflicted injuries, dangerous sports, cosmetic surgeries, non-allopathic treatments, experimental treatments, psychiatric disorders, congenital diseases, HIV/AIDS, pregnancy and maternity, infertility treatments, dental treatments (unless requiring hospitalization), and air ambulance services among others.",
160
- "claim_settlement_ratio_pct": null,
161
- "claim_process_summary": "Claims can be intimated through the website, toll-free number, fax, or courier. Cashless service is available at Network Hospitals with prior intimation. Reimbursement claims require submission of original bills, medical reports, and other supporting documents within 15 days of discharge. The insurer will settle or reject the claim within 30 days of receipt of all necessary documents.",
162
- "tat_cashless_authorization_hours": null,
163
- "available_riders": null,
164
- "top_rider_examples": null,
165
- "rider_premium_indicative_inr": null,
166
- "source_pdf_path": null,
167
- "source_pdf_url": null,
168
- "last_updated_date": null,
169
- "extraction_confidence_pct": 90
170
- }
171
- ```
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
rag/extracted/hdfc-ergo__optima-plus__wordings._raw.txt CHANGED
@@ -1,163 +0,0 @@
1
- ```json
2
- {
3
- "policy_id": "hdfc-ergo__optima-plus__wordings",
4
- "insurer_name": "HDFC ERGO General Insurance Company Limited",
5
- "insurer_slug": "hdfc-ergo",
6
- "policy_name": "Optima Plus",
7
- "policy_type": null,
8
- "uin_code": "HDHHLIP21336V022021",
9
- "min_entry_age_years": null,
10
- "max_entry_age_years": 65,
11
- "max_renewal_age_years": 999,
12
- "min_child_entry_age_days": 91,
13
- "family_composition_allowed": ["spouse", "children", "parents"],
14
- "residency_requirement": "Indian resident only",
15
- "sum_insured_options_inr": null,
16
- "premium_payment_modes": ["annual", "monthly"],
17
- "premium_range_indicative_inr": null,
18
- "premium_payment_term_years": 1,
19
- "grace_period_days": 30,
20
- "free_look_period_days": 30,
21
- "initial_waiting_period_days": 30,
22
- "pre_existing_disease_waiting_months": 36,
23
- "specific_disease_waiting_months": 24,
24
- "specific_diseases_listed": [
25
- "arthritis if non infective",
26
- "calculus diseases of gall bladder and urogenital system",
27
- "cataract",
28
- "fissure/fistula in anus, hemorrhoids, pilonidal sinus, gastric and duodenal ulcers",
29
- "gout and rheumatism",
30
- "internal tumors, cysts, nodules, polyps including breast lumps (each of any kind unless malignant)",
31
- "osteoarthritis and osteoporosis if Age related",
32
- "polycystic ovarian diseases",
33
- "sinusitis, Rhinitis, Tonsillitis and skin tumors unless malignant",
34
- "benign ear, nose and throat (ENT) disorders and surgeries",
35
- "dilatation and curettage (D&C)",
36
- "hysterectomy for menorrhagia or fibromyoma or prolapse of uterus unless necessitated by malignancy",
37
- "joint replacement",
38
- "myomectomy for fibroids",
39
- "surgery of gallbladder and bile duct unless necessitated by malignancy",
40
- "surgery of genito urinary system unless necessitated by malignancy",
41
- "surgery of benign prostatic hypertrophy",
42
- "surgery of hernia",
43
- "surgery of hydrocele",
44
- "surgery for prolapsed inter vertebral disk",
45
- "surgery of varicose veins and varicose ulcers",
46
- "surgery on tonsils and sinuses",
47
- "surgery for nasal septum deviation"
48
- ],
49
- "maternity_waiting_months": null,
50
- "sub_limits_waiting_notes": null,
51
- "inpatient_hospitalization": {
52
- "covered": true,
53
- "limit_inr": null,
54
- "limit_text": "Room rent, boarding expenses, Nursing, Intensive care unit, Medical Practitioner(s), Anaesthesia, blood, oxygen, operation theatre charges, surgical appliances, Medicines, drugs and consumables, Diagnostic procedures, The Cost of prosthetic and other Medical devices or equipment if implanted internally during a Surgical Procedure.",
55
- "notes": null
56
- },
57
- "pre_hospitalization_days": 60,
58
- "post_hospitalization_days": 90,
59
- "day_care_treatments": {
60
- "covered": true,
61
- "limit_inr": null,
62
- "limit_text": "Medical treatment, and/or surgical procedure which is undertaken under General or Local Anaesthesia in a Hospital/day care centre in less than 24 hrs because of technological advancement, and which would have otherwise required a Hospitalization of more than 24 hours.",
63
- "notes": "Treatment normally taken on an Out-patient basis is not included in the scope of this cover."
64
- },
65
- "domiciliary_treatment": {
66
- "covered": true,
67
- "limit_inr": null,
68
- "limit_text": "Medical treatment taken at his home which would otherwise have required Hospitalisation because, on the advice of the attending Medical Practitioner, the Insured Person could not be transferred to a Hospital or a Hospital bed was unavailable.",
69
- "notes": "The condition for which the medical treatment is required continues for at least 3 days."
70
- },
71
- "ayush_coverage": {
72
- "covered": true,
73
- "limit_inr": null,
74
- "limit_text": "Medical expenses pertaining only to In-patient care AYUSH treatment are also covered under 'In-patient treatment' cover if undertaken in an AYUSH Hospital.",
75
- "notes": "Any medical expense other than In-patient care AYUSH treatment expenses are not covered under this policy."
76
- },
77
- "maternity_coverage": {
78
- "covered": false,
79
- "limit_inr": null,
80
- "limit_text": null,
81
- "notes": "Medical treatment expenses traceable to childbirth (including complicated deliveries and caesarean sections incurred during hospitalization) except ectopic pregnancy; Expenses towards miscarriage (unless due to an accident) and lawful medical termination of pregnancy during the Policy period."
82
- },
83
- "newborn_coverage": null,
84
- "organ_donor_expenses": {
85
- "covered": true,
86
- "limit_inr": null,
87
- "limit_text": "Medical Expenses for an organ donor’s treatment for the harvesting of the organ donated, provided that the organ donor is any person whose organ has been made available in accordance and compliance with The Transplantation of Human Organs Act, 1994 (amended) and the organ donated is for the use of the Insured Person.",
88
- "notes": "We will not pay the donor’s pre and post-Medical Expenses or any other medical treatment for the donor consequent on the harvesting."
89
- },
90
- "ambulance_cover": {
91
- "covered": true,
92
- "limit_inr": null,
93
- "limit_text": "Expenses incurred on an ambulance offered by a healthcare or ambulance service provider used to transfer the Insured Person to the nearest Hospital with adequate Emergency facilities for the provision of health services following an Emergency.",
94
- "notes": "The coverage includes the cost of the transportation of the Insured Person from a Hospital to the nearest Hospital which is prepared to admit the Insured Person and provide the necessary medical services if such medical services cannot satisfactorily be provided at a Hospital where the Insured Person is situated, provided that transportation has been prescribed by a Medical Practitioner and is medically necessary."
95
- },
96
- "critical_illness_cover": null,
97
- "restoration_benefit": null,
98
- "no_claim_bonus_pct": null,
99
- "no_claim_bonus_cap_pct": null,
100
- "preventive_health_checkup": null,
101
- "room_rent_capping": null,
102
- "icu_capping": null,
103
- "copayment_pct": null,
104
- "copayment_trigger_notes": null,
105
- "disease_wise_sub_limits": null,
106
- "deductible_amount_inr": null,
107
- "geographic_coverage": "India",
108
- "worldwide_emergency_cover": null,
109
- "network_hospital_count": null,
110
- "cashless_treatment_supported": true,
111
- "permanent_exclusions": [
112
- "Investigation & Evaluation",
113
- "Rest Cure, rehabilitation and respite care",
114
- "Obesity/Weight control",
115
- "Change-of-Gender treatments",
116
- "Cosmetic or plastic surgery",
117
- "Hazardous or Adventure sports",
118
- "Breach of Law",
119
- "Excluded Providers",
120
- "Treatment for Alcoholism, drug or substance abuse or any addictive condition and consequences thereof",
121
- "Treatments received in health hydros, nature cure clinics, spas or similar establishments or private beds registered as a nursing home attached to such establishments or where admission is arranged wholly or partly for domestic reasons",
122
- "Dietary supplements and substances that can be purchased without prescription, including but not limited to Vitamins, minerals and organic substances unless prescribed by a Medical Practitioner as part of Hospitalization claim or day care procedure",
123
- "Refractive Error",
124
- "Unproven Treatments",
125
- "Sterility and Infertility",
126
- "Maternity",
127
- "War or any act of war(whether war be declared or not or caused during service in the armed forces of any country), invasion, act of foreign enemy, civil war, public defence, rebellion, revolution, insurrection, military or usurped acts, nuclear weapons/materials, chemical and biological weapons, radiation of any kind",
128
- "Any Insured Person committing or attempting to commit intentional self-injury or attempted suicide or suicide while mentally sound or unsound",
129
- "Any Insured Person’s participation or involvement in naval, military or air force operation",
130
- "Investigative treatment for Sleep-apnoea, general debility or exhaustion (“run-down condition”)",
131
- "Congenital external diseases, defects or anomalies",
132
- "Stem cell harvesting",
133
- "Investigative treatment for analysis and adjustments of spinal subluxation, diagnosis and treatment by manipulation of the skeletal structure or for muscle stimulation by any means except treatment of fractures (excluding hairline fractures) and dislocations of the mandible and extremities)",
134
- "Circumcisions (unless necessitated by Illness or Injury and forming part of treatment)",
135
- "Any Convalescence, sanatorium treatment, private duty nursing or long-term nursing care",
136
- "Preventive care, and other nutritional and electrolyte supplements, unless certified to be required by the attending Medical Practitioner as a direct consequence of an otherwise covered claim",
137
- "Vaccination including inoculation and immunisations (Except post bite treatment)",
138
- "Non-Medical expenses such as Food charges (other than patient’s diet provided by hospital), laundry charges, attendant charges, ambulance collar, ambulance equipment, baby food, baby utility charges etc.",
139
- "Treatment rendered by a Medical Practitioner which is outside his discipline or the discipline for which he is licensed; treatments rendered by a Medical Practitioner who is a member of an Insured Person's family, or stays with him",
140
- "Treatment taken on Outpatient basis",
141
- "The provision or fitting of hearing aids, spectacles or contact lenses",
142
- "Any treatment and associated expenses for alopecia, baldness including corticosteroids and topical immunotherapy wigs, toupees, hair pieces, any non-surgical hair replacement method. Optometric therapy",
143
- "Any treatment or part of a treatment that is not of a Reasonable and Customary charge, not Medically Necessary; treatments or drugs not supported by a prescription",
144
- "Expenses for Artificial limbs and/or device used for diagnosis or treatment (except when used intra-operatively).prosthesis, corrective devices external durable medical equipment of any kind, wheelchairs crutches and oxygen concentrator for bronchial asthma/ COPD conditions, cost of cochlear implant(s) unless necessitated by an Accident",
145
- "Any Claim arising due to Non-disclosure of Pre-existing Illness or Material fact as sought to be declared on the Proposal form",
146
- "Dental treatment and surgery of any kind, unless requiring Hospitalisation",
147
- "Any non-allopathic treatment except to the extent of coverage provided for under 'In-patient treatment' cover",
148
- "Any exclusion mentioned in the Schedule or the breach of any specific condition mentioned in the Schedule"
149
- ],
150
- "temporary_exclusions": null,
151
- "notable_exclusions_summary": "The policy excludes maternity expenses, cosmetic surgery, infertility treatments, weight control surgeries, and treatments related to hazardous sports. Pre-existing diseases are covered only after 36 months of continuous coverage. Specific diseases like cataract, hernia, and joint replacements have a 24-month waiting period.",
152
- "claim_settlement_ratio_pct": null,
153
- "claim_process_summary": "Claims must be intimated within 48 hours prior to planned hospitalization or within 24 hours in case of emergency. Cashless treatment is available at network hospitals. Reimbursement claims must be submitted within 7 days of discharge. The company shall settle or reject a claim within 15 days from the date of receipt of intimation.",
154
- "tat_cashless_authorization_hours": null,
155
- "available_riders": null,
156
- "top_rider_examples": null,
157
- "rider_premium_indicative_inr": null,
158
- "source_pdf_path": null,
159
- "source_pdf_url": null,
160
- "last_updated_date": null,
161
- "extraction_confidence_pct": 90
162
- }
163
- ```
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
rag/extracted/hdfc-ergo__optima-restore__brochure._raw.txt CHANGED
@@ -1,110 +0,0 @@
1
- ```json
2
- {
3
- "policy_id": "hdfc-ergo__optima-restore__brochure",
4
- "insurer_name": "HDFC ERGO General Insurance Company Limited",
5
- "insurer_slug": "hdfc-ergo",
6
- "policy_name": "Optima Restore",
7
- "policy_type": null,
8
- "uin_code": "HDHHLIP21322V062021",
9
- "min_entry_age_years": null,
10
- "max_entry_age_years": 65,
11
- "max_renewal_age_years": 999,
12
- "min_child_entry_age_days": 91,
13
- "family_composition_allowed": ["individual", "floater"],
14
- "residency_requirement": null,
15
- "sum_insured_options_inr": [300000, 500000, 1000000, 1500000, 2000000, 2500000, 5000000],
16
- "premium_payment_modes": null,
17
- "premium_range_indicative_inr": null,
18
- "premium_payment_term_years": 1,
19
- "grace_period_days": null,
20
- "free_look_period_days": null,
21
- "initial_waiting_period_days": 30,
22
- "pre_existing_disease_waiting_months": 36,
23
- "specific_disease_waiting_months": 24,
24
- "specific_diseases_listed": ["cataract", "hernia", "hysterectomy", "joint replacement"],
25
- "maternity_waiting_months": null,
26
- "sub_limits_waiting_notes": null,
27
- "inpatient_hospitalization": {
28
- "covered": true,
29
- "limit_inr": null,
30
- "limit_text": "Covered upto sum insured",
31
- "notes": null
32
- },
33
- "pre_hospitalization_days": 60,
34
- "post_hospitalization_days": 180,
35
- "day_care_treatments": {
36
- "covered": true,
37
- "limit_inr": null,
38
- "limit_text": "All Day Care Treatments Covered",
39
- "notes": null
40
- },
41
- "domiciliary_treatment": {
42
- "covered": true,
43
- "limit_inr": null,
44
- "limit_text": "Covered upto sum insured",
45
- "notes": null
46
- },
47
- "ayush_coverage": null,
48
- "maternity_coverage": null,
49
- "newborn_coverage": null,
50
- "organ_donor_expenses": {
51
- "covered": true,
52
- "limit_inr": null,
53
- "limit_text": "Covered upto sum insured",
54
- "notes": null
55
- },
56
- "ambulance_cover": {
57
- "covered": true,
58
- "limit_inr": 2000,
59
- "limit_text": "Upto Rs. 2,000 / Hospitalisation",
60
- "notes": null
61
- },
62
- "critical_illness_cover": null,
63
- "restoration_benefit": {
64
- "covered": true,
65
- "limit_inr": null,
66
- "limit_text": "Equal to 100% of Basic Sum Insured",
67
- "notes": "Restored only once in a Policy Year"
68
- },
69
- "no_claim_bonus_pct": 50.0,
70
- "no_claim_bonus_cap_pct": 100.0,
71
- "preventive_health_checkup": {
72
- "covered": true,
73
- "limit_inr": null,
74
- "limit_text": "Upto Rs. 5000 for sum insured of Rs 5 lakhs and once every year on sum insured of Rs 10 lakhs & above",
75
- "notes": "Available once in 2 years on sum insured of Rs 5 lakhs and once every year on sum insured of Rs 10 lakhs & above"
76
- },
77
- "room_rent_capping": "No sub-limit on room rent",
78
- "icu_capping": null,
79
- "copayment_pct": null,
80
- "copayment_trigger_notes": null,
81
- "disease_wise_sub_limits": null,
82
- "deductible_amount_inr": null,
83
- "geographic_coverage": null,
84
- "worldwide_emergency_cover": null,
85
- "network_hospital_count": 10000,
86
- "cashless_treatment_supported": true,
87
- "permanent_exclusions": [
88
- "Any treatment within first 30 days of cover except any accidental injury",
89
- "Abuse of intoxicant or hallucinogenic substance like drugs and alcohol",
90
- "Pregnancy, dental treatment, external aids and appliances",
91
- "Hospitalization due to war or an act of war or due to nuclear, chemical or biological weapon and radiation of any kind",
92
- "Non-allopathic treatment, congenital external diseases, cosmetic surgery"
93
- ],
94
- "temporary_exclusions": [
95
- "Pre-existing diseases/conditions will be covered after a waiting period of 3 years",
96
- "2 years exclusion for specific diseases like cataract, hernia, hysterectomy, joint replacement etc."
97
- ],
98
- "notable_exclusions_summary": "Exclusions include pre-existing diseases (3-year waiting period), specific diseases like cataract and hernia (2-year waiting period), pregnancy, dental treatment, non-allopathic treatment, cosmetic surgery, and hospitalization due to war or radiation.",
99
- "claim_settlement_ratio_pct": null,
100
- "claim_process_summary": null,
101
- "tat_cashless_authorization_hours": null,
102
- "available_riders": null,
103
- "top_rider_examples": null,
104
- "rider_premium_indicative_inr": null,
105
- "source_pdf_path": null,
106
- "source_pdf_url": null,
107
- "last_updated_date": null,
108
- "extraction_confidence_pct": 85
109
- }
110
- ```
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
rag/extracted/hdfc-ergo__total-health-plan__wordings._raw.txt CHANGED
@@ -1,145 +0,0 @@
1
- ```json
2
- {
3
- "policy_id": "hdfc-ergo__total-health-plan__wordings",
4
- "insurer_name": "HDFC ERGO General Insurance Company Limited",
5
- "insurer_slug": "hdfc-ergo",
6
- "policy_name": "Total Health Plan",
7
- "policy_type": "health_insurance",
8
- "uin_code": "HDHHLIP21317V032021",
9
- "min_entry_age_years": null,
10
- "max_entry_age_years": 65,
11
- "max_renewal_age_years": 999,
12
- "min_child_entry_age_days": 1,
13
- "family_composition_allowed": ["individual", "family_floater"],
14
- "residency_requirement": null,
15
- "sum_insured_options_inr": [100000, 500000, 700000, 1500000, 2000000, 5000000],
16
- "premium_payment_modes": null,
17
- "premium_range_indicative_inr": null,
18
- "premium_payment_term_years": 1,
19
- "grace_period_days": null,
20
- "free_look_period_days": 30,
21
- "initial_waiting_period_days": 30,
22
- "pre_existing_disease_waiting_months": 48,
23
- "specific_disease_waiting_months": 24,
24
- "specific_diseases_listed": [
25
- "Sinusitis",
26
- "Rhinitis",
27
- "Tonsillitis",
28
- "cysts, polyps including breast lumps",
29
- "Polycystic ovarian disease",
30
- "fibroids (fibromyoma)",
31
- "Non infective arthritis",
32
- "Gout and Rheumatism",
33
- "Osteoarthritis and Osteoporosis",
34
- "Calculus diseases of gall bladder including Cholecystitis",
35
- "Pancreatitis",
36
- "Fissure/fistula in anus, hemorrhoids, pilonidal sinus",
37
- "Ulcer and erosion of stomach and duodenum",
38
- "Gastro Esophageal Reflux Disorder (GERD)",
39
- "All forms of cirrhosis",
40
- "Calculus diseases of Urogenital system",
41
- "Cataract",
42
- "Internal tumors, cysts, nodules, polyps, skin tumors"
43
- ],
44
- "maternity_waiting_months": null,
45
- "sub_limits_waiting_notes": null,
46
- "inpatient_hospitalization": {
47
- "covered": true,
48
- "limit_inr": null,
49
- "limit_text": "Sum Insured",
50
- "notes": "Includes Hospital room rent or boarding expenses, nursing, Intensive Care Unit charges, Medical Practitioner’s charges, anesthesia, blood, oxygen, operation theatre charges, surgical appliances, medicines, drugs, consumables, diagnostic procedures."
51
- },
52
- "pre_hospitalization_days": 30,
53
- "post_hospitalization_days": 60,
54
- "day_care_treatments": {
55
- "covered": true,
56
- "limit_inr": null,
57
- "limit_text": "All listed in Appendix 1",
58
- "notes": "Treatment normally taken on an Out-patient basis is not included."
59
- },
60
- "domiciliary_treatment": {
61
- "covered": true,
62
- "limit_inr": null,
63
- "limit_text": "Treatment period greater than 3 days",
64
- "notes": "Coverage will be provided for expenses incurred in first three days however this benefit will be applicable if treatment period is greater than 3 days."
65
- },
66
- "ayush_coverage": null,
67
- "maternity_coverage": {
68
- "covered": false,
69
- "limit_inr": null,
70
- "limit_text": null,
71
- "notes": "Excluded under Standard General Exclusions."
72
- },
73
- "newborn_coverage": {
74
- "covered": true,
75
- "limit_inr": null,
76
- "limit_text": "From 1 day to 90 days",
77
- "notes": "Coverage for newborn baby will incept from the date, the premium has been received. The coverage is subject to the policy exclusions, terms and conditions."
78
- },
79
- "organ_donor_expenses": {
80
- "covered": true,
81
- "limit_inr": null,
82
- "limit_text": null,
83
- "notes": "Medical treatment of the organ donor for harvesting the organ."
84
- },
85
- "ambulance_cover": {
86
- "covered": true,
87
- "limit_inr": 5000,
88
- "limit_text": "Rs. 2000/- for Rs. 100,000 to 15,00,000 Sum Insured and Rs. 5000/- for Rs. 20,00,000 to 50,00,000 Sum Insured",
89
- "notes": "Expenses incurred on an ambulance in an emergency."
90
- },
91
- "critical_illness_cover": {
92
- "covered": true,
93
- "limit_inr": null,
94
- "limit_text": "Cancer, Open Chest CABG, First Heart Attack, Kidney Failure, Major Organ/Bone Marrow Transplant, Multiple Sclerosis, Permanent Paralysis of Limbs and Stroke",
95
- "notes": "We shall arrange and pay for a second opinion from Our panel of Medical Practitioners."
96
- },
97
- "restoration_benefit": null,
98
- "no_claim_bonus_pct": null,
99
- "no_claim_bonus_cap_pct": null,
100
- "preventive_health_checkup": null,
101
- "room_rent_capping": null,
102
- "icu_capping": null,
103
- "copayment_pct": null,
104
- "copayment_trigger_notes": null,
105
- "disease_wise_sub_limits": null,
106
- "deductible_amount_inr": null,
107
- "geographic_coverage": null,
108
- "worldwide_emergency_cover": null,
109
- "network_hospital_count": null,
110
- "cashless_treatment_supported": true,
111
- "permanent_exclusions": [
112
- "Breach of law with criminal intent",
113
- "Intentional self injury",
114
- "Suicide while sane or insane",
115
- "War or any act of war",
116
- "Nuclear, Chemical or Biological attack or weapons",
117
- "Treatment for Alcoholism, drug or substance abuse or any addictive condition",
118
- "Cosmetic or plastic surgery unless for reconstruction following an Accident, Burn(s) or Cancer",
119
- "Change-of-Gender treatments",
120
- "Sterility and Infertility",
121
- "Congenital external diseases, defects or anomalies",
122
- "Investigation & Evaluation expenses",
123
- "Rest Cure, rehabilitation and respite care",
124
- "Obesity/Weight control treatments",
125
- "Non-allopathic Treatments",
126
- "Pre-existing diseases"
127
- ],
128
- "temporary_exclusions": [
129
- "Pre-existing diseases (48 months)",
130
- "Specified diseases/procedures (24 months)",
131
- "Illnesses within 30 days from first policy commencement date"
132
- ],
133
- "notable_exclusions_summary": "The policy excludes pre-existing diseases for 48 months, specified diseases/procedures for 24 months, and illnesses within 30 days from policy commencement. Cosmetic surgery, change-of-gender treatments, sterility and infertility treatments, and congenital anomalies are permanently excluded. War, nuclear/biological attacks, and treatments for alcoholism or addiction are also not covered.",
134
- "claim_settlement_ratio_pct": null,
135
- "claim_process_summary": null,
136
- "tat_cashless_authorization_hours": null,
137
- "available_riders": null,
138
- "top_rider_examples": null,
139
- "rider_premium_indicative_inr": null,
140
- "source_pdf_path": null,
141
- "source_pdf_url": null,
142
- "last_updated_date": null,
143
- "extraction_confidence_pct": 95
144
- }
145
- ```
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
rag/extracted/icici-lombard__arogya-sanjeevani__wordings._raw.txt CHANGED
@@ -1,159 +0,0 @@
1
- ```json
2
- {
3
- "policy_id": "icici-lombard__arogya-sanjeevani__wordings",
4
- "insurer_name": "ICICI Lombard",
5
- "insurer_slug": "icici-lombard",
6
- "policy_name": "Arogya Sanjeevani Policy",
7
- "policy_type": "individual/floater",
8
- "uin_code": "ICIHLIP20178V011920",
9
- "min_entry_age_years": 18,
10
- "max_entry_age_years": 65,
11
- "max_renewal_age_years": 999,
12
- "min_child_entry_age_days": 90,
13
- "family_composition_allowed": ["spouse", "parents", "parents-in-law", "dependent_children"],
14
- "residency_requirement": "Indian resident only",
15
- "sum_insured_options_inr": null,
16
- "premium_payment_modes": ["yearly", "half_yearly", "quarterly", "monthly"],
17
- "premium_range_indicative_inr": null,
18
- "premium_payment_term_years": 1,
19
- "grace_period_days": 30,
20
- "free_look_period_days": 15,
21
- "initial_waiting_period_days": 30,
22
- "pre_existing_disease_waiting_months": 48,
23
- "specific_disease_waiting_months": 24,
24
- "specific_diseases_listed": [
25
- "Benign ENT disorder",
26
- "Tonsillectomy",
27
- "Adenoidectomy",
28
- "Mastoidectomy",
29
- "Tympanoplasty",
30
- "Hysterectomy",
31
- "Benign tumours, cysts, polyps",
32
- "Benign prostate hypertrophy",
33
- "Cataract and age related eye ailments",
34
- "Gastric/Duodenal Ulcer",
35
- "Gout and Rheumatism",
36
- "Hernia of all types",
37
- "Hydrocele",
38
- "Non Infective Arthritis",
39
- "Piles, Fissures and Fistula in anus",
40
- "Pilonidal sinus, Sinusitis and related disorders",
41
- "Prolapse inter Vertebral Disc and Spinal Diseases",
42
- "Calculi in urinary system, Gall Bladder and Bile duct, excluding malignancy",
43
- "Varicose Veins and Varicose Ulcers",
44
- "Internal Congenital Anomalies",
45
- "Treatment for joint replacement unless arising from accident",
46
- "Age-related Osteoarthritis & Osteoporosis"
47
- ],
48
- "maternity_waiting_months": null,
49
- "sub_limits_waiting_notes": "24/48 months waiting period for specific diseases as listed",
50
- "inpatient_hospitalization": {
51
- "covered": true,
52
- "limit_inr": null,
53
- "limit_text": "Room Rent, Boarding, Nursing Expenses up to 2% of the sum insured subject to maximum of Rs.5000/- per day. ICU/ICCU expenses up to 5% of sum insured subject to maximum of Rs.10,000/- per day."
54
- },
55
- "pre_hospitalization_days": 30,
56
- "post_hospitalization_days": 60,
57
- "day_care_treatments": {
58
- "covered": true,
59
- "limit_inr": null,
60
- "limit_text": "Covered up to sum insured"
61
- },
62
- "domiciliary_treatment": {
63
- "covered": false,
64
- "limit_inr": null,
65
- "limit_text": null
66
- },
67
- "ayush_coverage": {
68
- "covered": true,
69
- "limit_inr": null,
70
- "limit_text": "Covered up to sum insured"
71
- },
72
- "maternity_coverage": {
73
- "covered": false,
74
- "limit_inr": null,
75
- "limit_text": null
76
- },
77
- "newborn_coverage": {
78
- "covered": false,
79
- "limit_inr": null,
80
- "limit_text": null
81
- },
82
- "organ_donor_expenses": {
83
- "covered": false,
84
- "limit_inr": null,
85
- "limit_text": null
86
- },
87
- "ambulance_cover": {
88
- "covered": true,
89
- "limit_inr": 2000,
90
- "limit_text": "Rs.2000/- per hospitalization"
91
- },
92
- "critical_illness_cover": {
93
- "covered": false,
94
- "limit_inr": null,
95
- "limit_text": null
96
- },
97
- "restoration_benefit": {
98
- "covered": false,
99
- "limit_inr": null,
100
- "limit_text": null
101
- },
102
- "no_claim_bonus_pct": 5.0,
103
- "no_claim_bonus_cap_pct": 50.0,
104
- "preventive_health_checkup": {
105
- "covered": false,
106
- "limit_inr": null,
107
- "limit_text": null
108
- },
109
- "room_rent_capping": "2% of sum insured subject to maximum of Rs.5000/- per day",
110
- "icu_capping": "5% of sum insured subject to maximum of Rs.10,000/- per day",
111
- "copayment_pct": 5.0,
112
- "copayment_trigger_notes": "Applicable to claim amount admissible and payable as per the terms and conditions of the Policy",
113
- "disease_wise_sub_limits": {
114
- "cataract": "25% of sum insured or Rs.40,000/-, whichever is lower, per eye"
115
- },
116
- "deductible_amount_inr": null,
117
- "geographic_coverage": "India only",
118
- "worldwide_emergency_cover": {
119
- "covered": false,
120
- "limit_inr": null,
121
- "limit_text": null
122
- },
123
- "network_hospital_count": null,
124
- "cashless_treatment_supported": true,
125
- "permanent_exclusions": [
126
- "Investigation & Evaluation",
127
- "Rest Cure, rehabilitation and respite care",
128
- "Obesity/ Weight Control",
129
- "Change-of-Gender treatments",
130
- "Cosmetic or plastic Surgery",
131
- "Hazardous or Adventure sports",
132
- "Breach of law",
133
- "Excluded Providers",
134
- "Treatment for Alcoholism, drug or substance abuse",
135
- "Treatments received in health hydros, nature cure clinics, spas",
136
- "Dietary supplements",
137
- "Refractive Error",
138
- "Unproven Treatments",
139
- "Sterility and Infertility",
140
- "Maternity Expenses",
141
- "War and related risks",
142
- "Nuclear, chemical or biological attack or weapons",
143
- "Domiciliary Hospitalization",
144
- "OPD treatment"
145
- ],
146
- "temporary_exclusions": null,
147
- "notable_exclusions_summary": "The policy excludes maternity expenses, cosmetic or plastic surgery unless medically necessary, hazardous or adventure sports, alcoholism or drug abuse treatments, dietary supplements, refractive error corrections, unproven treatments, sterility and infertility treatments, and treatments received in health hydros or nature cure clinics.",
148
- "claim_settlement_ratio_pct": null,
149
- "claim_process_summary": "Claims can be filed either via cashless facility at network providers or through reimbursement for non-network providers. Cashless claims require pre-authorization, while reimbursement claims must be submitted within 30 days of discharge with necessary documents including bills, discharge summary, and medical reports.",
150
- "tat_cashless_authorization_hours": null,
151
- "available_riders": null,
152
- "top_rider_examples": null,
153
- "rider_premium_indicative_inr": null,
154
- "source_pdf_path": null,
155
- "source_pdf_url": null,
156
- "last_updated_date": null,
157
- "extraction_confidence_pct": 85
158
- }
159
- ```
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
rag/extracted/icici-lombard__complete-health-insurance-health-shield__wordings._raw.txt CHANGED
@@ -1,149 +0,0 @@
1
- ```json
2
- {
3
- "policy_id": "icici-lombard__complete-health-insurance-health-shield__wordings",
4
- "insurer_name": "ICICI Lombard General Insurance Company Limited",
5
- "insurer_slug": "icici-lombard",
6
- "policy_name": "Health Shield (ICICI Lombard Complete Health Insurance)",
7
- "policy_type": "indemnity",
8
- "uin_code": "ICIHLIP22096V062122",
9
- "min_entry_age_years": null,
10
- "max_entry_age_years": null,
11
- "max_renewal_age_years": 999,
12
- "min_child_entry_age_days": null,
13
- "family_composition_allowed": ["individual", "floater"],
14
- "residency_requirement": "Indian resident only",
15
- "sum_insured_options_inr": [300000, 400000, 500000, 700000, 1000000, 1500000, 2000000, 2500000, 5000000],
16
- "premium_payment_modes": ["annual"],
17
- "premium_range_indicative_inr": null,
18
- "premium_payment_term_years": 1,
19
- "grace_period_days": 30,
20
- "free_look_period_days": 15,
21
- "initial_waiting_period_days": 30,
22
- "pre_existing_disease_waiting_months": 24,
23
- "specific_disease_waiting_months": 24,
24
- "specific_diseases_listed": ["hypertension", "diabetes", "cardiac conditions"],
25
- "maternity_waiting_months": null,
26
- "sub_limits_waiting_notes": "90 days waiting period for hypertension, diabetes, and cardiac conditions unless disclosed as pre-existing diseases.",
27
- "inpatient_hospitalization": {
28
- "covered": true,
29
- "limit_inr": null,
30
- "limit_text": "Up to Sum Insured",
31
- "notes": "Covers hospital expenses for admission longer than 24 hours."
32
- },
33
- "pre_hospitalization_days": 30,
34
- "post_hospitalization_days": 60,
35
- "day_care_treatments": {
36
- "covered": true,
37
- "limit_inr": null,
38
- "limit_text": "Up to Sum Insured",
39
- "notes": "Medical expenses for day care procedures where such procedures are undertaken by an Insured Person as an In-patient in a Hospital for continuous period of less than 24 hours."
40
- },
41
- "domiciliary_treatment": {
42
- "covered": true,
43
- "limit_inr": null,
44
- "limit_text": "Up to Sum Insured",
45
- "notes": "Medical Expenses incurred in respect of the Domiciliary Hospitalization of the Insured Person during the Policy Period."
46
- },
47
- "ayush_coverage": {
48
- "covered": true,
49
- "limit_inr": null,
50
- "limit_text": "Up to Sum Insured",
51
- "notes": "Reimbursement of expenses for AYUSH treatment when undergone in a AYUSH Hospital or AYUSH day care centre."
52
- },
53
- "maternity_coverage": {
54
- "covered": true,
55
- "limit_inr": null,
56
- "limit_text": "Up to Sum Insured",
57
- "notes": "Includes medical treatment expenses traceable to childbirth (including complicated deliveries and caesarean sections incurred during Hospitalisation)."
58
- },
59
- "newborn_coverage": {
60
- "covered": true,
61
- "limit_inr": null,
62
- "limit_text": "Up to Sum Insured",
63
- "notes": "Coverage for newborn baby up to 90 days from birth."
64
- },
65
- "organ_donor_expenses": {
66
- "covered": true,
67
- "limit_inr": 1000000,
68
- "limit_text": "Up to ₹10 Lakhs",
69
- "notes": "Expenses incurred in respect of the donor for any of the organ transplant surgery, provided the organ donated is for the insured person’s use."
70
- },
71
- "ambulance_cover": {
72
- "covered": true,
73
- "limit_inr": 10000,
74
- "limit_text": "1% of Sum Insured maximum up to ₹10,000 per event",
75
- "notes": "Domestic Road Ambulance expenses incurred to transfer the Insured Person following an emergency to the nearest Hospital."
76
- },
77
- "critical_illness_cover": {
78
- "covered": true,
79
- "limit_inr": null,
80
- "limit_text": "Up to Sum Insured for Basic Sum insured amount 10lacs and below and 50% of sum insured for basic sum insured amount more than 10lacs",
81
- "notes": "Lump sum pay-out for specified critical illnesses like Cancer of specified severity, open chest CABG, First heart attack, major organ/bone marrow transplant, permanent paralysis of limbs, Kidney failure requiring regular dialysis, end stage liver disease."
82
- },
83
- "restoration_benefit": {
84
- "covered": true,
85
- "limit_inr": null,
86
- "limit_text": "Unlimited reset in a policy year",
87
- "notes": "Reset will be available unlimited times in a policy year in case the Sum insured including accrued Additional Sum Insured and Super No Claim Bonus is insufficient as a result of previous claims in that policy year."
88
- },
89
- "no_claim_bonus_pct": 10.0,
90
- "no_claim_bonus_cap_pct": 50.0,
91
- "preventive_health_checkup": {
92
- "covered": true,
93
- "limit_inr": null,
94
- "limit_text": "Free health check-up coupon to Insured for every Policy Year, subject to a maximum of 2 coupons per year for floater policies.",
95
- "notes": "Health check-up provided through empanelled centers or arranged home visit."
96
- },
97
- "room_rent_capping": null,
98
- "icu_capping": null,
99
- "copayment_pct": null,
100
- "copayment_trigger_notes": null,
101
- "disease_wise_sub_limits": {
102
- "cataract": "₹20,000 per eye per Policy year for Plans with Sum Insured up to 5Lacs. ₹1,00,000 per eye per Policy year for plans with Sum Insured above Rs. 5 Lacs."
103
- },
104
- "deductible_amount_inr": null,
105
- "geographic_coverage": "India",
106
- "worldwide_emergency_cover": {
107
- "covered": true,
108
- "limit_inr": null,
109
- "limit_text": "Hospitalisation expenses incurred anywhere in the world will be covered up to the limit specified subject to a co-pay of 10%.",
110
- "notes": "The limit for this cover is over and above annual Sum Insured."
111
- },
112
- "network_hospital_count": 6500,
113
- "cashless_treatment_supported": true,
114
- "permanent_exclusions": [
115
- "Acupressure, acupuncture, magnetic and such other therapies",
116
- "Unproven treatments",
117
- "Cosmetic or plastic surgery",
118
- "Dental treatment unless due to accident",
119
- "Breach of law"
120
- ],
121
- "temporary_exclusions": null,
122
- "notable_exclusions_summary": "The policy excludes treatments like acupressure, acupuncture, unproven treatments, cosmetic surgery, and dental treatments unless due to an accident. It also does not cover breaches of law.",
123
- "claim_settlement_ratio_pct": null,
124
- "claim_process_summary": "Claims can be filed either through cashless facility at over 6500+ network hospitals or via reimbursement for non-network providers. The policy includes a claim service guarantee.",
125
- "tat_cashless_authorization_hours": null,
126
- "available_riders": [
127
- "Critical Illness",
128
- "Personal Accident",
129
- "Nursing at Home",
130
- "Compassionate Visit",
131
- "Hospital Daily Cash",
132
- "Convalescence Benefit",
133
- "Claim Protector",
134
- "Sum Insured Protector",
135
- "World Wide Cover",
136
- "Super No Claim Bonus"
137
- ],
138
- "top_rider_examples": [
139
- "Critical Illness",
140
- "Personal Accident",
141
- "World Wide Cover"
142
- ],
143
- "rider_premium_indicative_inr": null,
144
- "source_pdf_path": null,
145
- "source_pdf_url": null,
146
- "last_updated_date": null,
147
- "extraction_confidence_pct": 95.0
148
- }
149
- ```
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
rag/extracted/icici-lombard__complete-health-insurance-umbrella__wordings._raw.txt CHANGED
@@ -1,116 +0,0 @@
1
- ```json
2
- {
3
- "policy_id": "icici-lombard__complete-health-insurance-umbrella__wordings",
4
- "insurer_name": "ICICI Lombard General Insurance Company Limited",
5
- "insurer_slug": "icici-lombard",
6
- "policy_name": "Complete Health Insurance Umbrella",
7
- "policy_type": "health",
8
- "uin_code": "ICIHLIP23144V072223",
9
- "min_entry_age_years": null,
10
- "max_entry_age_years": null,
11
- "max_renewal_age_years": 999,
12
- "min_child_entry_age_days": null,
13
- "family_composition_allowed": null,
14
- "residency_requirement": "Indian resident only",
15
- "sum_insured_options_inr": null,
16
- "premium_payment_modes": null,
17
- "premium_range_indicative_inr": null,
18
- "premium_payment_term_years": 1,
19
- "grace_period_days": 30,
20
- "free_look_period_days": null,
21
- "initial_waiting_period_days": null,
22
- "pre_existing_disease_waiting_months": 48,
23
- "specific_disease_waiting_months": null,
24
- "specific_diseases_listed": null,
25
- "maternity_waiting_months": null,
26
- "sub_limits_waiting_notes": null,
27
- "inpatient_hospitalization": {
28
- "covered": true,
29
- "limit_inr": null,
30
- "limit_text": "up to the Annual Sum Insured specified in the Policy Schedule",
31
- "notes": "Includes ICU charges, nursing charges, medical practitioner’s fees, anaesthesia, blood, oxygen, operation theatre charges, medicines, drugs and consumables, surgical appliances and prosthetic devices, and diagnostic procedures."
32
- },
33
- "pre_hospitalization_days": null,
34
- "post_hospitalization_days": null,
35
- "day_care_treatments": {
36
- "covered": true,
37
- "limit_inr": null,
38
- "limit_text": "up to the Annual Sum Insured specified in the Policy Schedule",
39
- "notes": "Includes procedures requiring hospitalization less than 24 hours."
40
- },
41
- "domiciliary_treatment": {
42
- "covered": true,
43
- "limit_inr": null,
44
- "limit_text": "up to the Annual Sum Insured specified in the Policy Schedule",
45
- "notes": "Treatment must continue for at least 3 consecutive days."
46
- },
47
- "ayush_coverage": {
48
- "covered": true,
49
- "limit_inr": null,
50
- "limit_text": "up to the Annual Sum Insured specified in the Policy Schedule",
51
- "notes": "Includes treatments under Ayurveda, Yoga, Naturopathy, Unani, Siddha, and Homeopathy."
52
- },
53
- "maternity_coverage": {
54
- "covered": true,
55
- "limit_inr": null,
56
- "limit_text": "up to the Annual Sum Insured specified in the Policy Schedule",
57
- "notes": "Includes medical treatment expenses traceable to childbirth and lawful medical termination of pregnancy during the policy period."
58
- },
59
- "newborn_coverage": {
60
- "covered": true,
61
- "limit_inr": null,
62
- "limit_text": "up to the Annual Sum Insured specified in the Policy Schedule",
63
- "notes": "Baby born during the Policy Period and aged up to 90 days."
64
- },
65
- "organ_donor_expenses": {
66
- "covered": true,
67
- "limit_inr": null,
68
- "limit_text": "up to the Annual Sum Insured specified in the Policy Schedule",
69
- "notes": "Covers medical expenses incurred in respect of an organ donor’s hospitalization during the Policy Period for harvesting of the organ donated to the Insured Person."
70
- },
71
- "ambulance_cover": {
72
- "covered": true,
73
- "limit_inr": 10000,
74
- "limit_text": "maximum up to ` 10,000 per claim",
75
- "notes": "Covers road ambulance services for transfer to the nearest Hospital from the place of Accident/Illness."
76
- },
77
- "critical_illness_cover": null,
78
- "restoration_benefit": {
79
- "covered": true,
80
- "limit_inr": null,
81
- "limit_text": "reset up to 100% of the Annual Sum Insured once for same illness/disease/injury and unlimited times for different illness/disease/injury",
82
- "notes": "Available only if the Annual Sum Insured is insufficient due to previous claims in that Policy Year."
83
- },
84
- "no_claim_bonus_pct": 20.0,
85
- "no_claim_bonus_cap_pct": 100.0,
86
- "preventive_health_checkup": {
87
- "covered": true,
88
- "limit_inr": null,
89
- "limit_text": "once per Policy Year per Insured Person",
90
- "notes": "Available for Insured Persons aged 21 years and above at Network Providers or empaneled Health Service Providers."
91
- },
92
- "room_rent_capping": "as specified in the Policy Schedule",
93
- "icu_capping": null,
94
- "copayment_pct": null,
95
- "copayment_trigger_notes": null,
96
- "disease_wise_sub_limits": null,
97
- "deductible_amount_inr": null,
98
- "geographic_coverage": "India",
99
- "worldwide_emergency_cover": null,
100
- "network_hospital_count": null,
101
- "cashless_treatment_supported": true,
102
- "permanent_exclusions": null,
103
- "temporary_exclusions": null,
104
- "notable_exclusions_summary": null,
105
- "claim_settlement_ratio_pct": null,
106
- "claim_process_summary": "Claims can be filed via cashless or reimbursement. Cashless facility is available through network providers. Reimbursement claims require submission of necessary documents.",
107
- "tat_cashless_authorization_hours": null,
108
- "available_riders": null,
109
- "top_rider_examples": null,
110
- "rider_premium_indicative_inr": null,
111
- "source_pdf_path": null,
112
- "source_pdf_url": null,
113
- "last_updated_date": null,
114
- "extraction_confidence_pct": 85
115
- }
116
- ```
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
rag/extracted/icici-lombard__health-booster-top-up__wordings._raw.txt CHANGED
@@ -1,111 +0,0 @@
1
- ```json
2
- {
3
- "policy_id": "icici-lombard__health-booster-top-up__wordings",
4
- "insurer_name": "ICICI Lombard General Insurance Company Limited",
5
- "insurer_slug": "icici-lombard",
6
- "policy_name": "Health Booster",
7
- "policy_type": "health",
8
- "uin_code": "ICIHLIP22100V032122",
9
- "min_entry_age_years": null,
10
- "max_entry_age_years": 60,
11
- "max_renewal_age_years": 999,
12
- "min_child_entry_age_days": null,
13
- "family_composition_allowed": ["individual", "floater"],
14
- "residency_requirement": "Indian resident only",
15
- "sum_insured_options_inr": null,
16
- "premium_payment_modes": null,
17
- "premium_range_indicative_inr": null,
18
- "premium_payment_term_years": 1,
19
- "grace_period_days": 30,
20
- "free_look_period_days": null,
21
- "initial_waiting_period_days": null,
22
- "pre_existing_disease_waiting_months": 48,
23
- "specific_disease_waiting_months": null,
24
- "specific_diseases_listed": null,
25
- "maternity_waiting_months": null,
26
- "sub_limits_waiting_notes": null,
27
- "inpatient_hospitalization": {
28
- "covered": true,
29
- "limit_inr": null,
30
- "limit_text": "Up to Annual Sum Insured",
31
- "notes": "Covers room rent, ICU charges, medical practitioners fees, nursing charges, diagnostics procedures, anesthesia, blood, oxygen, surgical appliances, medicines, drugs and consumables, intravenous fluids, blood transfusion, injection administration charges, operation theatre charges, cost of prosthetics and other devices or equipment if implanted internally during a Surgical Procedure."
32
- },
33
- "pre_hospitalization_days": 60,
34
- "post_hospitalization_days": 90,
35
- "day_care_treatments": {
36
- "covered": true,
37
- "limit_inr": null,
38
- "limit_text": "Up to Annual Sum Insured",
39
- "notes": "Includes intravenous chemotherapy, radiotherapy, hemodialysis or any other procedure which require a period of specialized observation or care after completion of the procedure where such procedure is undertaken by an Insured person as an In-patient Hospitalization for a continuous period of less than 24 hours."
40
- },
41
- "domiciliary_treatment": {
42
- "covered": true,
43
- "limit_inr": null,
44
- "limit_text": "Up to Annual Sum Insured",
45
- "notes": "Excludes pre or post hospitalization Medical Expenses and treatment of certain diseases like Asthma, Bronchitis, Chronic Nephritis and Chronic Nephritic/Nephrotic Syndrome, Diarrhoea and all types of Dysenteries including Gastro-enteritis, Diabetes Mellitus and Insipidus, Epilepsy, Hypertension, Influenza, Cough and Cold, Pyrexia of unknown origin for less than 10 days, Tonsillitis and Upper Respiratory Tract Infection including Laryngitis and Pharyngitis, Arthritis, Gout and Rheumatism."
46
- },
47
- "ayush_coverage": {
48
- "covered": true,
49
- "limit_inr": null,
50
- "limit_text": "Up to Annual Sum Insured",
51
- "notes": "Only when the treatment has been undergone in a AYUSH Hospital or AYUSH day care centre."
52
- },
53
- "maternity_coverage": null,
54
- "newborn_coverage": null,
55
- "organ_donor_expenses": {
56
- "covered": true,
57
- "limit_inr": null,
58
- "limit_text": "Up to Annual Sum Insured",
59
- "notes": "Only for the donor for the organ transplant surgery, provided the organ donated is for Your use and You have been Medically Advised to undergo an organ transplant. Pre & post medical expenses or any other medical treatment for the donor consequent on the harvesting are not covered."
60
- },
61
- "ambulance_cover": {
62
- "covered": true,
63
- "limit_inr": 5000,
64
- "limit_text": "1% of Sum Insured, maximum up to 5,000 Rs. per Hospitalization",
65
- "notes": "For ambulance services offered by a Hospital or by an ambulance service provider for necessary transportation to the nearest Hospital in case of a life threatening emergency condition."
66
- },
67
- "critical_illness_cover": {
68
- "covered": true,
69
- "limit_inr": null,
70
- "limit_text": "12 critical illnesses listed",
71
- "notes": "Available only for adult members aged maximum up to 60 years. No Claim under this Extension shall be admissible in case any of the Critical Illnesses is a consequence of or arises out of any Pre-Existing Condition(s)/ Disease."
72
- },
73
- "restoration_benefit": {
74
- "covered": true,
75
- "limit_inr": null,
76
- "limit_text": "100% of Sum Insured once in a policy year",
77
- "notes": "For plans with Deductible ₹ 3lacs and above, reset up to 100% of the Sum insured once in a policy year in case the Sum insured including accrued Additional Sum Insured (if any) is insufficient as a result of previous claims in that policy year."
78
- },
79
- "no_claim_bonus_pct": 10.0,
80
- "no_claim_bonus_cap_pct": 50.0,
81
- "preventive_health_checkup": {
82
- "covered": true,
83
- "limit_inr": null,
84
- "limit_text": "Maximum of 2 coupons per year for floater policies",
85
- "notes": "Complimentary health check-up coupons provided to the insured for every Policy Year, on issuance or upon renewal of the Policy."
86
- },
87
- "room_rent_capping": null,
88
- "icu_capping": null,
89
- "copayment_pct": null,
90
- "copayment_trigger_notes": null,
91
- "disease_wise_sub_limits": null,
92
- "deductive_amount_inr": null,
93
- "geographic_coverage": "India",
94
- "worldwide_emergency_cover": null,
95
- "network_hospital_count": null,
96
- "cashless_treatment_supported": true,
97
- "permanent_exclusions": null,
98
- "temporary_exclusions": null,
99
- "notable_exclusions_summary": null,
100
- "claim_settlement_ratio_pct": null,
101
- "claim_process_summary": "For Reimbursement Claims: Payment of admissible claim or communication of non admissibility of claim within 14 days after submission of complete set of documents & information. For Cashless Claims: Response within 4 hours of the actual receipt of pre authorization request with approval, rejection, or query seeking further information.",
102
- "tat_cashless_authorization_hours": 4.0,
103
- "available_riders": ["Hospital Daily Cash", "Convalescence Benefit", "Personal Accident Cover", "Temporary Total Disablement (TTD) Rehabilitation Cover", "Repatriation of Remains", "Critical Illness Cover"],
104
- "top_rider_examples": ["Personal Accident Cover", "Critical Illness Cover"],
105
- "rider_premium_indicative_inr": null,
106
- "source_pdf_path": null,
107
- "source_pdf_url": null,
108
- "last_updated_date": null,
109
- "extraction_confidence_pct": 85.0
110
- }
111
- ```
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
rag/extracted/regulatory__dfs-gst-exemption-insurance-faqs-2025._raw.txt ADDED
File without changes
rag/extracted/regulatory__irdai-arogya-sanjeevani-policy-attachment-1._raw.txt ADDED
File without changes
rag/extracted/regulatory__irdai-arogya-sanjeevani-policy._raw.txt ADDED
File without changes
rag/extracted/regulatory__irdai-consolidated-product-filing-health-2020._raw.txt ADDED
File without changes
rag/extracted/regulatory__irdai-corona-kavach-press-release._raw.txt ADDED
File without changes
rag/extracted/regulatory__irdai-grievance-redressal-handbook._raw.txt ADDED
File without changes
rag/extracted/regulatory__irdai-health-insurance-regulations-2016._raw.txt ADDED
File without changes
rag/extracted/regulatory__irdai-insurance-act-1938-amended-2021._raw.txt ADDED
File without changes
rag/extracted/regulatory__irdai-master-circular-health-2024._raw.txt ADDED
File without changes
rag/extracted/regulatory__irdai-master-circular-health-annexure-2024._raw.txt ADDED
File without changes
rag/extracted/regulatory__irdai-master-circular-protection-policyholders-2024._raw.txt ADDED
File without changes
rag/extracted/regulatory__irdai-master-circular-standardisation-health-products-2020._raw.txt ADDED
File without changes
rag/extracted/regulatory__irdai-modification-standardisation-2020._raw.txt ADDED
File without changes
rag/extracted/regulatory__irdai-ombudsman-rules-faq-2017._raw.txt ADDED
File without changes
rag/extracted/regulatory__irdai-protection-policyholders-regulations-2017._raw.txt ADDED
File without changes
rag/extracted/regulatory__irdai-saral-suraksha-bima-guidelines._raw.txt ADDED
File without changes
rag/extracted/regulatory__irdai-standardisation-exclusions-amendments-2020._raw.txt ADDED
File without changes
rag/extracted/regulatory__nha-pmjay-operations-manual._raw.txt ADDED
File without changes
rag/extracted/star-health__family-health-optima__brochure._raw.txt ADDED
File without changes
rag/extracted/star-health__family-health-optima__wordings._raw.txt ADDED
File without changes
rag/extracted/star-health__health-premier__brochure._raw.txt ADDED
File without changes
rag/extracted/star-health__health-premier__wordings._raw.txt ADDED
File without changes
rag/extracted/star-health__senior-citizens-red-carpet__brochure._raw.txt ADDED
File without changes
rag/extracted/star-health__star-assure__wordings._raw.txt ADDED
File without changes
rag/extracted/star-health__star-cancer-care-platinum__wordings._raw.txt ADDED
File without changes
rag/extracted/star-health__star-cardiac-care-platinum__wordings._raw.txt ADDED
File without changes
rag/extracted/star-health__star-cardiac-care__wordings._raw.txt ADDED
File without changes