File size: 2,154 Bytes
fd49a93
 
 
 
 
 
 
ae11f2d
 
fd49a93
ae11f2d
 
 
 
 
 
 
 
 
 
fd49a93
ae11f2d
fd49a93
ae11f2d
fd49a93
 
 
ae11f2d
fd49a93
 
 
 
 
ae11f2d
fd49a93
 
 
ae11f2d
 
fd49a93
ae11f2d
fd49a93
ae11f2d
 
fd49a93
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
from rich import print as rprint
from rich.panel import Panel
from models import Question, FinalAnswer
from query_service import QueryService
from typing import List

def run_test():
    TEST_DOCUMENT_URL = "https://hackrx.blob.core.windows.net/assets/policy.pdf?sv=2023-01-03&st=2025-07-04T09%3A11%3A24Z&se=2027-07-05T09%3A11%3A00Z&sr=b&sp=r&sig=N4a9OU0w0QXO6AOIBiu4bpl7AXvEZogeT%2FjUHNO7HzQ%3D"
    
    questions = [
        "What is the grace period for premium payment under the National Parivar Mediclaim Plus Policy?",
        "What is the waiting period for pre-existing diseases (PED) to be covered?",
        "Does this policy cover maternity expenses, and what are the conditions?",
        "What is the waiting period for cataract surgery?",
        "Are the medical expenses for an organ donor covered under this policy?",
        "What is the No Claim Discount (NCD) offered in this policy?",
        "Is there a benefit for preventive health check-ups?",
        "How does the policy define a 'Hospital'?",
        "What is the extent of coverage for AYUSH treatments?",
        "Are there any sub-limits on room rent and ICU charges for Plan A?"
    ]

    TEST_QUESTIONS = [Question(question=question) for question in questions]

    rprint(Panel(
        f"Document URL: [blue]{TEST_DOCUMENT_URL}[/blue]\n"
        f"Questions: [yellow]{len(TEST_QUESTIONS)}[/yellow]",
        title="[bold green]Starting Insurance Policy Test[/bold green]",
        border_style="green"
    ))

    query_service = QueryService()

    results: List[FinalAnswer] = query_service.process_queries(
        document_url=TEST_DOCUMENT_URL,
        questions=TEST_QUESTIONS
    )
    
    rprint(Panel("[bold green]Processing Complete. Displaying Final Results...[/bold green]"))

    for i, response in enumerate(results):
        question_panel = Panel(
            f"[bold]Answer:[/] {response.answer}",
            title=f"[bold magenta]Result for Question #{i+1}[/bold magenta]: {TEST_QUESTIONS[i].question}",
            border_style="magenta",
            expand=True
        )
        rprint(question_panel)

if __name__ == "__main__":
    run_test()