Skip to content

Commit 4f18ff9

Browse files
author
Alexandra Pavlyshina
committed
measure-evaluate: fix ORDER BY anchor in build_evidence_sql
1 parent 2790e3f commit 4f18ff9

1 file changed

Lines changed: 8 additions & 3 deletions

File tree

aidbox-custom-operations/measure-evaluate/app/evaluate_measure.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -138,16 +138,21 @@ def build_evidence_sql(measure_sql: str, evidence_sql_fragment: str,
138138
cte_lines[i] = stripped + ","
139139
break
140140

141-
full_sql = "\n".join(cte_lines) + "\n" + evidence_sql_fragment
141+
ctes_joined = "\n".join(cte_lines)
142+
full_sql = ctes_joined + "\n" + evidence_sql_fragment
143+
# Boundary: where evidence_sql_fragment starts. Used to anchor the
144+
# ORDER BY search below so we don't match an inner ORDER BY inside a
145+
# CTE body (e.g. CMS1154's window-function ranking).
146+
evidence_section_start = len(ctes_joined) + 1
142147

143148
# Filter to single patient if provided
144149
if patient_id:
145150
pid = _sanitize_patient_id(patient_id)
146151
full_sql = full_sql.rstrip().rstrip(";")
147152
# Add or replace WHERE clause for patient filter
148153
if "WHERE mr.patient_id" not in full_sql:
149-
# Insert before ORDER BY
150-
order_idx = full_sql.rfind("ORDER BY")
154+
# Insert before the final SELECT's ORDER BY (within evidence section)
155+
order_idx = full_sql.find("ORDER BY", evidence_section_start)
151156
if order_idx != -1:
152157
full_sql = (full_sql[:order_idx]
153158
+ f"WHERE mr.patient_id = '{pid}'\n"

0 commit comments

Comments
 (0)