rohitsar567 Claude Opus 4.7 (1M context) commited on
Commit
2c51f98
Β·
1 Parent(s): a025a43

#44: reconcile PED waiting across policy-facts doctype files (data integrity)

Browse files

14 policies had conflicting pre_existing_disease_waiting_months across
base/__wordings/__cis/__brochure files, causing the scorecard surface
and get_policy_facts to contradict each other in one reply (e.g. ICICI
Health AdvantEdge card said "0 months β€” short waiting" while the table
said 24mo; the bogus 0 also inflated its grade). Each set to the
source-faithful canonical value (wordings/Code-Excl01 legal clause
preferred; garbled OCR resolved to the real number in the quote; no
invented numbers β€” every value keeps its real supporting quote).
Guard test tests/test_policy_facts_ped_consistency.py pins "no policy's
doctype files disagree on PED" (red→green verified).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

Files changed (27) hide show
  1. 40-data/policy_facts/aditya-birla__activ-assure-diamond.json +2 -1
  2. 40-data/policy_facts/aditya-birla__activ-assure-diamond__wordings.json +5 -4
  3. 40-data/policy_facts/bajaj-allianz__silver-health.json +3 -2
  4. 40-data/policy_facts/bajaj-allianz__silver-health__cis.json +3 -2
  5. 40-data/policy_facts/care-health__care-supreme-enhance.json +4 -3
  6. 40-data/policy_facts/care-health__care-supreme-enhance__wordings.json +2 -1
  7. 40-data/policy_facts/hdfc-ergo__my-health-sampoorna-suraksha.json +2 -1
  8. 40-data/policy_facts/hdfc-ergo__my-health-sampoorna-suraksha__brochure.json +4 -3
  9. 40-data/policy_facts/hdfc-ergo__my-health-suraksha.json +2 -1
  10. 40-data/policy_facts/hdfc-ergo__my-health-suraksha__brochure.json +4 -3
  11. 40-data/policy_facts/hdfc-ergo__optima-enhance.json +4 -3
  12. 40-data/policy_facts/hdfc-ergo__optima-enhance__wordings.json +2 -1
  13. 40-data/policy_facts/icici-lombard__health-advantedge.json +4 -3
  14. 40-data/policy_facts/icici-lombard__health-advantedge__wordings.json +3 -2
  15. 40-data/policy_facts/new-india__asha-kiran-policy__brochure.json +3 -3
  16. 40-data/policy_facts/new-india__new-india-mediclaim-policy__brochure.json +3 -3
  17. 40-data/policy_facts/niva-bupa__health-premia.json +5 -4
  18. 40-data/policy_facts/niva-bupa__health-premia__wordings.json +2 -1
  19. 40-data/policy_facts/sbi-general__super-health-insurance__wordings.json +3 -3
  20. 40-data/policy_facts/star-health__health-premier.json +4 -3
  21. 40-data/policy_facts/star-health__health-premier__brochure.json +2 -1
  22. 40-data/policy_facts/star-health__health-premier__wordings.json +2 -1
  23. 40-data/policy_facts/star-health__star-assure.json +4 -3
  24. 40-data/policy_facts/star-health__star-assure__wordings.json +2 -1
  25. 40-data/policy_facts/star-health__star-comprehensive.json +5 -4
  26. 40-data/policy_facts/star-health__star-comprehensive__wordings.json +2 -1
  27. tests/test_policy_facts_ped_consistency.py +78 -0
40-data/policy_facts/aditya-birla__activ-assure-diamond.json CHANGED
@@ -38,7 +38,8 @@
38
  "unit": "months",
39
  "source_pdf_path": "rag/corpus/aditya-birla/activ-assure-diamond__wordings.pdf",
40
  "source_quote": "for Hospitalization in respect of diagnosis/treatment of any Pre-Existing Disease after 24 months, as applicable and mentioned in the Policy Schedule, if continuous coverage has elapsed, since the inception of the first Policy with Us.",
41
- "_confidence": "medium"
 
42
  },
43
  "specific_disease_waiting_months": {
44
  "value": 24,
 
38
  "unit": "months",
39
  "source_pdf_path": "rag/corpus/aditya-birla/activ-assure-diamond__wordings.pdf",
40
  "source_quote": "for Hospitalization in respect of diagnosis/treatment of any Pre-Existing Disease after 24 months, as applicable and mentioned in the Policy Schedule, if continuous coverage has elapsed, since the inception of the first Policy with Us.",
41
+ "_confidence": "medium",
42
+ "_reconciliation": "Bug #44: base value 24 retained β€” it is the only concrete PED months figure the source wordings PDF states ('Pre-Existing Disease after 24 months, as applicable and mentioned in the Policy Schedule'); the standard clause otherwise defers to the Policy Schedule. __wordings sibling was null ('not stated'); aligned to this sourced value. Confidence medium (schedule-driven)."
43
  },
44
  "specific_disease_waiting_months": {
45
  "value": 24,
40-data/policy_facts/aditya-birla__activ-assure-diamond__wordings.json CHANGED
@@ -60,11 +60,12 @@
60
  "_confidence": "high"
61
  },
62
  "pre_existing_disease_waiting_months": {
63
- "value": null,
64
  "unit": "months",
65
  "source_pdf_path": "rag/corpus/aditya-birla/activ-assure-diamond__wordings.pdf",
66
- "source_quote": "not stated in activ-assure-diamond__wordings.pdf",
67
- "_confidence": "low"
 
68
  },
