medicafe 0.250820.7__py3-none-any.whl → 0.250822.1__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.
- MediBot/MediBot.py +16 -0
- MediBot/MediBot_Charges.py +133 -0
- MediBot/MediBot_UI.py +42 -1
- MediBot/__init__.py +1 -1
- MediBot/update_medicafe.py +66 -24
- MediCafe/__init__.py +1 -1
- MediCafe/api_core.py +164 -7
- MediCafe/graphql_utils.py +66 -1
- MediCafe/smart_import.py +2 -1
- MediLink/MediLink_Charges.py +517 -0
- MediLink/MediLink_Deductible.py +91 -45
- MediLink/MediLink_Deductible_Validator.py +40 -3
- MediLink/__init__.py +1 -1
- {medicafe-0.250820.7.dist-info → medicafe-0.250822.1.dist-info}/METADATA +1 -1
- {medicafe-0.250820.7.dist-info → medicafe-0.250822.1.dist-info}/RECORD +19 -18
- {medicafe-0.250820.7.dist-info → medicafe-0.250822.1.dist-info}/LICENSE +0 -0
- {medicafe-0.250820.7.dist-info → medicafe-0.250822.1.dist-info}/WHEEL +0 -0
- {medicafe-0.250820.7.dist-info → medicafe-0.250822.1.dist-info}/entry_points.txt +0 -0
- {medicafe-0.250820.7.dist-info → medicafe-0.250822.1.dist-info}/top_level.txt +0 -0
MediLink/MediLink_Deductible.py
CHANGED
@@ -221,7 +221,7 @@ def manual_deductible_lookup():
|
|
221
221
|
|
222
222
|
# Use the current mode setting for validation
|
223
223
|
run_validation = DEBUG_MODE
|
224
|
-
eligibility_data = get_eligibility_info(client, payer_id, provider_last_name, formatted_dob, member_id, npi, run_validation=run_validation)
|
224
|
+
eligibility_data = get_eligibility_info(client, payer_id, provider_last_name, formatted_dob, member_id, npi, run_validation=run_validation, is_manual_lookup=True)
|
225
225
|
if eligibility_data:
|
226
226
|
found_data = True
|
227
227
|
# Generate unique output file for manual request
|
@@ -255,7 +255,7 @@ def manual_deductible_lookup():
|
|
255
255
|
|
256
256
|
|
257
257
|
# Function to get eligibility information
|
258
|
-
def get_eligibility_info(client, payer_id, provider_last_name, date_of_birth, member_id, npi, run_validation=False):
|
258
|
+
def get_eligibility_info(client, payer_id, provider_last_name, date_of_birth, member_id, npi, run_validation=False, is_manual_lookup=False):
|
259
259
|
try:
|
260
260
|
# Log the parameters being sent to the function
|
261
261
|
MediLink_ConfigLoader.log("Calling eligibility check with parameters:", level="DEBUG")
|
@@ -286,52 +286,72 @@ def get_eligibility_info(client, payer_id, provider_last_name, date_of_birth, me
|
|
286
286
|
except Exception as e:
|
287
287
|
MediLink_ConfigLoader.log("Super Connector API failed: {}".format(e), level="ERROR")
|
288
288
|
|
289
|
-
# Run validation if we have
|
290
|
-
#
|
291
|
-
|
292
|
-
|
293
|
-
|
289
|
+
# Run validation if we have at least one response
|
290
|
+
# Generate validation report even if one API fails - this helps with debugging
|
291
|
+
validation_file_path = os.path.join(os.getenv('TEMP'), 'validation_report_{}_{}.txt'.format(member_id, date_of_birth))
|
292
|
+
try:
|
293
|
+
if legacy_eligibility and super_connector_eligibility:
|
294
|
+
# Both APIs returned data - run full comparison
|
294
295
|
validation_report = MediLink_Deductible_Validator.run_validation_comparison(
|
295
296
|
legacy_eligibility, super_connector_eligibility, validation_file_path
|
296
297
|
)
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
details = extensions.get('details', [])
|
315
|
-
if details:
|
316
|
-
print(" Found {} detail records in error extensions".format(len(details)))
|
317
|
-
# Log first detail record for debugging
|
318
|
-
if details:
|
319
|
-
first_detail = details[0]
|
320
|
-
print(" First detail: {}".format(first_detail))
|
298
|
+
print("\nValidation report generated (both APIs): {}".format(validation_file_path))
|
299
|
+
elif legacy_eligibility:
|
300
|
+
# Only legacy API returned data
|
301
|
+
validation_report = MediLink_Deductible_Validator.run_validation_comparison(
|
302
|
+
legacy_eligibility, None, validation_file_path
|
303
|
+
)
|
304
|
+
print("\nValidation report generated (legacy only): {}".format(validation_file_path))
|
305
|
+
elif super_connector_eligibility:
|
306
|
+
# Only Super Connector API returned data
|
307
|
+
validation_report = MediLink_Deductible_Validator.run_validation_comparison(
|
308
|
+
None, super_connector_eligibility, validation_file_path
|
309
|
+
)
|
310
|
+
print("\nValidation report generated (Super Connector only): {}".format(validation_file_path))
|
311
|
+
else:
|
312
|
+
# Neither API returned data
|
313
|
+
print("\nNo validation report generated - both APIs failed")
|
314
|
+
validation_file_path = None
|
321
315
|
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
316
|
+
# Log any Super Connector API errors if we have that data
|
317
|
+
if super_connector_eligibility and "rawGraphQLResponse" in super_connector_eligibility:
|
318
|
+
raw_response = super_connector_eligibility.get('rawGraphQLResponse', {})
|
319
|
+
errors = raw_response.get('errors', [])
|
320
|
+
if errors:
|
321
|
+
print("Super Connector API returned {} error(s):".format(len(errors)))
|
322
|
+
for i, error in enumerate(errors):
|
323
|
+
error_code = error.get('code', 'UNKNOWN')
|
324
|
+
error_desc = error.get('description', 'No description')
|
325
|
+
print(" Error {}: {} - {}".format(i+1, error_code, error_desc))
|
326
|
+
|
327
|
+
# Check for data in error extensions (some APIs return data here)
|
328
|
+
extensions = error.get('extensions', {})
|
329
|
+
if extensions and 'details' in extensions:
|
330
|
+
details = extensions.get('details', [])
|
331
|
+
if details:
|
332
|
+
print(" Found {} detail records in error extensions".format(len(details)))
|
333
|
+
# Log first detail record for debugging
|
334
|
+
if details:
|
335
|
+
first_detail = details[0]
|
336
|
+
print(" First detail: {}".format(first_detail))
|
337
|
+
|
338
|
+
# Check status code
|
339
|
+
if super_connector_eligibility:
|
340
|
+
status_code = super_connector_eligibility.get('statuscode')
|
341
|
+
if status_code and status_code != '200':
|
342
|
+
print("Super Connector API status code: {} (non-200 indicates errors)".format(status_code))
|
343
|
+
|
344
|
+
# Open validation report in Notepad (only for manual lookups, not batch processing)
|
345
|
+
if validation_file_path and os.path.exists(validation_file_path):
|
346
|
+
# Only open in manual mode - batch processing will handle this separately
|
347
|
+
if is_manual_lookup: # Check if we're in manual lookup mode
|
328
348
|
ret = os.system('notepad.exe "{}"'.format(validation_file_path))
|
329
349
|
if ret != 0:
|
330
350
|
print("Failed to open Notepad (exit code: {}). Please open manually: {}".format(ret, validation_file_path))
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
351
|
+
elif validation_file_path:
|
352
|
+
print("\nValidation report file was not created: {}".format(validation_file_path))
|
353
|
+
except Exception as e:
|
354
|
+
print("\nError generating validation report: {}".format(str(e)))
|
335
355
|
|
336
356
|
# Return legacy response for consistency
|
337
357
|
eligibility = legacy_eligibility
|
@@ -878,6 +898,7 @@ if __name__ == "__main__":
|
|
878
898
|
errors = []
|
879
899
|
validation_reports = []
|
880
900
|
processed_count = 0
|
901
|
+
validation_files_created = [] # Track validation files that were actually created
|
881
902
|
|
882
903
|
for dob, member_id in patients:
|
883
904
|
processed_count += 1
|
@@ -890,10 +911,18 @@ if __name__ == "__main__":
|
|
890
911
|
try:
|
891
912
|
# Run with validation enabled only in debug mode
|
892
913
|
run_validation = DEBUG_MODE
|
893
|
-
eligibility_data = get_eligibility_info(client, payer_id, provider_last_name, dob, member_id, npi, run_validation=run_validation)
|
914
|
+
eligibility_data = get_eligibility_info(client, payer_id, provider_last_name, dob, member_id, npi, run_validation=run_validation, is_manual_lookup=False)
|
894
915
|
if eligibility_data is not None:
|
895
916
|
display_eligibility_info(eligibility_data, dob, member_id, output_file)
|
896
917
|
patient_processed = True
|
918
|
+
|
919
|
+
# Track validation file creation in debug mode
|
920
|
+
if DEBUG_MODE:
|
921
|
+
validation_file_path = os.path.join(os.getenv('TEMP'), 'validation_report_{}_{}.txt'.format(member_id, dob))
|
922
|
+
if os.path.exists(validation_file_path):
|
923
|
+
validation_files_created.append(validation_file_path)
|
924
|
+
print(" Validation report created: {}".format(os.path.basename(validation_file_path)))
|
925
|
+
|
897
926
|
break # Stop trying other payer_ids for this patient once we get a response
|
898
927
|
except Exception as e:
|
899
928
|
# Continue trying other payer_ids
|
@@ -924,9 +953,26 @@ if __name__ == "__main__":
|
|
924
953
|
print("\n" + "=" * 80)
|
925
954
|
print("VALIDATION SUMMARY")
|
926
955
|
print("=" * 80)
|
927
|
-
|
928
|
-
|
929
|
-
|
956
|
+
if validation_files_created:
|
957
|
+
print("Validation reports generated: {} files".format(len(validation_files_created)))
|
958
|
+
print("Files created:")
|
959
|
+
for file_path in validation_files_created:
|
960
|
+
print(" - {}".format(os.path.basename(file_path)))
|
961
|
+
|
962
|
+
# Ask if user wants to open validation reports
|
963
|
+
open_validation = input("\nOpen validation reports in Notepad? (Y/N): ").strip().lower()
|
964
|
+
if open_validation in ['y', 'yes']:
|
965
|
+
for file_path in validation_files_created:
|
966
|
+
print("Opening: {}".format(os.path.basename(file_path)))
|
967
|
+
ret = os.system('notepad.exe "{}"'.format(file_path))
|
968
|
+
if ret != 0:
|
969
|
+
print("Failed to open Notepad for: {}".format(os.path.basename(file_path)))
|
970
|
+
else:
|
971
|
+
print("No validation reports were generated.")
|
972
|
+
print("This may be because:")
|
973
|
+
print(" - Super Connector API calls failed")
|
974
|
+
print(" - Both APIs didn't return data for the same patients")
|
975
|
+
print(" - Validation report generation encountered errors")
|
930
976
|
print("=" * 80)
|
931
977
|
|
932
978
|
# Ask if user wants to continue
|
@@ -424,9 +424,16 @@ def generate_validation_report(validation_report, output_file_path):
|
|
424
424
|
f.write("Recommendation: {}\n".format(issue['recommendation']))
|
425
425
|
f.write("\n")
|
426
426
|
|
427
|
+
# API Status Information
|
428
|
+
if "legacy_api_status" in validation_report["super_connector_analysis"]:
|
429
|
+
f.write("\nAPI STATUS:\n")
|
430
|
+
f.write("-" * 50 + "\n")
|
431
|
+
f.write("Legacy API: {}\n".format(validation_report["super_connector_analysis"]["legacy_api_status"]))
|
432
|
+
f.write("Super Connector API: {}\n".format(validation_report["super_connector_analysis"]["super_connector_api_status"]))
|
433
|
+
|
427
434
|
# Super Connector structure analysis
|
428
435
|
if "structure" in validation_report["super_connector_analysis"]:
|
429
|
-
f.write("
|
436
|
+
f.write("\nSUPER CONNECTOR RESPONSE STRUCTURE:\n")
|
430
437
|
f.write("-" * 50 + "\n")
|
431
438
|
for path, description in validation_report["super_connector_analysis"]["structure"].items():
|
432
439
|
f.write("{}: {}\n".format(path, description))
|
@@ -468,12 +475,42 @@ def run_validation_comparison(legacy_data, super_connector_data, output_file_pat
|
|
468
475
|
"""
|
469
476
|
Main function to run the validation comparison
|
470
477
|
"""
|
471
|
-
#
|
478
|
+
# Handle cases where one or both APIs failed
|
479
|
+
if not legacy_data and not super_connector_data:
|
480
|
+
# Both APIs failed - create a minimal report
|
481
|
+
validation_report = {
|
482
|
+
"timestamp": datetime.now().strftime("%Y-%m-%d %H:%M:%S"),
|
483
|
+
"legacy_values": {},
|
484
|
+
"super_connector_analysis": {"error": "Both APIs failed to return data"},
|
485
|
+
"missing_values": [],
|
486
|
+
"found_values": [],
|
487
|
+
"data_quality_issues": [{
|
488
|
+
"type": "API Failure",
|
489
|
+
"field": "Both APIs",
|
490
|
+
"issue": "Both Legacy API and Super Connector API failed to return data",
|
491
|
+
"recommendation": "Check API connectivity and credentials"
|
492
|
+
}]
|
493
|
+
}
|
494
|
+
generate_validation_report(validation_report, output_file_path)
|
495
|
+
return validation_report
|
496
|
+
|
497
|
+
# Extract values from legacy response (handles None gracefully)
|
472
498
|
legacy_values = extract_legacy_values_for_comparison(legacy_data)
|
473
499
|
|
474
|
-
# Validate Super Connector response
|
500
|
+
# Validate Super Connector response (handles None gracefully)
|
475
501
|
validation_report = validate_super_connector_response(legacy_values, super_connector_data)
|
476
502
|
|
503
|
+
# Add API status information
|
504
|
+
if not legacy_data:
|
505
|
+
validation_report["super_connector_analysis"]["legacy_api_status"] = "Failed"
|
506
|
+
else:
|
507
|
+
validation_report["super_connector_analysis"]["legacy_api_status"] = "Success"
|
508
|
+
|
509
|
+
if not super_connector_data:
|
510
|
+
validation_report["super_connector_analysis"]["super_connector_api_status"] = "Failed"
|
511
|
+
else:
|
512
|
+
validation_report["super_connector_analysis"]["super_connector_api_status"] = "Success"
|
513
|
+
|
477
514
|
# Generate report
|
478
515
|
generate_validation_report(validation_report, output_file_path)
|
479
516
|
|
MediLink/__init__.py
CHANGED
@@ -1,18 +1,18 @@
|
|
1
1
|
MediBot/MediBot.bat,sha256=dWBZ2__t1uPvEuN76ETOD_mDo7368rP3tDrJd4MHCFY,26306
|
2
|
-
MediBot/MediBot.py,sha256=
|
3
|
-
MediBot/MediBot_Charges.py,sha256=
|
2
|
+
MediBot/MediBot.py,sha256=sx6nZYUhFMnr4UcBR07BcrSo-IgmL1xaYRF_C-bwDAU,48243
|
3
|
+
MediBot/MediBot_Charges.py,sha256=a28if_f_IoazIHiqlaFosFnfEgEoCwb9LQ6aOyk5-D0,10704
|
4
4
|
MediBot/MediBot_Crosswalk_Library.py,sha256=jIaYdoxfT9YgQ5dWZC4jmTYxRX1Y14X-AJ6YEjR58Gc,25158
|
5
5
|
MediBot/MediBot_Crosswalk_Utils.py,sha256=hTLPioU9A5XfdTZ7LqeOiYXdsi8Bwf9fuMJGxofyTmg,38983
|
6
6
|
MediBot/MediBot_Notepad_Utils.py,sha256=fOsjyfoSpgmQyc8TcnLm53faLMOUUL18cspo5PZqJK4,8719
|
7
7
|
MediBot/MediBot_Post.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
8
8
|
MediBot/MediBot_Preprocessor.py,sha256=gQRVAWbRHx_PMK6a7q93tp7Z-Dhjn5r0lJz3d0wAzeU,19067
|
9
9
|
MediBot/MediBot_Preprocessor_lib.py,sha256=lyl2Q5V1MQHiZ54kmTYPxor3pm2gf8mAq-IwYu7FX2c,87236
|
10
|
-
MediBot/MediBot_UI.py,sha256=
|
10
|
+
MediBot/MediBot_UI.py,sha256=tQISM2gULmQVc4JbeVsn4pjgOYsQZiJpx1_IU407rO8,25870
|
11
11
|
MediBot/MediBot_dataformat_library.py,sha256=D46fdPtxcgfWTzaLBtSvjtozzZBNqNiODgu4vKMZrBg,10746
|
12
12
|
MediBot/MediBot_debug.bat,sha256=F5Lfi3nFEEo4Ddx9EbX94u3fNAMgzMp3wsn-ULyASTM,6017
|
13
13
|
MediBot/MediBot_docx_decoder.py,sha256=gn7I7Ng5khVIzU0HTTOqi31YSSn1yW8Pyk-i_P9r1oA,32472
|
14
14
|
MediBot/MediBot_smart_import.py,sha256=Emvz7NwemHGCHvG5kZcUyXMcCheidbGKaPfOTg-YCEs,6684
|
15
|
-
MediBot/__init__.py,sha256=
|
15
|
+
MediBot/__init__.py,sha256=AKa6bkDecCaUCTu1GAZubZfHlwrlayAE6ji5kPHDat8,3192
|
16
16
|
MediBot/clear_cache.bat,sha256=F6-VhETWw6xDdGWG2wUqvtXjCl3lY4sSUFqF90bM8-8,1860
|
17
17
|
MediBot/crash_diagnostic.bat,sha256=j8kUtyBg6NOWbXpeFuEqIRHOkVzgUrLOqO3FBMfNxTo,9268
|
18
18
|
MediBot/f_drive_diagnostic.bat,sha256=4572hZaiwZ5wVAarPcZJQxkOSTwAdDuT_X914noARak,6878
|
@@ -20,20 +20,20 @@ MediBot/full_debug_suite.bat,sha256=b3Euz-VbRaPE6tWmgpjApfv4_cB5-Rk8BLNlLrp2bpo,
|
|
20
20
|
MediBot/get_medicafe_version.py,sha256=uyL_UIE42MyFuJ3SRYxJp8sZx8xjTqlYZ3FdQuxLduY,728
|
21
21
|
MediBot/process_csvs.bat,sha256=3tI7h1z9eRj8rUUL4wJ7dy-Qrak20lRmpAPtGbUMbVQ,3489
|
22
22
|
MediBot/update_json.py,sha256=vvUF4mKCuaVly8MmoadDO59M231fCIInc0KI1EtDtPA,3704
|
23
|
-
MediBot/update_medicafe.py,sha256=
|
23
|
+
MediBot/update_medicafe.py,sha256=G1lyvVOHYuho1d-TJQNN6qaB4HBWaJ2PpXqemBoPlRQ,17937
|
24
24
|
MediCafe/MediLink_ConfigLoader.py,sha256=fNBFnPbh1YRVCs9WvZp6tPsKTUFzK3f38ePeUQ00QrQ,10161
|
25
|
-
MediCafe/__init__.py,sha256=
|
25
|
+
MediCafe/__init__.py,sha256=8Xf73Nd0OC0Srfz45t2CcQku9oQOLBSj9TUrnSyoocc,5721
|
26
26
|
MediCafe/__main__.py,sha256=mRNyk3D9Ilnu2XhgVI_rut7r5Ro7UIKtwV871giAHI8,12992
|
27
|
-
MediCafe/api_core.py,sha256=
|
27
|
+
MediCafe/api_core.py,sha256=TyJU-gC5iOpgnagKPrIZuE5MU-qZBq5fb0J2UtyEHAk,73536
|
28
28
|
MediCafe/api_core_backup.py,sha256=Oy_Fqt0SEvGkQN1Oqw5iUPVFxPEokyju5CuPEb9k0OY,18686
|
29
29
|
MediCafe/api_factory.py,sha256=I5AeJoyu6m7oCrjc2OvVvO_4KSBRutTsR1riiWhTZV0,12086
|
30
30
|
MediCafe/api_utils.py,sha256=KWQB0q1k5E6frOFFlKWcFpHNcqfrS7KJ_82672wbupw,14041
|
31
31
|
MediCafe/core_utils.py,sha256=r2Kbmp6aioBwTNEpEOYJLLdzBVALXl2S3eAs5IAD1-w,27165
|
32
|
-
MediCafe/graphql_utils.py,sha256=
|
32
|
+
MediCafe/graphql_utils.py,sha256=xrREl0mqktEBkV6SZeAImuuDc8Sp2Q80rWxKIh-zD7Q,44499
|
33
33
|
MediCafe/logging_config.py,sha256=auT65LN5oDEXVhkMeLke63kJHTWxYf2o8YihAfQFgzU,5493
|
34
34
|
MediCafe/logging_demo.py,sha256=TwUhzafna5pMdN3zSKGrpUWRqX96F1JGGsSUtr3dygs,1975
|
35
35
|
MediCafe/migration_helpers.py,sha256=48GnP4xcgvDNNlzoWsKASCpF4H0KnyveHPbz6kjQy50,17737
|
36
|
-
MediCafe/smart_import.py,sha256=
|
36
|
+
MediCafe/smart_import.py,sha256=sv7aszDbA99LjhtbbAJWnvcBvjLHA_CGnkckjWvP8kQ,20577
|
37
37
|
MediCafe/submission_index.py,sha256=35gz8Anx1dIqG1I14GvuLY0nTO4dSBr2YsZwof9aIQg,11175
|
38
38
|
MediLink/InsuranceTypeService.py,sha256=FKWC1nRfKV_OtCDUtZustauXNhmCYDFiY9jsAGHPPUM,2178
|
39
39
|
MediLink/MediLink_837p_cob_library.py,sha256=glc7SJBDx0taCGmwmCs81GFJJcvA_D7nycIkTfmIuwE,30650
|
@@ -42,11 +42,12 @@ MediLink/MediLink_837p_encoder_library.py,sha256=VzOpzbYF3i133vdqqxYB6JVMd9N5Qzf
|
|
42
42
|
MediLink/MediLink_837p_utilities.py,sha256=AJ0F22LoF8du20zPBH4TZXgsdXCD-1qYKBnHJM-mXl0,16260
|
43
43
|
MediLink/MediLink_API_Generator.py,sha256=VZBL9W8yFTMJ4ikSwbUI8ANtaJCLnUyqoF8xQEJQn_E,11176
|
44
44
|
MediLink/MediLink_Azure.py,sha256=Ow70jctiHFIylskBExN7WUoRgrKOvBR6jNTnQMk6lJA,210
|
45
|
+
MediLink/MediLink_Charges.py,sha256=82fnqHGvT7tfdfjucnFHiLdUE0WhHDXrcS0k_Ln3c8U,19951
|
45
46
|
MediLink/MediLink_ClaimStatus.py,sha256=75LzWfYaxrLWelId-8rHHN_lchHXxAe34pRgvKPdP2o,22118
|
46
47
|
MediLink/MediLink_DataMgmt.py,sha256=9hc5jyWU65nYT66afDybOyYAcW-DvEYuHpWTun96U50,52407
|
47
48
|
MediLink/MediLink_Decoder.py,sha256=1gzdybNg4Vv69s5PNbX8bPNrXT_N_kPpFpt2HpkauWA,16430
|
48
|
-
MediLink/MediLink_Deductible.py,sha256=
|
49
|
-
MediLink/MediLink_Deductible_Validator.py,sha256=
|
49
|
+
MediLink/MediLink_Deductible.py,sha256=0Cuq3XIP9GHtzjskE7qaIYsuRyjJ7nLZ08Kaj8yAWEg,49549
|
50
|
+
MediLink/MediLink_Deductible_Validator.py,sha256=Hl15LKim1BuJS7Qv9Iulg-L8dNfZRoLbvAxqO7CF2E0,24756
|
50
51
|
MediLink/MediLink_Display_Utils.py,sha256=QyHk23VU1rJtNZr_QhtL76Avo66CEc7MZU84uIs-1Lo,4187
|
51
52
|
MediLink/MediLink_Down.py,sha256=s4_z-RaqHYanjwbQCl-OSkg4XIpcIQ2Q6jXa8-q_QXw,28111
|
52
53
|
MediLink/MediLink_Gmail.py,sha256=8iQjqcJMSa_Zfr5azR0dShKAQeXqt-9C-s8seYB9pic,23961
|
@@ -61,7 +62,7 @@ MediLink/MediLink_insurance_utils.py,sha256=g741Fj2K26cMy0JX5d_XavMw9LgkK6hjaUJY
|
|
61
62
|
MediLink/MediLink_main.py,sha256=ZVK2UsgSxC9UqgIYfgVu95ugULcH6-11l67jsf4vdJc,22132
|
62
63
|
MediLink/MediLink_smart_import.py,sha256=B5SfBn_4bYEWJJDolXbjnwKx_-MaqGZ76LyXQwWDV80,9838
|
63
64
|
MediLink/Soumit_api.py,sha256=5JfOecK98ZC6NpZklZW2AkOzkjvrbYxpJpZNH3rFxDw,497
|
64
|
-
MediLink/__init__.py,sha256=
|
65
|
+
MediLink/__init__.py,sha256=G5NW5HneyUTd3Zh8UuMvUuaA3ntBmQ48mdlcmGBOm10,3888
|
65
66
|
MediLink/gmail_http_utils.py,sha256=gtqCCrzJC7e8JFQzMNrf7EbK8na2h4sfTu-NMaZ_UHc,4006
|
66
67
|
MediLink/gmail_oauth_utils.py,sha256=Ugr-DEqs4_RddRMSCJ_dbgA3TVeaxpbAor-dktcTIgY,3713
|
67
68
|
MediLink/insurance_type_integration_test.py,sha256=pz2OCXitAznqDciYn6OL9M326m9CYU7YiK-ynssdQ5g,15172
|
@@ -71,9 +72,9 @@ MediLink/test_cob_library.py,sha256=wUMv0-Y6fNsKcAs8Z9LwfmEBRO7oBzBAfWmmzwoNd1g,
|
|
71
72
|
MediLink/test_timing.py,sha256=yH2b8QPLDlp1Zy5AhgtjzjnDHNGhAD16ZtXtZzzESZw,2042
|
72
73
|
MediLink/test_validation.py,sha256=FJrfdUFK--xRScIzrHCg1JeGdm0uJEoRnq6CgkP2lwM,4154
|
73
74
|
MediLink/webapp.html,sha256=JPKT559aFVBi1r42Hz7C77Jj0teZZRumPhBev8eSOLk,19806
|
74
|
-
medicafe-0.
|
75
|
-
medicafe-0.
|
76
|
-
medicafe-0.
|
77
|
-
medicafe-0.
|
78
|
-
medicafe-0.
|
79
|
-
medicafe-0.
|
75
|
+
medicafe-0.250822.1.dist-info/LICENSE,sha256=65lb-vVujdQK7uMH3RRJSMwUW-WMrMEsc5sOaUn2xUk,1096
|
76
|
+
medicafe-0.250822.1.dist-info/METADATA,sha256=m5Jftfm0cBtBejEVQ03wRsPl3Km3C2XI8cDY9oQDFm8,3414
|
77
|
+
medicafe-0.250822.1.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
78
|
+
medicafe-0.250822.1.dist-info/entry_points.txt,sha256=m3RBUBjr-xRwEkKJ5W4a7NlqHZP_1rllGtjZnrRqKe8,52
|
79
|
+
medicafe-0.250822.1.dist-info/top_level.txt,sha256=U6-WBJ9RCEjyIs0BlzbQq_PwedCp_IV9n1616NNV5zA,26
|
80
|
+
medicafe-0.250822.1.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|