medicafe 0.250430.0__py3-none-any.whl → 0.250529.2__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.

@@ -26,7 +26,14 @@ initialize(config)
26
26
  # Format Data
27
27
  def format_name(value):
28
28
  if ',' in value:
29
+ comma_count = value.count(',')
30
+ if comma_count > 1:
31
+ MediLink_ConfigLoader.log("Error: Multiple commas found in name value: {value}", level="ERROR")
32
+ # Keep only the first comma and remove the rest
33
+ first_comma_index = value.find(',')
34
+ value = value[:first_comma_index + 1] + value[first_comma_index + 1:].replace(',', '')
29
35
  return value
36
+
30
37
  hyphenated_name_pattern = r'(?P<First>[\w-]+)\s+(?P<Middle>[\w-]?)\s+(?P<Last>[\w-]+)'
31
38
  match = re.match(hyphenated_name_pattern, value)
32
39
  if match:
@@ -68,8 +75,8 @@ def enforce_significant_length(output):
68
75
  # Check if the number of significant digits exceeds 30
69
76
  if len(temp_output) > 30:
70
77
 
71
- # First line of defense: Replace ' APT ' with ' #' if the original length is longer than 30 characters.
72
- temp_output = temp_output.replace(' APT ', ' #')
78
+ # First line of defense: Replace ' APT ' or ' UNIT ' with ' #' if the original length is longer than 30 characters.
79
+ temp_output = temp_output.replace(' APT ', ' #').replace(' UNIT ', ' #')
73
80
 
74
81
  # Remove spaces in a controlled manner from right to left if still too long
75
82
  while len(temp_output) > 30:
@@ -157,6 +164,7 @@ def format_zip(value):
157
164
  # Ensure the value is a string, in case it's provided as an integer
158
165
  value_str = str(value)
159
166
  # Return only the first 5 characters of the zip code
167
+ # TODO Future, they might start using 9 digit zip codes but we don't know what format they'll use yet.
160
168
  return value_str[:5]
161
169
 
162
170
  def format_data(medisoft_field, value, csv_data, reverse_mapping, parsed_address_components):
MediLink/MediLink.py CHANGED
@@ -94,7 +94,7 @@ def extract_and_suggest_endpoint(file_path, config, crosswalk):
94
94
  parsed_data = MediLink_DataMgmt.parse_fixed_width_data(personal_info, insurance_info, service_info, service_info_2, service_info_3, config.get('MediLink_Config', config))
95
95
 
96
96
  primary_insurance = parsed_data.get('INAME')
97
-
97
+
98
98
  # Retrieve the insurance ID associated with the primary insurance
99
99
  insurance_id = insurance_to_id.get(primary_insurance)
100
100
  MediLink_ConfigLoader.log("Primary insurance ID retrieved for '{}': {}".format(primary_insurance, insurance_id))
@@ -626,8 +626,8 @@ def create_nm1_subscriber_segment(config, parsed_data, endpoint):
626
626
 
627
627
  return "NM1*{entity_identifier_code}*1*{last_name}*{first_name}*{middle_name}***MI*{policy_number}~".format(
628
628
  entity_identifier_code=entity_identifier_code,
629
- last_name=parsed_data['LAST'],
630
- first_name=parsed_data['FIRST'],
629
+ last_name=parsed_data['LAST'].replace('_', ' '), # Replace underscores with spaces in the name.
630
+ first_name=parsed_data['FIRST'].replace('_', ' '),
631
631
  middle_name=parsed_data['MIDDLE'],
632
632
  policy_number=parsed_data['IPOLICY']
633
633
  )
@@ -1,4 +1,3 @@
1
-
2
1
  import csv, os, re, subprocess, time
3
2
  from datetime import datetime, timedelta
4
3
 
