medicafe 0.250806.12__py3-none-any.whl → 0.250806.13__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 CHANGED
@@ -2,16 +2,38 @@
2
2
  @echo off
3
3
  setlocal enabledelayedexpansion
4
4
 
5
- :: Define paths
5
+ :: Define paths with local fallbacks for F: drive dependencies
6
6
  set "source_folder=C:\MEDIANSI\MediCare"
7
- set "local_storage_path=F:\Medibot\DOWNLOADS"
8
7
  set "target_folder=C:\MEDIANSI\MediCare\CSV"
9
- set "config_file=F:\Medibot\json\config.json"
10
8
  set "python_script=C:\Python34\Lib\site-packages\MediBot\update_json.py"
11
9
  set "python_script2=C:\Python34\Lib\site-packages\MediBot\Medibot.py"
12
10
  set "medicafe_package=medicafe"
13
- set upgrade_medicafe=F:\Medibot\update_medicafe.py
14
- set "temp_file=F:\Medibot\last_update_timestamp.txt"
11
+
12
+ :: Priority order: 1) Local relative path, 2) F: drive path (legacy)
13
+ set "upgrade_medicafe_local=MediBot\update_medicafe.py"
14
+ set "upgrade_medicafe_legacy=F:\Medibot\update_medicafe.py"
15
+
16
+ :: Storage and config paths with local fallbacks
17
+ set "local_storage_legacy=F:\Medibot\DOWNLOADS"
18
+ set "local_storage_local=MediBot\DOWNLOADS"
19
+ set "config_file_legacy=F:\Medibot\json\config.json"
20
+ set "config_file_local=MediBot\json\config.json"
21
+ set "temp_file_legacy=F:\Medibot\last_update_timestamp.txt"
22
+ set "temp_file_local=MediBot\last_update_timestamp.txt"
23
+
24
+ :: Determine which paths to use based on availability
25
+ if exist "F:\Medibot" (
26
+ set "local_storage_path=%local_storage_legacy%"
27
+ set "config_file=%config_file_legacy%"
28
+ set "temp_file=%temp_file_legacy%"
29
+ ) else (
30
+ set "local_storage_path=%local_storage_local%"
31
+ set "config_file=%config_file_local%"
32
+ set "temp_file=%temp_file_local%"
33
+ :: Ensure local directories exist
34
+ if not exist "MediBot\json" mkdir "MediBot\json" 2>nul
35
+ if not exist "MediBot\DOWNLOADS" mkdir "MediBot\DOWNLOADS" 2>nul
36
+ )
15
37
  set "firefox_path=C:\Program Files\Mozilla Firefox\firefox.exe"
16
38
  set "claims_status_script=..\MediLink\MediLink_ClaimStatus.py"
17
39
  set "deductible_script=..\MediLink\MediLink_Deductible.py"
