Skip to content

Commit

Permalink
rename capability. move models. add cobra model
Browse files Browse the repository at this point in the history
  • Loading branch information
bryanbierce committed Feb 6, 2025
1 parent 2997d03 commit 736a6f8
Show file tree
Hide file tree
Showing 5 changed files with 33 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -194,3 +194,31 @@ class CompanyEnrollmentInfo:
plans: list[BenefitsPlan]
"""The list of employees and their enrollments"""
employeeEnrollments: list[EmployeeEnrollments]


class CobraEventType(Enum):
"""The status of the employee's COBRA eligibility."""
"""The employee is currently enrolled in COBRA."""
EMPLOYEE_DEATH = "EMPLOYEE_DEATH"
DIVORCE = "DIVORCE"
LEGAL_SEPARATION = "LEGAL_SEPARATION"
LOSS_OF_DEPENDENT_STATUS = "LOSS_OF_DEPENDENT_STATUS"
MEDICARE_ELIGIBILITY = "MEDICARE_ELIGIBILITY"
INVOLUNTARTY_TERMINATION = "INVOLUNTARTY_TERMINATION"
VOLUNTARY_TERMINATION = "VOLUNTARY_TERMINATION"
EMPLOYMENT_TERMINATION = "EMPLOYMENT_TERMINATION"
REDUCTION_OF_HOURS = "REDUCTION_OF_HOURS"
RETIREMENT = "RETIREMENT"


class CobraEmployeeEnrollments(EmployeeEnrollments):
"""This object extends the EmployeeEnrollments object to include additional data for COBRA."""
"""The cobra status of the employee"""
cobraEventType: CobraEventType

class CompanyCobraEnrollmentInfo:
"""All enrollment information for a company"""
"""The list of plans offered by the company"""
plans: list[BenefitsPlan]
"""The list of employees and their enrollments"""
employeeEnrollments: list[CobraEmployeeEnrollments]
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
from abc import ABC, abstractmethod

from flux_sdk.flux_core.data_models import Employee, File
from flux_sdk.insurance_broker.capabilities.report_employee_enrollments.data_models import CompanyEnrollmentInfo
from flux_sdk.insurance_broker.capabilities.report_employee_enrollments_for_cobra.data_models import (
CompanyCobraEnrollmentInfo,
)


class ReportEmployeeEnrollments(ABC):
class ReportEmployeeEnrollmentsForCobra(ABC):
"""Provides base data to formate report on empoloyee enrollments.
The data on all company plans and employee enrollments will be provided.
Expand All @@ -16,7 +18,7 @@ class ReportEmployeeEnrollments(ABC):
@staticmethod
@abstractmethod
def format_employee_enrollment_data(
companyEnrollmentInfo: CompanyEnrollmentInfo,
companyEnrollmentInfo: CompanyCobraEnrollmentInfo,
employees: list[Employee],
) -> File:
"""This method is expected to use the employee data it receives to format a file to send to the 3rd party.
Expand Down

0 comments on commit 736a6f8

Please sign in to comment.