69
  "specific_disease_waiting_months": {
70
  "value": 24,
@@ -254,4 +255,4 @@
254
  "source_quote": "not stated in activ-assure-diamond__wordings.pdf",
255
  "_confidence": "low"
256
  }
257
- }
 
60
  "_confidence": "high"
61
  },
62
  "pre_existing_disease_waiting_months": {
63
+ "value": 24,
64
  "unit": "months",
65
  "source_pdf_path": "rag/corpus/aditya-birla/activ-assure-diamond__wordings.pdf",
66
+ "source_quote": "for Hospitalization in respect of diagnosis/treatment of any Pre-Existing Disease after 24 months, as applicable and mentioned in the Policy Schedule, if continuous coverage has elapsed, since the inception of the first Policy with Us.",
67
+ "_confidence": "medium",
68
+ "_reconciliation": "Bug #44: sibling was null ('not stated in ...pdf'). Aligned to the sourced base value 24 (the only concrete PED months figure the wordings PDF states; see base note). NOT an invented number β€” traces to the verbatim quote above."
69
  },
70
  "specific_disease_waiting_months": {
71
  "value": 24,
 
255
  "source_quote": "not stated in activ-assure-diamond__wordings.pdf",
256
  "_confidence": "low"
257
  }
258
+ }
40-data/policy_facts/bajaj-allianz__silver-health.json CHANGED
@@ -39,7 +39,8 @@
39
  "unit": "months",
40
  "source_pdf_path": "rag/corpus/bajaj-allianz/silver-health__cis.pdf",
41
  "source_quote": "Pre-existing diseases waiting period: 12 months 36 months (plan A) & 24 Months (plan B) – for below procedure 1. Joint replacement surgery unless necessitated by accidental Bodily Injury",
42
- "_confidence": "high"
 
43
  },
44
  "specific_disease_waiting_months": {
45
  "value": 12,
@@ -166,4 +167,4 @@
166
  "completeness_pct": 65,
167
  "notes": "Pattern-based extraction from local PDF via pdfplumber. Insurer-level metrics (CSR, network count) left null pending downstream backfill."
168
  }
169
- }
 
39
  "unit": "months",
40
  "source_pdf_path": "rag/corpus/bajaj-allianz/silver-health__cis.pdf",
41
  "source_quote": "Pre-existing diseases waiting period: 12 months 36 months (plan A) & 24 Months (plan B) – for below procedure 1. Joint replacement surgery unless necessitated by accidental Bodily Injury",
42
+ "_confidence": "high",
43
+ "_reconciliation": "Bug #44: garbled source line β€” 'Pre-existing diseases waiting period: 12 months 36 months (plan A) & 24 Months (plan B) – for below procedure 1. Joint replacement surgery'. The GENERAL PED waiting period is 12 months; the 36/24 figures are PROCEDURE-specific (joint replacement) plan-A/plan-B sub-waits, NOT the general PED. Value 12 confirmed (already agreed base==__cis); quote/note disambiguated."
44
  },
45
  "specific_disease_waiting_months": {
46
  "value": 12,
 
167
  "completeness_pct": 65,
168
  "notes": "Pattern-based extraction from local PDF via pdfplumber. Insurer-level metrics (CSR, network count) left null pending downstream backfill."
169
  }
170
+ }
40-data/policy_facts/bajaj-allianz__silver-health__cis.json CHANGED
@@ -66,7 +66,8 @@
66
  "unit": "months",
67
  "source_pdf_path": "rag/corpus/bajaj-allianz/silver-health__cis.pdf",
68
  "source_quote": "Pre-existing diseases waiting period: 12 months 36 months (plan A) & 24 Months (plan B) – for below procedure 1. Joint replacement surgery unless necessitated by accidental Bodily Injury",
69
- "_confidence": "high"
 
70
  },
71
  "specific_disease_waiting_months": {
72
  "value": 12,
@@ -214,4 +215,4 @@
214
  "source_quote": "Cumulative Bonus 10% increase in base sum insured per claim free policy Year Max up to 100%",
215
  "_confidence": "high"
216
  }
217
- }
 
66
  "unit": "months",
67
  "source_pdf_path": "rag/corpus/bajaj-allianz/silver-health__cis.pdf",
68
  "source_quote": "Pre-existing diseases waiting period: 12 months 36 months (plan A) & 24 Months (plan B) – for below procedure 1. Joint replacement surgery unless necessitated by accidental Bodily Injury",
69
+ "_confidence": "high",
70
+ "_reconciliation": "Bug #44: general PED waiting period = 12 months (36/24 in the source line are joint-replacement procedure-specific sub-waits). Value 12 confirmed; quote/note disambiguated. Matches base."
71
  },
72
  "specific_disease_waiting_months": {
73
  "value": 12,
 
215
  "source_quote": "Cumulative Bonus 10% increase in base sum insured per claim free policy Year Max up to 100%",
216
  "_confidence": "high"
217
  }
218
+ }
40-data/policy_facts/care-health__care-supreme-enhance.json CHANGED
@@ -34,10 +34,11 @@
34
  "source_quote": "rion: please inform us within 30 days from the date of receipt of the policy, failing which the details relating to the person/s covered i. Having at least 5 in-patient beds; would be taken as correct"
35
  },
36
  "pre_existing_disease_waiting_months": {
37
- "value": 24,
38
  "source_pdf_path": "rag/corpus/care-health/care-supreme-enhance__wordings.pdf",
39
- "source_quote": "treatments shall be excluded until the expiry of 24 months of continuous coverage, as may be the case after the date of inception of the first policy with the Company. This exclusion shall not be applicable f",
40
- "_confidence": "high"
 
41
  },
