Ali2206 commited on
Commit
89b066e
·
verified ·
1 Parent(s): fe399a4

Update models/schemas.py

Browse files
Files changed (1) hide show
  1. models/schemas.py +14 -43
models/schemas.py CHANGED
@@ -28,51 +28,22 @@ class ContactInfo(BaseModel):
28
  phone: Optional[str] = None
29
 
30
  # --- PATIENT SCHEMA ---
31
- class Condition(BaseModel):
32
- id: str
33
- code: str
34
- status: Optional[str] = ""
35
- onset_date: Optional[str] = None
36
- recorded_date: Optional[str] = None
37
- verification_status: Optional[str] = ""
38
-
39
- class Medication(BaseModel):
40
- id: str
41
- name: str
42
- status: str
43
- prescribed_date: Optional[str] = None
44
- requester: Optional[str] = ""
45
- dosage: Optional[str] = ""
46
-
47
- class Encounter(BaseModel):
48
- id: str
49
- type: str
50
- status: str
51
- period: dict
52
- service_provider: Optional[str] = ""
53
-
54
- class Note(BaseModel):
55
- date: str
56
- type: str
57
- text: str
58
- context: Optional[str] = ""
59
- author: Optional[str] = "System"
60
-
61
  class PatientCreate(BaseModel):
62
  full_name: str
 
63
  gender: str
64
- date_of_birth: str
65
- address: Optional[str] = ""
66
- city: Optional[str] = ""
67
- state: Optional[str] = ""
68
- postal_code: Optional[str] = ""
69
- country: Optional[str] = "US"
70
- marital_status: Optional[str] = "Never Married"
71
- language: Optional[str] = "en"
72
- conditions: Optional[List[Condition]] = []
73
- medications: Optional[List[Medication]] = []
74
- encounters: Optional[List[Encounter]] = []
75
- notes: Optional[List[Note]] = []
76
 
77
  # --- APPOINTMENT SCHEMA ---
78
  class AppointmentCreate(BaseModel):
@@ -80,4 +51,4 @@ class AppointmentCreate(BaseModel):
80
  doctor_id: str # MongoDB ObjectId as string
81
  date: date
82
  time: time
83
- reason: Optional[str] = None
 
28
  phone: Optional[str] = None
29
 
30
  # --- PATIENT SCHEMA ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31
  class PatientCreate(BaseModel):
32
  full_name: str
33
+ date_of_birth: date
34
  gender: str
35
+ notes: Optional[str] = ""
36
+ address: Optional[str] = None
37
+ national_id: Optional[str] = None
38
+ blood_type: Optional[str] = None
39
+ allergies: Optional[List[str]] = []
40
+ chronic_conditions: Optional[List[str]] = []
41
+ medications: Optional[List[str]] = []
42
+ emergency_contact_name: Optional[str] = None
43
+ emergency_contact_phone: Optional[str] = None
44
+ insurance_provider: Optional[str] = None
45
+ insurance_policy_number: Optional[str] = None
46
+ contact: Optional[ContactInfo] = None
47
 
48
  # --- APPOINTMENT SCHEMA ---
49
  class AppointmentCreate(BaseModel):
 
51
  doctor_id: str # MongoDB ObjectId as string
52
  date: date
53
  time: time
54
+ reason: Optional[str] = None