Update for ISHLT Impexium import

This commit is contained in:
Scott Idem
2024-01-24 18:28:34 -05:00
parent 645fb16cb1
commit 59ba573947

View File

@@ -22,7 +22,7 @@ router = APIRouter()
# ### BEGIN ### API Impexium ### event_import_reg() ### # ### 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) @router.get('/event/{e_impexium_event_id}/import_reg', response_model=Resp_Body_Base)
async def event_import_reg( 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) 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 # BEGIN: Loop through the registrants pulled from Impexium
loop_count = 0 loop_count = 0
loop_limit = 4500 # 200 loop_limit = 3500 # add 1 for the actual final count
event_person_li = [] event_person_li = []
event_person_summary_li = [] event_person_summary_li = []
for event_registrant in event_registrant_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_guest = ('guest')
badge_type_code_staff = ('staff') badge_type_code_staff = ('staff')
if e_impexium_event_id == '2023_Annual Meeting': if e_impexium_event_id == '2024_Annual Meeting':
log.info('Processing ISHLT 2023 Annual Meeting Registration...') log.info('Processing ISHLT 2024 Annual Meeting Registration...')
event_badge_data['event_badge_template_id'] = 10 event_badge_data['event_badge_template_id'] = 15
event_badge_data['badge_type_code'] = None event_badge_data['badge_type_code'] = None
event_badge_data['badge_type'] = None event_badge_data['badge_type'] = None
@@ -177,31 +177,28 @@ async def event_import_reg(
if event_registrant.get('customerType') == 'G': if event_registrant.get('customerType') == 'G':
event_badge_data['badge_type_code'] = 'guest' event_badge_data['badge_type_code'] = 'guest'
event_badge_data['badge_type'] = 'Guest' event_badge_data['badge_type'] = 'Guest'
elif e_impexium_event_id == 'ISHLT 43rd Annual Meeting - Exhib Booth Staff Only': elif e_impexium_event_id == '44th Annual Meeting - Exhib Booth Staff Only':
log.info('Processing ISHLT 2023 Annual Meeting Exhibit Only...') log.info('Processing ISHLT 2024 Annual Meeting Exhibit Only...')
event_badge_data['event_badge_template_id'] = 10 event_badge_data['event_badge_template_id'] = 15
event_badge_data['badge_type_code'] = 'ex_booth' event_badge_data['badge_type_code'] = 'ex_booth'
event_badge_data['badge_type'] = 'Exhibitor Booth Staff' event_badge_data['badge_type'] = 'Exhibitor Booth Staff'
event_badge_data['registration_type_code'] = 'ex_booth' event_badge_data['registration_type_code'] = 'ex_booth'
event_badge_data['registration_type'] = 'Exhibitor Booth Staff' 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']: 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 2023 Annual Meeting Academies...') log.info('Processing ISHLT 2024 Annual Meeting Academies...')
event_badge_data['event_badge_template_id'] = 11 event_badge_data['event_badge_template_id'] = 16
if e_impexium_event_id == '2023 Lung Transplantation Morning Master Class': if e_impexium_event_id == '2024 Academy Master Class HFTX':
event_badge_data['badge_type_code'] = 'lung_morning' event_badge_data['badge_type_code'] = 'hftx'
event_badge_data['badge_type'] = 'Lung Transplantation Morning Academy' event_badge_data['badge_type'] = 'Academy Master Class HFTX'
elif e_impexium_event_id == '2023 Lung Transplantation Afternoon Master Class': elif e_impexium_event_id == '2024 Academy Master Class MCS':
event_badge_data['badge_type_code'] = 'lung_afternoon' event_badge_data['badge_type_code'] = 'mcs'
event_badge_data['badge_type'] = 'Lung Transplantation Afternoon Academy' event_badge_data['badge_type'] = 'Academy Master Class MCS'
elif e_impexium_event_id == '2023 Nursing and Allied Health Master Class': elif e_impexium_event_id == '2024 Core Academy Pediatrics':
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':
event_badge_data['badge_type_code'] = 'pediatric' event_badge_data['badge_type_code'] = 'pediatric'
event_badge_data['badge_type'] = 'Pediatric' event_badge_data['badge_type'] = 'Pediatric'
elif e_impexium_event_id == '2023 Pulmonary Hypertension Master Class': elif e_impexium_event_id == '2024 DEI Workshop':
event_badge_data['badge_type_code'] = 'pulmonary' event_badge_data['badge_type_code'] = 'dei'
event_badge_data['badge_type'] = 'Pulmonary Hypertension Academy' event_badge_data['badge_type'] = 'DEI Workshop'
else: else:
log.warning('Setting generic badge type. Event ID not fully setup?') log.warning('Setting generic badge type. Event ID not fully setup?')
event_badge_data['badge_type_code'] = event_registrant.get('registrantTypeCode') # MBR19, NonM 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 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}') 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. # 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: else:
log.warning('Found individual profile membership section, but no list was found.') log.warning('Found individual profile membership section, but no list was found.')
individual_profile_membership_li = [] individual_profile_membership_li = []
@@ -504,7 +501,7 @@ async def event_import_reg(
event_badge_data['member_status'] = membership_status event_badge_data['member_status'] = membership_status
# More badge type code clean up # 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 event_badge_data['badge_type_code'] in ['industry', 'nurse_allied_nonphysician', 'physician']:
if membership_status == 'current': if membership_status == 'current':
event_badge_data['badge_type_code'] = 'current_member' event_badge_data['badge_type_code'] = 'current_member'