Skip to content

Commit f0b0549

Browse files
Fixing GitHub Actions errors
1 parent e551f6e commit f0b0549

File tree

3 files changed

+60
-59
lines changed

3 files changed

+60
-59
lines changed

.gitleaksignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,3 +224,4 @@ cd9c0efec38c5d63053dd865e5d4e207c0760d91:docs/guides/Perform_static_analysis.md:
224224
cae84544e2852202f5d0abb9ad18f9d83a0c6d80:subject_criteria_builder/criteria.json:generic-api-key:4210
225225
203cd8811be75d33859eb7c7cc8a48beb5a2b8b2:subject_criteria_builder/criteria.json:generic-api-key:4210
226226
60468a7d6f3ff3259616757be85d6f07e62d00b6:subject_criteria_builder/criteria.json:generic-api-key:4210
227+
2ccb5e91033934d4818c1efa2eb1696b5511ebc9:subject_criteria_builder/criteria.json:generic-api-key:4210

docs/utility-guides/Oracle.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -94,14 +94,14 @@ OracleDB().create_subjects_via_sspi(
9494

9595
## Oracle Specific Functions
9696

97-
Oracle-specific functions are now organized into separate files under `utils/oracle/oracle_specific_functions/` for better maintainability and discoverability.
97+
Oracle-specific functions are now organized into separate files under `utils/oracle/oracle_specific_functions/` for better maintainability and discoverability.<br>
9898
Each file groups related functions by their domain or purpose.
9999

100100
Below is a table showing the current structure and which functions are found in each file:
101101

102102
| File Name | Functions/Classes Included |
103103
|--------------------------------------------|--------------------------------------------------------------------------------------------------------------|
104-
| **enums.py** | `SqlQueryValues` (common enum values for queries) |
104+
| **enums.py** | `SqlQueryValues` (common `enum` values for queries) |
105105
| **kit_management.py** | `get_kit_id_from_db`, `get_kit_id_logged_from_db`, `get_service_management_by_device_id`,<br>`update_kit_service_management_entity`, `execute_fit_kit_stored_procedures` |
106106
| **organisation_parameters.py** | `set_org_parameter_value`, `get_org_parameter_value`, `check_parameter` |
107107
| **screening_colonoscopist.py** | `build_accredited_screening_colonoscopist_query`, `get_accredited_screening_colonoscopist_in_bcs001` |
@@ -112,8 +112,8 @@ Below is a table showing the current structure and which functions are found in
112112
| **investigation_dataset.py** | `get_investigation_dataset_polyp_category`, `get_investigation_dataset_polyp_algorithm_size`,<br>`get_subjects_for_investigation_dataset_updates` |
113113
| **subject_selector.py** | `SubjectSelector` (class for subject selection logic) |
114114

115-
> **Note:**
116-
> If you are looking for a specific function, check the relevant file in `utils/oracle/oracle_specific_functions/`.
115+
> **Note:**
116+
> If you are looking for a specific function, check the relevant file in `utils/oracle/oracle_specific_functions/`.
117117
> Common values used in queries are placed in `enums.py` as the `SqlQueryValues` class.
118118
119119
---

utils/oracle/subject_selector.py

Lines changed: 55 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,55 @@
1-
from oracle.oracle import OracleDB
2-
import logging
3-
from utils.oracle.subject_selection_query_builder import SubjectSelectionQueryBuilder
4-
from utils.user_tools import UserTools
5-
from classes.subject import Subject
6-
7-
8-
class SubjectSelector:
9-
"""
10-
Provides helper methods for selecting screening subjects based on preconditions
11-
required by specific scenarios.
12-
"""
13-
14-
@staticmethod
15-
def get_subject_for_manual_cease(criteria: dict) -> str:
16-
"""
17-
Retrieves a subject NHS number suitable for manual cease,
18-
based on dynamically provided selection criteria.
19-
20-
Args:
21-
criteria (dict): Dictionary of filtering conditions to select a subject.
22-
23-
Returns:
24-
str: The NHS number of the selected subject.
25-
26-
Raises:
27-
ValueError: If no subject is found matching the criteria.
28-
"""
29-
logging.info(
30-
f"[SUBJECT SELECTOR] Searching for subject using criteria: {criteria}"
31-
)
32-
33-
hub_code = criteria.get("subject hub code", "BCS02")
34-
user_details = UserTools.retrieve_user(f"Hub Manager at {hub_code}")
35-
user = UserTools.get_user_object(user_details)
36-
subject = Subject()
37-
38-
query_builder = SubjectSelectionQueryBuilder()
39-
query, bind_vars = query_builder.build_subject_selection_query(
40-
criteria=criteria,
41-
user=user,
42-
subject=subject,
43-
)
44-
45-
logging.debug(
46-
f"[SUBJECT SELECTOR] Executing query:\n{query}\nWith bind variables: {bind_vars}"
47-
)
48-
result_df = OracleDB().execute_query(query, bind_vars)
49-
50-
if result_df.empty:
51-
raise ValueError("No subject found for manual cease.")
52-
53-
nhs_number = result_df["subject_nhs_number"].iloc[0]
54-
logging.info(f"[SUBJECT SELECTOR] Found subject NHS number: {nhs_number}")
55-
return nhs_number
1+
from oracle.oracle import OracleDB
2+
import logging
3+
from utils.oracle.subject_selection_query_builder import SubjectSelectionQueryBuilder
4+
from utils.user_tools import UserTools
5+
from classes.subject import Subject
6+
7+
8+
class SubjectSelector:
9+
"""
10+
Provides helper methods for selecting screening subjects based on preconditions
11+
required by specific scenarios.
12+
"""
13+
14+
@staticmethod
15+
def get_subject_for_manual_cease(criteria: dict) -> str:
16+
"""
17+
Retrieves a subject NHS number suitable for manual cease,
18+
based on dynamically provided selection criteria.
19+
20+
Args:
21+
criteria (dict): Dictionary of filtering conditions to select a subject.
22+
23+
Returns:
24+
str: The NHS number of the selected subject.
25+
26+
Raises:
27+
ValueError: If no subject is found matching the criteria.
28+
"""
29+
logging.info(
30+
f"[SUBJECT SELECTOR] Searching for subject using criteria: {criteria}"
31+
)
32+
33+
hub_code = criteria.get("subject hub code", "BCS02")
34+
user_details = UserTools.retrieve_user(f"Hub Manager at {hub_code}")
35+
user = UserTools.get_user_object(user_details)
36+
subject = Subject()
37+
38+
query_builder = SubjectSelectionQueryBuilder()
39+
query, bind_vars = query_builder.build_subject_selection_query(
40+
criteria=criteria,
41+
user=user,
42+
subject=subject,
43+
)
44+
45+
logging.debug(
46+
f"[SUBJECT SELECTOR] Executing query:\n{query}\nWith bind variables: {bind_vars}"
47+
)
48+
result_df = OracleDB().execute_query(query, bind_vars)
49+
50+
if result_df.empty:
51+
raise ValueError("No subject found for manual cease.")
52+
53+
nhs_number = result_df["subject_nhs_number"].iloc[0]
54+
logging.info(f"[SUBJECT SELECTOR] Found subject NHS number: {nhs_number}")
55+
return nhs_number

0 commit comments

Comments
 (0)