medicaid_utils.adapted_algorithms.py_elixhauser package¶
Submodules¶
medicaid_utils.adapted_algorithms.py_elixhauser.elixhauser_comorbidity module¶
This a python package for computing Elixhauser comorbidity score
- class medicaid_utils.adapted_algorithms.py_elixhauser.elixhauser_comorbidity.ElixhauserScoring[source]¶
Bases:
object- classmethod calculate_final_score(df: DataFrame, output_column_name: str = 'elixhauser_score') DataFrame[source]¶
Calculate the final Elixhauser comorbidity score.
Sums the 31 ELX_GRP binary columns into a single integer score.
- Parameters:
df (dask.DataFrame) – DataFrame with ELX_GRP_1 through ELX_GRP_31 columns.
output_column_name (str, default='elixhauser_score') – Name for the output score column.
- Returns:
DataFrame with the score column appended.
- Return type:
dask.DataFrame
Examples
>>> # Requires a dask DataFrame with ELX_GRP columns >>> df = ElixhauserScoring.calculate_final_score(df)
- data_folder = '/home/runner/work/medicaid-utils/medicaid-utils/medicaid_utils/adapted_algorithms/py_elixhauser/data'¶
- filename = 'elixhauser_comorbidity.py'¶
- classmethod flag_comorbidities(df: DataFrame, lst_diag_col_name: str, cms_format: str = 'MAX') DataFrame[source]¶
Flag Elixhauser comorbidity groups based on diagnosis codes.
Adds 31 binary columns (ELX_GRP_1 through ELX_GRP_31) indicating the presence of each Elixhauser comorbidity group.
- Parameters:
df (dask.DataFrame) – Bene-level DataFrame with a diagnosis code list column.
lst_diag_col_name (str) – Column name containing comma-separated diagnosis codes.
cms_format ({'MAX', 'TAF'}, default='MAX') – CMS file format, determines ICD-9 vs ICD-10 mapping.
- Returns:
DataFrame with ELX_GRP columns appended.
- Return type:
dask.DataFrame
Examples
>>> # Requires a dask DataFrame with diagnosis codes >>> df = ElixhauserScoring.flag_comorbidities( ... df, 'LST_DIAG_CD', cms_format='MAX')
- package_folder = '/home/runner/work/medicaid-utils/medicaid-utils/medicaid_utils/adapted_algorithms/py_elixhauser'¶
- medicaid_utils.adapted_algorithms.py_elixhauser.elixhauser_comorbidity.score(df: DataFrame, lst_diag_col_name: str, cms_format: str = 'MAX', output_column_name: str = 'elixhauser_score') DataFrame[source]¶
Computes Elixhauser score for the benes in the input dataframe. The input dataframe should be at bene level, with a column containing each bene’s comma separated list of diagnosis codes from the observed period.
- Parameters:
- Return type:
dask.DataFrame
Examples
>>> # Requires a bene-level dask DataFrame with diagnosis codes >>> df = score(df, 'LST_DIAG_CD', cms_format='MAX')