|
17 | 17 | from ..models.intervention import Intervention
|
18 | 18 | from ..models.organization import Organization, OrgTree
|
19 | 19 | from ..models.patient_list import PatientList
|
| 20 | +from ..models.questionnaire_bank import translate_visit_name |
20 | 21 | from ..models.qb_status import patient_research_study_status
|
21 | 22 | from ..models.role import ROLE
|
22 | 23 | from ..models.research_study import EMPRO_RS_ID, ResearchStudy
|
@@ -181,11 +182,25 @@ def requested_orgs(user, research_study_id):
|
181 | 182 | distinct_action = PatientList.query.distinct(PatientList.action_state).with_entities(
|
182 | 183 | PatientList.action_state)
|
183 | 184 | options.append({"action_state": [(state[0], _(state[0])) for state in distinct_action]})
|
| 185 | + distinct_visits = PatientList.query.distinct(PatientList.empro_visit).with_entities( |
| 186 | + PatientList.empro_visit) |
| 187 | + sorted_visits = sorted( |
| 188 | + [v[0] for v in distinct_visits if v[0]], |
| 189 | + key=lambda x: (0 if not x.split()[-1].isdigit() else int(x.split()[-1])) |
| 190 | + ) |
| 191 | + options.append({"empro_visit": [(visit, translate_visit_name(visit)) for visit in sorted_visits]}) |
184 | 192 | else:
|
185 | 193 | distinct_status = PatientList.query.distinct(
|
186 | 194 | PatientList.questionnaire_status).with_entities(PatientList.questionnaire_status)
|
187 | 195 | options.append(
|
188 | 196 | {"questionnaire_status": [(status[0], _(status[0])) for status in distinct_status]})
|
| 197 | + distinct_visits = PatientList.query.distinct(PatientList.visit).with_entities( |
| 198 | + PatientList.visit) |
| 199 | + sorted_visits = sorted( |
| 200 | + [v[0] for v in distinct_visits if v[0]], |
| 201 | + key=lambda x: (0 if not x.split()[-1].isdigit() else int(x.split()[-1])) |
| 202 | + ) |
| 203 | + options.append({"visit": [(visit, translate_visit_name(visit)) for visit in sorted_visits]}) |
189 | 204 |
|
190 | 205 | viewable_orgs = requested_orgs(user, research_study_id)
|
191 | 206 | query = PatientList.query.filter(PatientList.org_id.in_(viewable_orgs))
|
@@ -222,8 +237,8 @@ def requested_orgs(user, research_study_id):
|
222 | 237 | "questionnaire_status": _(row.questionnaire_status),
|
223 | 238 | "empro_status": _(row.empro_status),
|
224 | 239 | "action_state": _(row.action_state),
|
225 |
| - "visit": row.visit, |
226 |
| - "empro_visit": row.empro_visit, |
| 240 | + "visit": translate_visit_name(row.visit), |
| 241 | + "empro_visit": translate_visit_name(row.empro_visit), |
227 | 242 | "study_id": row.study_id,
|
228 | 243 | "consentdate": row.consentdate,
|
229 | 244 | "empro_consentdate": row.empro_consentdate,
|
|
0 commit comments