Spaces:
Sleeping
Sleeping
File size: 950 Bytes
21c55a3 |
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 |
# src/models/medical.py
from datetime import datetime
from typing import Any
from pydantic import BaseModel, ConfigDict
from src.models.common import BaseMongoModel, PyObjectId
class MedicalRecord(BaseMongoModel):
"""A Pydantic model for a structured medical record."""
patient_id: PyObjectId
doctor_id: PyObjectId
record_type: str
details: dict[str, Any]
created_at: datetime
updated_at: datetime
class MedicalMemory(BaseMongoModel):
"""A Pydantic model for a medical memory summary, used for semantic search."""
patient_id: PyObjectId
doctor_id: PyObjectId
session_id: PyObjectId | None = None
summary: str
embedding: list[float] | None = None
created_at: datetime
class SemanticSearchResult(BaseModel):
"""A Pydantic model for the result of a semantic search."""
summary: str
similarity_score: float
created_at: datetime
session_id: PyObjectId | None = None
model_config = ConfigDict(frozen=True, from_attributes=True)
|