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"
|