medicaid_utils.adapted_algorithms.py_ip_pqi package

Submodules

medicaid_utils.adapted_algorithms.py_ip_pqi.data_generation module

medicaid_utils.adapted_algorithms.py_ip_pqi.data_generation.generate_dxgrp_file() None[source]

Generate the PQI diagnosis group reference file.

Creates a CSV file (dxgrp.csv) containing ICD-9 diagnosis code groups used by the Prevention Quality Indicators algorithm. The file is saved to the package data directory.

Examples

>>> generate_dxgrp_file()
medicaid_utils.adapted_algorithms.py_ip_pqi.data_generation.generate_prgrp_file() None[source]

Generate the PQI procedure group reference file.

Creates a CSV file (prgrp.csv) containing ICD-9 procedure code groups used by the Prevention Quality Indicators algorithm. The file is saved to the package data directory.

Examples

>>> generate_prgrp_file()

medicaid_utils.adapted_algorithms.py_ip_pqi.prevention_quality_indicators module

class medicaid_utils.adapted_algorithms.py_ip_pqi.prevention_quality_indicators.PreventionQualityIndicators[source]

Bases: object

classmethod add_acsc_cat_cols(df: DataFrame) DataFrame[source]

Add adult ACSC (Ambulatory Care Sensitive Condition) PQI columns.

Creates TAPQ01-TAPQ16 individual condition indicators and TAPQ90 (overall), TAPQ91 (acute), TAPQ92 (chronic) composite indicators with appropriate clinical exclusions applied.

Parameters:

df (dask.DataFrame) – IP claims DataFrame with diagnosis/procedure group columns.

Returns:

DataFrame with ACSC PQI indicator columns appended.

Return type:

dask.DataFrame

Examples

>>> # Requires an IP claims dask DataFrame with diagnosis group columns
>>> df = PreventionQualityIndicators.add_acsc_cat_cols(df)
classmethod add_area_level_indicator_cols(df: DataFrame) DataFrame[source]

Add pediatric area-level PQI indicator columns.

Creates TAPD14 (asthma), TAPD15 (diabetes short-term), TAPD16 (gastroenteritis), TAPD17 (perforated appendix), TAPD18 (UTI), TAPQ09 (low birth weight), and composite indicators TAPD90 (overall), TAPD91 (acute), TAPD92 (chronic).

Parameters:

df (dask.DataFrame) – IP claims DataFrame with diagnosis group and neonate columns.

Returns:

DataFrame with pediatric PQI indicator columns appended.

Return type:

dask.DataFrame

Examples

>>> # Requires an IP claims dask DataFrame with diagnosis group columns
>>> df = PreventionQualityIndicators.add_area_level_indicator_cols(df)
classmethod add_drg_cols(df: DataFrame) DataFrame[source]

Add DRG-related columns for PQI computation.

Derives IMMUNDR, MDC24, MDC25, MDCNEW, and ICDVER columns from the DRG and admission date information.

Parameters:

df (dask.DataFrame) – IP claims DataFrame with DRG and DRGVER columns.

Returns:

DataFrame with DRG-related columns appended.

Return type:

dask.DataFrame

Examples

>>> # Requires an IP claims dask DataFrame with DRG columns
>>> df = PreventionQualityIndicators.add_drg_cols(df)
classmethod add_neonate_newborn_cols(df: DataFrame) DataFrame[source]

Add neonate and newborn indicator columns.

Creates NEONATE and NEWBORN binary columns based on age at admission, delivery code, and liveborn diagnosis codes.

Parameters:

df (dask.DataFrame) – IP claims DataFrame with age, diagnosis, and delivery columns.

Returns:

DataFrame with NEONATE and NEWBORN columns appended.

Return type:

dask.DataFrame

Examples

>>> # Requires an IP claims dask DataFrame with required columns
>>> df = PreventionQualityIndicators.add_neonate_newborn_cols(df)
classmethod add_pr_dxgrp_cols(df: DataFrame) DataFrame[source]

Add diagnosis and procedure group indicator columns.

Creates binary indicator columns for each PQI diagnosis group (applied to DX1-DX9) and procedure group (applied to PR1-PR6) by matching against reference code lists.

Parameters:

df (dask.DataFrame) – IP claims DataFrame with DX{1-9} and PR{1-6} columns.

