← Methods repository
concept

Mother-Infant Linkage

A cohort-construction step that connects a pregnant person's records to the records of the resulting infant(s) in claims, EHR, or registry data so that in-utero (or lactation) drug exposure can be attributed to infant outcomes within a single longitudinal analytic dataset.

Study_Designmother-infant-linkagepregnancy-pharmacoepidemiologyperinatal-epidemiologycohort-constructionrecord-linkagecongenital-malformationsspecial-populations
Methods reference only. Use primary source citations and local policy before applying this in a study protocol, regulatory submission, payer dossier, or clinical decision.

In plain language

Mother-infant linkage is a data-joining step that connects a pregnant person's health records to the records of her newborn so a researcher can measure what the mother was exposed to during pregnancy and what happened to the baby after birth. Without this join, you only have half the story: the drug fills are on the mother's record, but the malformation diagnosis is on the baby's record. The catch is that you can only link pairs where the baby was born alive and enrolled in the same insurance plan, so babies who were never born or whose families were on a different plan are silently missing from your study, which can make a harmful drug look safer than it really is.

Mother-infant linkage

is the operational backbone of pregnancy and infant pharmacoepidemiology in routinely collected data. The scientific question — does a maternal exposure during a specific gestational window cause an infant outcome (major congenital malformation, preterm birth, neurodevelopmental endpoint) — cannot be answered unless each mother record is joined to the record(s) of her live-born infant(s), because exposure is measured on the mother's timeline and the outcome accrues on the infant's timeline. Linkage produces the pivot table that lets a single analytic cohort carry maternal `index_date`, the pregnancy window, and the infant's `birth_date`, enrollment, and outcome follow-up. It is a cohort-construction operation, not an estimator: the estimand (e.g., risk of malformation among live births under exposed vs unexposed maternal treatment strategies) is specified downstream, but its validity is bounded by how well the link was built.

Core conceptual distinction

Two ideas are separable and both must be specified. (1) Linkage mechanism: a deterministic link uses a shared key — a family/subscriber identifier in commercial claims, a maternal Medicaid identifier (`MSIS_ID`) carried onto the infant claim, or a birth-certificate / hospital-discharge record that names both — optionally constrained by a date rule (infant `birth_date` falls within a tight window of a maternal delivery claim). A probabilistic link scores candidate mother-infant pairs on multiple partial identifiers (date of birth, ZIP, plan, delivery hospital) when no single key is reliable. (2) Linkage substrate / direction of conditioning: linkage in claims and EHR is almost always live-birth-conditioned — the infant must enroll or generate a record to be linkable, so the cohort is implicitly restricted to pregnancies ending in a live, observed birth. This is the difference between asking "among live births, what is the risk?" (answerable by mother-infant linkage) and "among all pregnancies, what is the risk of any adverse outcome including loss?" (requires the maternal-only pregnancy cohort, not the linked infant cohort). Most malformation studies want the former; many safety questions about pregnancy loss demand the latter, and forcing the linked cohort onto a loss question induces selection bias.

Pros, cons, and trade-offs

- vs a maternal-only pregnancy cohort (no infant link): Linkage is the only way to ascertain infant outcomes diagnosed after delivery (malformations confirmed in the neonatal period, infant hospitalizations, developmental endpoints), which maternal records alone cannot capture. Cost: it conditions on live birth and infant observability, discarding pregnancies that end in loss or in an infant who never enrolls — a selection step that can be differential by exposure. Prefer linkage for infant outcomes; keep the maternal-only cohort in parallel for spontaneous-abortion / stillbirth endpoints and for a denominator check. - vs a dedicated pregnancy/birth-defects registry (e.g., a product or disease pregnancy registry): Registries prospectively collect adjudicated outcomes and exposures with low misclassification but are small, slow, prone to volunteer/selection bias, and rarely powered for rare malformations. Linked claims/EHR are large and population-based, capturing the full source population at the cost of algorithmic exposure and outcome definitions. Prefer linked administrative data for population estimates and rare endpoints; prefer (or triangulate with) a registry when teratogenic mechanism, dose, and adjudication matter and the exposure is uncommon. - vs probabilistic linkage: A clean deterministic key (subscriber/family ID, MSIS_ID + date rule) is faster, auditable, and defensible to regulators; probabilistic linkage rescues pairs when keys are missing but introduces false-match and missed-match error that must be quantified (sensitivity/PPV of the link itself) and propagated. Prefer deterministic when a stable key exists; reserve probabilistic linkage for fragmented sources and report its error.

