FastEHR.dataloader.utils.study_criteria

Classes

index_inclusion_method

Filters a dataset based on indexing criteria, outcomes, and study constraints.

Module Contents

class FastEHR.dataloader.utils.study_criteria.index_inclusion_method(index_on, outcomes, require_outcome=False, include_on_events_prior_to_index=None, exclude_on_events_prior_to_index=None, exclude_on_events=None, study_period=['1998-01-01', '2019-12-31'], age_at_entry_range=[25, 85], min_registered_years=1, min_events=None)

Filters a dataset based on indexing criteria, outcomes, and study constraints.

Parameters

index_on (Union[str, List[str], float, int]):

Defines the indexing criteria: - If indexing on an event, provide the event name as a string. - If indexing on multiple events, provide a list of event name strings. - If indexing by age, provide a float or integer representing age in days. - When multiple index events exist, the first valid index date is taken.

outcomes (Union[List[str], Callable]):

Specifies the outcomes of interest: - A list of event names to be used as outcomes. - A callable object that filters the event column of the dataframe for the desired outcomes.

require_outcome (bool, optional):

Whether the outcome must be observed within the study period constraints. - If False, includes patients who have not yet seen the outcome (e.g., survival analysis). - If True, includes only patients who have observed the outcome, though its value may still be missing.

include_on_events_prior_to_index (Tuple[str, int], optional):

Filters patients based on prior events before the index date. - The first element is a string indicating the event token. - The second element is an integer representing the number of days before the index event. - Example: If studying medication effects post-diagnosis, you may include only those diagnosed 60 days before medication.

exclude_on_events_prior_to_index (List[str], optional):

Excludes patients based on events occurring before the index date. - Example 1: If studying the initiation of a medication, patients already on the medication may be excluded.

exclude_on_events (List[str], optional):

Excludes patients based on whether they have experienced an event at any time. - Example: If studying Type II diabetes, patients with a Type I diabetes diagnosis may be excluded.

study_period (List[str], optional):

Defines the study period in the format [“yyyy-mm-dd”, “yyyy-mm-dd”] in chronological order. - The start of the study period does not determine the start of observations but contributes to defining the indexing period. - The study end date marks the end of observations.

age_at_entry_range (List[int], optional):

Defines the allowable age range for cohort entry in years [min_age, max_age].

min_registered_years (int, optional):

The minimum number of years a patient must be registered at the practice for inclusion at cohort entry.

min_events (int, optional):

The minimum number of events a patient must have experienced (up to and including the index event) to be included in the study.

Notes: - This function is executed on a per-practice basis, so there is no concern about overlapping PATIENT_ID values.

fit(lazy_static, lazy_combined_frame)