File size: 1,827 Bytes
56edde7 9855392 56edde7 a8f12f6 |
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 |
from pydantic import BaseModel, Field
class ProviderNotesRequest(BaseModel):
provider_notes: str = Field(
...,
min_length=10,
description="Clinical provider notes for analysis",
examples=["Patient presents with acute bronchitis. Cough for 5 days..."]
)
class Config:
json_schema_extra = {
"example": {
"provider_notes": "Patient presents with acute bronchitis. Cough for 5 days, productive with yellow sputum. Lung exam reveals diffuse wheezing. Prescribed azithromycin 500mg."
}
}
class ProviderNote(BaseModel):
note: str
class CodingResponse(BaseModel):
cpt_codes: list
cpt_explanation: str
icd_codes: list
icd_explanation: str
# NEW: File upload response model
class FileUploadResponse(BaseModel):
"""Response model for file upload endpoint"""
success: bool = Field(description="Whether file processing was successful")
filename: str = Field(description="Name of uploaded file")
extracted_text_length: int = Field(description="Length of extracted text")
cpt_codes: list = Field(description="List of CPT codes")
cpt_explanation: str = Field(description="Explanation of CPT codes")
icd_codes: list = Field(description="List of ICD codes")
icd_explanation: str = Field(description="Explanation of ICD codes")
class Config:
json_schema_extra = {
"example": {
"success": True,
"filename": "provider_notes.txt",
"extracted_text_length": 450,
"cpt_codes": ["99213", "93000"],
"cpt_explanation": "Office visit and EKG",
"icd_codes": ["I20.0", "R07.9"],
"icd_explanation": "Unstable angina and chest pain"
}
} |