File size: 1,148 Bytes
21c55a3
 
 
 
521a291
 
21c55a3
 
 
 
 
 
 
 
c93381f
21c55a3
 
 
 
 
 
 
 
521a291
 
 
 
 
c93381f
521a291
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
38
39
40
41
42
43
44
45
46
47
48
# src/models/patient.py

from datetime import datetime

from pydantic import BaseModel

from src.models.common import BaseMongoModel, PyObjectId


class Patient(BaseMongoModel):
	"""A Pydantic model for a patient."""
	name: str
	age: int
	sex: str
	ethnicity: str
	created_at: datetime
	updated_at: datetime
	address: str | None = None
	phone: str | None = None
	email: str | None = None
	medications: list[str] | None = None
	past_assessment_summary: str | None = None
	assigned_doctor_id: PyObjectId | None = None

class PatientCreateRequest(BaseModel):
	name: str
	age: int
	sex: str
	ethnicity: str
	address: str | None = None
	phone: str | None = None
	email: str | None = None
	medications: list[str] | None = None
	past_assessment_summary: str | None = None
	assigned_doctor_id: str | None = None

class PatientUpdateRequest(BaseModel):
	name: str | None = None
	age: int | None = None
	sex: str | None = None
	ethnicity: str | None = None
	address: str | None = None
	phone: str | None = None
	email: str | None = None
	medications: list[str] | None = None
	past_assessment_summary: str | None = None
	assigned_doctor_id: str | None = None