medicafe 0.250728.5__py3-none-any.whl → 0.250728.7__py3-none-any.whl
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.
- MediBot/MediBot.bat +0 -37
- MediBot/MediBot.py +2 -22
- MediBot/MediBot_UI.py +12 -71
- {medicafe-0.250728.5.dist-info → medicafe-0.250728.7.dist-info}/METADATA +1 -1
- {medicafe-0.250728.5.dist-info → medicafe-0.250728.7.dist-info}/RECORD +8 -8
- {medicafe-0.250728.5.dist-info → medicafe-0.250728.7.dist-info}/LICENSE +0 -0
- {medicafe-0.250728.5.dist-info → medicafe-0.250728.7.dist-info}/WHEEL +0 -0
- {medicafe-0.250728.5.dist-info → medicafe-0.250728.7.dist-info}/top_level.txt +0 -0
MediBot/MediBot.bat
CHANGED
|
@@ -106,34 +106,6 @@ if exist "C:\Python34\Lib\site-packages\MediBot\update_medicafe.py" (
|
|
|
106
106
|
)
|
|
107
107
|
)
|
|
108
108
|
|
|
109
|
-
:: Check for updates function
|
|
110
|
-
:check_for_updates
|
|
111
|
-
:: Simple check - if Python script fails, just continue
|
|
112
|
-
py "%upgrade_medicafe%" --check-only > temp_update_check.txt 2>nul
|
|
113
|
-
if not exist temp_update_check.txt (
|
|
114
|
-
echo Update check unavailable.
|
|
115
|
-
exit /b 1
|
|
116
|
-
)
|
|
117
|
-
|
|
118
|
-
set /p update_check_result=<temp_update_check.txt
|
|
119
|
-
del temp_update_check.txt >nul 2>&1
|
|
120
|
-
|
|
121
|
-
:: Simple check for update availability
|
|
122
|
-
if "!update_check_result:~0,16!"=="UPDATE_AVAILABLE:" (
|
|
123
|
-
set "new_version=!update_check_result:~16!"
|
|
124
|
-
echo.
|
|
125
|
-
echo ***** NEW VERSION AVAILABLE *****
|
|
126
|
-
echo Current : %medicafe_version%
|
|
127
|
-
echo Latest : !new_version!
|
|
128
|
-
echo Select option 1 to upgrade.
|
|
129
|
-
echo.
|
|
130
|
-
) else if "!update_check_result!"=="UP_TO_DATE" (
|
|
131
|
-
echo .
|
|
132
|
-
) else (
|
|
133
|
-
echo Auto-update check failed.
|
|
134
|
-
)
|
|
135
|
-
exit /b 0
|
|
136
|
-
|
|
137
109
|
:: Main menu
|
|
138
110
|
:main_menu
|
|
139
111
|
cls
|
|
@@ -143,15 +115,6 @@ echo .//* Welcome to MediCafe *\\.
|
|
|
143
115
|
echo --------------------------------------------------------------
|
|
144
116
|
echo.
|
|
145
117
|
|
|
146
|
-
:: Check for updates if internet is available
|
|
147
|
-
if "!internet_available!"=="1" (
|
|
148
|
-
echo Checking for updates...
|
|
149
|
-
call :check_for_updates
|
|
150
|
-
if errorlevel 1 (
|
|
151
|
-
echo Update check failed, continuing...
|
|
152
|
-
)
|
|
153
|
-
)
|
|
154
|
-
|
|
155
118
|
echo Please select an option:
|
|
156
119
|
echo.
|
|
157
120
|
if "!internet_available!"=="1" (
|
MediBot/MediBot.py
CHANGED
|
@@ -355,10 +355,6 @@ if __name__ == "__main__":
|
|
|
355
355
|
# Windows XP console buffer fix: Use cls with echo to reset buffer state
|
|
356
356
|
_ = os.system('cls && echo.')
|
|
357
357
|
|
|
358
|
-
# Additional buffer stabilization
|
|
359
|
-
time.sleep(0.1)
|
|
360
|
-
sys.stdout.flush()
|
|
361
|
-
|
|
362
358
|
proceed, selected_patient_ids, selected_indices, fixed_values = user_interaction(csv_data, interaction_mode, error_message, reverse_mapping)
|
|
363
359
|
|
|
364
360
|
if proceed:
|
|
@@ -402,25 +398,9 @@ if __name__ == "__main__":
|
|
|
402
398
|
|
|
403
399
|
# Check if there are patients left to process
|
|
404
400
|
if len(patients_to_process) == 0:
|
|
405
|
-
|
|
406
|
-
time.sleep(0.1) # Reduced delay for Windows XP compatibility
|
|
407
|
-
|
|
408
|
-
# Clear any leftover input
|
|
409
|
-
while msvcrt.kbhit():
|
|
410
|
-
msvcrt.getch()
|
|
411
|
-
|
|
412
|
-
# Use input() for more reliable input on Windows XP
|
|
413
|
-
proceed = input().lower().strip() in ['yes', 'y']
|
|
401
|
+
proceed = input("\nAll patients have been processed. Continue anyway?: ").lower().strip() in ['yes', 'y']
|
|
414
402
|
else:
|
|
415
|
-
|
|
416
|
-
time.sleep(0.1) # Reduced delay for Windows XP compatibility
|
|
417
|
-
|
|
418
|
-
# Clear any leftover input
|
|
419
|
-
while msvcrt.kbhit():
|
|
420
|
-
msvcrt.getch()
|
|
421
|
-
|
|
422
|
-
# Use input() for more reliable input on Windows XP
|
|
423
|
-
proceed = input().lower().strip() in ['yes', 'y']
|
|
403
|
+
proceed = input("\nDo you want to proceed with the {} remaining patient(s)? (yes/no): ".format(len(patients_to_process))).lower().strip() in ['yes', 'y']
|
|
424
404
|
|
|
425
405
|
# TODO: Here is where we need to add the step where we move to MediBot_Charges.
|
|
426
406
|
# The return is an enriched dataset to be picked up by MediBot which means we need to return:
|
MediBot/MediBot_UI.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#MediBot_UI.py
|
|
2
|
-
import ctypes, time, re, os, sys
|
|
2
|
+
import ctypes, time, re, os, sys
|
|
3
3
|
from ctypes import wintypes
|
|
4
4
|
from sys import exit
|
|
5
5
|
project_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
|
|
@@ -76,43 +76,7 @@ class AppControl:
|
|
|
76
76
|
|
|
77
77
|
app_control = AppControl()
|
|
78
78
|
|
|
79
|
-
|
|
80
|
-
"""
|
|
81
|
-
Windows XP-specific input function that uses msvcrt.getch()
|
|
82
|
-
to avoid console buffer issues after cls command.
|
|
83
|
-
|
|
84
|
-
Use this instead of input() when:
|
|
85
|
-
- The input call happens shortly after os.system('cls')
|
|
86
|
-
- The standard input() is not capturing user input on first try
|
|
87
|
-
- You need reliable input capture on Windows XP SP3
|
|
88
|
-
"""
|
|
89
|
-
if prompt:
|
|
90
|
-
print(prompt, end='', flush=True)
|
|
91
|
-
|
|
92
|
-
# Clear any pending keystrokes
|
|
93
|
-
while msvcrt.kbhit():
|
|
94
|
-
msvcrt.getch()
|
|
95
|
-
|
|
96
|
-
input_chars = []
|
|
97
|
-
while True:
|
|
98
|
-
char = msvcrt.getch()
|
|
99
|
-
|
|
100
|
-
# Handle Enter key (carriage return)
|
|
101
|
-
if char == b'\r':
|
|
102
|
-
print() # New line
|
|
103
|
-
return ''.join(input_chars)
|
|
104
|
-
|
|
105
|
-
# Handle backspace
|
|
106
|
-
elif char == b'\x08':
|
|
107
|
-
if input_chars:
|
|
108
|
-
input_chars.pop()
|
|
109
|
-
# Move cursor back, overwrite with space, move back again
|
|
110
|
-
print('\b \b', end='', flush=True)
|
|
111
|
-
|
|
112
|
-
# Handle regular characters
|
|
113
|
-
elif 32 <= ord(char) <= 126: # Printable ASCII characters
|
|
114
|
-
input_chars.append(char.decode('ascii', errors='ignore'))
|
|
115
|
-
print(char.decode('ascii', errors='ignore'), end='', flush=True)
|
|
79
|
+
|
|
116
80
|
|
|
117
81
|
def is_key_pressed(key_code):
|
|
118
82
|
user32 = ctypes.WinDLL('user32', use_last_error=True)
|
|
@@ -187,15 +151,7 @@ def display_patient_selection_menu(csv_data, reverse_mapping, proceed_as_medicar
|
|
|
187
151
|
selected_indices, selected_patient_ids = display_patient_list(csv_data, reverse_mapping, exclude_medicare=True)
|
|
188
152
|
|
|
189
153
|
print("-" * 60)
|
|
190
|
-
|
|
191
|
-
time.sleep(0.1) # Reduced delay for Windows XP compatibility
|
|
192
|
-
|
|
193
|
-
# Clear any leftover input
|
|
194
|
-
while msvcrt.kbhit():
|
|
195
|
-
msvcrt.getch()
|
|
196
|
-
|
|
197
|
-
# Use input() for more reliable input on Windows XP
|
|
198
|
-
proceed = input().lower().strip() in ['yes', 'y']
|
|
154
|
+
proceed = input("\nDo you want to proceed with the selected patients? (yes/no): ").lower().strip() in ['yes', 'y']
|
|
199
155
|
|
|
200
156
|
if not proceed:
|
|
201
157
|
display_menu_header("Patient Selection for Today's Data Entry")
|
|
@@ -204,15 +160,7 @@ def display_patient_selection_menu(csv_data, reverse_mapping, proceed_as_medicar
|
|
|
204
160
|
|
|
205
161
|
while True:
|
|
206
162
|
while True:
|
|
207
|
-
|
|
208
|
-
time.sleep(0.1) # Reduced delay for Windows XP compatibility
|
|
209
|
-
|
|
210
|
-
# Clear any leftover input
|
|
211
|
-
while msvcrt.kbhit():
|
|
212
|
-
msvcrt.getch()
|
|
213
|
-
|
|
214
|
-
# Use input() for more reliable input on Windows XP
|
|
215
|
-
selection = input().strip()
|
|
163
|
+
selection = input("\nEnter the number(s) of the patients you wish to proceed with\n(e.g., 1, 3, 5): ").strip()
|
|
216
164
|
if not selection:
|
|
217
165
|
print("Invalid entry. Please provide at least one number.")
|
|
218
166
|
continue
|
|
@@ -284,15 +232,7 @@ def handle_user_interaction(interaction_mode, error_message):
|
|
|
284
232
|
print("3: Go back two patients and redo")
|
|
285
233
|
print("4: Exit script")
|
|
286
234
|
print("-" * 60)
|
|
287
|
-
|
|
288
|
-
time.sleep(0.1) # Reduced delay for Windows XP compatibility
|
|
289
|
-
|
|
290
|
-
# Clear any leftover input
|
|
291
|
-
while msvcrt.kbhit():
|
|
292
|
-
msvcrt.getch()
|
|
293
|
-
|
|
294
|
-
# Use input() for more reliable input on Windows XP
|
|
295
|
-
choice = input().strip()
|
|
235
|
+
choice = input("Enter your choice (1/2/3/4): ").strip()
|
|
296
236
|
|
|
297
237
|
if choice == '1':
|
|
298
238
|
print("Selected: 'Retry last entry'. Please press 'F12' to continue.")
|
|
@@ -321,22 +261,23 @@ def user_interaction(csv_data, interaction_mode, error_message, reverse_mapping)
|
|
|
321
261
|
|
|
322
262
|
while True:
|
|
323
263
|
try:
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
264
|
+
response = input("\nAm I processing Medicare patients? (yes/no): ").lower().strip()
|
|
265
|
+
|
|
266
|
+
if not response:
|
|
267
|
+
print("A response is required. Please try again.")
|
|
268
|
+
continue
|
|
269
|
+
|
|
327
270
|
if response in ['yes', 'y']:
|
|
328
271
|
app_control.load_paths_from_config(medicare=True)
|
|
329
272
|
break
|
|
330
273
|
elif response in ['no', 'n']:
|
|
331
274
|
app_control.load_paths_from_config(medicare=False)
|
|
332
275
|
break
|
|
333
|
-
elif response == '':
|
|
334
|
-
print("No input detected. Please enter 'yes' or 'no'.")
|
|
335
276
|
else:
|
|
336
277
|
print("Invalid entry. Please enter 'yes' or 'no'.")
|
|
278
|
+
|
|
337
279
|
except KeyboardInterrupt:
|
|
338
280
|
print("\nOperation cancelled by user. Exiting script.")
|
|
339
|
-
sys.exit(0)
|
|
340
281
|
|
|
341
282
|
fixed_values = config.get('fixed_values', {}) # Get fixed values from config json
|
|
342
283
|
if response in ['yes', 'y']:
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
MediBot/MediBot.bat,sha256
|
|
2
|
-
MediBot/MediBot.py,sha256=
|
|
1
|
+
MediBot/MediBot.bat,sha256=-4wNHzUrlPxT7TYIgRLQ464zWlR0GBAu3gErXsEr_O8,13289
|
|
2
|
+
MediBot/MediBot.py,sha256=LA19MnCaHbb1uaOGfZaAKwQu7jwMkeFwU4jtx3Wc1_s,24352
|
|
3
3
|
MediBot/MediBot_Charges.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
4
|
MediBot/MediBot_Crosswalk_Library.py,sha256=CAC1upqFu37fTWD3hFD5Djiy7yDAcV4SRkcbutdaeeY,53012
|
|
5
5
|
MediBot/MediBot_Post.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
6
|
MediBot/MediBot_Preprocessor.py,sha256=Lc9uQnE5SAa0dQTOREdPV1QUB2cywXTHJ1h2w-fyeeQ,13331
|
|
7
7
|
MediBot/MediBot_Preprocessor_lib.py,sha256=pTXtaREJdj0kupzCR_QsHLUlPHYFZ2lUzSLm4IBoHKY,49081
|
|
8
|
-
MediBot/MediBot_UI.py,sha256=
|
|
8
|
+
MediBot/MediBot_UI.py,sha256=WuxBmnkXleA88AjvDB48CqxAzxsqnB8Tvf-MTNsYKBU,12731
|
|
9
9
|
MediBot/MediBot_dataformat_library.py,sha256=XNyeiOC6uJUp15UXP_rhtB3rMTPus9ZXDnz5zHNoRYM,8586
|
|
10
10
|
MediBot/MediBot_docx_decoder.py,sha256=GbhX58pMAsWNhBF7B8AtWiNpUOB4bU0zAM81moXYkkE,27370
|
|
11
11
|
MediBot/MediPost.py,sha256=C1hZJFr65rN6F_dckjdBxFC0vL2CoqY9W3YFqU5HXtE,336
|
|
@@ -49,8 +49,8 @@ MediLink/test.py,sha256=kSvvJRL_3fWuNS3_x4hToOnUljGLoeEw6SUTHQWQRJk,3108
|
|
|
49
49
|
MediLink/test_cob_library.py,sha256=wUMv0-Y6fNsKcAs8Z9LwfmEBRO7oBzBAfWmmzwoNd1g,13841
|
|
50
50
|
MediLink/test_validation.py,sha256=FJrfdUFK--xRScIzrHCg1JeGdm0uJEoRnq6CgkP2lwM,4154
|
|
51
51
|
MediLink/webapp.html,sha256=JPKT559aFVBi1r42Hz7C77Jj0teZZRumPhBev8eSOLk,19806
|
|
52
|
-
medicafe-0.250728.
|
|
53
|
-
medicafe-0.250728.
|
|
54
|
-
medicafe-0.250728.
|
|
55
|
-
medicafe-0.250728.
|
|
56
|
-
medicafe-0.250728.
|
|
52
|
+
medicafe-0.250728.7.dist-info/LICENSE,sha256=65lb-vVujdQK7uMH3RRJSMwUW-WMrMEsc5sOaUn2xUk,1096
|
|
53
|
+
medicafe-0.250728.7.dist-info/METADATA,sha256=P1gPNoYE4bc4WMBFnU-8PSKbeMQO2G5dhgJJIH7rBDQ,5501
|
|
54
|
+
medicafe-0.250728.7.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
|
55
|
+
medicafe-0.250728.7.dist-info/top_level.txt,sha256=3uOwR4q_SP8Gufk2uCHoKngAgbtdOwQC6Qjl7ViBa_c,17
|
|
56
|
+
medicafe-0.250728.7.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|