from datetime import datetime from typing import Optional from pydantic import BaseModel # Shared properties class MedicalRecordBase(BaseModel): diagnosis: Optional[str] = None prescription: Optional[str] = None notes: Optional[str] = None visit_date: Optional[datetime] = None # Properties to receive via API on creation class MedicalRecordCreate(MedicalRecordBase): patient_id: int doctor_id: int visit_date: datetime # Properties to receive via API on update class MedicalRecordUpdate(MedicalRecordBase): pass class MedicalRecordInDBBase(MedicalRecordBase): id: Optional[int] = None patient_id: int doctor_id: int created_at: Optional[datetime] = None updated_at: Optional[datetime] = None class Config: from_attributes = True # Additional properties to return via API class MedicalRecord(MedicalRecordInDBBase): pass # Additional properties stored in DB class MedicalRecordInDB(MedicalRecordInDBBase): pass