Distopia22/Icd-cpt-coding-api
0
1from pydantic import BaseModel, Field2from typing import List3 4class ICDCode(BaseModel):5 code: str = Field(..., description="ICD-10 diagnosis code")6 description: str = Field(..., description="Description of the diagnosis")7 explanation: str = Field(..., description="Explanation for why this code was selected")8 9class CPTCode(BaseModel):10 code: str = Field(..., description="CPT procedure code")11 description: str = Field(..., description="Description of the procedure/service")12 explanation: str = Field(..., description="Explanation for why this code was selected")13 14class CodingResponse(BaseModel):15 icd_codes: List[ICDCode] = Field(default_factory=list, description="List of ICD-10 codes")16 cpt_codes: List[CPTCode] = Field(default_factory=list, description="List of CPT codes")17 overall_summary: str = Field(..., description="Overall summary of coding decisions")18 19 class Config:20 json_schema_extra = {21 "example": {22 "icd_codes": [23 {24 "code": "J20.9",25 "description": "Acute bronchitis, unspecified",26 "explanation": "Patient presents with acute bronchitis as documented in provider notes"27 }28 ],29 "cpt_codes": [30 {31 "code": "99213",32 "description": "Office visit, established patient",33 "explanation": "Comprehensive examination performed as documented"34 }35 ],36 "overall_summary": "Patient encounter for acute bronchitis with examination and treatment"37 }38 }