@@ -214,72 +236,175 @@ if exist "!alt_config_path!" (
214
236
 
215
237
  :config_check_complete
216
238
 
217
- :: Check if the file exists and attempt to move it
218
- :: Implementing a check with copy as a fallback if move fails
239
+ :: Check if the file exists and attempt to copy it to the local directory
219
240
  echo Checking for the update script...
220
241
  ping -n 2 127.0.0.1 >nul
221
- if exist "C:\Python34\Lib\site-packages\MediBot\update_medicafe.py" (
222
- echo Found update_medicafe.py. Attempting to move...
223
- ping -n 2 127.0.0.1 >nul
224
- move "C:\Python34\Lib\site-packages\MediBot\update_medicafe.py" "F:\Medibot\update_medicafe.py" >nul 2>&1
225
- if %errorlevel% neq 0 (
226
- echo Move failed. Attempting copy and delete as fallback...
227
- ping -n 2 127.0.0.1 >nul
228
- copy "C:\Python34\Lib\site-packages\MediBot\update_medicafe.py" "F:\Medibot\update_medicafe.py" >nul 2>&1
229
- if %errorlevel% neq 0 (
230
- echo Copy failed. Error Level: %errorlevel%
231
- ping -n 2 127.0.0.1 >nul
242
+
243
+ :: DIAGNOSTIC SECTION - Analyze F: drive accessibility
244
+ echo.
245
+ echo ==========================================
246
+ echo F: DRIVE ACCESSIBILITY DIAGNOSTICS
247
+ echo ==========================================
248
+ echo.
249
+
250
+ :: Check if F: drive exists at all
251
+ echo [DIAGNOSTIC] Checking F: drive existence...
252
+ if exist "F:\" (
253
+ echo [OK] F: drive is accessible
254
+
255
+ :: Check F: drive properties
256
+ echo [DIAGNOSTIC] F: drive properties:
257
+ dir F:\ | find "Directory of" 2>nul || echo [!] Cannot read F: drive directory listing
258
+
259
+ :: Check available space
260
+ echo [DIAGNOSTIC] F: drive free space:
261
+ dir F:\ | find "bytes free" 2>nul || echo [!] Cannot determine free space
262
+
263
+ :: Check if F:\Medibot directory exists
264
+ echo [DIAGNOSTIC] Checking F:\Medibot directory...
265
+ if exist "F:\Medibot" (
266
+ echo [OK] F:\Medibot directory exists
267
+
268
+ :: Check directory permissions by attempting to create a test file
269
+ echo [DIAGNOSTIC] Testing write permissions to F:\Medibot...
270
+ echo test > "F:\Medibot\permission_test.tmp" 2>nul
271
+ if exist "F:\Medibot\permission_test.tmp" (
272
+ echo [OK] Write permissions confirmed
273
+ del "F:\Medibot\permission_test.tmp" >nul 2>&1
232
274
  ) else (
233
- del "C:\Python34\Lib\site-packages\MediBot\update_medicafe.py" >nul 2>&1
234
- if %errorlevel% neq 0 (
235
- echo Delete failed. Manual cleanup may be required.
236
- ping -n 2 127.0.0.1 >nul
275
+ echo [ERROR] PERMISSION DENIED - Cannot write to F:\Medibot
276
+ echo [ERROR] This is likely the cause of the path error!
277
+ )
278
+
279
+ :: List contents of F:\Medibot
280
+ echo [DIAGNOSTIC] F:\Medibot directory contents:
281
+ dir /b "F:\Medibot" 2>nul || echo [!] Cannot list directory contents (permission issue?)
282
+
283
+ :: Check if update_medicafe.py specifically exists
284
+ echo [DIAGNOSTIC] Checking for update_medicafe.py...
285
+ if exist "F:\Medibot\update_medicafe.py" (
286
+ echo [OK] update_medicafe.py found at F:\Medibot\update_medicafe.py
287
+ echo [DIAGNOSTIC] File details:
288
+ dir "F:\Medibot\update_medicafe.py" 2>nul || echo [!] Cannot read file details
289
+
290
+ :: Test file accessibility by attempting to read it
291
+ echo [DIAGNOSTIC] Testing file read permissions...
292
+ type "F:\Medibot\update_medicafe.py" | find "#update_medicafe.py" >nul 2>&1
293
+ if %errorlevel% equ 0 (
294
+ echo [OK] File is readable
237
295
  ) else (
238
- echo File copied and original deleted successfully.
239
- ping -n 2 127.0.0.1 >nul
296
+ echo [ERROR] FILE READ ERROR - Cannot read update_medicafe.py
297
+ echo [ERROR] File exists but is not accessible (permission/lock issue?)
240
298
  )
299
+ ) else (
300
+ echo [ERROR] update_medicafe.py NOT FOUND at F:\Medibot\update_medicafe.py
241
301
  )
302
+
242
303
  ) else (
243
- echo File moved successfully.
244
- ping -n 2 127.0.0.1 >nul
304
+ echo [ERROR] F:\Medibot directory does NOT exist
305
+ echo [DIAGNOSTIC] Attempting to create F:\Medibot...
306
+ mkdir "F:\Medibot" 2>nul
307
+ if exist "F:\Medibot" (
308
+ echo [OK] Successfully created F:\Medibot directory
309
+ ) else (
310
+ echo [ERROR] FAILED to create F:\Medibot directory
311
+ echo [ERROR] Permission denied or F: drive is read-only
312
+ )
245
313
  )
314
+
246
315
  ) else (
247
- echo update_medicafe.py not detected. Checking for existing update_medicafe.py in F:\Medibot...
316
+ echo [ERROR] F: drive is NOT accessible
317
+ echo [ERROR] F: drive may be:
318
+ echo - Disconnected network drive
319
+ echo - Unmounted USB/external drive
320
+ echo - Mapped drive that's no longer available
321
+ echo - Security policy blocking access
322
+
323
+ :: Check what drives are actually available
324
+ echo [DIAGNOSTIC] Available drives on this system:
325
+ wmic logicaldisk get size,freespace,caption 2>nul || echo [!] Cannot enumerate drives
326
+ )
327
+
328
+ echo.
329
+ echo ==========================================
330
+ echo END F: DRIVE DIAGNOSTICS
331
+ echo ==========================================
332
+ echo.
333
+
334
+ :: Continue with existing logic but with enhanced error reporting
335
+ :: First check if we already have it locally
336
+ if exist "%upgrade_medicafe_local%" (
337
+ echo Found update_medicafe.py in local directory. No action needed.
248
338
  ping -n 2 127.0.0.1 >nul
249
- if exist "F:\Medibot\update_medicafe.py" (
250
- echo update_medicafe.py already exists in F:\Medibot. No action needed.
339
+ ) else if exist "C:\Python34\Lib\site-packages\MediBot\update_medicafe.py" (
340
+ echo Found update_medicafe.py in site-packages. Copying to local directory...
341
+ ping -n 2 127.0.0.1 >nul
342
+ :: Ensure MediBot directory exists
343
+ if not exist "MediBot" mkdir "MediBot"
344
+ copy "C:\Python34\Lib\site-packages\MediBot\update_medicafe.py" "%upgrade_medicafe_local%" >nul 2>&1
345
+ if %errorlevel% neq 0 (
346
+ echo Copy to local directory failed. Error code: %errorlevel%
347
+ echo [DIAGNOSTIC] Attempting copy to F: drive (with detailed error reporting)...
251
348
  ping -n 2 127.0.0.1 >nul
252
- ) else (
253
- echo update_medicafe.py not detected in either location. Check path and filename.
254
- echo.
255
- echo Expected update script path: F:\Medibot\update_medicafe.py
256
- echo.
257
- echo Would you like to provide an alternate path for the update script?
258
- set /p provide_alt_update="Enter 'Y' to provide alternate path, or any other key to continue: "
259
- if /i "!provide_alt_update!"=="Y" (
260
- echo.
261
- echo Please enter the full path to your update_medicafe.py file.
262
- echo Example: C:\MediBot\scripts\update_medicafe.py
263
- echo Example with spaces: "G:\My Drive\MediBot\scripts\update_medicafe.py"
264
- echo.
265
- echo Note: If your path contains spaces, please include quotes around the entire path.
266
- echo.
267
- set /p alt_update_path="Enter update script path: "
268
- :: Remove any surrounding quotes from user input and re-add them for consistency
269
- set "alt_update_path=!alt_update_path:"=!"
270
- if exist "!alt_update_path!" (
271
- echo Update script found at: !alt_update_path!
272
- set upgrade_medicafe=!alt_update_path!
273
- ) else (
274
- echo Update script not found at: !alt_update_path!
275
- echo Continuing without update script...
276
- ping -n 2 127.0.0.1 >nul
349
+ :: Ensure F:\Medibot directory exists (only if F: drive is accessible)
350
+ if exist "F:\" (
351
+ if not exist "F:\Medibot" (
352
+ echo [DIAGNOSTIC] Creating F:\Medibot directory...
353
+ mkdir "F:\Medibot" 2>nul
354
+ if not exist "F:\Medibot" (
355
+ echo [ERROR] Failed to create F:\Medibot - Permission denied or read-only drive
356
+ )
357
+ )
358
+ if exist "F:\Medibot" (
359
+ echo [DIAGNOSTIC] Attempting file copy to F:\Medibot...
360
+ copy "C:\Python34\Lib\site-packages\MediBot\update_medicafe.py" "%upgrade_medicafe_legacy%" 2>nul
361
+ if %errorlevel% neq 0 (
362
+ echo [ERROR] Copy to F:\Medibot failed with error code: %errorlevel%
363
+ echo [ERROR] Possible causes:
364
+ echo - Permission denied (insufficient write access)
365
+ echo - Disk full
366
+ echo - File locked by another process
367
+ echo - Antivirus blocking the operation
368
+ ) else (
369
+ echo [SUCCESS] File copied to F:\Medibot successfully
370
+ )
277
371
  )
278
372
  ) else (
279
- echo Continuing without update script...
280
- ping -n 2 127.0.0.1 >nul
373
+ echo [ERROR] F: drive not accessible - skipping F: drive copy attempt
281
374
  )
375
+ ) else (
376
+ echo File copied to local directory successfully.
377
+ ping -n 2 127.0.0.1 >nul
282
378
  )
379
+ ) else if exist "%upgrade_medicafe_legacy%" (
380
+ echo Found update_medicafe.py in legacy F: drive location.
381
+ echo [DIAGNOSTIC] Verifying F: drive file accessibility...
382
+ type "%upgrade_medicafe_legacy%" | find "#update_medicafe.py" >nul 2>&1
383
+ if %errorlevel% equ 0 (
384
+ echo [OK] F: drive file is accessible and readable
385
+ ) else (
386
+ echo [ERROR] F: drive file exists but cannot be read (permission/lock issue)
387
+ )
388
+ ping -n 2 127.0.0.1 >nul
389
+ ) else (
390
+ echo update_medicafe.py not detected in any known location.
391
+ echo.
392
+ echo Checked locations:
393
+ echo - Site-packages: C:\Python34\Lib\site-packages\MediBot\update_medicafe.py
394
+ echo - Local: %upgrade_medicafe_local%
395
+ echo - Legacy: %upgrade_medicafe_legacy%
396
+ echo.
397
+ echo [DIAGNOSTIC] Current working directory:
398
+ cd
399
+ echo [DIAGNOSTIC] Current directory contents:
400
+ dir /b
401
+ echo.
402
+ echo [DIAGNOSTIC] MediBot directory contents:
403
+ dir /b MediBot\ 2>nul || echo MediBot directory not found
404
+ echo.
405
+ echo Continuing without update script...
406
+ ping -n 2 127.0.0.1 >nul
407
+ )
283
408
  )
284
409
 
285
410
  :: Main menu
@@ -355,27 +480,27 @@ echo ========================================
355
480
  echo DEBUG STEP 1: Checking for update script
356
481
  echo ========================================
357
482
  echo.
358
- echo Checking if update script exists at: %upgrade_medicafe%
359
- if exist "%upgrade_medicafe%" (
360
- echo [SUCCESS] Found update script at: %upgrade_medicafe%
483
+ echo Checking for update script (priority: local first, then legacy path)...
484
+ if exist "%upgrade_medicafe_local%" (
485
+ echo [SUCCESS] Found update script at: %upgrade_medicafe_local%
486
+ echo File size:
487
+ dir "%upgrade_medicafe_local%" | find "update_medicafe.py"
488
+ set "upgrade_medicafe=%upgrade_medicafe_local%"
489
+ ) else if exist "%upgrade_medicafe_legacy%" (
490
+ echo [SUCCESS] Found update script at legacy location: %upgrade_medicafe_legacy%
361
491
  echo File size:
362
- dir "%upgrade_medicafe%" | find "update_medicafe.py"
492
+ dir "%upgrade_medicafe_legacy%" | find "update_medicafe.py"
493
+ set "upgrade_medicafe=%upgrade_medicafe_legacy%"
363
494
  ) else (
364
- echo [FAILED] Update script not found at: %upgrade_medicafe%
495
+ echo [FAILED] Update script not found in either location:
496
+ echo - Local: %upgrade_medicafe_local%
497
+ echo - Legacy: %upgrade_medicafe_legacy%
365
498
  echo.
366
- echo Checking alternative location: MediBot\update_medicafe.py
367
- if exist "MediBot\update_medicafe.py" (
368
- echo [SUCCESS] Found update script at: MediBot\update_medicafe.py
369
- echo File size:
370
- dir "MediBot\update_medicafe.py" | find "update_medicafe.py"
371
- ) else (
372
- echo [FAILED] Update script not found at: MediBot\update_medicafe.py
373
- echo.
374
- echo Available files in current directory:
375
- dir /b
376
- echo.
377
- echo Available files in MediBot directory:
378
- dir /b MediBot\ 2>nul || echo MediBot directory not found
499
+ echo Available files in current directory:
500
+ dir /b
501
+ echo.
502
+ echo Available files in MediBot directory:
503
+ dir /b MediBot\ 2>nul || echo MediBot directory not found
379
504
  )
380
505
  )
381
506
  echo.
@@ -477,48 +602,79 @@ echo.
477
602
  echo Starting update process...
478
603
  echo.
479
604
 
480
- :: Check if update_medicafe.py exists in the expected location, with fallback
481
- if exist "%upgrade_medicafe%" (
482
- echo [INFO] Using update script at: %upgrade_medicafe%
483
- echo Command: python "%upgrade_medicafe%" %package_version%
605
+ :: Check if update_medicafe.py exists using the new priority system
606
+ if exist "%upgrade_medicafe_local%" (
607
+ echo [INFO] Using local update script at: %upgrade_medicafe_local%
608
+ echo Command: python "%upgrade_medicafe_local%" %package_version%
609
+
610
+ :: Pre-execution diagnostics
611
+ echo.
612
+ echo [DIAGNOSTIC] Pre-execution checks for local script:
613
+ echo [DIAGNOSTIC] File size and permissions:
614
+ dir "%upgrade_medicafe_local%" 2>nul || echo [!] Cannot read file details
615
+ echo [DIAGNOSTIC] Testing Python access to file:
616
+ python -c "import os; print('[OK] Python can access file') if os.path.exists('%upgrade_medicafe_local%') else print('[ERROR] Python cannot access file')" 2>nul || echo [!] Python test failed
617
+
484
618
  echo.
485
619
  echo Press Enter to execute update command...
486
620
  pause >nul
487
621
  echo.
488
622
  echo Executing update command...
489
- start "Medicafe Update" cmd /c "python \"%upgrade_medicafe%\" %package_version% & echo. & echo Update process completed. Press any key to close... & pause >nul" && (
490
- echo %DATE% %TIME% Upgrade initiated successfully. >> "%temp_file%"
623
+ echo.
624
+ echo The update window will open and show detailed progress.
625
+ echo All output will be displayed on screen.
626
+ echo.
627
+ start "Medicafe Update" cmd /c "echo [DIAGNOSTIC] About to execute: python \"%upgrade_medicafe_local%\" %package_version% & echo. & python \"%upgrade_medicafe_local%\" %package_version% & echo. & echo [DIAGNOSTIC] Python exit code: %ERRORLEVEL% & echo Update process completed. Press any key to close... & pause >nul" && (
628
+ echo %DATE% %TIME% Upgrade initiated successfully (local). >> "%temp_file%"
491
629
  echo [SUCCESS] Update process started successfully
492
630
  echo All output will be displayed in the update window.
493
631
  ) || (
494
- echo %DATE% %TIME% Update failed. >> "%temp_file%"
632
+ echo %DATE% %TIME% Update failed (local). >> "%temp_file%"
495
633
  echo [ERROR] Upgrade failed. Check the update window for details.
634
+ echo [DIAGNOSTIC] Possible causes for local script failure:
635
+ echo - Python not in PATH
636
+ echo - Script syntax error
637
+ echo - Missing Python dependencies
638
+ echo - File corruption
496
639
  )
497
- ) else if exist "MediBot\update_medicafe.py" (
498
- echo [INFO] Using update script at: MediBot\update_medicafe.py
499
- echo Command: python "MediBot\update_medicafe.py" %package_version%
640
+ ) else if exist "%upgrade_medicafe_legacy%" (
641
+ echo [INFO] Using legacy update script at: %upgrade_medicafe_legacy%
642
+ echo Command: python "%upgrade_medicafe_legacy%" %package_version%
643
+
644
+ :: Pre-execution diagnostics for F: drive
645
+ echo.
646
+ echo [DIAGNOSTIC] Pre-execution checks for F: drive script:
647
+ echo [DIAGNOSTIC] File size and permissions:
648
+ dir "%upgrade_medicafe_legacy%" 2>nul || echo [!] Cannot read file details
649
+ echo [DIAGNOSTIC] Testing Python access to F: drive file:
650
+ python -c "import os; print('[OK] Python can access F: drive file') if os.path.exists('%upgrade_medicafe_legacy%') else print('[ERROR] Python cannot access F: drive file')" 2>nul || echo [!] Python F: drive test failed
651
+ echo [DIAGNOSTIC] Testing file read permissions:
652
+ type "%upgrade_medicafe_legacy%" | find "#update_medicafe.py" >nul 2>&1 && echo [OK] File content readable || echo [ERROR] Cannot read file content
653
+
500
654
  echo.
501
655
  echo Press Enter to execute update command...
502
656
  pause >nul
503
657
  echo.
504
658
  echo Executing update command...
505
- echo.
506
- echo The update window will open and show detailed progress.
507
- echo All output will be displayed on screen.
508
- echo.
509
- start "Medicafe Update" cmd /c "python \"MediBot\update_medicafe.py\" %package_version% & echo. & echo Update process completed. Press any key to close... & pause >nul" && (
510
- echo %DATE% %TIME% Upgrade initiated successfully. >> "%temp_file%"
659
+ start "Medicafe Update" cmd /c "echo [DIAGNOSTIC] About to execute: python \"%upgrade_medicafe_legacy%\" %package_version% & echo [DIAGNOSTIC] F: drive accessibility test... & dir F:\ ^| find \"Directory of\" ^>nul 2^>^&1 ^&^& echo [OK] F: drive accessible ^|^| echo [ERROR] F: drive access lost & echo. & python \"%upgrade_medicafe_legacy%\" %package_version% & echo. & echo [DIAGNOSTIC] Python exit code: %ERRORLEVEL% & echo Update process completed. Press any key to close... & pause >nul" && (
660
+ echo %DATE% %TIME% Upgrade initiated successfully (legacy). >> "%temp_file%"
511
661
  echo [SUCCESS] Update process started successfully
512
662
  echo All output will be displayed in the update window.
513
663
  ) || (
514
- echo %DATE% %TIME% Update failed. >> "%temp_file%"
664
+ echo %DATE% %TIME% Update failed (legacy). >> "%temp_file%"
515
665
  echo [ERROR] Upgrade failed. Check the update window for details.
666
+ echo [DIAGNOSTIC] Possible causes for F: drive script failure:
667
+ echo - F: drive disconnected during execution
668
+ echo - Permission denied accessing F: drive
669
+ echo - F: drive file locked by antivirus
670
+ echo - Network drive timeout
671
+ echo - Python cannot access network paths
516
672
  )
517
673
  ) else (
518
674
  echo [ERROR] update_medicafe.py not found in either location
519
675
  echo Expected locations:
520
- echo - %upgrade_medicafe%
521
- echo - MediBot\update_medicafe.py
676
+ echo - Local: %upgrade_medicafe_local%
677
+ echo - Legacy: %upgrade_medicafe_legacy%
522
678
  echo.
523
679
  echo Current directory contents:
524
680
  dir /b
@@ -728,18 +884,39 @@ echo Clearing Python cache for MediCafe...
728
884
  echo.
729
885
  cd /d "%~dp0.."
730
886
 
731
- :: Check if update_medicafe.py exists in the moved location first
732
- if exist "F:\Medibot\update_medicafe.py" (
733
- echo Found update_medicafe.py in F:\Medibot\ - using moved location
734
- python "F:\Medibot\update_medicafe.py" --clear-cache
735
- ) else if exist "MediBot\update_medicafe.py" (
736
- echo Found update_medicafe.py in original location - using relative path
737
- python "MediBot\update_medicafe.py" --clear-cache
887
+ :: Check if update_medicafe.py exists using priority system (local first)
888
+ if exist "%upgrade_medicafe_local%" (
889
+ echo Found update_medicafe.py in local location - using relative path
890
+ echo [DIAGNOSTIC] Cache clearing with local script:
891
+ echo [DIAGNOSTIC] Command: python "%upgrade_medicafe_local%" --clear-cache
892
+ python "%upgrade_medicafe_local%" --clear-cache
893
+ if %errorlevel% neq 0 (
894
+ echo [ERROR] Cache clearing failed with local script, error code: %errorlevel%
895
+ echo [DIAGNOSTIC] Possible causes:
896
+ echo - Python not in PATH
897
+ echo - Script syntax error
898
+ echo - Missing dependencies
899
+ )
900
+ ) else if exist "%upgrade_medicafe_legacy%" (
901
+ echo Found update_medicafe.py in legacy location - using F: drive path
902
+ echo [DIAGNOSTIC] Cache clearing with F: drive script:
903
+ echo [DIAGNOSTIC] Command: python "%upgrade_medicafe_legacy%" --clear-cache
904
+ echo [DIAGNOSTIC] Testing F: drive access before execution:
905
+ dir "F:\Medibot" >nul 2>&1 && echo [OK] F: drive accessible || echo [ERROR] F: drive access issue
906
+ python "%upgrade_medicafe_legacy%" --clear-cache
907
+ if %errorlevel% neq 0 (
908
+ echo [ERROR] Cache clearing failed with F: drive script, error code: %errorlevel%
909
+ echo [DIAGNOSTIC] Possible causes:
910
+ echo - F: drive disconnected during execution
911
+ echo - Permission denied accessing F: drive file
912
+ echo - F: drive file locked
913
+ echo - Python cannot access network paths
914
+ )
738
915
  ) else (
739
916
  echo ERROR: update_medicafe.py not found in either location
740
917
  echo Expected locations:
741
- echo - F:\Medibot\update_medicafe.py
742
- echo - MediBot\update_medicafe.py
918
+ echo - Local: %upgrade_medicafe_local%
919
+ echo - Legacy: %upgrade_medicafe_legacy%
743
920
  pause
744
921
  goto main_menu
745
922
  )
@@ -256,14 +256,33 @@ def crosswalk_update(client, config, crosswalk): # Upstream of this is only Medi
256
256
  api_cache = {}
257
257
 
258
258
  # Load insurance data from MAINS (optional - continue if not available)
259
+ # XP/Python34 Compatibility: Enhanced error handling with verbose output
259
260
  insurance_name_to_id = {}
260
261
  try:
261
262
  MediLink_ConfigLoader.log("Attempting to load insurance data from MAINS...", config, level="DEBUG")
262
- insurance_name_to_id = MediBot_Preprocessor_lib.load_insurance_data_from_mains(config)
263
- MediLink_ConfigLoader.log("Loaded insurance data from MAINS with {} entries.".format(len(insurance_name_to_id)), config, level="INFO")
263
+
264
+ if MediBot_Preprocessor_lib and hasattr(MediBot_Preprocessor_lib, 'load_insurance_data_from_mains'):
265
+ insurance_name_to_id = MediBot_Preprocessor_lib.load_insurance_data_from_mains(config)
266
+ if insurance_name_to_id:
267
+ MediLink_ConfigLoader.log("Loaded insurance data from MAINS with {} entries.".format(len(insurance_name_to_id)), config, level="INFO")
268
+ else:
269
+ MediLink_ConfigLoader.log("load_insurance_data_from_mains returned empty data", config, level="WARNING")
270
+ else:
271
+ error_msg = "MediBot_Preprocessor_lib or load_insurance_data_from_mains not available"
272
+ MediLink_ConfigLoader.log(error_msg, config, level="WARNING")
273
+ print("Warning: {}".format(error_msg))
274
+
275
+ except AttributeError as e:
276
+ error_msg = "AttributeError accessing load_insurance_data_from_mains: {}".format(str(e))
277
+ MediLink_ConfigLoader.log(error_msg, config, level="WARNING")
278
+ print("Warning: {}. Some crosswalk features may be limited.".format(error_msg))
279
+ except ImportError as e:
280
+ error_msg = "ImportError with MediBot_Preprocessor_lib: {}".format(str(e))
281
+ MediLink_ConfigLoader.log(error_msg, config, level="WARNING")
282
+ print("Warning: {}. Some crosswalk features may be limited.".format(error_msg))
264
283
  except Exception as e:
265
284
  MediLink_ConfigLoader.log("Error loading insurance data from MAINS: {}. Continuing without MAINS data.".format(e), config, level="WARNING")
266
- print("Warning: MAINS data not available. Some crosswalk features may be limited.")
285
+ print("Warning: MAINS data not available ({}). Some crosswalk features may be limited.".format(str(e)))
267
286
  # Continue without MAINS data - don't return False
268
287
 
269
288
  # Load historical payer to patient mappings (optional - continue if not available)
@@ -459,13 +459,32 @@ def update_crosswalk_with_new_payer_id(client, insurance_name, payer_id, config,
459
459
  return False
460
460
 
461
461
  # Load the Medisoft ID for the given insurance name
462
+ # XP/Python34 Compatibility: Enhanced error handling with verbose output
462
463
  try:
463
464
  # Note: MediBot_Preprocessor_lib is imported at module level
464
- medisoft_id = MediBot_Preprocessor_lib.load_insurance_data_from_mains(config).get(insurance_name)
465
+ if MediBot_Preprocessor_lib and hasattr(MediBot_Preprocessor_lib, 'load_insurance_data_from_mains'):
466
+ insurance_data = MediBot_Preprocessor_lib.load_insurance_data_from_mains(config)
467
+ medisoft_id = insurance_data.get(insurance_name) if insurance_data else None
468
+ MediLink_ConfigLoader.log("Successfully retrieved insurance data for {}".format(insurance_name), config, level="DEBUG")
469
+ else:
470
+ error_msg = "MediBot_Preprocessor_lib or load_insurance_data_from_mains not available"
471
+ MediLink_ConfigLoader.log(error_msg, config, level="WARNING")
472
+ print("Warning: {}".format(error_msg))
473
+ medisoft_id = None
474
+ except AttributeError as e:
475
+ error_msg = "AttributeError accessing load_insurance_data_from_mains: {}".format(str(e))
476
+ MediLink_ConfigLoader.log(error_msg, config, level="WARNING")
477
+ print("Warning: {}".format(error_msg))
478
+ medisoft_id = None
465
479
  except KeyError as e: # Handle KeyError for config
466
480
  MediLink_ConfigLoader.log("KeyError while loading Medisoft ID: {}".format(e), config, level="ERROR")
467
481
  print("KeyError while loading Medisoft ID for insurance name {}: {}".format(insurance_name, e))
468
482
  return False
483
+ except Exception as e:
484
+ error_msg = "Unexpected error loading insurance data: {}".format(str(e))
485
+ MediLink_ConfigLoader.log(error_msg, config, level="ERROR")
486
+ print("Error: {}".format(error_msg))
487
+ medisoft_id = None
469
488
 
470
489
  MediLink_ConfigLoader.log("Retrieved Medisoft ID for insurance name {}: {}.".format(insurance_name, medisoft_id), config, level="DEBUG")
471
490
 
MediCafe/api_core.py CHANGED
@@ -138,24 +138,59 @@ class APIClient(BaseAPIClient):
138
138
  super().__init__(config)
139
139
 
140
140
  # Add enhanced features if available
141
+ # XP/Python34 Compatibility: Enhanced error handling with verbose output
141
142
  try:
142
143
  from MediCafe.api_utils import APICircuitBreaker, APICache, APIRateLimiter
144
+ MediLink_ConfigLoader.log("Successfully imported MediCafe.api_utils", level="DEBUG")
145
+ except ImportError as e:
146
+ MediLink_ConfigLoader.log("Warning: MediCafe.api_utils not available: {}".format(str(e)), level="WARNING")
147
+ print("Warning: MediCafe.api_utils import failed: {}".format(str(e)))
148
+ APICircuitBreaker = None
149
+ APICache = None
150
+ APIRateLimiter = None
151
+ except Exception as e:
152
+ MediLink_ConfigLoader.log("Unexpected error importing MediCafe.api_utils: {}".format(str(e)), level="ERROR")
153
+ print("Error: Unexpected MediCafe.api_utils import error: {}".format(str(e)))
154
+ APICircuitBreaker = None
155
+ APICache = None
156
+ APIRateLimiter = None
157
+
158
+ try:
143
159
  from MediLink.MediLink_insurance_utils import get_feature_flag
144
-
145
- # Initialize enhancements if enabled
160
+ MediLink_ConfigLoader.log("Successfully imported MediLink.MediLink_insurance_utils", level="DEBUG")
161
+ except ImportError as e:
162
+ MediLink_ConfigLoader.log("Warning: MediLink.MediLink_insurance_utils not available: {}".format(str(e)), level="WARNING")
163
+ print("Warning: MediLink.MediLink_insurance_utils import failed: {}".format(str(e)))
164
+ # Provide fallback function
165
+ def get_feature_flag(flag_name, default=False):
166
+ MediLink_ConfigLoader.log("Using fallback get_feature_flag for '{}', returning default: {}".format(flag_name, default), level="DEBUG")
167
+ return default
168
+ except Exception as e:
169
+ MediLink_ConfigLoader.log("Unexpected error importing MediLink.MediLink_insurance_utils: {}".format(str(e)), level="ERROR")
170
+ print("Error: Unexpected MediLink.MediLink_insurance_utils import error: {}".format(str(e)))
171
+ # Provide fallback function
172
+ def get_feature_flag(flag_name, default=False):
173
+ MediLink_ConfigLoader.log("Using fallback get_feature_flag for '{}', returning default: {}".format(flag_name, default), level="DEBUG")
174
+ return default
175
+
176
+ # Initialize enhancements with error handling
177
+ try:
146
178
  enable_circuit_breaker = get_feature_flag('api_circuit_breaker', default=False)
147
179
  enable_caching = get_feature_flag('api_caching', default=False)
148
180
  enable_rate_limiting = get_feature_flag('api_rate_limiting', default=False)
149
181
 
150
- self.circuit_breaker = APICircuitBreaker() if enable_circuit_breaker else None
151
- self.api_cache = APICache() if enable_caching else None
152
- self.rate_limiter = APIRateLimiter() if enable_rate_limiting else None
182
+ self.circuit_breaker = APICircuitBreaker() if (enable_circuit_breaker and APICircuitBreaker) else None
183
+ self.api_cache = APICache() if (enable_caching and APICache) else None
184
+ self.rate_limiter = APIRateLimiter() if (enable_rate_limiting and APIRateLimiter) else None
153
185
 
154
186
  if any([enable_circuit_breaker, enable_caching, enable_rate_limiting]):
155
187
  MediLink_ConfigLoader.log("Enhanced API client initialized with circuit_breaker={}, caching={}, rate_limiting={}".format(
156
188
  enable_circuit_breaker, enable_caching, enable_rate_limiting), level="INFO")
157
- except ImportError:
158
- MediLink_ConfigLoader.log("API enhancements not available, using standard client", level="DEBUG")
189
+ else:
190
+ MediLink_ConfigLoader.log("API enhancements disabled or not available, using standard client", level="DEBUG")
191
+ except Exception as e:
192
+ MediLink_ConfigLoader.log("Error initializing API enhancements: {}. Using standard client.".format(str(e)), level="WARNING")
193
+ print("Warning: API enhancement initialization failed: {}".format(str(e)))
159
194
  self.circuit_breaker = None
160
195
  self.api_cache = None
161
196
  self.rate_limiter = None
MediCafe/api_factory.py CHANGED
@@ -181,7 +181,23 @@ class APIClientFactory:
181
181
 
182
182
  return client
183
183
 
184
- return self.circuit_breaker.call(create_client)
184
+ # XP/Python34 Compatibility: Wrap circuit breaker call with error handling
185
+ try:
186
+ if self.circuit_breaker and hasattr(self.circuit_breaker, 'call'):
187
+ return self.circuit_breaker.call(create_client)
188
+ else:
189
+ MediLink_ConfigLoader.log("Circuit breaker not available, calling create_client directly", level="WARNING")
190
+ return create_client()
191
+ except Exception as e:
192
+ MediLink_ConfigLoader.log("Circuit breaker call failed: {}. Falling back to direct client creation.".format(str(e)), level="WARNING")
193
+ print("Warning: Circuit breaker error ({}), using fallback client creation".format(str(e)))
194
+ try:
195
+ return create_client()
196
+ except Exception as e2:
197
+ MediLink_ConfigLoader.log("Direct client creation also failed: {}".format(str(e2)), level="ERROR")
198
+ print("Error: Both circuit breaker and direct client creation failed: {}".format(str(e2)))
199
+ # Return a minimal fallback client
200
+ return ProductionAPIClient()
185
201
 
186
202
  @classmethod
187
203
  def get_shared_client(cls, **kwargs):
@@ -13,15 +13,29 @@ if project_dir not in sys.path:
13
13
  sys.path.append(project_dir)
14
14
 
15
15
  # Import MediBot modules conditionally to avoid circular imports
16
+ # XP/Python34 Compatibility: Enhanced error handling with verbose output
16
17
  MediBot_Preprocessor_lib = None
17
18
  load_insurance_data_from_mains = None
18
19
 
19
20
  try:
20
21
  from MediBot import MediBot_Preprocessor_lib
22
+ MediLink_ConfigLoader.log("Successfully imported MediBot_Preprocessor_lib", level="DEBUG")
23
+
21
24
  if hasattr(MediBot_Preprocessor_lib, 'load_insurance_data_from_mains'):
22
25
  load_insurance_data_from_mains = MediBot_Preprocessor_lib.load_insurance_data_from_mains
23
- except ImportError:
24
- pass
26
+ MediLink_ConfigLoader.log("Successfully accessed load_insurance_data_from_mains function", level="DEBUG")
27
+ else:
28
+ MediLink_ConfigLoader.log("Warning: MediBot_Preprocessor_lib found but load_insurance_data_from_mains attribute missing", level="WARNING")
29
+ print("Warning: MediBot_Preprocessor_lib missing load_insurance_data_from_mains attribute")
30
+ except ImportError as e:
31
+ MediLink_ConfigLoader.log("ImportError accessing MediBot_Preprocessor_lib: {}".format(str(e)), level="WARNING")
32
+ print("Warning: Cannot import MediBot_Preprocessor_lib: {}".format(str(e)))
33
+ except AttributeError as e:
34
+ MediLink_ConfigLoader.log("AttributeError accessing load_insurance_data_from_mains: {}".format(str(e)), level="WARNING")
35
+ print("Warning: AttributeError with load_insurance_data_from_mains: {}".format(str(e)))
36
+ except Exception as e:
37
+ MediLink_ConfigLoader.log("Unexpected error accessing MediBot_Preprocessor_lib: {}".format(str(e)), level="ERROR")
38
+ print("Error: Unexpected error with MediBot_Preprocessor_lib: {}".format(str(e)))
25
39
 
26
40
  # XP Compatibility: Add fallback function if import fails
27
41
  if load_insurance_data_from_mains is None:
@@ -30,6 +44,7 @@ if load_insurance_data_from_mains is None:
30
44
  Fallback function for load_insurance_data_from_mains when MediBot_Preprocessor_lib is not available.
31
45
  Returns empty dictionary to prevent AttributeError.
32
46
  """
47
+ MediLink_ConfigLoader.log("Using fallback load_insurance_data_from_mains function", level="WARNING")
33
48
  print("Warning: load_insurance_data_from_mains not available. Using empty insurance mapping.")
34
49
  return {}
35
50
 
@@ -83,9 +98,17 @@ except ImportError:
83
98
  update_crosswalk_with_new_payer_id = None
84
99
 
85
100
  # Import enhanced insurance selection with fallback
101
+ # XP/Python34 Compatibility: Enhanced error handling with verbose output
86
102
  try:
87
103
  from MediLink_insurance_utils import safe_insurance_type_selection
88
- except ImportError:
104
+ MediLink_ConfigLoader.log("Successfully imported safe_insurance_type_selection from MediLink_insurance_utils", level="DEBUG")
105
+ except ImportError as e:
106
+ MediLink_ConfigLoader.log("ImportError importing safe_insurance_type_selection: {}".format(str(e)), level="WARNING")
107
+ print("Warning: safe_insurance_type_selection not available: {}".format(str(e)))
108
+ safe_insurance_type_selection = None
109
+ except Exception as e:
110
+ MediLink_ConfigLoader.log("Unexpected error importing safe_insurance_type_selection: {}".format(str(e)), level="ERROR")
111
+ print("Error: Unexpected error importing safe_insurance_type_selection: {}".format(str(e)))
89
112
  safe_insurance_type_selection = None
90
113
 
91
114
  # Import display utilities
@@ -17,16 +17,43 @@ if project_dir not in sys.path:
17
17
  sys.path.append(project_dir)
18
18
 
19
19
  # Use dynamic import to avoid circular dependencies
20
+ # XP/Python34 Compatibility: Enhanced error handling with verbose output
20
21
  def _get_load_insurance_function():
21
22
  """Dynamically import load_insurance_data_from_mains to avoid circular imports."""
22
23
  try:
23
24
  import MediBot_Preprocessor_lib
24
- return MediBot_Preprocessor_lib.load_insurance_data_from_mains
25
- except (ImportError, AttributeError) as e:
26
25
  if MediLink_ConfigLoader and hasattr(MediLink_ConfigLoader, 'log'):
27
- MediLink_ConfigLoader.log("Failed to import load_insurance_data_from_mains: {}".format(e), level="WARNING")
26
+ MediLink_ConfigLoader.log("Successfully imported MediBot_Preprocessor_lib", level="DEBUG")
27
+
28
+ if hasattr(MediBot_Preprocessor_lib, 'load_insurance_data_from_mains'):
29
+ func = MediBot_Preprocessor_lib.load_insurance_data_from_mains
30
+ if MediLink_ConfigLoader and hasattr(MediLink_ConfigLoader, 'log'):
31
+ MediLink_ConfigLoader.log("Successfully accessed load_insurance_data_from_mains function", level="DEBUG")
32
+ return func
28
33
  else:
29
- print("Warning: Failed to import load_insurance_data_from_mains: {}".format(e))
34
+ error_msg = "MediBot_Preprocessor_lib imported but load_insurance_data_from_mains attribute missing"
35
+ if MediLink_ConfigLoader and hasattr(MediLink_ConfigLoader, 'log'):
36
+ MediLink_ConfigLoader.log(error_msg, level="WARNING")
37
+ print("Warning: {}".format(error_msg))
38
+ return None
39
+
40
+ except ImportError as e:
41
+ error_msg = "ImportError accessing MediBot_Preprocessor_lib: {}".format(str(e))
42
+ if MediLink_ConfigLoader and hasattr(MediLink_ConfigLoader, 'log'):
43
+ MediLink_ConfigLoader.log(error_msg, level="WARNING")
44
+ print("Warning: {}".format(error_msg))
45
+ return None
46
+ except AttributeError as e:
47
+ error_msg = "AttributeError accessing load_insurance_data_from_mains: {}".format(str(e))
48
+ if MediLink_ConfigLoader and hasattr(MediLink_ConfigLoader, 'log'):
49
+ MediLink_ConfigLoader.log(error_msg, level="WARNING")
50
+ print("Warning: {}".format(error_msg))
51
+ return None
52
+ except Exception as e:
53
+ error_msg = "Unexpected error accessing MediBot_Preprocessor_lib: {}".format(str(e))
54
+ if MediLink_ConfigLoader and hasattr(MediLink_ConfigLoader, 'log'):
55
+ MediLink_ConfigLoader.log(error_msg, level="ERROR")
56
+ print("Error: {}".format(error_msg))
30
57
  return None
31
58
 
32
59
  load_insurance_data_from_mains = _get_load_insurance_function()
@@ -109,6 +136,7 @@ def enrich_with_insurance_type(detailed_patient_data, patient_insurance_type_map
109
136
  # Enhanced mode check with graceful degradation
110
137
  enhanced_mode = False
111
138
 
139
+ # XP/Python34 Compatibility: Enhanced error handling with verbose output
112
140
  try:
113
141
  from MediLink_insurance_utils import (
114
142
  get_feature_flag,
@@ -118,9 +146,11 @@ def enrich_with_insurance_type(detailed_patient_data, patient_insurance_type_map
118
146
  MediLink_ConfigLoader.log("Insurance enhancement utilities loaded successfully", level="DEBUG")
119
147
  except ImportError as e:
120
148
  MediLink_ConfigLoader.log("Insurance utils not available: {}. Using legacy mode.".format(str(e)), level="INFO")
149
+ print("Info: Using legacy insurance processing mode due to: {}".format(str(e)))
121
150
  enhanced_mode = False
122
151
  except Exception as e:
123
152
  MediLink_ConfigLoader.log("Error initializing insurance enhancements: {}. Using legacy mode.".format(str(e)), level="ERROR")
153
+ print("Warning: Insurance enhancement error ({}), using legacy mode".format(str(e)))
124
154
  enhanced_mode = False
125
155
 
126
156
  if patient_insurance_type_mapping is None:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: medicafe
3
- Version: 0.250806.12
3
+ Version: 0.250806.13
4
4
  Summary: MediCafe
5
5
  Home-page: https://github.com/katanada2
6
6
  Author: Daniel Vidaud
@@ -1,8 +1,8 @@
1
- MediBot/MediBot.bat,sha256=Ois6hLLYurDI-mXaRseyrlgUy6J4PpP1nIW5g0Rda3E,30030
1
+ MediBot/MediBot.bat,sha256=bq3zvlNRTRMmvwYTrfI73CcRzbtvka0KZLaMBsNeEaM,38690
2
2
  MediBot/MediBot.py,sha256=iJwaLraJYHdb_8HWP3e0do4CCx3fVB17WnRHW0Wx5yk,28879
3
3
  MediBot/MediBot_Charges.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
- MediBot/MediBot_Crosswalk_Library.py,sha256=X-lo8bvT-vmCqbrKFi_ApmVI6wQs53mz1ygyVeCf1SI,23463
5
- MediBot/MediBot_Crosswalk_Utils.py,sha256=QIf2zZI0DVOLy23tuXhM83VrE9NDIqJlfZIlSM_zQWM,34560
4
+ MediBot/MediBot_Crosswalk_Library.py,sha256=HZHbjKHhjLW2jERmLS6pEZOl-MUxUu1YwA6oUltfdkE,24693
5
+ MediBot/MediBot_Crosswalk_Utils.py,sha256=Qf3O9Wh1cbfGbYqObK5rVh99qRCboWnmVUpubEZeN3A,35763
6
6
  MediBot/MediBot_Post.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
7
  MediBot/MediBot_Preprocessor.py,sha256=zAcfyuE8wl9JRzLGsUnnXiHxAr-hbCCIB2M-Jb3LUqI,16203
8
8
  MediBot/MediBot_Preprocessor_lib.py,sha256=DTtsJ1FfzlERcfKvWHVzhISa1So5R_ssAqKijDjYNmw,71939
@@ -19,9 +19,9 @@ MediBot/update_medicafe.py,sha256=umeCbaLZi8K9Vgym8WNQ7A3gO1ZiJM0YYLSkSiM1HCU,23
19
19
  MediCafe/MediLink_ConfigLoader.py,sha256=J7v4-3bNfCf29DV7vTBsQ6yuWpcRRgBu4Q6_OjUETcE,7042
20
20
  MediCafe/__init__.py,sha256=6bSEXGy35ljEeTv40LcsokC8riYGk6lRj1QDpSepwnA,5461
21
21
  MediCafe/__main__.py,sha256=Sr_4BHC3_o11472EEJ9qcrfuQLTyPZJHNqTTLb1yVx8,12050
22
- MediCafe/api_core.py,sha256=uevBnoJJOtF_9WuJTVNkJOdNFfp9ReLlK5CtDoSdWZ4,58693
22
+ MediCafe/api_core.py,sha256=8sSrTd1WLbPTaROkSGikqxMNyWh-UIb0MIJYzon5YpI,61149
23
23
  MediCafe/api_core_backup.py,sha256=mad-sFk4nyUmNb2nQ_t4GMT6FJ4hrdJyKHUO0oRvMaE,18629
24
- MediCafe/api_factory.py,sha256=GJjsJQwrAI7WY2cbn3P1I-w9wtcRmQaXMw8CtFDvkxU,11015
24
+ MediCafe/api_factory.py,sha256=I5AeJoyu6m7oCrjc2OvVvO_4KSBRutTsR1riiWhTZV0,12086
25
25
  MediCafe/api_utils.py,sha256=KWQB0q1k5E6frOFFlKWcFpHNcqfrS7KJ_82672wbupw,14041
26
26
  MediCafe/core_utils.py,sha256=VtNtEwBDhjJjQQJJrW90nkU7TFynqYmDXfk29lnV_h4,15821
27
27
  MediCafe/graphql_utils.py,sha256=5i_pNCNRUXox2v5zraPzUw4n7rUt9ZEAkLqVa59LWAc,45713
@@ -33,7 +33,7 @@ MediLink/MediLink.py,sha256=p91MYghOCbNf3ikTzm5P9V1Luj035yd83EDbQ-Ov6oM,33258
33
33
  MediLink/MediLink_277_decoder.py,sha256=Z3hQK2j-YzdXjov6aDlDRc7M_auFBnl3se4OF5q6_04,4358
34
34
  MediLink/MediLink_837p_cob_library.py,sha256=sK43fwq-arTUyrwbYWfJIhwW6aemXmpS2F1kfXFPe9I,29851
35
35
  MediLink/MediLink_837p_encoder.py,sha256=O2HWuBbFpe4qsK5bKZF3LDJRSHGGsdiPyr_sJ8s4Bz4,28897
36
- MediLink/MediLink_837p_encoder_library.py,sha256=RXgeoZ2A83VUq0UZYGtvh2OfRmMddZRbxVcCaSw0wcM,62673
36
+ MediLink/MediLink_837p_encoder_library.py,sha256=Q5MCcw-XWM0pLSFWxIuw4AYGR77_fefPR5nsdK0z-b8,64712
37
37
  MediLink/MediLink_837p_utilities.py,sha256=uWIubJOw6PPidAfNx8hH47ecyXYJLr5b6xQvqKCvQ4A,15884
38
38
  MediLink/MediLink_API_Generator.py,sha256=UUml-PBU3BQduun8RzFH4zfUuo6-p5Ufg7b6Vic-VrY,11171
39
39
  MediLink/MediLink_API_v2.py,sha256=mcIgLnXPS_NaUBrkKJ8mxCUaQ0AuQUeU1vG6DoplbVY,7733
@@ -53,7 +53,7 @@ MediLink/MediLink_Gmail.py,sha256=Wl8g9D-CpsBpmyvAAErL7T327RYy_sRR2gY3SHJbNx8,35
53
53
  MediLink/MediLink_GraphQL.py,sha256=O6OCaumT0zIC7YcIAwLOOYxiQnYhoMc48UL8ilNIBec,45720
54
54
  MediLink/MediLink_Mailer.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
55
  MediLink/MediLink_Parser.py,sha256=w2ZD4minjwkaMz7nzP_r8v_Ow_uM5KHjpPSY8mIHcdE,9787
56
- MediLink/MediLink_PatientProcessor.py,sha256=rYMoUp2LvZxD3BtmoDChonwH9zep3C6fYhBTPwww47g,14871
56
+ MediLink/MediLink_PatientProcessor.py,sha256=No094ZlRkxvo9pPJCcjgR-mZK1vi8PeHoaS2EmgWtd4,16715
57
57
  MediLink/MediLink_Scan.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
58
58
  MediLink/MediLink_Scheduler.py,sha256=UJvxhDvHraqra2_TlQVlGeh5jRFrrfK6nCVUHnKOEMY,38
59
59
  MediLink/MediLink_StatusCheck.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -73,9 +73,9 @@ MediLink/test_cob_library.py,sha256=wUMv0-Y6fNsKcAs8Z9LwfmEBRO7oBzBAfWmmzwoNd1g,
73
73
  MediLink/test_timing.py,sha256=yH2b8QPLDlp1Zy5AhgtjzjnDHNGhAD16ZtXtZzzESZw,2042
74
74
  MediLink/test_validation.py,sha256=FJrfdUFK--xRScIzrHCg1JeGdm0uJEoRnq6CgkP2lwM,4154
75
75
  MediLink/webapp.html,sha256=JPKT559aFVBi1r42Hz7C77Jj0teZZRumPhBev8eSOLk,19806
76
- medicafe-0.250806.12.dist-info/LICENSE,sha256=65lb-vVujdQK7uMH3RRJSMwUW-WMrMEsc5sOaUn2xUk,1096
77
- medicafe-0.250806.12.dist-info/METADATA,sha256=VCcKck7bzDTbkDtliSUXbst4ss2tt5Pj42Q_1yjhdww,5502
78
- medicafe-0.250806.12.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
79
- medicafe-0.250806.12.dist-info/entry_points.txt,sha256=m3RBUBjr-xRwEkKJ5W4a7NlqHZP_1rllGtjZnrRqKe8,52
80
- medicafe-0.250806.12.dist-info/top_level.txt,sha256=U6-WBJ9RCEjyIs0BlzbQq_PwedCp_IV9n1616NNV5zA,26
81
- medicafe-0.250806.12.dist-info/RECORD,,
76
+ medicafe-0.250806.13.dist-info/LICENSE,sha256=65lb-vVujdQK7uMH3RRJSMwUW-WMrMEsc5sOaUn2xUk,1096
77
+ medicafe-0.250806.13.dist-info/METADATA,sha256=LaE-BrRYqGnXrxdpt3h1zfq4TjHeAZrGg-V0hhn75xU,5502
78
+ medicafe-0.250806.13.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
79
+ medicafe-0.250806.13.dist-info/entry_points.txt,sha256=m3RBUBjr-xRwEkKJ5W4a7NlqHZP_1rllGtjZnrRqKe8,52
80
+ medicafe-0.250806.13.dist-info/top_level.txt,sha256=U6-WBJ9RCEjyIs0BlzbQq_PwedCp_IV9n1616NNV5zA,26
81
+ medicafe-0.250806.13.dist-info/RECORD,,