medicafe 0.250728.5__tar.gz → 0.250728.7__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.

Files changed (58) hide show
  1. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediBot/MediBot.bat +0 -37
  2. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediBot/MediBot.py +2 -22
  3. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediBot/MediBot_UI.py +12 -71
  4. {medicafe-0.250728.5 → medicafe-0.250728.7}/PKG-INFO +1 -1
  5. {medicafe-0.250728.5 → medicafe-0.250728.7}/medicafe.egg-info/PKG-INFO +1 -1
  6. {medicafe-0.250728.5 → medicafe-0.250728.7}/setup.py +1 -1
  7. {medicafe-0.250728.5 → medicafe-0.250728.7}/LICENSE +0 -0
  8. {medicafe-0.250728.5 → medicafe-0.250728.7}/MANIFEST.in +0 -0
  9. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediBot/MediBot_Charges.py +0 -0
  10. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediBot/MediBot_Crosswalk_Library.py +0 -0
  11. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediBot/MediBot_Post.py +0 -0
  12. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediBot/MediBot_Preprocessor.py +0 -0
  13. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediBot/MediBot_Preprocessor_lib.py +0 -0
  14. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediBot/MediBot_dataformat_library.py +0 -0
  15. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediBot/MediBot_docx_decoder.py +0 -0
  16. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediBot/PDF_to_CSV_Cleaner.py +0 -0
  17. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediBot/__init__.py +0 -0
  18. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediBot/update_json.py +0 -0
  19. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediBot/update_medicafe.py +0 -0
  20. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediLink/MediLink.py +0 -0
  21. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediLink/MediLink_837p_cob_library.py +0 -0
  22. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediLink/MediLink_837p_encoder.py +0 -0
  23. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediLink/MediLink_837p_encoder_library.py +0 -0
  24. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediLink/MediLink_837p_utilities.py +0 -0
  25. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediLink/MediLink_API_Generator.py +0 -0
  26. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediLink/MediLink_API_v2.py +0 -0
  27. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediLink/MediLink_API_v3.py +0 -0
  28. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediLink/MediLink_APIs.py +0 -0
  29. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediLink/MediLink_Azure.py +0 -0
  30. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediLink/MediLink_ClaimStatus.py +0 -0
  31. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediLink/MediLink_ConfigLoader.py +0 -0
  32. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediLink/MediLink_DataMgmt.py +0 -0
  33. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediLink/MediLink_Decoder.py +0 -0
  34. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediLink/MediLink_Deductible.py +0 -0
  35. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediLink/MediLink_Deductible_Validator.py +0 -0
  36. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediLink/MediLink_Down.py +0 -0
  37. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediLink/MediLink_Gmail.py +0 -0
  38. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediLink/MediLink_GraphQL.py +0 -0
  39. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediLink/MediLink_Mailer.py +0 -0
  40. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediLink/MediLink_Parser.py +0 -0
  41. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediLink/MediLink_Scan.py +0 -0
  42. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediLink/MediLink_Scheduler.py +0 -0
  43. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediLink/MediLink_UI.py +0 -0
  44. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediLink/MediLink_Up.py +0 -0
  45. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediLink/Soumit_api.py +0 -0
  46. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediLink/__init__.py +0 -0
  47. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediLink/openssl.cnf +0 -0
  48. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediLink/test.py +0 -0
  49. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediLink/test_cob_library.py +0 -0
  50. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediLink/test_validation.py +0 -0
  51. {medicafe-0.250728.5 → medicafe-0.250728.7}/MediLink/webapp.html +0 -0
  52. {medicafe-0.250728.5 → medicafe-0.250728.7}/README.md +0 -0
  53. {medicafe-0.250728.5 → medicafe-0.250728.7}/medicafe.egg-info/SOURCES.txt +0 -0
  54. {medicafe-0.250728.5 → medicafe-0.250728.7}/medicafe.egg-info/dependency_links.txt +0 -0
  55. {medicafe-0.250728.5 → medicafe-0.250728.7}/medicafe.egg-info/not-zip-safe +0 -0
  56. {medicafe-0.250728.5 → medicafe-0.250728.7}/medicafe.egg-info/requires.txt +0 -0
  57. {medicafe-0.250728.5 → medicafe-0.250728.7}/medicafe.egg-info/top_level.txt +0 -0
  58. {medicafe-0.250728.5 → medicafe-0.250728.7}/setup.cfg +0 -0
@@ -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" (
@@ -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
- print("\nAll patients have been processed. Continue anyway?: ", end='', flush=True)
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
- print("\nDo you want to proceed with the {} remaining patient(s)? (yes/no): ".format(len(patients_to_process)), end='', flush=True)
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:
@@ -1,5 +1,5 @@
1
1
  #MediBot_UI.py
2
- import ctypes, time, re, os, sys, msvcrt
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
- def windows_xp_input(prompt=""):
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
- print("\nDo you want to proceed with the selected patients? (yes/no): ", end='', flush=True)
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
- print("\nEnter the number(s) of the patients you wish to proceed with \n(e.g., 1,3,5): ", end='', flush=True)
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
- print("Enter your choice (1/2/3/4): ", end='', flush=True)
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
- # Use Windows XP-specific input to avoid console buffer issues
325
- response = windows_xp_input("\nAm I processing Medicare patients? (yes/no): ").strip().lower()
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,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: medicafe
3
- Version: 0.250728.5
3
+ Version: 0.250728.7
4
4
  Summary: MediCafe
5
5
  Home-page: https://github.com/katanada2
6
6
  Author: Daniel Vidaud
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: medicafe
3
- Version: 0.250728.5
3
+ Version: 0.250728.7
4
4
  Summary: MediCafe
5
5
  Home-page: https://github.com/katanada2
6
6
  Author: Daniel Vidaud
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name='medicafe',
5
- version="0.250728.5",
5
+ version="0.250728.7",
6
6
  description='MediCafe',
7
7
  long_description="""
8
8
  # Project Overview: MediCafe
File without changes
File without changes
File without changes
File without changes