from pydantic import BaseModel, Field from typing import List, Optional class ExtractionResponse(BaseModel): provider_name: str = Field(description="The name of the clinic or hospital.") visit_date: str = Field(description="The date of service in YYYY-MM-DD format.") total_amount: float = Field(description="The total amount paid.") currency: str = Field(description="3-letter currency code (e.g. USD, SGD).") items: List[str] = Field(description="Simplified list of services (e.g. 'Consultation', 'Medicine').") confidence_score: float = Field(description="Model's confidence from 0.0 to 1.0.") needs_manual_review: bool = Field(description="Set to true if text is blurry or data is ambiguous.")