Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Method Detail

Value

Visibility

Public

Method Parameters

TransactionDto, Account, List<EnrollmentSpanDto> priorEnrollmentSpans

Return

EnrollmentSpan

Functionality

Below are the steps to create the enrollment span.

  1. Identify the primary subscriber in the transaction (getPrimaryMember)

  2. Generate a unique code for the new enrollment span to be created.

  3. Create the enrollment span entity with the below details retrieved from the transaction

    1. Set the account enrollment span sk to NULL, since this is a new enrollment span.

    2. Set the enrollment span code

    3. Set the account for which the enrollment span is being created

    4. Set the zeus transaction control number

    5. Set the state type code

    6. Set the marketplace type code

    7. Set the business unit type code

    8. Set the coverage type code

    9. Set the start date

    10. Set the end date (determineEndDate)

    11. Set the exchange subscriber id

    12. Set the effectuation date (determineEffectuationDate)

    13. Set the plan

    14. Set the product type

    15. Set the group policy id

    16. Set the changed flag to "TRUE"

    17. Set the enrollment span status (determineEnrollmentSpanStatus)

  4. Save the enrollment span

  5. Call the premium span helper instance to create the premium spans (createPremiumSpans)

...

Method Detail

Value

Visibility

Public

Method Parameters

AccountDto, TransactionDto, Account

Return Parameter

void

Functionality

Check if there are any enrollment spans that are being affected by add this enrollment span to the account (getOverlappingEnrollmentSpans).

Update these overlapping enrollment spans as appropriate by terming or canceling them as needed. (updateOverlappingEnrollmentSpans)

Update the account dto object with the enrollment spans that have been identified as overlapping and are termed or canceled (updateAccountDtoWithOverlappingSpans)

Save the updated enrollment spans in the database (saveUpdatedEnrollmentSpans)

Create the new enrollment span based on the information from the transaction (createEnrollmentSpan)

Update the account entity with the updated and created enrollment spans.

Cancel Premium Span

Method Detail

Value

Visibility

Private

Method Parameter

PremiumSpanDto

Return Parameter

void

Functionality

If the premium span start date is not equal to end date or if they are equal and the status is "ACTIVE" then,

  1. Set the end date same as that of the start date

  2. Set the status of the premium span to "CANCEL"

  3. Set the "Changed" flag to TRUE.

...

Method Detail

Value

Visibility

Private

Method Parameter

List<EnrollmentSpanDto>, Account

Return Parameter

List<EnrollmentSpan>

Functionality

Retrieve the enrollment spans from the list and convert them into enrollment span entities with the help of the mapper and set the account the MMS key of the enrollment span and save the enrollment span to the repository. The corresponding premium spans are also updated by invoking the methods in the premium span helper.

Update Account Dto With Overlapping Spans

Method Detail

Value

Visibility

Private

Method Parameters

AccountDto, List<EnrollmentSpanDto> (overlapping enrollment spans)

Return Parameter

void

Functionality

In the account dto, remove the enrollment span that matches using the enrollment span code from the overlapping enrollment span list.

Once the stale enrollment spans are removed, add the overlapping enrollment span list received in the input to the account.

Update Overlapping Enrollment Spans

Method Detail

Value

Visibility

Private

Method Parameters

List<EnrollmentSpanDto> (Overlapping Enrollment Spans), LocalDate (Effective Start Date), LocalDate (Effective End Date)

Return Parameter

List<EnrollmentSpanDto>

Functionality

The objective of this method is to identify the overlapping enrollment spans and term or cancel them appropriately. It follows the below steps to achieve this objective.

  1. Get the enrollment span in which the effective date is falling in between its start date and end date.

  2. Term the enrollment span identified in step 1, the premium spans will also be termed or canceled

  3. If there are additional overlapping enrollment spans, cancel those enrollment spans. All the premium spans should be canceled.