|
|
|
|
|
""" |
|
|
Pydantic models for medical document processing |
|
|
""" |
|
|
|
|
|
from pydantic import BaseModel, Field |
|
|
from typing import Dict, List, Any, Optional |
|
|
|
|
|
|
|
|
class TemplateAnalysis(BaseModel): |
|
|
"""Model for template analysis results.""" |
|
|
sections: List[Dict[str, Any]] = Field( |
|
|
description="List of sections found in template") |
|
|
formatting: Dict[str, Any] = Field(description="Formatting information") |
|
|
document_info: Dict[str, str] = Field(description="Document metadata") |
|
|
|
|
|
|
|
|
class MedicalTranscription(BaseModel): |
|
|
"""Model for medical transcription data.""" |
|
|
raw_text: str = Field(description="Raw transcription text") |
|
|
corrected_text: str = Field(description="Corrected and structured text") |
|
|
medical_data: Dict[str, Any] = Field( |
|
|
description="Extracted medical information") |
|
|
|
|
|
|
|
|
class SectionContent(BaseModel): |
|
|
"""Model for section content.""" |
|
|
technique: str = Field(description="Technique section content") |
|
|
result: str = Field(description="Result section content") |
|
|
conclusion: str = Field(description="Conclusion section content") |
|
|
|
|
|
|
|
|
class InsertSectionsInput(BaseModel): |
|
|
"""Model for inserting sections into documents.""" |
|
|
template_path: str |
|
|
sections: Dict[str, str] |
|
|
output_path: str |
|
|
title: str = None |
|
|
|