@@ -42,6 +41,12 @@ def parse_fixed_width_data(personal_info, insurance_info, service_info, service_
42
41
  if service_info_3:
43
42
  parsed_data.update(slice_data(service_info_3, service_slices, suffix='_3'))
44
43
 
44
+ # Replace underscores with spaces in first and last names since this is downstream of MediSoft.
45
+ if 'FIRST' in parsed_data:
46
+ parsed_data['FIRST'] = parsed_data['FIRST'].replace('_', ' ')
47
+ if 'LAST' in parsed_data:
48
+ parsed_data['LAST'] = parsed_data['LAST'].replace('_', ' ')
49
+
45
50
  MediLink_ConfigLoader.log("Successfully parsed data from segments", config, level="INFO")
46
51
 
47
52
  return parsed_data
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: medicafe
3
- Version: 0.250430.0
3
+ Version: 0.250529.2
4
4
  Summary: MediCafe
5
5
  Home-page: https://github.com/katanada2
6
6
  Author: Daniel Vidaud
@@ -4,19 +4,19 @@ MediBot/MediBot_Charges.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  MediBot/MediBot_Crosswalk_Library.py,sha256=dOUn9mh4TDu3FK42n_xyPLJn9_m5WyIrfEKeX9dVdaQ,44390
5
5
  MediBot/MediBot_Post.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
6
  MediBot/MediBot_Preprocessor.py,sha256=uPGj0OwlHi0CByvNy9gKnfwfK7Y6lzQ7sLchwJw3l7g,13010
7
- MediBot/MediBot_Preprocessor_lib.py,sha256=MubZpI8bOt-P9FEk65zQZrI_0y1map1wzPWGeMUkQOs,38187
7
+ MediBot/MediBot_Preprocessor_lib.py,sha256=XdDkBTmjsSlOfnuc3iBYKudQRhGo3DEL_zboYGqovnQ,37697
8
8
  MediBot/MediBot_UI.py,sha256=tdTXLQ_nUVbtpkxUGSuKbEgYv6CFk6EsmEMAVMLL4_A,11165
9
- MediBot/MediBot_dataformat_library.py,sha256=6AFGyiaUcFMVUNbudGKoBqAZuMnLf2EIWaypOq6-ZCw,7867
9
+ MediBot/MediBot_dataformat_library.py,sha256=JXTV-HWahqeYF_lbNn1UYxqUtZ6ZBeFXHOyRGlDq4xM,8406
10
10
  MediBot/MediBot_docx_decoder.py,sha256=z-_oVrSocu4-CenDGDHOkDeqPcKqZqm6Ao9mABgqxJU,23561
11
11
  MediBot/MediPost.py,sha256=C1hZJFr65rN6F_dckjdBxFC0vL2CoqY9W3YFqU5HXtE,336
12
12
  MediBot/PDF_to_CSV_Cleaner.py,sha256=ZZphmq-5K04DkrZNlcwNAIoZPOD_ROWvS3PMkKFxeiM,8799
13
13
  MediBot/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
14
  MediBot/update_json.py,sha256=9FJZb-32EujpKuSoCjyCbdTdthOIuhcMoN4Wchuzn8A,2508
15
15
  MediBot/update_medicafe.py,sha256=rx1zUvCI99JRdr8c1csMGI2uJBl3pqusvX-xr3KhmR4,11881
16
- MediLink/MediLink.py,sha256=G1xuHUKnCrEsKdY4RjHm7a472lShtv_gZC6rffEYzCk,21581
16
+ MediLink/MediLink.py,sha256=O3VSLm2s5viCRBL1is7Loj_nSaLMMcFZ-weXAmVp_20,21588
17
17
  MediLink/MediLink_277_decoder.py,sha256=Z3hQK2j-YzdXjov6aDlDRc7M_auFBnl3se4OF5q6_04,4358
18
18
  MediLink/MediLink_837p_encoder.py,sha256=id2qhKUYq_raKcDr5pAY1xF0V_UR5KBC8SXDAeh6QpU,24807
19
- MediLink/MediLink_837p_encoder_library.py,sha256=HN_HBN02fJIiUyC5cJzY_5eEJiup-fRPtKuaoZWUtHk,49841
19
+ MediLink/MediLink_837p_encoder_library.py,sha256=rxame7v_LcNJe8Wdt3INQkTC5MdIbZq9ySsR90OL6Lo,49924
20
20
  MediLink/MediLink_API_Generator.py,sha256=vBZ8moR9tvv7mb200HlZnJrk1y-bQi8E16I2r41vgVM,10345
21
21
  MediLink/MediLink_API_v2.py,sha256=mcIgLnXPS_NaUBrkKJ8mxCUaQ0AuQUeU1vG6DoplbVY,7733
22
22
  MediLink/MediLink_API_v3.py,sha256=b8Qo7tRGzdCyixYrfOqaGFiOtot3sXG4dwsWn4uiDW0,32288
@@ -24,7 +24,7 @@ MediLink/MediLink_APIs.py,sha256=jm3f9T034MJKH8A_CIootULoeuk7H8s7PazpFZRCbKI,622
24
24
  MediLink/MediLink_Azure.py,sha256=Ow70jctiHFIylskBExN7WUoRgrKOvBR6jNTnQMk6lJA,210
25
25
  MediLink/MediLink_ClaimStatus.py,sha256=GNZ9mRrjxemBHJ5LiJb2DUWhKgWX2vTNY5jxoUgqv-I,9776
26
26
  MediLink/MediLink_ConfigLoader.py,sha256=u9ecB0SIN7zuJAo8KcoQys95BtyAo-8S2n4mRd0S3XU,4356
27
- MediLink/MediLink_DataMgmt.py,sha256=t5YdqFDiFHZPLIKBI0gmDGaZTRdGRiohTJImk-Y-F-4,32749
27
+ MediLink/MediLink_DataMgmt.py,sha256=jrTAPSNVzs1wwYl1g0_8Mda3k2B27CbaSw8Pu2qmThw,33058
28
28
  MediLink/MediLink_Decoder.py,sha256=Suw9CmUHgoe0ZW8sJP_pIO8URBrhO5FmxFF8RcUj9lI,13318
29
29
  MediLink/MediLink_Deductible.py,sha256=G1l7shl6uvMBO4R14CcKJ41lRW2AiR9Ahg1tHsETZzo,13490
30
30
  MediLink/MediLink_Down.py,sha256=hrDODhs-zRfOKCdiRGENN5Czu-AvdtwJj4Q7grcRXME,6518
@@ -41,8 +41,8 @@ MediLink/MediLink_batch.bat,sha256=nqL5QwCLyRQFSPdv6kgtcV_cpky7FXSOWVl6OxjRXb4,1
41
41
  MediLink/Soumit_api.py,sha256=5JfOecK98ZC6NpZklZW2AkOzkjvrbYxpJpZNH3rFxDw,497
42
42
  MediLink/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
43
43
  MediLink/test.py,sha256=kSvvJRL_3fWuNS3_x4hToOnUljGLoeEw6SUTHQWQRJk,3108
44
- medicafe-0.250430.0.dist-info/LICENSE,sha256=65lb-vVujdQK7uMH3RRJSMwUW-WMrMEsc5sOaUn2xUk,1096
45
- medicafe-0.250430.0.dist-info/METADATA,sha256=clPhmXUwfjXE9001JyvtYfENnSJxf4ZCKhJD0VwCFRk,5501
46
- medicafe-0.250430.0.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
47
- medicafe-0.250430.0.dist-info/top_level.txt,sha256=3uOwR4q_SP8Gufk2uCHoKngAgbtdOwQC6Qjl7ViBa_c,17
48
- medicafe-0.250430.0.dist-info/RECORD,,
44
+ medicafe-0.250529.2.dist-info/LICENSE,sha256=65lb-vVujdQK7uMH3RRJSMwUW-WMrMEsc5sOaUn2xUk,1096
45
+ medicafe-0.250529.2.dist-info/METADATA,sha256=2Z8rcfCru9dKCUFxGlDda91jEPVD0cY9t2V2MWF7o-s,5501
46
+ medicafe-0.250529.2.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
47
+ medicafe-0.250529.2.dist-info/top_level.txt,sha256=3uOwR4q_SP8Gufk2uCHoKngAgbtdOwQC6Qjl7ViBa_c,17
48
+ medicafe-0.250529.2.dist-info/RECORD,,