

# eligibility

`matching.eligibility`

Module for determining energy community eligibility based on system characteristics.

## Functions

| Name | Description |
|----|----|
| [calculate_non_snh_install_date](#nova_ec.matching.eligibility.calculate_non_snh_install_date) | Calculate installation date for non-SNH systems. |
| [determine_ec_eligibility](#nova_ec.matching.eligibility.determine_ec_eligibility) | Determine eligibility for different energy community definitions. |
| [safe_date_convert](#nova_ec.matching.eligibility.safe_date_convert) | Safely convert a date input to pandas datetime. |

### calculate_non_snh_install_date

``` python
matching.eligibility.calculate_non_snh_install_date(df)
```

Calculate installation date for non-SNH systems.

Args: df: DataFrame containing system data

Returns: Series with calculated installation dates

### determine_ec_eligibility

``` python
matching.eligibility.determine_ec_eligibility(df)
```

Determine eligibility for different energy community definitions. Explicitly checks all criteria and identifies any systems that don’t match.

Args: df: DataFrame containing solar system data

Returns: DataFrame with eligibility flags

Raises: ValueError: If required columns are missing or if systems don’t match any criteria

### safe_date_convert

``` python
matching.eligibility.safe_date_convert(date_input)
```

Safely convert a date input to pandas datetime.

Args: date_input: Date to convert

Returns: Series with converted dates
