rukeshpaudel commited on
Commit
dbdb222
Β·
2 Parent(s): af49ded a47a739

Merge branch 'main' of https://github.com/rukeshpaudel/meroHealthAI

Browse files
Files changed (1) hide show
  1. utils/doc_contact.py +164 -16
utils/doc_contact.py CHANGED
@@ -1,21 +1,169 @@
1
- import gradio as gr
2
 
3
- class Doctor():
4
-
5
  doctor_professions = {
6
- "neurologist": "Dr. Ram Hari",
7
- "psychiatrist": "Dr. Sita",
8
- "cardiologist": "Dr. Deals",
9
- "dermatologist": "Dr. Hari",
10
- }
11
-
12
- def display_profession(profession_key):
13
- # Handle invalid key (same as previous example)
14
- if profession_key not in Doctor.doctor_professions:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
  return "Invalid profession. Please choose from available options."
16
 
17
- doctor_data = Doctor.doctor_professions[profession_key]
18
- # Build desired output format (adjust to your preference)
19
- output = f"\n**Doctor details:**\n - Name: {doctor_data}\n - Profession: {profession_key}"
 
 
 
 
 
 
20
 
21
- return output
 
 
1
 
2
+ class Doctor:
 
3
  doctor_professions = {
4
+ "neurologist": [
5
+ {"name": "Dr. Alice", "contact": "1234567890"},
6
+ {"name": "Dr. Bob", "contact": "9876543210"},
7
+ {"name": "Dr. Chris", "contact": "1234567890"},
8
+ {"name": "Dr. David", "contact": "9876543210"},
9
+ {"name": "Dr. Eric", "contact": "1234567890"}
10
+ ],
11
+ "psychiatrist": [
12
+ {"name": "Dr. Sita", "contact": "9876543210"},
13
+ {"name": "Dr. Mary", "contact": "9876543210"},
14
+ {"name": "Dr. John", "contact": "9876543210"},
15
+ {"name": "Dr. Emily", "contact": "9876543210"},
16
+ {"name": "Dr. Richard", "contact": "9876543210"}
17
+ ],
18
+ "cardiologist": [
19
+ {"name": "Dr. Deals", "contact": "9876543210"},
20
+ {"name": "Dr. Smith", "contact": "9876543210"},
21
+ {"name": "Dr. Lisa", "contact": "9876543210"},
22
+ {"name": "Dr. James", "contact": "9876543210"},
23
+ {"name": "Dr. Grace", "contact": "9876543210"}
24
+ ],
25
+ "dermatologist": [
26
+ {"name": "Dr. Hari", "contact": "9876543210"},
27
+ {"name": "Dr. Jane", "contact": "9876543210"},
28
+ {"name": "Dr. Michael", "contact": "9876543210"},
29
+ {"name": "Dr. Lily", "contact": "9876543210"},
30
+ {"name": "Dr. Brian", "contact": "9876543210"}
31
+ ],
32
+ "orthopedic_surgeon": [
33
+ {"name": "Dr. Alex", "contact": "9876543210"},
34
+ {"name": "Dr. Emma", "contact": "9876543210"},
35
+ {"name": "Dr. Kevin", "contact": "9876543210"},
36
+ {"name": "Dr. Sophia", "contact": "9876543210"},
37
+ {"name": "Dr. Robert", "contact": "9876543210"}
38
+ ],
39
+ "ophthalmologist": [
40
+ {"name": "Dr. Mark", "contact": "9876543210"},
41
+ {"name": "Dr. Jessica", "contact": "9876543210"},
42
+ {"name": "Dr. Matthew", "contact": "9876543210"},
43
+ {"name": "Dr. Ava", "contact": "9876543210"},
44
+ {"name": "Dr. Benjamin", "contact": "9876543210"}
45
+ ],
46
+ "dentist": [
47
+ {"name": "Dr. Chloe", "contact": "9876543210"},
48
+ {"name": "Dr. Ethan", "contact": "9876543210"},
49
+ {"name": "Dr. Lauren", "contact": "9876543210"},
50
+ {"name": "Dr. Jackson", "contact": "9876543210"},
51
+ {"name": "Dr. Zoey", "contact": "9876543210"}
52
+ ],
53
+ "pediatrician": [
54
+ {"name": "Dr. Oliver", "contact": "9876543210"},
55
+ {"name": "Dr. Lily", "contact": "9876543210"},
56
+ {"name": "Dr. Noah", "contact": "9876543210"},
57
+ {"name": "Dr. Isabella", "contact": "9876543210"},
58
+ {"name": "Dr. William", "contact": "9876543210"}
59
+ ],
60
+ "gynecologist": [
61
+ {"name": "Dr. Mia", "contact": "9876543210"},
62
+ {"name": "Dr. Samuel", "contact": "9876543210"},
63
+ {"name": "Dr. Sophia", "contact": "9876543210"},
64
+ {"name": "Dr. Aiden", "contact": "9876543210"},
65
+ {"name": "Dr. Emily", "contact": "9876543210"}
66
+ ],
67
+ "urologist": [
68
+ {"name": "Dr. Ethan", "contact": "9876543210"},
69
+ {"name": "Dr. Ava", "contact": "9876543210"},
70
+ {"name": "Dr. Logan", "contact": "9876543210"},
71
+ {"name": "Dr. Mia", "contact": "9876543210"},
72
+ {"name": "Dr. William", "contact": "9876543210"}
73
+ ],
74
+ "otolaryngologist": [
75
+ {"name": "Dr. Zoey", "contact": "9876543210"},
76
+ {"name": "Dr. Benjamin", "contact": "9876543210"},
77
+ {"name": "Dr. Chloe", "contact": "9876543210"},
78
+ {"name": "Dr. Jackson", "contact": "9876543210"},
79
+ {"name": "Dr. Ava", "contact": "9876543210"}
80
+ ],
81
+ "gastroenterologist": [
82
+ {"name": "Dr. William", "contact": "9876543210"},
83
+ {"name": "Dr. Emily", "contact": "9876543210"},
84
+ {"name": "Dr. Samuel", "contact": "9876543210"},
85
+ {"name": "Dr. Lily", "contact": "9876543210"},
86
+ {"name": "Dr. Aiden", "contact": "9876543210"}
87
+ ],
88
+ "oncologist": [
89
+ {"name": "Dr. Mia", "contact": "9876543210"},
90
+ {"name": "Dr. Ethan", "contact": "9876543210"},
91
+ {"name": "Dr. Logan", "contact": "9876543210"},
92
+ {"name": "Dr. Sophia", "contact": "9876543210"},
93
+ {"name": "Dr. Benjamin", "contact": "9876543210"}
94
+ ],
95
+ "radiologist": [
96
+ {"name": "Dr. Chloe", "contact": "9876543210"},
97
+ {"name": "Dr. Jackson", "contact": "9876543210"},
98
+ {"name": "Dr. Zoey", "contact": "9876543210"},
99
+ {"name": "Dr. William", "contact": "9876543210"},
100
+ {"name": "Dr. Ava", "contact": "9876543210"}
101
+ ],
102
+ "emergency_physician": [
103
+ {"name": "Dr. Aiden", "contact": "9876543210"},
104
+ {"name": "Dr. Mia", "contact": "9876543210"},
105
+ {"name": "Dr. Logan", "contact": "9876543210"},
106
+ {"name": "Dr. Emily", "contact": "9876543210"},
107
+ {"name": "Dr. Samuel", "contact": "9876543210"}
108
+ ],
109
+ "rheumatologist": [
110
+ {"name": "Dr. Lily", "contact": "9876543210"},
111
+ {"name": "Dr. Benjamin", "contact": "9876543210"},
112
+ {"name": "Dr. Chloe", "contact": "9876543210"},
113
+ {"name": "Dr. Jackson", "contact": "9876543210"},
114
+ {"name": "Dr. Zoey", "contact": "9876543210"}
115
+ ],
116
+ "endocrinologist": [
117
+ {"name": "Dr. William", "contact": "9876543210"},
118
+ {"name": "Dr. Ava", "contact": "9876543210"},
119
+ {"name": "Dr. Aiden", "contact": "9876543210"},
120
+ {"name": "Dr. Emily", "contact": "9876543210"},
121
+ {"name": "Dr. Samuel", "contact": "9876543210"}
122
+ ],
123
+ "pulmonologist": [
124
+ {"name": "Dr. Mia", "contact": "9876543210"},
125
+ {"name": "Dr. Ethan", "contact": "9876543210"},
126
+ {"name": "Dr. Logan", "contact": "9876543210"},
127
+ {"name": "Dr. Sophia", "contact": "9876543210"},
128
+ {"name": "Dr. Benjamin", "contact": "9876543210"}
129
+ ],
130
+ "nephrologist": [
131
+ {"name": "Dr. Chloe", "contact": "9876543210"},
132
+ {"name": "Dr. Jackson", "contact": "9876543210"},
133
+ {"name": "Dr. Zoey", "contact": "9876543210"},
134
+ {"name": "Dr. William", "contact": "9876543210"},
135
+ {"name": "Dr. Ava", "contact": "9876543210"}
136
+ ],
137
+ "anesthesiologist": [
138
+ {"name": "Dr. Aiden", "contact": "9876543210"},
139
+ {"name": "Dr. Mia", "contact": "9876543210"},
140
+ {"name": "Dr. Logan", "contact": "9876543210"},
141
+ {"name": "Dr. Emily", "contact": "9876543210"},
142
+ {"name": "Dr. Samuel", "contact": "9876543210"}
143
+ ],
144
+ "gastrointestinal_surgeon": [
145
+ {"name": "Dr. Lily", "contact": "9876543210"},
146
+ {"name": "Dr. Benjamin", "contact": "9876543210"},
147
+ {"name": "Dr. Chloe", "contact": "9876543210"},
148
+ {"name": "Dr. Jackson", "contact": "9876543210"},
149
+ {"name": "Dr. Zoey", "contact": "9876543210"}
150
+ ],
151
+ }
152
+
153
+
154
+ @classmethod
155
+ def display_profession(cls, profession_key):
156
+ # Handle invalid key
157
+ if profession_key not in cls.doctor_professions:
158
  return "Invalid profession. Please choose from available options."
159
 
160
+ # Retrieve the list of doctors for the given profession
161
+ doctors = cls.doctor_professions[profession_key]
162
+
163
+ # Build the output by iterating through the list of doctors
164
+ output = f"\n**Doctors in {profession_key} profession:**"
165
+ for doctor in doctors:
166
+ output += f"\n - Name: {doctor['name']}\n Contact: {doctor['contact']}"
167
+
168
+ return output
169