From a179bff3c265414a15ccb484c08922bae3252753 Mon Sep 17 00:00:00 2001 From: Prawar-28 Date: Fri, 17 Jan 2025 14:01:49 +0530 Subject: [PATCH 1/7] flux-sdk for broker apps --- flux_sdk/broker_apps/__init__.py | 0 flux_sdk/broker_apps/capabilities/__init__.py | 0 .../capabilities/upload_census_data/BUILD | 1 + .../upload_census_data/__init__.py | 0 .../upload_census_data/data_model.py | 42 +++++++++++++++++++ .../upload_census_data/interface.py | 27 ++++++++++++ 6 files changed, 70 insertions(+) create mode 100644 flux_sdk/broker_apps/__init__.py create mode 100644 flux_sdk/broker_apps/capabilities/__init__.py create mode 100644 flux_sdk/broker_apps/capabilities/upload_census_data/BUILD create mode 100644 flux_sdk/broker_apps/capabilities/upload_census_data/__init__.py create mode 100644 flux_sdk/broker_apps/capabilities/upload_census_data/data_model.py create mode 100644 flux_sdk/broker_apps/capabilities/upload_census_data/interface.py diff --git a/flux_sdk/broker_apps/__init__.py b/flux_sdk/broker_apps/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/flux_sdk/broker_apps/capabilities/__init__.py b/flux_sdk/broker_apps/capabilities/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/flux_sdk/broker_apps/capabilities/upload_census_data/BUILD b/flux_sdk/broker_apps/capabilities/upload_census_data/BUILD new file mode 100644 index 00000000..db46e8d6 --- /dev/null +++ b/flux_sdk/broker_apps/capabilities/upload_census_data/BUILD @@ -0,0 +1 @@ +python_sources() diff --git a/flux_sdk/broker_apps/capabilities/upload_census_data/__init__.py b/flux_sdk/broker_apps/capabilities/upload_census_data/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/flux_sdk/broker_apps/capabilities/upload_census_data/data_model.py b/flux_sdk/broker_apps/capabilities/upload_census_data/data_model.py new file mode 100644 index 00000000..2e5dbbdc --- /dev/null +++ b/flux_sdk/broker_apps/capabilities/upload_census_data/data_model.py @@ -0,0 +1,42 @@ +from typing import Optional + + +class MemberData: + company_name: str + company_id: str + company_ein: str + first_name: str + middle_name: str + last_name: str + subscriber_email: Optional[str] + employee_ssn: str + relationship: str + gender: str + dob: str + member_ssn: str + employee_cell_phone: Optional[str] + address_line_1: str + address_line_2: str + city: str + state: str + zip: str + hire_date: Optional[str] + title: Optional[str] + employment_type: Optional[str] + hours: Optional[str] + earnings: Optional[str] + salary: Optional[str] + work_location: Optional[str] + employee_class: Optional[str] + pay_cycle: Optional[str] + plan_type: str + carrier_name: str + plan_name: str + plan_enrollment_date: str + coverage_tier: str + coverage_details: str + action: str + employee_rate: str + employer_rate: str + total_rate: str + smoker: str diff --git a/flux_sdk/broker_apps/capabilities/upload_census_data/interface.py b/flux_sdk/broker_apps/capabilities/upload_census_data/interface.py new file mode 100644 index 00000000..66e4f2c6 --- /dev/null +++ b/flux_sdk/broker_apps/capabilities/upload_census_data/interface.py @@ -0,0 +1,27 @@ +from abc import ABC, abstractmethod + +from flux_sdk.flux_core.data_models import AppContext, CompanyInfo, File +from flux_sdk.broker_apps.capabilities.upload_census_data import MemberData + +class UploadCensusData(ABC): + """ + This class represents the "upload census data" capability. The developer is supposed to implement + get_formatted_census_file in their implementation. For further details regarding their + implementation details, check their documentation. + + An instance of this class cannot be initiated unless this method is implemented. + """ + + @staticmethod + @abstractmethod + def get_formatted_census_file(company_info: CompanyInfo, member_census: list[MemberData], + app_context: AppContext) -> list[File]: + """A function that converts member census data to formatted census file. + + This method receives company information and a list of MemberData objects. The developer is expected to + return the app specific list of formatted census files. + :param company_info: + :param member_census: + :param app_context: + :return: + """ From 44f7c031c4f8b91e4f7697b9ba9a4cabfe590516 Mon Sep 17 00:00:00 2001 From: Prawar-28 Date: Fri, 17 Jan 2025 14:07:14 +0530 Subject: [PATCH 2/7] lint fix --- .../upload_census_data/{data_model.py => data_models.py} | 0 .../broker_apps/capabilities/upload_census_data/interface.py | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename flux_sdk/broker_apps/capabilities/upload_census_data/{data_model.py => data_models.py} (100%) diff --git a/flux_sdk/broker_apps/capabilities/upload_census_data/data_model.py b/flux_sdk/broker_apps/capabilities/upload_census_data/data_models.py similarity index 100% rename from flux_sdk/broker_apps/capabilities/upload_census_data/data_model.py rename to flux_sdk/broker_apps/capabilities/upload_census_data/data_models.py diff --git a/flux_sdk/broker_apps/capabilities/upload_census_data/interface.py b/flux_sdk/broker_apps/capabilities/upload_census_data/interface.py index 66e4f2c6..529b4c42 100644 --- a/flux_sdk/broker_apps/capabilities/upload_census_data/interface.py +++ b/flux_sdk/broker_apps/capabilities/upload_census_data/interface.py @@ -1,7 +1,7 @@ from abc import ABC, abstractmethod +from flux_sdk.broker_apps.capabilities.upload_census_data.data_models import MemberData from flux_sdk.flux_core.data_models import AppContext, CompanyInfo, File -from flux_sdk.broker_apps.capabilities.upload_census_data import MemberData class UploadCensusData(ABC): """ From 786cd5b8895426db9280258af88eeb9a7eb6a467 Mon Sep 17 00:00:00 2001 From: Prawar-28 Date: Fri, 17 Jan 2025 14:11:03 +0530 Subject: [PATCH 3/7] import fix --- .../broker_apps/capabilities/upload_census_data/interface.py | 1 + 1 file changed, 1 insertion(+) diff --git a/flux_sdk/broker_apps/capabilities/upload_census_data/interface.py b/flux_sdk/broker_apps/capabilities/upload_census_data/interface.py index 529b4c42..3096e5ca 100644 --- a/flux_sdk/broker_apps/capabilities/upload_census_data/interface.py +++ b/flux_sdk/broker_apps/capabilities/upload_census_data/interface.py @@ -3,6 +3,7 @@ from flux_sdk.broker_apps.capabilities.upload_census_data.data_models import MemberData from flux_sdk.flux_core.data_models import AppContext, CompanyInfo, File + class UploadCensusData(ABC): """ This class represents the "upload census data" capability. The developer is supposed to implement From 7be88de893e8232dad0a57ecc167d429bfd21ab9 Mon Sep 17 00:00:00 2001 From: Prawar-28 Date: Fri, 17 Jan 2025 15:37:19 +0530 Subject: [PATCH 4/7] update flux-sdk name --- flux_sdk/{broker_apps => broker_app}/__init__.py | 0 flux_sdk/{broker_apps => broker_app}/capabilities/__init__.py | 0 .../capabilities/upload_census_data/BUILD | 0 .../capabilities/upload_census_data/__init__.py | 0 .../capabilities/upload_census_data/data_models.py | 0 .../capabilities/upload_census_data/interface.py | 2 +- 6 files changed, 1 insertion(+), 1 deletion(-) rename flux_sdk/{broker_apps => broker_app}/__init__.py (100%) rename flux_sdk/{broker_apps => broker_app}/capabilities/__init__.py (100%) rename flux_sdk/{broker_apps => broker_app}/capabilities/upload_census_data/BUILD (100%) rename flux_sdk/{broker_apps => broker_app}/capabilities/upload_census_data/__init__.py (100%) rename flux_sdk/{broker_apps => broker_app}/capabilities/upload_census_data/data_models.py (100%) rename flux_sdk/{broker_apps => broker_app}/capabilities/upload_census_data/interface.py (92%) diff --git a/flux_sdk/broker_apps/__init__.py b/flux_sdk/broker_app/__init__.py similarity index 100% rename from flux_sdk/broker_apps/__init__.py rename to flux_sdk/broker_app/__init__.py diff --git a/flux_sdk/broker_apps/capabilities/__init__.py b/flux_sdk/broker_app/capabilities/__init__.py similarity index 100% rename from flux_sdk/broker_apps/capabilities/__init__.py rename to flux_sdk/broker_app/capabilities/__init__.py diff --git a/flux_sdk/broker_apps/capabilities/upload_census_data/BUILD b/flux_sdk/broker_app/capabilities/upload_census_data/BUILD similarity index 100% rename from flux_sdk/broker_apps/capabilities/upload_census_data/BUILD rename to flux_sdk/broker_app/capabilities/upload_census_data/BUILD diff --git a/flux_sdk/broker_apps/capabilities/upload_census_data/__init__.py b/flux_sdk/broker_app/capabilities/upload_census_data/__init__.py similarity index 100% rename from flux_sdk/broker_apps/capabilities/upload_census_data/__init__.py rename to flux_sdk/broker_app/capabilities/upload_census_data/__init__.py diff --git a/flux_sdk/broker_apps/capabilities/upload_census_data/data_models.py b/flux_sdk/broker_app/capabilities/upload_census_data/data_models.py similarity index 100% rename from flux_sdk/broker_apps/capabilities/upload_census_data/data_models.py rename to flux_sdk/broker_app/capabilities/upload_census_data/data_models.py diff --git a/flux_sdk/broker_apps/capabilities/upload_census_data/interface.py b/flux_sdk/broker_app/capabilities/upload_census_data/interface.py similarity index 92% rename from flux_sdk/broker_apps/capabilities/upload_census_data/interface.py rename to flux_sdk/broker_app/capabilities/upload_census_data/interface.py index 3096e5ca..335ca8b0 100644 --- a/flux_sdk/broker_apps/capabilities/upload_census_data/interface.py +++ b/flux_sdk/broker_app/capabilities/upload_census_data/interface.py @@ -1,6 +1,6 @@ from abc import ABC, abstractmethod -from flux_sdk.broker_apps.capabilities.upload_census_data.data_models import MemberData +from flux_sdk.broker_app.capabilities.upload_census_data.data_models import MemberData from flux_sdk.flux_core.data_models import AppContext, CompanyInfo, File From 2c45f1bf3b4a98d17c9b701128ae7d570cff694a Mon Sep 17 00:00:00 2001 From: Prawar-28 Date: Tue, 21 Jan 2025 15:20:28 +0530 Subject: [PATCH 5/7] update kit name --- flux_sdk/{broker_app => specialised_benefit}/__init__.py | 0 .../capabilities/__init__.py | 0 .../capabilities/upload_census_data/BUILD | 0 .../capabilities/upload_census_data/__init__.py | 0 .../capabilities/upload_census_data/data_models.py | 0 .../capabilities/upload_census_data/interface.py | 2 +- 6 files changed, 1 insertion(+), 1 deletion(-) rename flux_sdk/{broker_app => specialised_benefit}/__init__.py (100%) rename flux_sdk/{broker_app => specialised_benefit}/capabilities/__init__.py (100%) rename flux_sdk/{broker_app => specialised_benefit}/capabilities/upload_census_data/BUILD (100%) rename flux_sdk/{broker_app => specialised_benefit}/capabilities/upload_census_data/__init__.py (100%) rename flux_sdk/{broker_app => specialised_benefit}/capabilities/upload_census_data/data_models.py (100%) rename flux_sdk/{broker_app => specialised_benefit}/capabilities/upload_census_data/interface.py (91%) diff --git a/flux_sdk/broker_app/__init__.py b/flux_sdk/specialised_benefit/__init__.py similarity index 100% rename from flux_sdk/broker_app/__init__.py rename to flux_sdk/specialised_benefit/__init__.py diff --git a/flux_sdk/broker_app/capabilities/__init__.py b/flux_sdk/specialised_benefit/capabilities/__init__.py similarity index 100% rename from flux_sdk/broker_app/capabilities/__init__.py rename to flux_sdk/specialised_benefit/capabilities/__init__.py diff --git a/flux_sdk/broker_app/capabilities/upload_census_data/BUILD b/flux_sdk/specialised_benefit/capabilities/upload_census_data/BUILD similarity index 100% rename from flux_sdk/broker_app/capabilities/upload_census_data/BUILD rename to flux_sdk/specialised_benefit/capabilities/upload_census_data/BUILD diff --git a/flux_sdk/broker_app/capabilities/upload_census_data/__init__.py b/flux_sdk/specialised_benefit/capabilities/upload_census_data/__init__.py similarity index 100% rename from flux_sdk/broker_app/capabilities/upload_census_data/__init__.py rename to flux_sdk/specialised_benefit/capabilities/upload_census_data/__init__.py diff --git a/flux_sdk/broker_app/capabilities/upload_census_data/data_models.py b/flux_sdk/specialised_benefit/capabilities/upload_census_data/data_models.py similarity index 100% rename from flux_sdk/broker_app/capabilities/upload_census_data/data_models.py rename to flux_sdk/specialised_benefit/capabilities/upload_census_data/data_models.py diff --git a/flux_sdk/broker_app/capabilities/upload_census_data/interface.py b/flux_sdk/specialised_benefit/capabilities/upload_census_data/interface.py similarity index 91% rename from flux_sdk/broker_app/capabilities/upload_census_data/interface.py rename to flux_sdk/specialised_benefit/capabilities/upload_census_data/interface.py index 335ca8b0..21b88b1d 100644 --- a/flux_sdk/broker_app/capabilities/upload_census_data/interface.py +++ b/flux_sdk/specialised_benefit/capabilities/upload_census_data/interface.py @@ -1,6 +1,6 @@ from abc import ABC, abstractmethod -from flux_sdk.broker_app.capabilities.upload_census_data.data_models import MemberData +from flux_sdk.specialised_benefit.capabilities.upload_census_data.data_models import MemberData from flux_sdk.flux_core.data_models import AppContext, CompanyInfo, File From 8b40409354e2065db00b6e2efeaf75ae6ba32895 Mon Sep 17 00:00:00 2001 From: Prawar-28 Date: Tue, 21 Jan 2025 15:23:01 +0530 Subject: [PATCH 6/7] lint fix --- .../capabilities/upload_census_data/interface.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flux_sdk/specialised_benefit/capabilities/upload_census_data/interface.py b/flux_sdk/specialised_benefit/capabilities/upload_census_data/interface.py index 21b88b1d..b2f9e7cb 100644 --- a/flux_sdk/specialised_benefit/capabilities/upload_census_data/interface.py +++ b/flux_sdk/specialised_benefit/capabilities/upload_census_data/interface.py @@ -1,7 +1,7 @@ from abc import ABC, abstractmethod -from flux_sdk.specialised_benefit.capabilities.upload_census_data.data_models import MemberData from flux_sdk.flux_core.data_models import AppContext, CompanyInfo, File +from flux_sdk.specialised_benefit.capabilities.upload_census_data.data_models import MemberData class UploadCensusData(ABC): From f039710d575b67ae7efd560673b55ff3eb381943 Mon Sep 17 00:00:00 2001 From: Prawar-28 Date: Tue, 21 Jan 2025 19:55:17 +0530 Subject: [PATCH 7/7] rename kit --- flux_sdk/{specialised_benefit => insurance_broker}/__init__.py | 0 .../capabilities/__init__.py | 0 .../capabilities/upload_census_data/BUILD | 0 .../capabilities/upload_census_data/__init__.py | 0 .../capabilities/upload_census_data/data_models.py | 0 .../capabilities/upload_census_data/interface.py | 2 +- 6 files changed, 1 insertion(+), 1 deletion(-) rename flux_sdk/{specialised_benefit => insurance_broker}/__init__.py (100%) rename flux_sdk/{specialised_benefit => insurance_broker}/capabilities/__init__.py (100%) rename flux_sdk/{specialised_benefit => insurance_broker}/capabilities/upload_census_data/BUILD (100%) rename flux_sdk/{specialised_benefit => insurance_broker}/capabilities/upload_census_data/__init__.py (100%) rename flux_sdk/{specialised_benefit => insurance_broker}/capabilities/upload_census_data/data_models.py (100%) rename flux_sdk/{specialised_benefit => insurance_broker}/capabilities/upload_census_data/interface.py (91%) diff --git a/flux_sdk/specialised_benefit/__init__.py b/flux_sdk/insurance_broker/__init__.py similarity index 100% rename from flux_sdk/specialised_benefit/__init__.py rename to flux_sdk/insurance_broker/__init__.py diff --git a/flux_sdk/specialised_benefit/capabilities/__init__.py b/flux_sdk/insurance_broker/capabilities/__init__.py similarity index 100% rename from flux_sdk/specialised_benefit/capabilities/__init__.py rename to flux_sdk/insurance_broker/capabilities/__init__.py diff --git a/flux_sdk/specialised_benefit/capabilities/upload_census_data/BUILD b/flux_sdk/insurance_broker/capabilities/upload_census_data/BUILD similarity index 100% rename from flux_sdk/specialised_benefit/capabilities/upload_census_data/BUILD rename to flux_sdk/insurance_broker/capabilities/upload_census_data/BUILD diff --git a/flux_sdk/specialised_benefit/capabilities/upload_census_data/__init__.py b/flux_sdk/insurance_broker/capabilities/upload_census_data/__init__.py similarity index 100% rename from flux_sdk/specialised_benefit/capabilities/upload_census_data/__init__.py rename to flux_sdk/insurance_broker/capabilities/upload_census_data/__init__.py diff --git a/flux_sdk/specialised_benefit/capabilities/upload_census_data/data_models.py b/flux_sdk/insurance_broker/capabilities/upload_census_data/data_models.py similarity index 100% rename from flux_sdk/specialised_benefit/capabilities/upload_census_data/data_models.py rename to flux_sdk/insurance_broker/capabilities/upload_census_data/data_models.py diff --git a/flux_sdk/specialised_benefit/capabilities/upload_census_data/interface.py b/flux_sdk/insurance_broker/capabilities/upload_census_data/interface.py similarity index 91% rename from flux_sdk/specialised_benefit/capabilities/upload_census_data/interface.py rename to flux_sdk/insurance_broker/capabilities/upload_census_data/interface.py index b2f9e7cb..ac2133ec 100644 --- a/flux_sdk/specialised_benefit/capabilities/upload_census_data/interface.py +++ b/flux_sdk/insurance_broker/capabilities/upload_census_data/interface.py @@ -1,7 +1,7 @@ from abc import ABC, abstractmethod from flux_sdk.flux_core.data_models import AppContext, CompanyInfo, File -from flux_sdk.specialised_benefit.capabilities.upload_census_data.data_models import MemberData +from flux_sdk.insurance_broker.capabilities.upload_census_data.data_models import MemberData class UploadCensusData(ABC):