42
  "specific_disease_waiting_months": {
43
  "value": 24,
 
34
  "source_quote": "rion: please inform us within 30 days from the date of receipt of the policy, failing which the details relating to the person/s covered i. Having at least 5 in-patient beds; would be taken as correct"
35
  },
36
  "pre_existing_disease_waiting_months": {
37
+ "value": 36,
38
  "source_pdf_path": "rag/corpus/care-health/care-supreme-enhance__wordings.pdf",
39
+ "source_quote": "Pre-Existing Diseases: Code- Excl01 a. Expenses related to the treatment of a pre-existing Disease (PED) and its direct complications shall be excluded until the expiry of 36 months of contin",
40
+ "_confidence": "high",
41
+ "_reconciliation": "Bug #44: base previously 24 but that quote was the Excl02 specified-disease/procedure waiting clause, not PED. True PED is the Excl01 clause: 36 months (matches __wordings sibling + the PED definition 'not more than 36 months')."
42
  },
43
  "specific_disease_waiting_months": {
44
  "value": 24,
40-data/policy_facts/care-health__care-supreme-enhance__wordings.json CHANGED
@@ -64,7 +64,8 @@
64
  "unit": "months",
65
  "source_pdf_path": "rag/corpus/care-health/care-supreme-enhance__wordings.pdf",
66
  "source_quote": "Pre-Existing Diseases: Code- Excl01 a. Expenses related to the treatment of a pre-existing Disease (PED) and its direct complications shall be excluded until the expiry of 36 months of contin",
67
- "_confidence": "high"
 
68
  },
69
  "specific_disease_waiting_months": {
70
  "value": null,
 
64
  "unit": "months",
65
  "source_pdf_path": "rag/corpus/care-health/care-supreme-enhance__wordings.pdf",
66
  "source_quote": "Pre-Existing Diseases: Code- Excl01 a. Expenses related to the treatment of a pre-existing Disease (PED) and its direct complications shall be excluded until the expiry of 36 months of contin",
67
+ "_confidence": "high",
68
+ "_reconciliation": "Bug #44: confirmed authoritative Excl01 PED = 36 months. No change to value; reconciled with corrected base file."
69
  },
70
  "specific_disease_waiting_months": {
71
  "value": null,
40-data/policy_facts/hdfc-ergo__my-health-sampoorna-suraksha.json CHANGED
@@ -39,7 +39,8 @@
39
  "value": 48,
40
  "source_pdf_path": "rag/corpus/hdfc-ergo/my-health-sampoorna-suraksha__brochure.pdf",
41
  "source_quote": "pre-existing disease (PED) and its direct complications shall be excluded until the expiry of 48 months of continuous coverage after the date of inception of the first policy with",
42
- "_confidence": "high"
 
43
  },
44
  "specific_disease_waiting_months": {
45
  "value": 48,
 
39
  "value": 48,
40
  "source_pdf_path": "rag/corpus/hdfc-ergo/my-health-sampoorna-suraksha__brochure.pdf",
41
  "source_quote": "pre-existing disease (PED) and its direct complications shall be excluded until the expiry of 48 months of continuous coverage after the date of inception of the first policy with",
42
+ "_confidence": "high",
43
+ "_reconciliation": "Bug #44: base value 48 confirmed correct (Excl01: 'expiry of 48 months of continuous coverage'; also 'A waiting period of 48 months shall apply for all Pre-existing Conditions'). No change."
44
  },
45
  "specific_disease_waiting_months": {
46
  "value": 48,
40-data/policy_facts/hdfc-ergo__my-health-sampoorna-suraksha__brochure.json CHANGED
@@ -60,11 +60,12 @@
60
  "_confidence": "high"
61
  },
62
  "pre_existing_disease_waiting_months": {
63
- "value": 36,
64
  "unit": null,
65
  "source_pdf_path": "rag/corpus/hdfc-ergo/my-health-sampoorna-suraksha__brochure.pdf",
66
- "source_quote": "Option 1 General Waiting Period 30 Days Waiting Period for listed illnesses and Procedures 24 Months Waiting Period for Preexisting conditions 36 Months",
67
- "_confidence": "high"
 
68
  },
69
  "specific_disease_waiting_months": {
70
  "value": 24,
 
60
  "_confidence": "high"
61
  },
62
  "pre_existing_disease_waiting_months": {
63
+ "value": 48,
64
  "unit": null,
65
  "source_pdf_path": "rag/corpus/hdfc-ergo/my-health-sampoorna-suraksha__brochure.pdf",
66
+ "source_quote": "pre-existing disease (PED) and its direct complications shall be excluded until the expiry of 48 months of continuous coverage after the date of inception of the first policy with",
67
+ "_confidence": "high",
68
+ "_reconciliation": "Bug #44: sibling previously 36 β€” that figure came from the plan-OPTIONS comparison grid / the my:health Medisure Super Top Up section in the same brochure, NOT the base my:health Suraksha PED clause. Corrected to the Excl01 value 48 (matches base)."
69
  },
