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.
- MediBot/MediBot_Preprocessor_lib.py +742 -742
- MediBot/MediBot_dataformat_library.py +10 -2
- MediLink/MediLink.py +1 -1
- MediLink/MediLink_837p_encoder_library.py +2 -2
- MediLink/MediLink_DataMgmt.py +6 -1
- {medicafe-0.250430.0.dist-info → medicafe-0.250529.2.dist-info}/METADATA +1 -1
- {medicafe-0.250430.0.dist-info → medicafe-0.250529.2.dist-info}/RECORD +10 -10
- {medicafe-0.250430.0.dist-info → medicafe-0.250529.2.dist-info}/LICENSE +0 -0
- {medicafe-0.250430.0.dist-info → medicafe-0.250529.2.dist-info}/WHEEL +0 -0
- {medicafe-0.250430.0.dist-info → medicafe-0.250529.2.dist-info}/top_level.txt +0 -0
|
@@ -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
|
)
|
MediLink/MediLink_DataMgmt.py
CHANGED
|
@@ -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
|
|
@@ -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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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.
|
|
45
|
-
medicafe-0.
|
|
46
|
-
medicafe-0.
|
|
47
|
-
medicafe-0.
|
|
48
|
-
medicafe-0.
|
|
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,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|