medicafe 0.250725.4__tar.gz → 0.250725.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of medicafe might be problematic. Click here for more details.
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediBot/MediBot.py +8 -21
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediBot/MediBot_UI.py +15 -27
- {medicafe-0.250725.4 → medicafe-0.250725.6}/PKG-INFO +1 -1
- {medicafe-0.250725.4 → medicafe-0.250725.6}/medicafe.egg-info/PKG-INFO +1 -1
- {medicafe-0.250725.4 → medicafe-0.250725.6}/setup.py +1 -1
- {medicafe-0.250725.4 → medicafe-0.250725.6}/LICENSE +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MANIFEST.in +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediBot/MediBot.bat +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediBot/MediBot_Charges.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediBot/MediBot_Crosswalk_Library.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediBot/MediBot_Post.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediBot/MediBot_Preprocessor.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediBot/MediBot_Preprocessor_lib.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediBot/MediBot_dataformat_library.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediBot/MediBot_docx_decoder.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediBot/PDF_to_CSV_Cleaner.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediBot/__init__.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediBot/update_json.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediBot/update_medicafe.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_837p_cob_library.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_837p_encoder.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_837p_encoder_library.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_837p_utilities.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_API_Generator.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_API_v2.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_API_v3.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_APIs.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_Azure.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_ClaimStatus.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_ConfigLoader.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_DataMgmt.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_Decoder.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_Deductible.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_Deductible_Validator.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_Down.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_Gmail.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_GraphQL.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_Mailer.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_Parser.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_Scan.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_Scheduler.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_UI.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_Up.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_batch.bat +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/Soumit_api.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/__init__.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/openssl.cnf +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/test.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/test_cob_library.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/test_validation.py +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/webapp.html +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/README.md +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/medicafe.egg-info/SOURCES.txt +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/medicafe.egg-info/dependency_links.txt +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/medicafe.egg-info/not-zip-safe +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/medicafe.egg-info/requires.txt +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/medicafe.egg-info/top_level.txt +0 -0
- {medicafe-0.250725.4 → medicafe-0.250725.6}/setup.cfg +0 -0
|
@@ -33,25 +33,14 @@ def flush_console_input_buffer():
|
|
|
33
33
|
|
|
34
34
|
def discard_leading_blank():
|
|
35
35
|
"""
|
|
36
|
-
Alternative fallback that
|
|
37
|
-
then puts back the first non-newline character for the real input() call.
|
|
36
|
+
Alternative fallback that uses non-blocking msvcrt to drain any available input.
|
|
38
37
|
"""
|
|
39
38
|
if sys.platform != "win32":
|
|
40
39
|
return # no-op on non-Windows
|
|
41
40
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
if ch not in ('\r', '\n'):
|
|
46
|
-
# put it back for the real input() call
|
|
47
|
-
msvcrt.ungetch(ch.encode())
|
|
48
|
-
break
|
|
49
|
-
elif not ch: # EOF
|
|
50
|
-
break
|
|
51
|
-
except Exception:
|
|
52
|
-
# If stdin.read fails, fall back to msvcrt approach
|
|
53
|
-
while msvcrt.kbhit():
|
|
54
|
-
msvcrt.getch()
|
|
41
|
+
# Use non-blocking msvcrt approach to drain any available input
|
|
42
|
+
while msvcrt.kbhit():
|
|
43
|
+
msvcrt.getch()
|
|
55
44
|
|
|
56
45
|
try:
|
|
57
46
|
from MediBot_Crosswalk_Library import crosswalk_update
|
|
@@ -443,10 +432,9 @@ if __name__ == "__main__":
|
|
|
443
432
|
|
|
444
433
|
# Flush console input buffer to remove any stray CR/LF
|
|
445
434
|
flush_console_input_buffer()
|
|
446
|
-
discard_leading_blank()
|
|
447
435
|
|
|
448
|
-
# Use
|
|
449
|
-
proceed =
|
|
436
|
+
# Use input() for more reliable input on Windows XP
|
|
437
|
+
proceed = input().lower().strip() in ['yes', 'y']
|
|
450
438
|
else:
|
|
451
439
|
print("\nDo you want to proceed with the {} remaining patient(s)? (yes/no): ".format(len(patients_to_process)), end='', flush=True)
|
|
452
440
|
# Force flush and wait for Windows XP console buffer synchronization
|
|
@@ -455,10 +443,9 @@ if __name__ == "__main__":
|
|
|
455
443
|
|
|
456
444
|
# Flush console input buffer to remove any stray CR/LF
|
|
457
445
|
flush_console_input_buffer()
|
|
458
|
-
discard_leading_blank()
|
|
459
446
|
|
|
460
|
-
# Use
|
|
461
|
-
proceed =
|
|
447
|
+
# Use input() for more reliable input on Windows XP
|
|
448
|
+
proceed = input().lower().strip() in ['yes', 'y']
|
|
462
449
|
|
|
463
450
|
# TODO: Here is where we need to add the step where we move to MediBot_Charges.
|
|
464
451
|
# The return is an enriched dataset to be picked up by MediBot which means we need to return:
|
|
@@ -39,25 +39,14 @@ def flush_console_input_buffer():
|
|
|
39
39
|
|
|
40
40
|
def discard_leading_blank():
|
|
41
41
|
"""
|
|
42
|
-
Alternative fallback that
|
|
43
|
-
then puts back the first non-newline character for the real input() call.
|
|
42
|
+
Alternative fallback that uses non-blocking msvcrt to drain any available input.
|
|
44
43
|
"""
|
|
45
44
|
if sys.platform != "win32":
|
|
46
45
|
return # no-op on non-Windows
|
|
47
46
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
if ch not in ('\r', '\n'):
|
|
52
|
-
# put it back for the real input() call
|
|
53
|
-
msvcrt.ungetch(ch.encode())
|
|
54
|
-
break
|
|
55
|
-
elif not ch: # EOF
|
|
56
|
-
break
|
|
57
|
-
except Exception:
|
|
58
|
-
# If stdin.read fails, fall back to msvcrt approach
|
|
59
|
-
while msvcrt.kbhit():
|
|
60
|
-
msvcrt.getch()
|
|
47
|
+
# Use non-blocking msvcrt approach to drain any available input
|
|
48
|
+
while msvcrt.kbhit():
|
|
49
|
+
msvcrt.getch()
|
|
61
50
|
|
|
62
51
|
class AppControl:
|
|
63
52
|
def __init__(self):
|
|
@@ -195,10 +184,9 @@ def display_patient_selection_menu(csv_data, reverse_mapping, proceed_as_medicar
|
|
|
195
184
|
|
|
196
185
|
# Flush console input buffer to remove any stray CR/LF
|
|
197
186
|
flush_console_input_buffer()
|
|
198
|
-
discard_leading_blank()
|
|
199
187
|
|
|
200
|
-
# Use
|
|
201
|
-
proceed =
|
|
188
|
+
# Use input() for more reliable input on Windows XP
|
|
189
|
+
proceed = input().lower().strip() in ['yes', 'y']
|
|
202
190
|
|
|
203
191
|
if not proceed:
|
|
204
192
|
display_menu_header("Patient Selection for Today's Data Entry")
|
|
@@ -214,10 +202,9 @@ def display_patient_selection_menu(csv_data, reverse_mapping, proceed_as_medicar
|
|
|
214
202
|
|
|
215
203
|
# Flush console input buffer to remove any stray CR/LF
|
|
216
204
|
flush_console_input_buffer()
|
|
217
|
-
discard_leading_blank()
|
|
218
205
|
|
|
219
|
-
# Use
|
|
220
|
-
selection =
|
|
206
|
+
# Use input() for more reliable input on Windows XP
|
|
207
|
+
selection = input().strip()
|
|
221
208
|
if not selection:
|
|
222
209
|
print("Invalid entry. Please provide at least one number.")
|
|
223
210
|
continue
|
|
@@ -298,10 +285,9 @@ def handle_user_interaction(interaction_mode, error_message):
|
|
|
298
285
|
|
|
299
286
|
# Flush console input buffer to remove any stray CR/LF
|
|
300
287
|
flush_console_input_buffer()
|
|
301
|
-
discard_leading_blank()
|
|
302
288
|
|
|
303
|
-
# Use
|
|
304
|
-
choice =
|
|
289
|
+
# Use input() for more reliable input on Windows XP
|
|
290
|
+
choice = input().strip()
|
|
305
291
|
|
|
306
292
|
if choice == '1':
|
|
307
293
|
print("Selected: 'Retry last entry'. Please press 'F12' to continue.")
|
|
@@ -333,7 +319,6 @@ def user_interaction(csv_data, interaction_mode, error_message, reverse_mapping)
|
|
|
333
319
|
|
|
334
320
|
# Flush console input buffer to remove any stray CR/LF from script launch
|
|
335
321
|
flush_console_input_buffer()
|
|
336
|
-
discard_leading_blank()
|
|
337
322
|
|
|
338
323
|
while True:
|
|
339
324
|
try:
|
|
@@ -343,8 +328,11 @@ def user_interaction(csv_data, interaction_mode, error_message, reverse_mapping)
|
|
|
343
328
|
sys.stdout.flush()
|
|
344
329
|
time.sleep(0.2) # Increased delay for Windows XP
|
|
345
330
|
|
|
346
|
-
# Use
|
|
347
|
-
response =
|
|
331
|
+
# Use input() for more reliable input on Windows XP
|
|
332
|
+
response = input().lower().strip()
|
|
333
|
+
|
|
334
|
+
# Debug: Print what we actually got
|
|
335
|
+
print("DEBUG: Got response: '{}' (length: {})".format(response, len(response)))
|
|
348
336
|
|
|
349
337
|
if response:
|
|
350
338
|
if response in ['yes', 'y']:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|