dylanglenister commited on
Commit
5fe2c55
·
1 Parent(s): 7554b98

Moving medical models into combined model file

Browse files
src/data/repositories/medical_memory.py CHANGED
@@ -22,7 +22,7 @@ from pymongo.errors import ConnectionFailure, PyMongoError, WriteError
22
 
23
  from src.data.connection import (ActionFailed, Collections, get_collection,
24
  setup_collection)
25
- from src.models.medical import MedicalMemory, SemanticSearchResult
26
  from src.utils.logger import logger
27
 
28
 
 
22
 
23
  from src.data.connection import (ActionFailed, Collections, get_collection,
24
  setup_collection)
25
+ from src.models.repositories import MedicalMemory, SemanticSearchResult
26
  from src.utils.logger import logger
27
 
28
 
src/data/repositories/medical_record.py CHANGED
@@ -23,7 +23,7 @@ from pymongo.errors import ConnectionFailure, PyMongoError, WriteError
23
 
24
  from src.data.connection import (ActionFailed, Collections, get_collection,
25
  setup_collection)
26
- from src.models.medical import MedicalRecord
27
  from src.utils.logger import logger
28
 
29
 
 
23
 
24
  from src.data.connection import (ActionFailed, Collections, get_collection,
25
  setup_collection)
26
+ from src.models.repositories import MedicalRecord
27
  from src.utils.logger import logger
28
 
29
 
src/models/medical.py DELETED
@@ -1,38 +0,0 @@
1
- # src/models/medical.py
2
-
3
- from datetime import datetime
4
- from typing import Any
5
-
6
- from pydantic import BaseModel, ConfigDict
7
-
8
- from models.repositories import BaseMongoModel, PyObjectId
9
-
10
-
11
- class MedicalRecord(BaseMongoModel):
12
- """A Pydantic model for a structured medical record."""
13
- patient_id: PyObjectId
14
- doctor_id: PyObjectId
15
- record_type: str
16
- details: dict[str, Any]
17
- created_at: datetime
18
- updated_at: datetime
19
-
20
-
21
- class MedicalMemory(BaseMongoModel):
22
- """A Pydantic model for a medical memory summary, used for semantic search."""
23
- patient_id: PyObjectId
24
- doctor_id: PyObjectId
25
- session_id: PyObjectId | None = None
26
- summary: str
27
- embedding: list[float] | None = None
28
- created_at: datetime
29
-
30
-
31
- class SemanticSearchResult(BaseModel):
32
- """A Pydantic model for the result of a semantic search."""
33
- summary: str
34
- similarity_score: float
35
- created_at: datetime
36
- session_id: PyObjectId | None = None
37
-
38
- model_config = ConfigDict(frozen=True, from_attributes=True)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
src/models/repositories.py CHANGED
@@ -1,7 +1,7 @@
1
  # src/models/repositories.py
2
 
3
  from datetime import datetime
4
- from typing import Annotated
5
 
6
  from pydantic import BaseModel, BeforeValidator, ConfigDict, Field
7
 
@@ -60,3 +60,30 @@ class Session(BaseMongoModel):
60
  created_at: datetime
61
  updated_at: datetime
62
  messages: list[Message] = Field(default_factory=list)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  # src/models/repositories.py
2
 
3
  from datetime import datetime
4
+ from typing import Annotated, Any
5
 
6
  from pydantic import BaseModel, BeforeValidator, ConfigDict, Field
7
 
 
60
  created_at: datetime
61
  updated_at: datetime
62
  messages: list[Message] = Field(default_factory=list)
63
+
64
+ class MedicalRecord(BaseMongoModel):
65
+ """A Pydantic model for a structured medical record."""
66
+ patient_id: PyObjectId
67
+ doctor_id: PyObjectId
68
+ record_type: str
69
+ details: dict[str, Any]
70
+ created_at: datetime
71
+ updated_at: datetime
72
+
73
+ class MedicalMemory(BaseMongoModel):
74
+ """A Pydantic model for a medical memory summary, used for semantic search."""
75
+ patient_id: PyObjectId
76
+ doctor_id: PyObjectId
77
+ session_id: PyObjectId | None = None
78
+ summary: str
79
+ embedding: list[float] | None = None
80
+ created_at: datetime
81
+
82
+ class SemanticSearchResult(BaseModel):
83
+ """A Pydantic model for the result of a semantic search."""
84
+ summary: str
85
+ similarity_score: float
86
+ created_at: datetime
87
+ session_id: PyObjectId | None = None
88
+
89
+ model_config = ConfigDict(frozen=True, from_attributes=True)
tests/test_medical_memory.py CHANGED
@@ -6,7 +6,7 @@ from pymongo.errors import ConnectionFailure
6
 
7
  from src.data.connection import ActionFailed, Collections
8
  from src.data.repositories import medical_memory as medical_memory_repo
9
- from src.models.medical import MedicalMemory, SemanticSearchResult
10
  from src.utils.logger import logger
11
  from tests.base_test import BaseMongoTest
12
 
 
6
 
7
  from src.data.connection import ActionFailed, Collections
8
  from src.data.repositories import medical_memory as medical_memory_repo
9
+ from src.models.repositories import MedicalMemory, SemanticSearchResult
10
  from src.utils.logger import logger
11
  from tests.base_test import BaseMongoTest
12
 
tests/test_medical_record.py CHANGED
@@ -7,7 +7,7 @@ from pymongo.errors import ConnectionFailure
7
 
8
  from src.data.connection import ActionFailed, Collections
9
  from src.data.repositories import medical_record as medical_record_repo
10
- from src.models.medical import MedicalRecord
11
  from src.utils.logger import logger
12
  from tests.base_test import BaseMongoTest
13
 
 
7
 
8
  from src.data.connection import ActionFailed, Collections
9
  from src.data.repositories import medical_record as medical_record_repo
10
+ from src.models.repositories import MedicalRecord
11
  from src.utils.logger import logger
12
  from tests.base_test import BaseMongoTest
13