Returns:

DataFrame with diagnosis/procedure group indicator columns.

Return type:

dask.DataFrame

Examples

>>> # Requires an IP claims dask DataFrame with DX and PR columns
>>> df = PreventionQualityIndicators.add_pr_dxgrp_cols(df)
data_folder = '/home/runner/work/medicaid-utils/medicaid-utils/medicaid_utils/adapted_algorithms/py_ip_pqi/data'
filename = 'prevention_quality_indicators.py'
logger_name = 'medicaid_utils.adapted_algorithms.py_ip_pqi.prevention_quality_indicators'
package_folder = '/home/runner/work/medicaid-utils/medicaid-utils/medicaid_utils/adapted_algorithms/py_ip_pqi'
classmethod prepare_cols(df: DataFrame, dx_col_suffix: str, pr_col_suffix: str, prsys_col_suffix: str) DataFrame[source]

Prepare diagnosis and procedure code columns for PQI computation.

Adds standardized DRG, DRGVER, DQTR, YEAR, DX{1-9}, and PR{1-6} columns derived from raw claim columns.

Parameters:
  • df (dask.DataFrame) – IP claims DataFrame.

  • dx_col_suffix (str) – Prefix for diagnosis code columns (e.g., ‘DIAG_CD_’).

  • pr_col_suffix (str) – Prefix for procedure code columns (e.g., ‘PRCDR_CD_’).

  • prsys_col_suffix (str) – Prefix for procedure code system columns (e.g., ‘PRCDR_CD_SYS_’).

Returns:

DataFrame with standardized columns appended.

Return type:

dask.DataFrame

Examples

>>> # Requires an IP claims dask DataFrame
>>> df = PreventionQualityIndicators.prepare_cols(
...     df, 'DIAG_CD_', 'PRCDR_CD_', 'PRCDR_CD_SYS_')
medicaid_utils.adapted_algorithms.py_ip_pqi.prevention_quality_indicators.pqirecode(df: DataFrame, dx_col_suffix: str = 'DIAG_CD_', pr_col_suffix: str = 'PRCDR_CD_', prsys_col_suffix: str = 'PRCDR_CD_SYS_', logger_name: str = 'pqi', lst_keep_cols: List[str] | None = None) Tuple[DataFrame, DataFrame][source]

Adds PQI measures to IP claims. Columns added:

  • Adults

PQI indicator column

Description

TAPQ01

DIABETES SHORT TERM COMPLICATION

TAPQ02

PERFORATED APPENDIX

TAPQ03

DIABETES LONG TERM COMPLICATION

TAPQ05

COPD

TAPQ07

HYPERTENSION

TAPQ08

CONGESTIVE HEART FAILURE

TAPQ10

DEHYDRATION

TAPQ11

BACTERIAL PNEUMONIA

TAPQ12

URINARY INFECTION

TAPQ13

ANGINA

TAPQ14

DIABETES UNCONTROLLED

TAPQ15

ADULT ASTHMA

TAPQ16

LOWER EXTREMITY AMPUTATION

TAPQ90

OVERALL

TAPQ91

ACUTE

TAPQ92

CHRONIC

  • Children

PQI indicator column

Description

TAPD14

PEDIATRIC ASTHMA

TAPD15

DIABETES SHORT TERM COMPLICATION

TAPD16

PEDIATRIC GASTROENTERITIS

TAPD17

PERFORATED APPENDIX

TAPD18

URINARY INFECTION

TAPQ09

LOW BIRTH WEIGHT

TAPD90

OVERALL

TAPD91

ACUTE

TAPD92

CHRONIC

Parameters:
  • df (dask.DataFrame) – IP claims dataframe

  • dx_col_suffix (str) – Diagnosis column names suffix

  • pr_col_suffix (str) – Procedure code column names suffix

  • prsys_col_suffix (str) – Procedure code system column names suffix

  • logger_name (str) – Logger name

  • lst_keep_cols (str) – List of columns in the claim that should be kept in the output dataframe

Returns:

Tuple of (adult PQI DataFrame, children PQI DataFrame).

Return type:

dask.DataFrame

Examples

>>> # Requires an IP claims dask DataFrame with required columns
>>> df_adult, df_children = pqirecode(df)