When to use

Any study whose outcome is measured on the infant — major congenital malformations, small-for-gestational age, preterm birth confirmed at delivery, neonatal complications, infant hospitalization, or longer-horizon neurodevelopmental endpoints — with maternal exposure measured during a defined gestational window. It is the prerequisite step for in-utero exposure-outcome studies in commercial claims, Medicaid (MAX/T-MSIS), national systems (e.g., Sentinel mother-infant linkage tables), and linked EHR-vital-records substrates.

When NOT to use — and when it is actively misleading or dangerous

- The outcome is pregnancy loss or any non-live-birth endpoint. The linked infant cohort exists only for live births; using it to study miscarriage/stillbirth conditions on the very event of interest and is structurally biased. Use the maternal pregnancy cohort with all pregnancy outcomes. - Differential live-birth selection by exposure (the dangerous case). A strong teratogen or abortifacient can cause early pregnancy loss, so exposed pregnancies are differentially less likely to reach a linkable live birth. The surviving exposed infants are a selected, healthier-than-average subset (a live-birth / competing-event selection bias, analogous to depletion of susceptibles). The malformation risk among live births can be biased toward the null — the method looks reassuring precisely when the drug is most harmful. Diagnose by comparing live-birth proportions by exposure and by analyzing pregnancy loss in the maternal cohort; never report only the live-birth-conditioned estimate for a suspected teratogen. - No reliable linking key and high move/churn. Multi-state Medicaid moves break `MSIS_ID` carry-over; infants enrolled under a different plan or subscriber than the mother (e.g., infant on the other parent's commercial policy) are unlinkable, and the unlinkable fraction can correlate with socioeconomic factors and thus with exposure. - Twins/higher-order multiples handled as singletons. One delivery maps to N infants; collapsing them mis-assigns outcomes and miscounts the denominator. Multiples must fan out one maternal pregnancy to multiple infant rows with clustered/robust variance downstream.

Data-source operational depth

- Medicaid (MAX / T-MSIS): The reference substrate for U.S. pregnancy pharmacoepidemiology because Medicaid finances ~40-50% of U.S. births. Linkage uses the maternal `MSIS_ID` (or the explicit mother-infant linkage variables MAX/T-MSIS provides) plus a delivery-to-birth date rule. Failure modes: cross-state moves and re-enrollment churn break the longitudinal `MSIS_ID`, dropping infants; managed-care (capitated) encounters may under-report relative to fee-for-service so "no infant claim" can be missingness rather than no event; require continuous Medicaid enrollment for the mother across the pregnancy window and for the infant across the outcome window so absence of a diagnosis is observed, not unobserved. - Commercial claims: Link through the subscriber/family identifier — the infant typically enrolls as a new member under a parent subscriber within weeks of birth; pair on shared subscriber ID + infant `birth_date` within a tight window of the maternal delivery claim (DRG/ICD/CPT for delivery). Failure modes: the infant may be enrolled on a different subscriber than the exposed mother (unlinkable), short post-birth enrollment truncates outcome ascertainment, and Medicare Advantage / capitated person-time drops fee-for-service claims so delivery or infant events can be invisible — exclude MA-only / capitated-only person-time or treat it as missing. - EHR: Linkage rides on the health-system's relational model (the mother's and infant's encounters share a birth event/encounter, or a documented maternal medical-record number on the neonatal chart). Strong for clinical detail (gestational age, birthweight, problem lists) but visit-driven: an infant who receives care outside the system is differentially lost, and external-care leakage truncates outcome capture. Prefer EHR linked to vital records. - Registry / linked vital records: Birth and fetal-death certificates anchor the pregnancy outcome and gestational age and (when linked to claims/EHR) supply the most complete, adjudicated denominator including stillbirths — the ideal substrate, but linkage to certificates introduces its own selection (only the linkable subset) and date-reconciliation issues among certificate date, delivery claim, and first infant claim.

Worked claims example

Question: risk of major congenital malformation among live-born infants of mothers who filled a study antiepileptic during the first trimester vs an active comparator antiepileptic, in a commercial + Medicaid FFS database. (1) Build the maternal pregnancy cohort: identify deliveries via delivery DRG/ICD/CPT codes; estimate pregnancy start (last menstrual period) by back-dating from the delivery using a gestational-age algorithm so the first-trimester exposure window is defined. (2) Require continuous maternal medical + pharmacy enrollment from before LMP through delivery (so first-trimester fills are observable) and exclude MA-only/capitated person-time. (3) Define exposure from `fill_date` + `days_supply` overlapping the first-trimester window on the maternal timeline. (4) Link: for each delivery, find the infant member sharing the maternal subscriber/family ID (commercial) or `MSIS_ID` (Medicaid) whose `birth_date` falls within +/- 7 days of the delivery claim; fan out twins/multiples to one infant row each; flag and count unlinkable deliveries. (5) Require continuous infant enrollment from birth through a fixed outcome window (e.g., 90 days or 1 year) so malformation diagnoses are observable. (6) Ascertain the outcome on the infant timeline with a validated malformation algorithm (e.g., >=1 inpatient or >=2 outpatient diagnoses in the window). (7) Diagnostics that gate the estimate: the linkage rate and unlinkable fraction by exposure arm, the live-birth proportion by arm (to detect differential loss), an attrition funnel, and a parallel maternal-cohort analysis of pregnancy loss; cluster variance on the pregnancy/mother for multiples; and a deterministic-vs-probabilistic-link sensitivity analysis. Estimation (PS-balanced risk ratio among live births) happens only after this linked cohort is validated.

Worked example

Scenario

A researcher wants to know whether a medication taken in the first three months of pregnancy raises the risk of a major birth defect in the baby. The drug fill records are on the mother's insurance file, but the birth-defect diagnosis will appear on the baby's insurance file after birth. To connect them, the analyst looks for a baby enrolled under the same family ID whose recorded birth date falls within a week of the mother's delivery claim. The table below shows five deliveries and the infant records found when searching by matching family ID and birth date.

Dataset

Five deliveries (rows A-E) showing which mother-infant pairs link successfully and which do not, along with the reason a pair cannot be joined.

pair_idmom_person_iddelivery_datefamily_idinfant_person_idinfant_birth_datedays_apartlink_statusreason_if_unlinked
AMOM-0012023-03-15FAM-100INF-2012023-03-15linked
BMOM-0022023-04-02FAM-200INF-2022023-04-031linked
CMOM-0032023-05-10FAM-300INF-2032023-05-111linked
DMOM-0042023-06-20FAM-400unlinkedInfant enrolled under father's separate policy, different family_id
EMOM-0052023-07-08FAM-500unlinkedPregnancy ended in stillbirth, no infant enrollment record exists

Steps

  • For each mother who has a delivery claim, search the insurance enrollment file for a new member who shares the same family ID and whose recorded birth date is within 7 days of the delivery date.

  • Pairs A, B, and C each have an infant enrolled under the same family ID within 1 day of the delivery, so they link successfully and the researcher can look up both the mother's drug fills and the baby's diagnosis records.

  • Pair D fails to link because the infant was enrolled under the father's separate employer plan, which has a different family ID, so no matching infant record exists on the mother's side.

  • Pair E fails to link because the pregnancy ended in a stillbirth; there is no live baby and therefore no infant enrollment record to find.

  • The linked cohort contains 3 of the 5 deliveries (60 percent linkage rate). The 2 unlinked deliveries are not random: one is a stillbirth (an adverse pregnancy outcome in its own right) and one reflects a family structure that correlates with socioeconomic factors, both of which can be related to the drug exposure being studied.

Result

3 out of 5 deliveries linked (linkage rate 60%). The 2 unlinked deliveries include 1 stillbirth and 1 infant on a different plan. If the drug being studied raises the risk of stillbirth, the exposed arm will lose more deliveries to unlinkability than the unexposed arm, making the drug look safer among the live-birth-only group than it actually is across all pregnancies.

Runnable example

python implementation

Deterministic mother-infant linkage and live-birth cohort assembly from claims-style inputs. Required inputs (cleaned, de-duplicated): deliveries : one row per maternal delivery -> mom_person_id, delivery_date (datetime), family_id (subscriber/MSIS key)...

import pandas as pd

DATE_TOL_DAYS = 7      # infant birth_date must fall within +/- 7 days of the maternal delivery claim
OUTCOME_DAYS  = 365    # required continuous infant enrollment from birth to ascertain the outcome

def link_mother_infant(deliveries: pd.DataFrame, infants: pd.DataFrame,
                       mom_enroll: pd.DataFrame, inf_enroll: pd.DataFrame) -> pd.DataFrame:
    # Candidate pairs share the family/subscriber (or MSIS) key; multiples naturally fan out here.
    pairs = deliveries.merge(infants, on="family_id", suffixes=("_mom", "_inf"))

    # Date rule: keep only infants born within tolerance of the delivery claim.
    gap = (pairs["birth_date"] - pairs["delivery_date"]).dt.days.abs()
    pairs = pairs[gap <= DATE_TOL_DAYS].copy()

    # Maternal enrollment must cover the gestational exposure window (~280d before delivery) and be FFS-observable.
    m = mom_enroll.merge(pairs[["mom_person_id", "delivery_date"]].drop_duplicates(), on="mom_person_id")
    m["covers"] = ((m["enroll_start"] <= m["delivery_date"] - pd.Timedelta(days=280)) &
                   (m["enroll_end"]   >= m["delivery_date"]) & (~m["ma_only"]))
    mom_ok = set(m.loc[m["covers"], "mom_person_id"])

    # Infant enrollment must cover birth through the outcome window and be FFS-observable.
    i = inf_enroll.merge(pairs[["infant_person_id", "birth_date"]].drop_duplicates(), on="infant_person_id")
    i["covers"] = ((i["enroll_start"] <= i["birth_date"]) &
                   (i["enroll_end"]   >= i["birth_date"] + pd.Timedelta(days=OUTCOME_DAYS)) & (~i["ma_only"]))
    inf_ok = set(i.loc[i["covers"], "infant_person_id"])

    linked = pairs[pairs["mom_person_id"].isin(mom_ok) & pairs["infant_person_id"].isin(inf_ok)].copy()
    # plurality > 1 flags multiples for clustered variance on mom_person_id downstream.
    linked["plurality"] = linked.groupby("mom_person_id")["infant_person_id"].transform("nunique")
    return linked[["mom_person_id", "infant_person_id", "delivery_date", "birth_date", "plurality"]]
r implementation

Deterministic mother-infant linkage with data.table. Inputs mirror the Python version: deliveries : mom_person_id, delivery_date (Date), family_id infants : infant_person_id, birth_date (Date), family_id mom_enroll : mom_person_id, enroll_start, enroll_end,...

library(data.table)
DATE_TOL_DAYS <- 7L
OUTCOME_DAYS  <- 365L

link_mother_infant <- function(deliveries, infants, mom_enroll, inf_enroll) {
  setDT(deliveries); setDT(infants); setDT(mom_enroll); setDT(inf_enroll)

  # Candidate pairs share the family/subscriber (or MSIS) key; multiples fan out.
  pairs <- merge(deliveries, infants, by = "family_id", allow.cartesian = TRUE)
  pairs <- pairs[abs(as.integer(birth_date - delivery_date)) <= DATE_TOL_DAYS]

  # Maternal enrollment must cover the gestational window (~280d) and be FFS-observable.
  m <- merge(mom_enroll, unique(pairs[, .(mom_person_id, delivery_date)]), by = "mom_person_id")
  mom_ok <- m[enroll_start <= delivery_date - 280L & enroll_end >= delivery_date & !ma_only,
              unique(mom_person_id)]

  # Infant enrollment must cover birth through the outcome window and be FFS-observable.
  i <- merge(inf_enroll, unique(pairs[, .(infant_person_id, birth_date)]), by = "infant_person_id")
  inf_ok <- i[enroll_start <= birth_date & enroll_end >= birth_date + OUTCOME_DAYS & !ma_only,
              unique(infant_person_id)]

  linked <- pairs[mom_person_id %in% mom_ok & infant_person_id %in% inf_ok]
  linked[, plurality := uniqueN(infant_person_id), by = mom_person_id]
  linked[, .(mom_person_id, infant_person_id, delivery_date, birth_date, plurality)]
}