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

Update models/schemas.py

Browse files
Files changed (1) hide show
  1. models/schemas.py +42 -13
models/schemas.py CHANGED
@@ -28,22 +28,51 @@ class ContactInfo(BaseModel):
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):
 
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):