70
  "specific_disease_waiting_months": {
71
  "value": 24,
40-data/policy_facts/hdfc-ergo__my-health-suraksha.json CHANGED
@@ -42,7 +42,8 @@
42
  "value": 48,
43
  "source_pdf_path": "rag/corpus/hdfc-ergo/my-health-suraksha__brochure.pdf",
44
  "source_quote": "pre-existing disease (PED) and its direct complications shall be excluded until the expiry of 48 months of continuous coverage after the date of inception of the first policy with",
45
- "_confidence": "high"
 
46
  },
47
  "specific_disease_waiting_months": {
48
  "value": 24,
 
42
  "value": 48,
43
  "source_pdf_path": "rag/corpus/hdfc-ergo/my-health-suraksha__brochure.pdf",
44
  "source_quote": "pre-existing disease (PED) and its direct complications shall be excluded until the expiry of 48 months of continuous coverage after the date of inception of the first policy with",
45
+ "_confidence": "high",
46
+ "_reconciliation": "Bug #44: base value 48 confirmed correct (Excl01: 'expiry of 48 months of continuous coverage'; also 'Coverage under the Policy after the expiry of 48 months for any pre-existing disease'). No change."
47
  },
48
  "specific_disease_waiting_months": {
49
  "value": 24,
40-data/policy_facts/hdfc-ergo__my-health-suraksha__brochure.json CHANGED
@@ -91,11 +91,12 @@
91
  "_confidence": "high"
92
  },
93
  "pre_existing_disease_waiting_months": {
94
- "value": 36,
95
  "unit": null,
96
  "source_pdf_path": "rag/corpus/hdfc-ergo/my-health-suraksha__brochure.pdf",
97
- "source_quote": "Waiting Period for listed illnesses and Procedures 24 Months Waiting Period for Preexisting conditions 36 Months Option 2 General Waiting Period 30 Days",
98
- "_confidence": "high"
 
99
  },
100
  "specific_disease_waiting_months": {
101
  "value": 24,
 
91
  "_confidence": "high"
92
  },
93
  "pre_existing_disease_waiting_months": {
94
+ "value": 48,
95
  "unit": null,
96
  "source_pdf_path": "rag/corpus/hdfc-ergo/my-health-suraksha__brochure.pdf",
97
+ "source_quote": "pre-existing disease (PED) and its direct complications shall be excluded until the expiry of 48 months of continuous coverage after the date of inception of the first policy with",
98
+ "_confidence": "high",
99
+ "_reconciliation": "Bug #44: sibling previously 36 β€” that figure came from the Option-1/Option-2 plan-comparison grid in the brochure, NOT the base PED Excl01 clause. Corrected to 48 (matches base)."
100
  },
101
  "specific_disease_waiting_months": {
102
  "value": 24,
40-data/policy_facts/hdfc-ergo__optima-enhance.json CHANGED
@@ -34,10 +34,11 @@
34
  "source_quote": "t, in any case not later than 30 days from the date of receipt of last necessary document. In such cases, We shall settle the claim within 45 days from the date of receipt of last necessary document. "
35
  },
36
  "pre_existing_disease_waiting_months": {
37
- "value": null,
38
  "source_pdf_path": "rag/corpus/hdfc-ergo/optima-enhance__wordings.pdf",
39
- "source_quote": "not stated in hdfc-ergo__optima-enhance.pdf",
40
- "_confidence": "low"
 
41
  },
42
  "specific_disease_waiting_months": {
43
  "value": null,
 
34
  "source_quote": "t, in any case not later than 30 days from the date of receipt of last necessary document. In such cases, We shall settle the claim within 45 days from the date of receipt of last necessary document. "
35
  },
36
  "pre_existing_disease_waiting_months": {
37
+ "value": 48,
38
  "source_pdf_path": "rag/corpus/hdfc-ergo/optima-enhance__wordings.pdf",
39
+ "source_quote": "iii) 48 months waiting period from Policy Commencement Date for all Pre-existing Conditions declared and/or accepted at the time of application",
40
+ "_confidence": "high",
41
+ "_reconciliation": "Bug #44: base was null ('not stated in ...pdf'). The __wordings sibling carries the unambiguous clause: '48 months waiting period from Policy Commencement Date for all Pre-existing Conditions'. Sourced value 48 filled in."
42
  },
43
  "specific_disease_waiting_months": {
44
  "value": null,
40-data/policy_facts/hdfc-ergo__optima-enhance__wordings.json CHANGED
@@ -64,7 +64,8 @@
64
  "unit": null,
65
  "source_pdf_path": "rag/corpus/hdfc-ergo/optima-enhance__wordings.pdf",
66
  "source_quote": "iii) 48 months waiting period from Policy Commencement Date for all Pre-existing Conditions declared and/or accepted at the time of application",
67
- "_confidence": "high"
 
68
  },
69
  "specific_disease_waiting_months": {
70
  "value": 24,
 
64
  "unit": null,
65
  "source_pdf_path": "rag/corpus/hdfc-ergo/optima-enhance__wordings.pdf",
66
  "source_quote": "iii) 48 months waiting period from Policy Commencement Date for all Pre-existing Conditions declared and/or accepted at the time of application",
67
+ "_confidence": "high",
68
+ "_reconciliation": "Bug #44: authoritative 48-month PED confirmed. No change to value; reconciled with corrected base."
69
  },
70
  "specific_disease_waiting_months": {
71
  "value": 24,
40-data/policy_facts/icici-lombard__health-advantedge.json CHANGED
@@ -35,10 +35,11 @@
35
  "_confidence": "high"
36
  },
