رغد Claude Sonnet 4.6 commited on
Commit
1b6551a
·
1 Parent(s): 4e11c42

fix(validators): prevent range dash from being parsed as negative sign

Browse files

get_status() used regex [-+]?\d*\.?\d+ which matched "12-16" as [12, -16].
This caused val > -16 to always return "high" for any positive value.
Fixed by using \d+\.?\d* which only matches positive numbers, as all
lab reference ranges are positive values.

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>

Files changed (1) hide show
  1. services/agent/_validators.py +1 -1
services/agent/_validators.py CHANGED
@@ -72,7 +72,7 @@ def is_valid_test(name: str) -> bool:
72
  def get_status(value: str, range_str: str, name: str = "") -> str:
73
  try:
74
  val = float(value)
75
- nums = re.findall(r"[-+]?\d*\.?\d+", str(range_str))
76
  if len(nums) >= 2:
77
  lo, hi = float(nums[0]), float(nums[1])
78
  if val < lo:
 
72
  def get_status(value: str, range_str: str, name: str = "") -> str:
73
  try:
74
  val = float(value)
75
+ nums = re.findall(r"\d+\.?\d*", str(range_str))
76
  if len(nums) >= 2:
77
  lo, hi = float(nums[0]), float(nums[1])
78
  if val < lo: