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)") |