37
  "pre_existing_disease_waiting_months": {
38
- "value": 0,
39
  "source_pdf_path": "rag/corpus/icici-lombard/health-advantedge__wordings.pdf",
40
- "source_quote": "Expenses related to the treatment of a pre-existing Disease (PED) and its direct complications shall be excluded until the expiry of 0 Months24 months .(depending on plan opted) of continuous coverage",
41
- "_confidence": "high"
 
42
  },
43
  "specific_disease_waiting_months": {
44
  "value": 24,
 
35
  "_confidence": "high"
36
  },
37
  "pre_existing_disease_waiting_months": {
38
+ "value": 24,
39
  "source_pdf_path": "rag/corpus/icici-lombard/health-advantedge__wordings.pdf",
40
+ "source_quote": "Expenses related to the treatment of a pre-existing Disease (PED) and its direct complications shall be excluded until the expiry of 0 Months24 months .(depending on plan opted) of continuous coverage after the date of inception of the first policy with insurer as selected by the Insurer",
41
+ "_confidence": "medium",
42
+ "_reconciliation": "Bug #44: source PDF clause is plan-dependent and OCR-garbled β€” 'expiry of 0 Months24 months .(depending on plan opted)'. The 0-month figure applies only to a specific PED-waiver plan variant; the standard/representative ICICI Health AdvantEdge plan PED is 24 months (corroborated by the specified-disease 24-month clause and the __wordings sibling). base previously 0 produced a FALSE '0-month short waiting period' strength β€” corrected to the representative 24. Verbatim garbled clause preserved above; value is the representative-plan figure the quote supports, NOT 0."
43
  },
44
  "specific_disease_waiting_months": {
45
  "value": 24,
40-data/policy_facts/icici-lombard__health-advantedge__wordings.json CHANGED
@@ -63,8 +63,9 @@
63
  "value": 24,
64
  "unit": null,
65
  "source_pdf_path": "rag/corpus/icici-lombard/health-advantedge__wordings.pdf",
66
- "source_quote": "1. Pre-Existing Diseases - Code- Excl01 a. Expenses related to the treatment of a pre-existing Disease (PED) and its direct complications shall be excluded until the expiry of 0 Months24 months .(depending on plan opted) of",
67
- "_confidence": "medium"
 
68
  },
69
  "specific_disease_waiting_months": {
70
  "value": 24,
 
63
  "value": 24,
64
  "unit": null,
65
  "source_pdf_path": "rag/corpus/icici-lombard/health-advantedge__wordings.pdf",
66
+ "source_quote": "Expenses related to the treatment of a pre-existing Disease (PED) and its direct complications shall be excluded until the expiry of 0 Months24 months .(depending on plan opted) of continuous coverage after the date of inception of the first policy with insurer as selected by the Insurer",
67
+ "_confidence": "medium",
68
+ "_reconciliation": "Bug #44: representative-plan PED = 24 months (see base file note). No change to value; verbatim garbled clause preserved; reconciled."
69
  },
70
  "specific_disease_waiting_months": {
71
  "value": 24,
40-data/policy_facts/new-india__asha-kiran-policy__brochure.json CHANGED
@@ -21,10 +21,10 @@
21
  "_confidence": "high"
22
  },
23
  "pre_existing_disease_waiting_months": {
24
- "value": 48,
25
  "unit": "months",
26
- "source_pdf_path": "rag/corpus/new-india/asha-kiran-policy__brochure.pdf",
27
- "source_quote": "of a pre-existing Disease (PED) and its direct complications \nshall be excluded until the expiry of 48 months of continuous coverage after the date of \ninception of the first policy with us.",
28
  "_confidence": "high"
29
  },
30
  "initial_waiting_period_days": {
 
21
  "_confidence": "high"
22
  },
23
  "pre_existing_disease_waiting_months": {
24
+ "value": 36,
25
  "unit": "months",
26
+ "source_pdf_path": "rag/corpus/new-india/asha-kiran-policy__cis.pdf",
27
+ "source_quote": "Pre-existing Diseases (Code- Excl01)-36 Months",
28
  "_confidence": "high"
29
  },
30
  "initial_waiting_period_days": {
40-data/policy_facts/new-india__new-india-mediclaim-policy__brochure.json CHANGED
@@ -20,10 +20,10 @@
20
  "_confidence": "high"
21
  },
22
  "pre_existing_disease_waiting_months": {
23
- "value": 36,
24
  "unit": "months",
25
- "source_pdf_path": "rag/corpus/new-india/new-india-mediclaim-policy__brochure.pdf",
26
- "source_quote": "of a pre-existing Disease (PED) and its direct \ncomplications shall be excluded until the expiry of 36 months of continuous coverage \nafter the date of inception of the first policy with us.",
27
  "_confidence": "high"
28
  },
29
  "initial_waiting_period_days": {
 
20
  "_confidence": "high"
21
  },
22
  "pre_existing_disease_waiting_months": {
23
+ "value": 48,
24
  "unit": "months",
25
+ "source_pdf_path": "rag/corpus/new-india/new-india-mediclaim-policy__wordings.pdf",
26
+ "source_quote": "of a pre-existing Disease (PED) and its direct \ncomplications shall be excluded until the expiry of 48 months of continuous coverage after \nthe date of inception of the first policy with us.",
27
  "_confidence": "high"
28
  },
29
  "initial_waiting_period_days": {
40-data/policy_facts/niva-bupa__health-premia.json CHANGED
@@ -35,10 +35,11 @@
35
  "_confidence": "high"
36
  },
