medicafe 0.250305.0__py3-none-any.whl → 0.250318.0__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_Crosswalk_Library.py +18 -8
- MediBot/update_medicafe.py +43 -20
- {medicafe-0.250305.0.dist-info → medicafe-0.250318.0.dist-info}/METADATA +9 -5
- {medicafe-0.250305.0.dist-info → medicafe-0.250318.0.dist-info}/RECORD +7 -7
- {medicafe-0.250305.0.dist-info → medicafe-0.250318.0.dist-info}/LICENSE +0 -0
- {medicafe-0.250305.0.dist-info → medicafe-0.250318.0.dist-info}/WHEEL +0 -0
- {medicafe-0.250305.0.dist-info → medicafe-0.250318.0.dist-info}/top_level.txt +0 -0
|
@@ -543,14 +543,24 @@ def update_crosswalk_with_new_payer_id(client, insurance_name, payer_id, config,
|
|
|
543
543
|
else:
|
|
544
544
|
selected_endpoint = current_endpoint # Use the existing valid endpoint
|
|
545
545
|
|
|
546
|
-
# Add the insurance ID to the payer ID entry
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
546
|
+
# Add the insurance ID to the payer ID entry - with error handling for the .add() operation
|
|
547
|
+
try:
|
|
548
|
+
if not isinstance(crosswalk['payer_id'][payer_id]['medisoft_id'], set):
|
|
549
|
+
# Convert to set if it's not already one
|
|
550
|
+
crosswalk['payer_id'][payer_id]['medisoft_id'] = set(crosswalk['payer_id'][payer_id]['medisoft_id'])
|
|
551
|
+
MediLink_ConfigLoader.log("Converted medisoft_id to set for payer ID {}.".format(payer_id), config, level="DEBUG")
|
|
552
|
+
|
|
553
|
+
crosswalk['payer_id'][payer_id]['medisoft_id'].add(str(medisoft_id_str)) # Ensure IDs are strings
|
|
554
|
+
MediLink_ConfigLoader.log(
|
|
555
|
+
"Added new insurance ID {} to payer ID {}.".format(medisoft_id_str, payer_id),
|
|
556
|
+
config,
|
|
557
|
+
level="INFO"
|
|
558
|
+
)
|
|
559
|
+
except AttributeError as e:
|
|
560
|
+
MediLink_ConfigLoader.log("AttributeError while adding medisoft_id: {}".format(e), config, level="ERROR")
|
|
561
|
+
print("Error adding medisoft_id for payer ID {}: {}".format(payer_id, e))
|
|
562
|
+
return False
|
|
563
|
+
|
|
554
564
|
# Fetch and store the payer name for the new payer ID
|
|
555
565
|
if fetch_and_store_payer_name(client, payer_id, crosswalk, config):
|
|
556
566
|
MediLink_ConfigLoader.log("Successfully fetched and stored payer name for new payer ID {}.".format(payer_id), config, level="INFO")
|
MediBot/update_medicafe.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#update_medicafe.py
|
|
2
|
-
import subprocess, sys, requests, time, pkg_resources
|
|
2
|
+
import subprocess, sys, requests, time, pkg_resources, platform
|
|
3
3
|
|
|
4
4
|
def get_installed_version(package):
|
|
5
5
|
try:
|
|
@@ -112,25 +112,44 @@ def upgrade_package(package, retries=3, delay=2): # Updated retries to 3
|
|
|
112
112
|
print("Error: All upgrade attempts failed.")
|
|
113
113
|
return False
|
|
114
114
|
|
|
115
|
-
def ensure_dependencies(
|
|
116
|
-
"""Ensure all dependencies listed in
|
|
117
|
-
try
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
115
|
+
def ensure_dependencies():
|
|
116
|
+
"""Ensure all dependencies listed in setup.py are installed and up-to-date."""
|
|
117
|
+
# Don't try to read requirements.txt as it won't be available after installation
|
|
118
|
+
# Instead, hardcode the same dependencies that are in setup.py
|
|
119
|
+
required_packages = [
|
|
120
|
+
'requests==2.21.0',
|
|
121
|
+
'argparse==1.4.0',
|
|
122
|
+
'tqdm==4.14.0',
|
|
123
|
+
'python-docx==0.8.11',
|
|
124
|
+
'PyYAML==5.2',
|
|
125
|
+
'chardet==3.0.4',
|
|
126
|
+
'msal==1.26.0'
|
|
127
|
+
]
|
|
128
|
+
|
|
129
|
+
# Define problematic packages for Windows XP with Python 3.4
|
|
130
|
+
problematic_packages = ['numpy==1.11.3', 'pandas==0.20.0', 'lxml==4.2.0']
|
|
131
|
+
is_windows_py34 = sys.version_info[:2] == (3, 4) and platform.system() == 'Windows'
|
|
132
|
+
|
|
133
|
+
if is_windows_py34:
|
|
134
|
+
print("Detected Windows with Python 3.4")
|
|
135
|
+
print("Please ensure the following packages are installed manually:")
|
|
136
|
+
for pkg in problematic_packages:
|
|
137
|
+
package_name, version = pkg.split('==')
|
|
138
|
+
try:
|
|
139
|
+
installed_version = pkg_resources.get_distribution(package_name).version
|
|
140
|
+
print("{} {} is already installed".format(package_name, installed_version))
|
|
141
|
+
if installed_version != version:
|
|
142
|
+
print("Note: Installed version ({}) differs from required ({})".format(installed_version, version))
|
|
143
|
+
print("If you experience issues, consider installing version {} manually".format(version))
|
|
144
|
+
except pkg_resources.DistributionNotFound:
|
|
145
|
+
print("{} is not installed".format(package_name))
|
|
146
|
+
print("Please install {}=={} manually using a pre-compiled wheel".format(package_name, version))
|
|
147
|
+
print("Download from: https://www.lfd.uci.edu/~gohlke/pythonlibs/")
|
|
148
|
+
print("Then run: pip install path\\to\\{}-{}-cp34-cp34m-win32.whl".format(package_name, version))
|
|
149
|
+
print("\nContinuing with other dependencies...")
|
|
150
|
+
else:
|
|
151
|
+
# Add problematic packages to the list for non-Windows XP environments
|
|
152
|
+
required_packages.extend(problematic_packages)
|
|
134
153
|
|
|
135
154
|
for pkg in required_packages:
|
|
136
155
|
if '==' in pkg:
|
|
@@ -139,6 +158,10 @@ def ensure_dependencies(requirements_file='requirements.txt'):
|
|
|
139
158
|
package_name = pkg
|
|
140
159
|
version = None # No specific version required
|
|
141
160
|
|
|
161
|
+
# Skip problematic packages on Windows XP Python 3.4
|
|
162
|
+
if is_windows_py34 and any(package_name in p for p in problematic_packages):
|
|
163
|
+
continue
|
|
164
|
+
|
|
142
165
|
try:
|
|
143
166
|
installed_version = pkg_resources.get_distribution(package_name).version
|
|
144
167
|
if version and installed_version != version: # Check if installed version matches required version
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: medicafe
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.250318.0
|
|
4
4
|
Summary: MediCafe
|
|
5
5
|
Home-page: https://github.com/katanada2
|
|
6
6
|
Author: Daniel Vidaud
|
|
@@ -11,14 +11,18 @@ Description-Content-Type: text/markdown
|
|
|
11
11
|
License-File: LICENSE
|
|
12
12
|
Requires-Dist: requests ==2.21.0
|
|
13
13
|
Requires-Dist: argparse ==1.4.0
|
|
14
|
-
Requires-Dist: numpy ==1.11.3
|
|
15
|
-
Requires-Dist: pandas ==0.20.0
|
|
16
14
|
Requires-Dist: tqdm ==4.14.0
|
|
17
|
-
Requires-Dist: lxml ==4.2.0
|
|
18
15
|
Requires-Dist: python-docx ==0.8.11
|
|
19
16
|
Requires-Dist: PyYAML ==5.2
|
|
20
17
|
Requires-Dist: chardet ==3.0.4
|
|
18
|
+
Requires-Dist: cffi ==1.8.2
|
|
21
19
|
Requires-Dist: msal ==1.26.0
|
|
20
|
+
Requires-Dist: numpy ==1.11.3 ; platform_python_implementation != "CPython" or sys_platform != "win32" or python_version > "3.5"
|
|
21
|
+
Requires-Dist: pandas ==0.20.0 ; platform_python_implementation != "CPython" or sys_platform != "win32" or python_version > "3.5"
|
|
22
|
+
Requires-Dist: lxml ==4.2.0 ; platform_python_implementation != "CPython" or sys_platform != "win32" or python_version > "3.5"
|
|
23
|
+
Requires-Dist: numpy ==1.11.3 ; platform_python_implementation == "CPython" and sys_platform == "win32" and python_version <= "3.5" and extra == "binary"
|
|
24
|
+
Requires-Dist: pandas ==0.20.0 ; platform_python_implementation == "CPython" and sys_platform == "win32" and python_version <= "3.5" and extra == "binary"
|
|
25
|
+
Requires-Dist: lxml ==4.2.0 ; platform_python_implementation == "CPython" and sys_platform == "win32" and python_version <= "3.5" and extra == "binary"
|
|
22
26
|
|
|
23
27
|
|
|
24
28
|
# Project Overview: MediCafe
|
|
@@ -32,7 +36,7 @@ Requires-Dist: msal ==1.26.0
|
|
|
32
36
|
- **Error Handling and Logging:** MediBot aims to implement a robust error handling mechanism that can log issues and provide feedback for troubleshooting.
|
|
33
37
|
- **Insurance Mode Adjustments:** The system can adjust data inputs based on specific requirements from various insurance providers, including Medicare.
|
|
34
38
|
- **Diagnosis Entry Automation:** MediBot automates the extraction and entry of diagnosis codes from surgical schedules into Medisoft.
|
|
35
|
-
- **Script Efficiency:** The module enhances the efficiency of scripts handling Medisoft
|
|
39
|
+
- **Script Efficiency:** The module enhances the efficiency of scripts handling Medisoft's quirks, such as fields that are skipped or require special navigation.
|
|
36
40
|
- **User Interface (UI) Enhancements:** Plans to develop a graphical user interface to help non-technical users manage and execute scripts more easily.
|
|
37
41
|
- **Documentation and Support:** Comprehensive documentation and support channels are being established to assist users in setup, configuration, and troubleshooting.
|
|
38
42
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
MediBot/MediBot.bat,sha256=9df6kV6qnmnqP59G6OdT5osqnyfIGeQYbVJgfsfiPxM,13260
|
|
2
2
|
MediBot/MediBot.py,sha256=KNR3Pj46W9dQaE3OH3fFAHoa6P-hS8pjJ9xB5STEqOU,19513
|
|
3
3
|
MediBot/MediBot_Charges.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
-
MediBot/MediBot_Crosswalk_Library.py,sha256=
|
|
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=KoFLdU-bvVh-ESVN9fntIDPIsOUCZGU6erDPu3DVrco,12711
|
|
7
7
|
MediBot/MediBot_Preprocessor_lib.py,sha256=w7Bc4F-rpz-jwBc1mSzQCLdgh5TeXr8tWVMt-rF8gjE,36863
|
|
@@ -12,7 +12,7 @@ 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
|
-
MediBot/update_medicafe.py,sha256=
|
|
15
|
+
MediBot/update_medicafe.py,sha256=rx1zUvCI99JRdr8c1csMGI2uJBl3pqusvX-xr3KhmR4,11881
|
|
16
16
|
MediLink/MediLink.py,sha256=G1xuHUKnCrEsKdY4RjHm7a472lShtv_gZC6rffEYzCk,21581
|
|
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
|
|
@@ -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.250318.0.dist-info/LICENSE,sha256=65lb-vVujdQK7uMH3RRJSMwUW-WMrMEsc5sOaUn2xUk,1096
|
|
45
|
+
medicafe-0.250318.0.dist-info/METADATA,sha256=nVeMQSZpJW2ZpNTdR2lWlXWWbeAr520w-Z82P6Oy61w,5501
|
|
46
|
+
medicafe-0.250318.0.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
|
47
|
+
medicafe-0.250318.0.dist-info/top_level.txt,sha256=3uOwR4q_SP8Gufk2uCHoKngAgbtdOwQC6Qjl7ViBa_c,17
|
|
48
|
+
medicafe-0.250318.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|