diff --git a/app/api/crud.py b/app/api/crud.py index 3444bda..f492ec4 100644 --- a/app/api/crud.py +++ b/app/api/crud.py @@ -15,7 +15,8 @@ async def get( sex: str, diagnosis: str, is_control: bool, - min_num_sessions: int, + min_num_imaging_sessions: int, + min_num_phenotypic_sessions: int, assessment: str, image_modal: str, node_urls: list[str], @@ -35,8 +36,10 @@ async def get( Subject diagnosis. is_control : bool Whether or not subject is a control. - min_num_sessions : int + min_num_imaging_sessions : int Subject minimum number of imaging sessions. + min_num_phenotypic_sessions : int + Subject minimum number of phenotypic sessions. assessment : str Non-imaging assessment completed by subjects. image_modal : str @@ -68,8 +71,10 @@ async def get( params["diagnosis"] = diagnosis if is_control: params["is_control"] = is_control - if min_num_sessions: - params["min_num_sessions"] = min_num_sessions + if min_num_imaging_sessions: + params["min_num_imaging_sessions"] = min_num_imaging_sessions + if min_num_phenotypic_sessions: + params["min_num_phenotypic_sessions"] = min_num_phenotypic_sessions if assessment: params["assessment"] = assessment if image_modal: @@ -120,7 +125,7 @@ async def get( }, ) - print(f"All nodes queried successfully ({total_nodes/total_nodes}).") + print(f"All nodes queried successfully ({total_nodes}/{total_nodes}).") return { "errors": node_errors, "responses": cross_node_results, diff --git a/app/api/models.py b/app/api/models.py index 1c0f7b3..7bedb17 100644 --- a/app/api/models.py +++ b/app/api/models.py @@ -16,7 +16,8 @@ class QueryModel(BaseModel): sex: str = None diagnosis: str = None is_control: bool = None - min_num_sessions: int = None + min_num_imaging_sessions: int = None + min_num_phenotypic_sessions: int = None assessment: str = None image_modal: str = None # TODO: Replace default value with union of local and public nodes once https://github.com/neurobagel/federation-api/issues/28 is merged diff --git a/app/api/routers/query.py b/app/api/routers/query.py index eed690c..6c70472 100644 --- a/app/api/routers/query.py +++ b/app/api/routers/query.py @@ -17,7 +17,8 @@ async def get_query(query: QueryModel = Depends(QueryModel)): query.sex, query.diagnosis, query.is_control, - query.min_num_sessions, + query.min_num_imaging_sessions, + query.min_num_phenotypic_sessions, query.assessment, query.image_modal, query.node_url, diff --git a/tests/test_query.py b/tests/test_query.py index 4cbaf25..997118b 100644 --- a/tests/test_query.py +++ b/tests/test_query.py @@ -202,4 +202,4 @@ async def mock_httpx_get(self, **kwargs): assert response["nodes_response_status"] == "success" assert response["errors"] == [] assert len(response["responses"]) == 2 - assert "All nodes queried successfully" in captured.out + assert "All nodes queried successfully (2/2)" in captured.out