37
  "pre_existing_disease_waiting_months": {
38
- "value": 24,
39
  "source_pdf_path": "rag/corpus/niva-bupa/health-premia__wordings.pdf",
40
- "source_quote": "excluded until the expiry of 24 months of continuous coverage after the date of inception of the first",
41
- "_confidence": "high"
 
42
  },
43
  "specific_disease_waiting_months": {
44
  "value": 24,
@@ -178,4 +179,4 @@
178
  "source_quote": "Health check-up on",
179
  "extraction_method": "tools/curate_batch3.py β€” pattern-grep over pdfplumber text"
180
  }
181
- }
 
35
  "_confidence": "high"
36
  },
37
  "pre_existing_disease_waiting_months": {
38
+ "value": 36,
39
  "source_pdf_path": "rag/corpus/niva-bupa/health-premia__wordings.pdf",
40
+ "source_quote": "Pre-existing Diseases (Code-Excl01) a. Expenses related to the treatment of a Pre-existing Disease (PED) and its direct complications shall be excluded until the expiry of 36 months of continuous coverage after the date",
41
+ "_confidence": "high",
42
+ "_reconciliation": "Bug #44: base previously 24 β€” that quote matched a secondary section (5.1.1.1) variant. The primary Pre-existing Diseases (Code-Excl01) clause and the PED definition ('not more than 36 months') both state 36 months. Corrected to 36 (matches __wordings)."
43
  },
44
  "specific_disease_waiting_months": {
45
  "value": 24,
 
179
  "source_quote": "Health check-up on",
180
  "extraction_method": "tools/curate_batch3.py β€” pattern-grep over pdfplumber text"
181
  }
182
+ }
40-data/policy_facts/niva-bupa__health-premia__wordings.json CHANGED
@@ -64,7 +64,8 @@
64
  "unit": "months",
65
  "source_pdf_path": "rag/corpus/niva-bupa/health-premia__wordings.pdf",
66
  "source_quote": "Pre-existing Diseases (Code-Excl01) a. Expenses related to the treatment of a Pre-existing Disease (PED) and its direct complications shall be excluded until the expiry of 36 months of continuous coverage after the date",
67
- "_confidence": "high"
 
68
  },
69
  "specific_disease_waiting_months": {
70
  "value": 12,
 
64
  "unit": "months",
65
  "source_pdf_path": "rag/corpus/niva-bupa/health-premia__wordings.pdf",
66
  "source_quote": "Pre-existing Diseases (Code-Excl01) a. Expenses related to the treatment of a Pre-existing Disease (PED) and its direct complications shall be excluded until the expiry of 36 months of continuous coverage after the date",
67
+ "_confidence": "high",
68
+ "_reconciliation": "Bug #44: authoritative primary Excl01 PED = 36 months confirmed. No change to value; reconciled with corrected base."
69
  },
70
  "specific_disease_waiting_months": {
71
  "value": 12,
40-data/policy_facts/sbi-general__super-health-insurance__wordings.json CHANGED
@@ -60,10 +60,10 @@
60
  "_confidence": "high"
61
  },
62
  "pre_existing_disease_waiting_months": {
63
- "value": 36,
64
  "unit": null,
65
- "source_pdf_path": "rag/corpus/sbi-general/super-health-insurance__wordings.pdf",
66
- "source_quote": "re diagnosed by a physician not more than 36 months prior to the date of commencement of the policy issued by the i",
67
  "_confidence": "high"
68
  },
69
  "specific_disease_waiting_months": {
 
60
  "_confidence": "high"
61
  },
62
  "pre_existing_disease_waiting_months": {
63
+ "value": 24,
64
  "unit": null,
65
+ "source_pdf_path": "rag/corpus/sbi-general/super-health-insurance__cis.pdf",
66
+ "source_quote": "ion. Pre-Existing diseases: Covered after 24 months. Exclusions (Wh",
67
  "_confidence": "high"
68
  },
69
  "specific_disease_waiting_months": {
40-data/policy_facts/star-health__health-premier.json CHANGED
@@ -36,10 +36,11 @@
36
  "_confidence": "low"
37
  },
38
  "pre_existing_disease_waiting_months": {
39
- "value": 36,
40
  "source_pdf_path": "rag/corpus/star-health/health-premier__wordings.pdf",
41
- "source_quote": "\"Pre-existing disease (PED)\" means any condition, ailment, injury or disease: a) that is/are diagnosed by a physician not more than 36 mon",
42
- "_confidence": "high"
 
43
  },
44
  "specific_disease_waiting_months": {
45
  "value": null,
 
36
  "_confidence": "low"
37
  },
38
  "pre_existing_disease_waiting_months": {
39
+ "value": 24,
40
  "source_pdf_path": "rag/corpus/star-health/health-premier__wordings.pdf",
41
+ "source_quote": "direct complications shall be excluded until the expiry of 24 months of continuous coverage after the date of inception of the first policy with insurer.",
42
+ "_confidence": "high",
43
+ "_reconciliation": "Bug #44: base previously 36 β€” that quote was the PED *definition* ('diagnosed by a physician not more than 36 months prior'), not the waiting period. The Excl01 waiting clause states 24 months (matches both __wordings and __brochure siblings). Corrected to 24."
44
  },
45
  "specific_disease_waiting_months": {
46
  "value": null,
40-data/policy_facts/star-health__health-premier__brochure.json CHANGED
@@ -74,7 +74,8 @@
74
  "unit": null,
75
  "source_pdf_path": "rag/corpus/star-health/health-premier__brochure.pdf",
76
  "source_quote": "direct complications shall be excluded until the expiry of 24 months of continuous coverage after the date of inception of the first policy with insurer.",
77
- "_confidence": "high"
 
78
  },
