Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -34,17 +34,27 @@ def load_icd_codes_from_files():
|
|
| 34 |
file_path = os.path.join(directory_path, file_name)
|
| 35 |
with open(file_path, "r", encoding="utf-8") as file:
|
| 36 |
for line in file:
|
| 37 |
-
#
|
| 38 |
-
|
| 39 |
-
|
| 40 |
-
|
| 41 |
-
|
| 42 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 43 |
else:
|
| 44 |
print(f"Directory {directory_path} does not exist!")
|
| 45 |
|
|
|
|
|
|
|
|
|
|
| 46 |
return icd_codes
|
| 47 |
|
|
|
|
|
|
|
|
|
|
| 48 |
# Load CPT codes from files
|
| 49 |
def load_cpt_codes_from_files():
|
| 50 |
cpt_codes = {}
|
|
@@ -102,6 +112,11 @@ def predict_codes(text):
|
|
| 102 |
# Get top 3 predictions
|
| 103 |
top_icd = torch.topk(icd_probs, k=3)
|
| 104 |
top_cpt = torch.topk(cpt_probs, k=3)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 105 |
|
| 106 |
# Format results
|
| 107 |
result = "Recommended ICD-10 Codes:\n"
|
|
|
|
| 34 |
file_path = os.path.join(directory_path, file_name)
|
| 35 |
with open(file_path, "r", encoding="utf-8") as file:
|
| 36 |
for line in file:
|
| 37 |
+
# Skip empty lines
|
| 38 |
+
if line.strip():
|
| 39 |
+
# Split the line into code and description
|
| 40 |
+
parts = line.strip().split(maxsplit=1)
|
| 41 |
+
if len(parts) == 2:
|
| 42 |
+
code = parts[0].strip()
|
| 43 |
+
description = parts[1].strip()
|
| 44 |
+
icd_codes[code] = description
|
| 45 |
+
else:
|
| 46 |
+
print(f"Invalid line format in file {file_name}: {line}")
|
| 47 |
else:
|
| 48 |
print(f"Directory {directory_path} does not exist!")
|
| 49 |
|
| 50 |
+
if not icd_codes:
|
| 51 |
+
raise ValueError("No ICD codes were loaded. Please check your files and directory structure.")
|
| 52 |
+
|
| 53 |
return icd_codes
|
| 54 |
|
| 55 |
+
ICD_CODES = load_icd_codes_from_files()
|
| 56 |
+
print(f"Loaded {len(ICD_CODES)} ICD codes.")
|
| 57 |
+
|
| 58 |
# Load CPT codes from files
|
| 59 |
def load_cpt_codes_from_files():
|
| 60 |
cpt_codes = {}
|
|
|
|
| 112 |
# Get top 3 predictions
|
| 113 |
top_icd = torch.topk(icd_probs, k=3)
|
| 114 |
top_cpt = torch.topk(cpt_probs, k=3)
|
| 115 |
+
|
| 116 |
+
# Get top k predictions (limit k to the number of available codes)
|
| 117 |
+
top_k = min(3, len(ICD_CODES))
|
| 118 |
+
top_icd = torch.topk(icd_probs, k=top_k)
|
| 119 |
+
|
| 120 |
|
| 121 |
# Format results
|
| 122 |
result = "Recommended ICD-10 Codes:\n"
|