Spaces:
Sleeping
Sleeping
| from pydantic import BaseModel, Field | |
| from typing import List, Optional | |
| class Name(BaseModel): | |
| prefix: Optional[str] = Field(None, description="Prefix or title (e.g., Mr., Ms., Dr.)") | |
| firstname: Optional[str] = Field(None, description="The patient's first name") | |
| surname: Optional[str] = Field(None, description="The patient's surname") | |
| class FamilyHistory(BaseModel): | |
| relation: str = Field(..., description="Relation to the patient (e.g., father, sister)") | |
| condition: str = Field(..., description="Health condition present in the family member") | |
| class PersonalHistory(BaseModel): | |
| type: str = Field(..., description="Type of personal health aspect (e.g., sleep, medication, health behavior)") | |
| description: str = Field(..., description="Details about the health aspect") | |
| class EHRModel(BaseModel): | |
| name: Optional[Name] = Field(None, description="Structured name of the patient") | |
| age: Optional[int] = Field(None, description="The patient's age") | |
| gender: Optional[str] = Field(None, description="The patient's gender") | |
| chief_complaint: List[str] = Field(default_factory=list, description="The main symptom reported by the patient") | |
| present_illness: List[str] = Field(default_factory=list, description="Details about the current illness (e.g., when it started, nature of symptoms)") | |
| past_illness: List[str] = Field(default_factory=list, description="Past illnesses, allergies, etc.") | |
| family_history: List[FamilyHistory] = Field(default_factory=list, description="Health issues in the family") | |
| personal_history: List[PersonalHistory] = Field(default_factory=list, description="Personal health history (e.g., sleep patterns, medications taken)") |