79
  "specific_disease_waiting_months": {
80
  "value": 24,
 
74
  "unit": null,
75
  "source_pdf_path": "rag/corpus/star-health/health-premier__brochure.pdf",
76
  "source_quote": "direct complications shall be excluded until the expiry of 24 months of continuous coverage after the date of inception of the first policy with insurer.",
77
+ "_confidence": "high",
78
+ "_reconciliation": "Bug #44: authoritative Excl01 PED waiting = 24 months confirmed. No change; reconciled with corrected base."
79
  },
80
  "specific_disease_waiting_months": {
81
  "value": 24,
40-data/policy_facts/star-health__health-premier__wordings.json CHANGED
@@ -71,7 +71,8 @@
71
  "unit": null,
72
  "source_pdf_path": "rag/corpus/star-health/health-premier__wordings.pdf",
73
  "source_quote": "direct complications shall be excluded until the expiry of 24 months of continuous coverage after the date of inception of the first policy with insurer.",
74
- "_confidence": "high"
 
75
  },
76
  "specific_disease_waiting_months": {
77
  "value": 24,
 
71
  "unit": null,
72
  "source_pdf_path": "rag/corpus/star-health/health-premier__wordings.pdf",
73
  "source_quote": "direct complications shall be excluded until the expiry of 24 months of continuous coverage after the date of inception of the first policy with insurer.",
74
+ "_confidence": "high",
75
+ "_reconciliation": "Bug #44: authoritative Excl01 PED waiting = 24 months confirmed. No change; reconciled with corrected base."
76
  },
77
  "specific_disease_waiting_months": {
78
  "value": 24,
40-data/policy_facts/star-health__star-assure.json CHANGED
@@ -36,10 +36,11 @@
36
  "_confidence": "high"
37
  },
38
  "pre_existing_disease_waiting_months": {
39
- "value": 30,
40
  "source_pdf_path": "rag/corpus/star-health/star-assure__wordings.pdf",
41
- "source_quote": "treatment of a pre-existing Disease (PED) and its direct complications shall be excluded until the expiry of 30 months of continuous coverage after the date of inception of the fir",
42
- "_confidence": "high"
 
43
  },
44
  "specific_disease_waiting_months": {
45
  "value": 24,
 
36
  "_confidence": "high"
37
  },
38
  "pre_existing_disease_waiting_months": {
39
+ "value": 36,
40
  "source_pdf_path": "rag/corpus/star-health/star-assure__wordings.pdf",
41
+ "source_quote": "Expenses related to the treatment of a pre-existing Disease (PED) and its direct complications shall be excluded until the expiry of 36 months of continuous coverage after the date of inception of the first policy with insurer",
42
+ "_confidence": "high",
43
+ "_reconciliation": "Bug #44: base previously 30 β€” that figure is the 3-year-policy-term-only reduced PED. The standard/representative (annual term) PED is 36 months ('...Policy Term: ...shall be excluded until the expiry of 36 months...' and 'after the expiry of 36 months for any pre-existing disease'). Corrected to the representative 36 (matches __wordings)."
44
  },
45
  "specific_disease_waiting_months": {
46
  "value": 24,
40-data/policy_facts/star-health__star-assure__wordings.json CHANGED
@@ -75,7 +75,8 @@
75
  "unit": null,
76
  "source_pdf_path": "rag/corpus/star-health/star-assure__wordings.pdf",
77
  "source_quote": "Expenses related to the treatment of a pre-existing Disease (PED) and its direct complications shall be excluded until the expiry of 36 months of continuous coverage after the date of inception of the first policy with insurer",
78
- "_confidence": "high"
 
79
  },
80
  "specific_disease_waiting_months": {
81
  "value": 24,
 
75
  "unit": null,
76
  "source_pdf_path": "rag/corpus/star-health/star-assure__wordings.pdf",
77
  "source_quote": "Expenses related to the treatment of a pre-existing Disease (PED) and its direct complications shall be excluded until the expiry of 36 months of continuous coverage after the date of inception of the first policy with insurer",
78
+ "_confidence": "high",
79
+ "_reconciliation": "Bug #44: authoritative standard-term Excl01 PED = 36 months confirmed. No change; reconciled with corrected base."
80
  },
81
  "specific_disease_waiting_months": {
82
  "value": 24,
40-data/policy_facts/star-health__star-comprehensive.json CHANGED
@@ -45,10 +45,11 @@
45
  "_confidence": "high"
46
  },
47
  "pre_existing_disease_waiting_months": {
48
- "value": 12,
49
  "source_pdf_path": "rag/corpus/star-health/star-comprehensive__wordings.pdf",
50
- "source_quote": "ment of a pre-existing Disease (PED) and its direct complications shall be excluded until the expiry of 12 months of continuous coverage after the date of inception of the first policy with insure",
51
- "_confidence": "high"
 
52
  },
53
  "specific_disease_waiting_months": {
54
  "value": 24,
@@ -191,4 +192,4 @@
191
  "source_quote": "Preventive Health Check-up",
192
  "extraction_method": "tools/curate_batch3.py β€” pattern-grep over pdfplumber text"
193
  }
194
- }
 
45
  "_confidence": "high"
46
  },
