OB/GYN Topic Module

The obgyn module provides functions for maternal and reproductive health research using Medicaid claims data. These routines were developed for peer-reviewed publications on delivery outcomes, short-interval pregnancy, and severe maternal morbidity.

Module Structure

Submodule

Purpose

hospitalization

Delivery flagging, birth outcomes, prenatal care, maternal morbidity

comorbities

Chronic condition flags via MAX CC file

cohort_indicators

Provider classification (religious affiliation), transfer flags

Delivery Flagging

Detecting deliveries

flag_delivery() identifies live births and stillbirths from inpatient claims using ICD-9 and ICD-10 diagnosis codes:

from medicaid_utils.topics.obgyn import hospitalization

df_flagged = hospitalization.flag_delivery(ip.df, cms_format="MAX")

# For TAF:
df_flagged = hospitalization.flag_delivery(ip.dct_files["base"], cms_format="TAF")

Mode of delivery

flag_delivery_mode() classifies deliveries as vaginal or cesarean using procedure codes:

df_mode = hospitalization.flag_delivery_mode(df_flagged)

Preterm birth

flag_preterm() detects preterm birth-related hospitalizations:

df_preterm = hospitalization.flag_preterm(df_flagged, cms_format="MAX")

Multiple births

flag_multiple_births() identifies multiple birth events:

df_multiples = hospitalization.flag_multiple_births(df_flagged)

Abnormal Pregnancy Outcomes

flag_abnormal_pregnancy() detects ectopic, molar, or abnormal pregnancy, as well as spontaneous or induced abortions:

df_abnormal = hospitalization.flag_abnormal_pregnancy(ip.df, cms_format="MAX")

Maternal Morbidity

flag_smm_events() adds flags for severe maternal morbidity (SMM) events within 90 days of delivery:

df_smm = hospitalization.flag_smm_events(ip.df, cms_format="MAX")

Prenatal and Preconception Care

flag_prenatal() flags claims with prenatal care codes, and flag_preconception_care() flags preconception care:

df_prenatal = hospitalization.flag_prenatal(ot.df, cms_format="MAX")
df_preconception = hospitalization.flag_preconception_care(ot.df, cms_format="MAX")

Conception Date Estimation

calculate_conception() estimates the conception date based on delivery type and delivery date:

df_conception, df_details = hospitalization.calculate_conception(df_delivery)

Returns two DataFrames: one with estimated conception dates and one with supporting detail.

Chronic Condition Comorbidities

flag_chronic_conditions() adds boolean columns for chronic conditions using the MAX Chronic Conditions (CC) file. Flags include diabetes, hypertension, CKD, depression, COPD, and tobacco use:

from medicaid_utils.preprocessing import max_cc
from medicaid_utils.topics.obgyn import comorbities

cc = max_cc.MAXCC(year=2012, state="WY", data_root="/data/cms")
df_conditions = comorbities.flag_chronic_conditions(cc)

Note

This function works with the MAX CC file specifically. For TAF data, use diagnosis-based flagging via dx_and_proc.

Cohort Indicators

Provider religious affiliation

flag_religious_npis() classifies hospital NPIs as Catholic, other religious, or secular:

from medicaid_utils.topics.obgyn import cohort_indicators

df_npi = cohort_indicators.flag_religious_npis(ip.df)

Discharge transfers

flag_transfers() adds indicator columns for discharge transfer status (MAX only):

df_transfers = cohort_indicators.flag_transfers(ip.df)

See also

Quality Measures & Domain Modules for related clinical quality measures, Risk Adjustment & Clinical Algorithms for comorbidity scoring.