medicaid_utils.adapted_algorithms.py_low_value_care package¶
Submodules¶
medicaid_utils.adapted_algorithms.py_low_value_care.low_value_care module¶
This module generates low value care measures as in Charlesworth CJ, Meath THA, Schwartz AL, McConnell KJ. Low-value care in Medicaid and commercially insured populations: a comprehensive single-state analysis. JAMA Intern Med. Published online May 31, 2016. doi:10.1001/jamainternmed.2016.2086.
- class medicaid_utils.adapted_algorithms.py_low_value_care.low_value_care.LowValueCare[source]¶
Bases:
objectThis class packages functions to create indicator variables for low value care services
- classmethod construct_low_value_care_measures(pdf_dates: DataFrame, year: int, dct_msr_spec: dict, dct_denom_spec: dict) DataFrame[source]¶
Constructs low value care measures
- Parameters:
pdf_dates (pd.DataFrame) – Dataframe with condition/ measure date lists and eligibility info
year (int) – Year
dct_msr_spec – Measure spec dictionary
dct_denom_spec – Denomination spec dictionary
- Return type:
pd.DataFrame
Examples
>>> # Requires date lists and eligibility DataFrames with proper structure >>> pdf = LowValueCare.construct_low_value_care_measures( ... pdf_dates, 2012, dct_msr_spec, dct_denom_spec)
- data_folder = '/home/runner/work/medicaid-utils/medicaid-utils/medicaid_utils/adapted_algorithms/py_low_value_care/data'¶
- filename = 'low_value_care.py'¶
- classmethod generate_condn_and_eligibility_indicators(state: str, year: int, pdf_denom_spec: DataFrame, pdf_measure_spec: DataFrame, max_data_root: str, lst_bene_id_filter: List[str], out_folder: str, index_col: str = 'BENE_MSIS') None[source]¶
Creates condition & eligibility pattern indicators, and saves them as parquet files
- Parameters:
state (str) – State
year (int) – Year
pdf_denom_spec (pd.DataFrame) – Denomination spec dataframe
pdf_measure_spec (pd.DataFrame) – Measure spec dataframe
max_data_root (str) – Max files folder
lst_bene_id_filter (List[str]) – List of bene ids to filter to
out_folder (str) – Folder where temporary files can be saved
index_col (str) – Index column name
Examples
>>> # Requires Medicaid MAX data files on disk >>> LowValueCare.generate_condn_and_eligibility_indicators( ... 'AL', 2012, pdf_denom_spec, pdf_measure_spec, ... '/data/max', [], '/output')
- classmethod get_dates(state: str, year: int, lst_condn: List[str], index_col: str, claims_folder: str) DataFrame[source]¶
Aggregates dates at bene level for each denom/ measure condition. Three versions of date lists are returned based on the claim type the condition was present: ip, ed, ot, and all
- Parameters:
- Returns:
pdf_dates – Dataframe with denom/ measure condition date lists at bene level
- Return type:
pd.DataFrame
Examples
>>> # Requires parquet claim files with condition flags >>> pdf = LowValueCare.get_dates( ... 'AL', 2012, ['msr_sinusitis'], 'BENE_MSIS', '/output')
- classmethod get_dates_with_eligibility(state: str, year: int, lst_condn: List[str], index_col: str, claims_folder: str) DataFrame[source]¶
Returns eligibility info and dates for all conditions at bene level
- Parameters:
- Return type:
pd.DataFrame
Examples
>>> # Requires parquet claim files with condition flags and PS files >>> pdf = LowValueCare.get_dates_with_eligibility( ... 'AL', 2012, ['msr_sinusitis'], 'BENE_MSIS', '/output')
- classmethod get_denom_measure_spec() Tuple[dict, dict, List[str], DataFrame, DataFrame][source]¶
Returns denom measure specs
- Returns:
dct_measures (dict) – Measures dictionary
dct_denom (dict) – Denominator dictionary
lst_condn (list of str) – List of conditions
pdf_denom_spec_codes (pd.DataFrame) – Denominator spec codes dataframe
pdf_measure_spec_codes (pd.DataFrame) – Measure spec codes dataframe
Examples
>>> # Requires the bundled low_value_care.xlsx data file >>> dct_msr, dct_denom, lst, pdf_d, pdf_m = ( ... LowValueCare.get_denom_measure_spec())
- classmethod get_diag_proc_codes(pdf_denom_spec: DataFrame, pdf_measure_spec: DataFrame) Tuple[dict, dict][source]¶
Returns dictionaries of diagnosis & procedure codes
- Parameters:
pdf_denom_spec (pd.DataFrame) – Denom spec dataframe
pdf_measure_spec (pd.DataFrame) – Measure spec dataframe
- Returns:
dct_diag_codes (dict) – Dictionary of diagnostic codes
dct_proc_codes (dict) – Dictionary of procedure codes
Examples
>>> # Requires denom and measure spec DataFrames >>> dct_diag, dct_proc = LowValueCare.get_diag_proc_codes( ... pdf_denom_spec, pdf_measure_spec)
- classmethod get_diag_proc_specs(pdf_spec: DataFrame, prefix: str) Tuple[dict, dict, dict, dict][source]¶
Returns DX & procedure code specs as dictionary
- Parameters:
pdf_spec (pd.DataFrame) – Diagnostic/ procedure code specifications dataframe
prefix ({'denom', 'msr'}) – Prefix to denote condition type
- Returns:
dct_diag_codes (dict) – Diagnosis codes dictionary
dct_excl_diag_codes (dict) – Excluded Diagnosis codes dictionary
dct_proc_codes (dict) – Procedure codes dictionary
dct_excl_proc_codes (dict) – Excluded procedure codes dictionary
Examples
>>> # Requires a properly formatted spec DataFrame >>> dct_diag, dct_excl_diag, dct_proc, dct_excl_proc = ( ... LowValueCare.get_diag_proc_specs(pdf_spec, 'denom'))
- classmethod normalize_condition_names(pdf_spec: DataFrame) DataFrame[source]¶
Normalizers condition names so they can be used as column names
- Parameters:
pdf_spec (pd.DataFrame) – Diagnostic/ procedure code specifications dataframe
- Returns:
Dataframe with conditions names normalized
- Return type:
pd.DataFrame
Examples
>>> import pandas as pd >>> pdf = pd.DataFrame({ ... 'description': ['Heart Failure (Acute)'], ... 'measure': ['HF Test'] ... }) >>> result = LowValueCare.normalize_condition_names(pdf) >>> result['description'].iloc[0] 'heart_failure_acute_'
- package_folder = '/home/runner/work/medicaid-utils/medicaid-utils/medicaid_utils/adapted_algorithms/py_low_value_care'¶
- medicaid_utils.adapted_algorithms.py_low_value_care.low_value_care.construct_low_value_care_measures(state: str, year: int, lst_bene_msis_filter: List[str], index_col: str, max_data_root: str, out_folder: str) DataFrame[source]¶
Constructs low value care measures for the given year and state
- Parameters:
- Returns:
pdf_dates – Dataframe with low value care measures
- Return type:
pd.DataFrame
Examples
>>> # Requires actual Medicaid MAX claim files and bundled spec data >>> construct_low_value_care_measures( ... 'AL', 2012, [], 'BENE_MSIS', '/data/max', '/output')