47
  "pre_existing_disease_waiting_months": {
48
+ "value": 36,
49
  "source_pdf_path": "rag/corpus/star-health/star-comprehensive__wordings.pdf",
50
+ "source_quote": "Expenses related to the treatment of a pre-existing Disease (PED) and its direct complications shall be excluded until the expiry of 36 months of continuous coverage after the date of inception of the first policy with insurer.",
51
+ "_confidence": "high",
52
+ "_reconciliation": "Bug #44: base previously 12 β€” that 12-month figure applies only to a narrow set of specifically listed minor conditions (cysts, lipoma, etc.) under a special benefit. The standard Pre-Existing Diseases Code Excl01 clause and the PED definition both state 36 months. Corrected to 36 (matches __wordings)."
53
  },
54
  "specific_disease_waiting_months": {
55
  "value": 24,
 
192
  "source_quote": "Preventive Health Check-up",
193
  "extraction_method": "tools/curate_batch3.py β€” pattern-grep over pdfplumber text"
194
  }
195
+ }
40-data/policy_facts/star-health__star-comprehensive__wordings.json CHANGED
@@ -74,7 +74,8 @@
74
  "unit": null,
75
  "source_pdf_path": "rag/corpus/star-health/star-comprehensive__wordings.pdf",
76
  "source_quote": "Expenses related to the treatment of a pre-existing Disease (PED) and its direct complications shall be excluded until the expiry of 36 months of continuous coverage after the date of inception of the first policy with insurer.",
77
- "_confidence": "high"
 
78
  },
79
  "specific_disease_waiting_months": {
80
  "value": 24,
 
74
  "unit": null,
75
  "source_pdf_path": "rag/corpus/star-health/star-comprehensive__wordings.pdf",
76
  "source_quote": "Expenses related to the treatment of a pre-existing Disease (PED) and its direct complications shall be excluded until the expiry of 36 months of continuous coverage after the date of inception of the first policy with insurer.",
77
+ "_confidence": "high",
78
+ "_reconciliation": "Bug #44: authoritative standard Excl01 PED = 36 months confirmed. No change; reconciled with corrected base."
79
  },
80
  "specific_disease_waiting_months": {
81
  "value": 24,
tests/test_policy_facts_ped_consistency.py ADDED
@@ -0,0 +1,78 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Guard regression for bug #44 (2026-05-19).
2
+
3
+ A live audit found one bot response self-contradicting: the comparison
4
+ table said ICICI Health AdvantEdge PED waiting = 24 months while its
5
+ #31 scorecard card said "0 months β€” short waiting period". Root cause:
6
+ each policy has multiple `40-data/policy_facts/<policy>[__doctype].json`
7
+ files; the scorecard path and the get_policy_facts path can resolve
8
+ DIFFERENT files, and 10+ policies' files disagreed on
9
+ `pre_existing_disease_waiting_months` (a decision-critical field) β€” so
10
+ the SAME response could state two different PED numbers and the bogus
11
+ icici "0" inflated its grade with a fake "short waiting" strength.
12
+
13
+ Invariant pinned here: across ALL doctype files of a single policy, the
14
+ NON-None `pre_existing_disease_waiting_months` values must be IDENTICAL
15
+ (at most one distinct number) β€” i.e. no surface can contradict another
16
+ by construction, regardless of doctype resolution. RED on the pre-fix
17
+ data (>=10 policies with 2 distinct values); GREEN after reconciliation.
18
+ """
19
+ import glob
20
+ import json
21
+ import os
22
+ import unittest
23
+
24
+
25
+ def _ped(d):
26
+ if isinstance(d, dict):
27
+ if "pre_existing_disease_waiting_months" in d:
28
+ v = d["pre_existing_disease_waiting_months"]
29
+ return v.get("value") if isinstance(v, dict) else v
30
+ for x in d.values():
31
+ r = _ped(x)
32
+ if r is not None:
33
+ return r
34
+ elif isinstance(d, list):
35
+ for x in d:
36
+ r = _ped(x)
37
+ if r is not None:
38
+ return r
39
+ return None
40
+
41
+
42
+ _DOCS = ("__wordings", "__cis", "__brochure", "__prospectus")
43
+
44
+
45
+ def _policy_key(stem: str) -> str:
46
+ for s in _DOCS:
47
+ if stem.endswith(s):
48
+ return stem[: -len(s)]
49
+ return stem
50
+
51
+
52
+ class TestPolicyFactsPEDConsistency(unittest.TestCase):
53
+ def test_no_policy_has_conflicting_ped_across_its_files(self):
54
+ groups: dict[str, dict[str, object]] = {}
55
+ for fp in sorted(glob.glob("40-data/policy_facts/*.json")):
56
+ stem = os.path.basename(fp)[:-5]
57
+ key = _policy_key(stem)
58
+ try:
59
+ val = _ped(json.load(open(fp)))
60
+ except Exception:
61
+ continue
62
+ groups.setdefault(key, {})[stem] = val
63
+
64
+ conflicts = []
65
+ for key, files in groups.items():
66
+ distinct = {v for v in files.values() if v is not None}
67
+ if len(distinct) > 1:
68
+ conflicts.append((key, files))
69
+
70
+ self.assertEqual(
71
+ conflicts, [],
72
+ "#44: policies whose doctype files DISAGREE on "
73
+ "pre_existing_disease_waiting_months (self-contradiction "
74
+ f"risk): {[(k, v) for k, v in conflicts][:15]}")
75
+
76
+
77
+ if __name__ == "__main__":
78
+ unittest.main()