From 59ba5739478f695b2be36c747ca992ab2556aa68 Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Wed, 24 Jan 2024 18:28:34 -0500 Subject: [PATCH] Update for ISHLT Impexium import --- app/routers/e_impexium.py | 51 ++++++++++++++++++--------------------- 1 file changed, 24 insertions(+), 27 deletions(-) diff --git a/app/routers/e_impexium.py b/app/routers/e_impexium.py index 9ae9c38..7a2d9ca 100644 --- a/app/routers/e_impexium.py +++ b/app/routers/e_impexium.py @@ -22,7 +22,7 @@ router = APIRouter() # ### BEGIN ### API Impexium ### event_import_reg() ### -# Updated 2023-04-12 +# Updated 2024-04-12 @router.get('/event/{e_impexium_event_id}/import_reg', response_model=Resp_Body_Base) async def event_import_reg( e_impexium_event_id: str = Query(..., min_length=11, max_length=22), # For ISHLT: 42_AM (2022-04); EX22_AM (2022-04); 41V_2 (2021-04) @@ -66,7 +66,7 @@ async def event_import_reg( # BEGIN: Loop through the registrants pulled from Impexium loop_count = 0 - loop_limit = 4500 # 200 + loop_limit = 3500 # add 1 for the actual final count event_person_li = [] event_person_summary_li = [] for event_registrant in event_registrant_li: @@ -126,9 +126,9 @@ async def event_import_reg( badge_type_code_guest = ('guest') badge_type_code_staff = ('staff') - if e_impexium_event_id == '2023_Annual Meeting': - log.info('Processing ISHLT 2023 Annual Meeting Registration...') - event_badge_data['event_badge_template_id'] = 10 + if e_impexium_event_id == '2024_Annual Meeting': + log.info('Processing ISHLT 2024 Annual Meeting Registration...') + event_badge_data['event_badge_template_id'] = 15 event_badge_data['badge_type_code'] = None event_badge_data['badge_type'] = None @@ -177,31 +177,28 @@ async def event_import_reg( if event_registrant.get('customerType') == 'G': event_badge_data['badge_type_code'] = 'guest' event_badge_data['badge_type'] = 'Guest' - elif e_impexium_event_id == 'ISHLT 43rd Annual Meeting - Exhib Booth Staff Only': - log.info('Processing ISHLT 2023 Annual Meeting Exhibit Only...') - event_badge_data['event_badge_template_id'] = 10 + elif e_impexium_event_id == '44th Annual Meeting - Exhib Booth Staff Only': + log.info('Processing ISHLT 2024 Annual Meeting Exhibit Only...') + event_badge_data['event_badge_template_id'] = 15 event_badge_data['badge_type_code'] = 'ex_booth' event_badge_data['badge_type'] = 'Exhibitor Booth Staff' event_badge_data['registration_type_code'] = 'ex_booth' event_badge_data['registration_type'] = 'Exhibitor Booth Staff' - elif e_impexium_event_id in ['2023 Lung Transplantation Morning Master Class', '2023 Lung Transplantation Afternoon Master Class', '2023 Nursing and Allied Health Master Class', '2023 Pediatric MCS Master Class', '2023 Pulmonary Hypertension Master Class']: - log.info('Processing ISHLT 2023 Annual Meeting Academies...') - event_badge_data['event_badge_template_id'] = 11 - if e_impexium_event_id == '2023 Lung Transplantation Morning Master Class': - event_badge_data['badge_type_code'] = 'lung_morning' - event_badge_data['badge_type'] = 'Lung Transplantation Morning Academy' - elif e_impexium_event_id == '2023 Lung Transplantation Afternoon Master Class': - event_badge_data['badge_type_code'] = 'lung_afternoon' - event_badge_data['badge_type'] = 'Lung Transplantation Afternoon Academy' - elif e_impexium_event_id == '2023 Nursing and Allied Health Master Class': - event_badge_data['badge_type_code'] = 'nurse_allied_health' - event_badge_data['badge_type'] = 'Nursing and Allied Health Academy' - elif e_impexium_event_id == '2023 Pediatric MCS Master Class': + elif e_impexium_event_id in ['2024 Academy Master Class HFTX', '2024 Academy Master Class MCS', '2024 Core Academy Pediatrics', '2024 DEI Workshop']: + log.info('Processing ISHLT 2024 Annual Meeting Academies...') + event_badge_data['event_badge_template_id'] = 16 + if e_impexium_event_id == '2024 Academy Master Class HFTX': + event_badge_data['badge_type_code'] = 'hftx' + event_badge_data['badge_type'] = 'Academy Master Class HFTX' + elif e_impexium_event_id == '2024 Academy Master Class MCS': + event_badge_data['badge_type_code'] = 'mcs' + event_badge_data['badge_type'] = 'Academy Master Class MCS' + elif e_impexium_event_id == '2024 Core Academy Pediatrics': event_badge_data['badge_type_code'] = 'pediatric' event_badge_data['badge_type'] = 'Pediatric' - elif e_impexium_event_id == '2023 Pulmonary Hypertension Master Class': - event_badge_data['badge_type_code'] = 'pulmonary' - event_badge_data['badge_type'] = 'Pulmonary Hypertension Academy' + elif e_impexium_event_id == '2024 DEI Workshop': + event_badge_data['badge_type_code'] = 'dei' + event_badge_data['badge_type'] = 'DEI Workshop' else: log.warning('Setting generic badge type. Event ID not fully setup?') event_badge_data['badge_type_code'] = event_registrant.get('registrantTypeCode') # MBR19, NonM @@ -334,9 +331,9 @@ async def event_import_reg( if membership_expire_datetime := individual_profile_membership.get('expireDate'): pass log.debug(f'Membership - Code: {membership_type_code}; Type: {membership_type}; Effective Datetime: {membership_effective_datetime}; Expire Datetime: {membership_expire_datetime}') - # NOTE: The person may have multiple memberships (hopefully only one is current). Assume that if the expiration date for at least one of them is 2023-12-31 then they are current. + # NOTE: The person may have multiple memberships (hopefully only one is current). Assume that if the expiration date for at least one of them is 2024-12-31 then they are current. # We will break the loop after that future date has been found. - if individual_profile_membership.get('expireDate') == '2023-12-31T23:59:59': break + if individual_profile_membership.get('expireDate') == '2024-12-31T23:59:59': break else: log.warning('Found individual profile membership section, but no list was found.') individual_profile_membership_li = [] @@ -504,7 +501,7 @@ async def event_import_reg( event_badge_data['member_status'] = membership_status # More badge type code clean up - if e_impexium_event_id == '2023_Annual Meeting': + if e_impexium_event_id == '2024_Annual Meeting': if event_badge_data['badge_type_code'] in ['industry', 'nurse_allied_nonphysician', 'physician']: if membership_status == 'current': event_badge_data['badge_type_code'] = 'current_member'