|
2 | 2 |
|
3 | 3 | from healthtools_ke_api.analytics import track_event |
4 | 4 | from healthtools_ke_api.views.nurses import get_nurses_from_nc_registry |
| 5 | +from healthtools_ke_api.views.doctors import get_doctors_from_cloudsearch |
| 6 | +from healthtools_ke_api.views.clinical_officers import get_clinical_officers_from_cloudsearch |
5 | 7 |
|
6 | 8 | import requests |
7 | 9 | import re |
@@ -68,26 +70,25 @@ def build_query_response(query): |
68 | 70 | if find_keyword_in_query(query, DOC_KEYWORDS): |
69 | 71 | search_terms = find_keyword_in_query(query, DOC_KEYWORDS) |
70 | 72 | query = query[:search_terms.start()] + query[search_terms.end():] |
71 | | - r = requests.get(current_app.config.get('DOCTORS_SEARCH_URL'), params={'q': query}) |
72 | | - msg = construct_docs_response(parse_cloud_search_results(r)) |
73 | | - print msg |
74 | | - return [msg, r.json()] |
| 73 | + print query |
| 74 | + doctors = get_doctors_from_cloudsearch(query) |
| 75 | + msg = construct_docs_response(doctors[:SMS_RESULT_COUNT]) |
| 76 | + return [msg] |
75 | 77 | # Looking for Nurses keywords |
76 | 78 | elif find_keyword_in_query(query, NO_KEYWORDS): |
77 | 79 | search_terms = find_keyword_in_query(query, NO_KEYWORDS) |
78 | 80 | query = query[:search_terms.start()] + query[search_terms.end():] |
79 | 81 | nurses = get_nurses_from_nc_registry(query) |
80 | 82 | msg = construct_nurse_response(nurses[:SMS_RESULT_COUNT]) |
81 | | - print msg |
82 | 83 | return [msg] |
83 | 84 | # Looking for clinical officers Keywords |
84 | 85 | elif find_keyword_in_query(query, CO_KEYWORDS): |
85 | 86 | search_terms = find_keyword_in_query(query, CO_KEYWORDS) |
86 | 87 | query = query[:search_terms.start()] + query[search_terms.end():] |
87 | | - r = requests.get(current_app.config.get('CO_SEARCH_URL'), params={'q': query}) |
88 | | - msg = construct_co_response(parse_cloud_search_results(r)) |
89 | | - print msg |
90 | | - return [msg, r.json()] |
| 88 | + print query |
| 89 | + clinical_officers = get_clinical_officers_from_cloudsearch(query) |
| 90 | + msg = construct_co_response(clinical_officers[:SMS_RESULT_COUNT]) |
| 91 | + return [msg] |
91 | 92 | # Looking for nhif hospitals |
92 | 93 | elif find_keyword_in_query(query, NHIF_KEYWORDS): |
93 | 94 | search_terms = find_keyword_in_query(query, NHIF_KEYWORDS) |
@@ -125,8 +126,9 @@ def construct_co_response(co_list): |
125 | 126 | count = 1 |
126 | 127 | msg_items = [] |
127 | 128 | for co in co_list: |
| 129 | + co = co["fields"] |
128 | 130 | status = " ".join( |
129 | | - [str(count) + ".", co['name'], "-", co['qualification']]) |
| 131 | + [str(count) + ".", "".join(co['name']), "-", "".join(co['qualifications'])]) |
130 | 132 | msg_items.append(status) |
131 | 133 | count = count + 1 |
132 | 134 | if len(co_list) > 1: |
@@ -193,13 +195,14 @@ def construct_docs_response(docs_list): |
193 | 195 | msg_items = [] |
194 | 196 |
|
195 | 197 | for doc in docs_list: |
| 198 | + doc = doc["fields"] |
196 | 199 | # Ignore speciality if not there, dont display none |
197 | | - if doc['specialty'] == "None": |
198 | | - status = " ".join([str(count) + ".", doc['name'], "-", |
199 | | - doc['registration_number'], "-", doc['qualification']]) |
| 200 | + if doc['speciality'] == "None": |
| 201 | + status = " ".join([str(count) + ".", "".join(doc['name']), "-", |
| 202 | + "".join(doc['reg_no']), "-", "".join(doc['qualifications'])]) |
200 | 203 | else: |
201 | | - status = " ".join([str(count) + ".", doc['name'], "-", doc[ |
202 | | - 'registration_number'], "-", doc['qualification'], doc['specialty']]) |
| 204 | + status = " ".join([str(count) + ".", "".join(doc['name']), "-", "".join(doc[ |
| 205 | + 'reg_no']), "-", "".join(doc['qualifications']), "".join(doc['speciality'])]) |
203 | 206 | msg_items.append(status) |
204 | 207 | count = count + 1 |
205 | 208 | if len(docs_list) > 1: |
|
0 commit comments