The purpose of Create and Apply Suspense interface is to add and apply suspense on the contract number provided in the input. Interface will receive the request with all the necessary details for creating the suspense from an external system.Suspense will be created in ALIP and applied to contract mentioned in the input sent by the user. Currently, Interface supports both gross and net amount. Also, the interface provides an ability to update, void and approve a suspense a suspense based on the suspense status.
Interface will receive the request with all the necessary details for creating, updating , voiding and approving a suspense disbursement from an external system. Suspense will be created in ALIP and applied to contract mentioned in the input sent by the user. Currently, Interface supports both gross and net amount. In addition, Suspense will be voided, updated or approved for disbursement based on the request.
This API can also Tie the newly created Suspense to the Application and Perform Linkage based on the data received. This API will also support Suspense creation with a Transfer and Exchange record that is available on intended Application or Contract in ALIP.
The following products are in scope:
Deferred Annuity
Immediate Annuity
Whole Life
| TR ID# | Technical Requirements |
| TR1 | ACORDv2.36 shall be used to communicate. |
| TR2 | ACORD Tx 508 Transaction tc=508” is used for Create Apply Suspense |
| TR3 | Interface must always return an error code and description in the event of a processing failure in addition to HTTP response code. |
| TR4 | For a success, the response will provide the |
| TR5 | API can be accessed through JMS/REST/ SOAP |
| TR6 | If Interface receives a duplicate record (i.e. with the same ‘TransRefGUID’ value), then ALIP will return a Duplicate Record Found Message to ESB |
| TR7 | The service should accept a new element called ‘BusinessService’. The allowable values are ‘CreateSuspense’, ‘UpdateSuspense’, ‘VoidSuspense’ and ‘ApproveSuspenseDisbursement’. When a value for this element is not supplied, the interface should process the request as ‘CreateSuspense’. |
| BR ID# | Business Requirements |
| BR1 | It will validate, create and apply suspense using Client last name and Contract Number. |
| BR2 | If the provided policy number in the input request is not in active status, then suspense will be created but not applied in ALIP even if the indicator to Apply suspense is passed as “yes”. |
| BR3 | If the provided policy is in active status and the input received signifies that the suspense must be applied as well, suspense will be created and applied in ALIP |
| BR4 | If the input request doesn’t signify that suspense should be applied (i.e. indicator to apply suspense is passed as “no”), then the suspense will only be created in ALIP and suspense Apply flow will not be executed. |
| BR5 | External SuspenseID tag passed in the input is Stored as a name value pair in the ALIP database, which case be used for tying the ALIP suspense record with an external system. |
| BR6 | Exchange/Replacement (T&E):This interface in ALIP will be enhanced to support the receival of Suspense along with Transfer and Exchange information, create the suspense and link the exchange and replacement with the newly created suspense. Whenever a Create Suspense Request is received by ALIP with the Transfer and Exchange record, ALIP will use the incoming Transfer and Exchange’s Source Policy Number and the Amount or if only Amount is provided use only amount to validate against the Transfer and Exchange records on the Contract. Once a matching Transfer and Exchange record is found from the Contract on which the Suspense is being created, it will perform below.If requested T&E record is found in ALIP then this interface will set ‘Premium from Exchange/Replacement?’ to Yes ‘Exchange/Replacement from’ with the value of matching ALIP T&E Record id.If requested T&E is not found in ALIP then this interface will set, ‘Premium from Exchange/Replacement?’ to Yes ‘Exchange/Replacement from’ as Empty, which indicate that matching T&E not found in ALIP.In case Inforce Contract: If the Contract on which the suspense being created is a Post Issue Contract, then this interface will Create the suspense, Send a Work Item create Trigger to BPM and then also Return an Error to the external system .In case of Application related Suspense: If it is a Pre-Issue Contract, then this interface will return an error to external system so that Allianz can utilize this to create a task in BPM as well as this interface will generate a T&E record missing Requirement & open a Task in ALIP .Matching Criteria for Exchange/ReplacementSource Policy Number And AmountIf only Amount is present just use amount (Source Policy Number should not be used) |
| BR7 | Suspense Linkage:This interface will be enhanced to support Tying the newly created Suspense to the Application and as well as its linking process:Suspense Linkage (i.e. tie a Suspense to Application) performs additional validations and will generate the Application level Pre-Issue requirements based on the Application Data and ties the Suspense as per BUS-01Z Suspense Linkage BRD.If the requested Suspense is for Inforce Contract, then Suspense Linkage will not be performed since Suspense Linkage is not applicable in this situation.If the requested Application is a Pre-Issue Contract, then Suspense Linkage will be performed. Post successful Suspense linkage, the Suspense status will be changed to ‘Pending Apply’ and interface will kick off Application Underwriting which will generate the Application level Pre-Issue requirements as per BUS-01Z Suspense Linkage BRD. |
| BR8 | Add a new tag “SuspenseReferenceID” to support external system suspense number |
| BR9 | When ‘UpdateSuspense’ operation is requested, the interface should find if a suspense exists in ALIP with that Suspense ID (SS_SUSP_NUM) and the Suspense Status is not applied and not disbursed and not voided. Please note that a Suspense in ‘Pending Disburse’ status can not be updated. If a match is not found, it should return ‘Suspense does not exist or cannot be updated’. If a match is found, system should update the suspense using the Suspense ID. All rules that are in place while creating a suspense applies from this point. Any changes made by this interface will be recorded with ‘InterfaceUser’.This processing must mimic what happens when the suspense is updated within ALIP such as performing data change audit. |
| BR10 | When ‘’VoidSuspense’ operation is requested, system should find if a suspense exists in ALIP with that Suspense ID (SS_SUSP_NUM) and status is ‘New/Pending‘ or ‘Linked’ statuses. Please note that a Suspense in ‘Pending Disburse’ status cannot be voided.If a match is not found, it should return ‘Suspense does not exist or cannot be Voided’. If a match is found, system should void the suspense using the Suspense ID. Any changes made by this interface will be recorded with ‘InterfaceUser’.Also, the incoming suspense void reason will be validated against what is supported within ALIP. If the validation fails, system will return ‘Suspense cannot be Voided due to incorrect void reason’.This processing must mimic what happens when the suspense is voided within ALIP. Please refer to ‘Suspense Void’ workflow which is in the ‘Attachments’ section. |
| BR11 | When ‘ApproveSuspenseDisbursement’ operation is requested, system should find an existing suspense with that suspense ID in ‘Pending Disburse’ status and update that suspense status with the status received in the request.If a match is not found, it should return ‘Suspense does not exist or cannot be approved’. If a match is found, system should update the status using the Suspense ID. Any changes made by this interface will be recorded with ‘InterfaceUser’.This processing must mimic what happens when the suspense is approved within ALIP. |
The external system would post the message containing the contract number and the last name of the client.
ALIP API Processing server will perform the necessary XSD validations, and other basic validations on the completeness of the input information in the request.
Post this, it would convert the request from ACORD format to the ALIP Canonical format.
Then within the ALIP, it will make a call to the Create Apply Suspense Background workflow where it will validate the status of the incoming contract number.
The ALIP system will create the suspense irrespective of contract status. Last Name of the payer is mandatory field in this interface.
The suspense will be applied to contract only if the contract exists in ALIP
The response generated will be converted to ACORD format.
The ACORD response will be sent back to the caller.
Upon validating the Contract Number, this API will verify if the incoming request has any Transfer and Exchange record with it.
If the Request do not have any Transfer and Exchange with it then, this interface will perform below.
Verify the Contract Status and
In case Pre-Issue Contract: In case of Application related Suspense, this interface will
Create the Suspense
Use the newly created Suspense and Tie this to the Application in ALIP
Initiate the Suspense Linkage and return the Success response to ESB with the Suspense Number and a success return code.
This interface will not wait till the entire Suspense Linkage process to be completed. It will return after initiating the process for Linkage.
In case Inforce Contract: If this is a Post Issue contract, then this interface will
Create the Suspense
Return to the ESB with the newly created Suspense Number and a success return code.
If the Request has any Exchange/Replacement details, then this interface will call the appropriate API to load the available Application or the Policy level T&E records based on the Application/Contract status.
This interface will use the Source Policy Number and the Amount of incoming Transfer and Exchange and perform below.Go through each of the T&E records found on the proposed Contract and verify it’s Source Policy Number and amount matched with T&E data on contract.
If there is more than one T&E record found at this time or if No T&E record found or if the Amount does not match with the acceptable variation of + 5000 $, then this interface will not attach any T&E Record but instead ,
In case Inforce Contract:
Create the Suspense on the Contract without attaching any T&E record.
This Interface will be passing on the received incorrect T&E information to the Business Configuration Process as needed.
Send a Task to External system through Triggers to Send Tasks to External system Interface.
Return an error to the external system along with the newly created Suspense Number.
In case Pre-Issue Contract : This interface will,
Create the Suspense without attaching T&E record.
Tie the Suspense to the Application and initiate the Suspense Linkage process which will generate appropriate Requirements and the Task Box in ALIP.
This Interface will be passing on the received incorrect T&E information to the Business Configuration Process as needed.
Upon initiating the Suspense Linkage process, this interface will return the Error message to the ESB along with the newly created Suspense Number.
If only ONE T&E record found and if it’s Amount And/Or policy number matches the acceptable variation, then this interface will,
Create the Suspense on the Contract by attaching matched Transfer and Exchange record with it.
In addition to this, Interface will perform below if it is a Pre-Issue Contract.
Tie the newly created suspense with the Application
Initiate the Suspense Linkage process in ALIP.
Return to the calling ESB with success response and newly created suspense number.
This API will use the incoming information and perform below
Create the Suspense in ALIP
Generate a Task in the ALIP system for Missing Contract Number Suspense created
Return the newly created Suspense Number part of the Response with an additional Response code indicating the Missing Contract Number
Wherever Suspense Linkage process is applicable, this interface will not wait to return to the ESB until the Suspense Linkage process is completed in ALIP. Instead, this interface will initiate the Suspense Linkage and Underwriting process and return to the calling system. Any Failures with the Suspense Linkage or dependent Underwriting on the Application will be handled as defined in Business Requirements for Suspense Linkage Failures.
The response generated will be converted to ACORD format with ResultCode, ResultInfoDesc, Suspense Number.
API will log the request, response, intermediate transformed XML message and status into ALIP Integration database tables which can be view on Integration History and/or Integration Failure Page.
Refer to the below attached Flow chart providing details regarding the logical flow of Create Suspense Interface
This interface provides the ability for creation of suspense in ALIP.
Upon receiving the request, ALIP system check for the contract status and based on the contract status will create and apply the suspense.
If the contract is not active, the suspense will be created with “No Transaction Exists” transaction type.
It is a conscious difference to have the T&E data on the suspense even if it is not being applied. So, interface will be different to UI
This API is tested for below products
Deferred Annuity
Immediate Annuity
This will call Create Suspense when
All receipts for contracts in ALIP
Premium indicated as conditional receipt for a new business application in ALIP
This will call the Create Suspense web service for each unique receipt.
This will assign applicable Premium type transactions when calling Create Suspense
This will use ALIP UI to modify a suspense item
This API will be tested for a Whole Life product.
Please note that the samples attached in this document contain samples from out of box implementation. During design, the applicable samples will be updated with needed changes.
For the ‘SuspenseUpdate’ operation, client team will pass all the information of an existing suspense.
The Create or Update Suspense Item will not be used to reinstate riders associated with the policy. If a such a need arises, the respective action will be done manually within ALIP.
A suspense in pending disburse status cannot be updated via this interface or manually within ALIP.
Please note that while the Suspense is in ‘Pending Disburse’ status, all information may not be available for staging. Also, staging requirements are outside the scope of the integration requirements.
New/Pending
Linked
Disbursed
NA
| # | Condition | Message Code | Message Description | Message Type | Expected Results |
| 1 | CreateSuspense request where Contract Number exist in ALIP and “ApplySuspense” tag is No. | 1 | Success | Informational | Response should be returnedSuspense would be created. |
| 2 | CreateSuspense request where Contract Number exist in ALIP and “ApplySuspense” tag is Yes. | 1 | Success | Informational | Suspense would be created and applied on that contract |
| 3 | CreateSuspense request where Contractnumber does not exist in ALIP and Client Last Name is provided | 1 | Success | Informational | Suspense would be created with Last Name. |
| 4 | CreateSuspense request where FinEffDate is blank in the incoming request | 100 | Internal Error | Fatal | An error message “FinEffDate is Required” |
| 5 | CreateSuspense request where LastName is blank in the incoming request | 100 | Internal Error | Fatal | An error message “LastName is Required” |
| 6 | CreateSuspense request where PaymentForm is blank in the incoming request | 100 | Internal Error | Fatal | An error message “PaymentFormisRequired” |
| 7 | CreateSuspense request where FinActivityNetAmt is blank in the incoming request | 100 | Internal Error | Fatal | An error message “FinActivityNetAmtisRequired” |
| 8 | CreateSuspense request where CurrencyTypeCode is blank in the incoming request | 100 | Internal Error | Fatal | An error message “Currency is Required” |
| 9 | CreateSuspense request where ApplySuspense is blank in the incoming request | 100 | Internal Error | Fatal | An error message “ApplySuspenseisRequired” |
| 10 | CreateSuspense request where PaymentForm is not Valid. | 100 | Internal Error | Fatal | An error message “Value for PaymentForm is invalid” |
| 11 | CreateSuspense request where SourceOfFundsTC is not Valid. | 100 | Internal Error | Fatal | An error message “Value for SourceOfFundsTCis invalid” |
| 12 | CreateSuspense request where PreviousSource is not Valid. | 100 | Internal Error | Fatal | An error message “Value for PreviousSourceis invalid” |
| 13 | CreateSuspense request where FinActivityType is not Valid. | 100 | Internal Error | Fatal | An error message “Value for FinActivityTypeis invalid” |
| 14 | CreateSuspense request where SuspenseReason is not Valid. | 100 | Internal Error | Fatal | An error message “Value for SuspenseReasonis invalid” |
| 15 | CreateSuspense request where CarrierCode is not Valid. | 100 | Internal Error | Fatal | An error message “Value for CarrierCodeis invalid” |
| 16 | CreateSuspense request where CurrencyTypeCode is not Valid. | 100 | Internal Error | Fatal | An error message “Value for CurrencyTypeCodeis invalid” |
| 17 | CreateSuspense request where GovtIDTC is not Valid. (Contains Special Characters such as #,$,%) | 100 | Internal Error | Fatal | An error message “Invalid Tax Id” |
| 18 | CreateSuspense request where GovtIDTC is not Valid. (String length is greater than 9 characters) | 100 | Internal Error | Fatal | An error message “Tax Id can only be 9 digits” |
| 19 | CreateSuspense request with valid Suspense data and non-existing contract and ApplySuspense flag as Yes | 100 | Internal Error | Fatal | An error message. Two messages are displayed viz; “Low-Contract does not exists” and “A Transaction type is required to apply suspense” |
| 20 | CreateSuspense request with valid Suspense data and existing contract with contract status as “Pending Issue or Pnd-Awiating Fund” and ApplySuspense tag as No and FinActivityType is set to Blank | 1 | Success | Informational | Suspense will be created with Initial Premium. |
| 21 | CreateSuspense request with valid Suspense data and existing contract with contract status as “Pending Issue or Pnd-Awiating Fund” and ApplySuspense tag as No and FinActivityType is set to “No Transaction Exists” | 1 | Success | Informational | Suspense will be created with Initial Premium. |
| 22 | ALIP receives a CreateSuspense request with valid Suspense data and existing contract with contract status as “Pending Issue or Pnd-Awiating Fund” and ApplySuspense tag as No and FinActivityType is set to “Additional Premium” | 100 | Internal Error | Fatal | An error message “Invalid Policy Status for Transaction type” |
| 23 | CreateSuspense request with valid Suspense data and existing contract with contract in Post Issue statuses including Closed, Suspensed,Claim etc and ApplySuspense tag as No and FinActivityType is set to Blank | 1 | Success | Informational | Suspense will be created with No Transaction Exists trans type. |
| 24 | CreateSuspense request with valid Suspense data and existing contract with contract in Post Issue statuses including Closed, Suspensed,Claim etc and ApplySuspense tag as No and FinActivityType is set to “No Transaction Exists” | 1 | Success | Informational | Suspense will be created with No Transaction Exists trans type. |
| 25 | CreateSuspense request with valid Suspense data and existing contract with contract in Post Issue statuses including Closed, Suspensed,Claim etc and ApplySuspense tag as No and FinActivityType is set to “Additional Premium or Initial Premium” | 100 | Internal Error | Fatal | An error message “Invalid Policy Status for Transaction type” |
| 26 | CreateSuspense request with valid Suspense data and existing contract with contract status as “Pending Issue or Pnd-Awiating Fund” and ApplySuspense tag as Yes and FinActivityType is set to Blank | 1 | Success | Informational | Suspense will be created with Initial Premium. |
| 27 | CreateSuspense request with valid Suspense data and existing contract with contract status as “Pending Issue or Pnd-Awiating Fund” and ApplySuspense tag as Yes and FinActivityType is set to “No Transaction Exists” | 1 | Success | Informational | Suspense will be created with Initial Premium. |
| 28 | CreateSuspense request with valid Suspense data and existing contract with contract status as “Pending Issue or Pnd-Awiating Fund” and ApplySuspense tag as Yes and FinActivityType is set to “Additional Premium” | 1 | Success | Informational | Suspense will be created with Initial Premium. |
| 29 | CreateSuspense request with valid Suspense data and existing contract with contract in Post Issue statuses including Closed, Suspensed,Claimetc and ApplySuspense tag as Yes and FinActivityType is set to Blank | 1 | Success | Informational | Suspense will be created with No Transaction Exists trans type. |
| 30 | CreateSuspense request with valid Suspense data and existing contract with contract in Post Issue statuses including Closed, Suspensed,Claimetc and ApplySuspense tag as Yes and FinActivityType is set to “No Transaction Exists” | 1 | Success | Informational | Suspense will be created with No Transaction Exists trans type. |
| 31 | CreateSuspense request with valid Suspense data and existing contract with contract in Post Issue statuses including Closed, Suspensed,Claimetc and ApplySuspense tag as Yes and FinActivityType is set to “Additional Premium or Initial Premium” | 100 | Internal Error | Fatal | An error message “10: Invalid policy status for trans” |
| 32 | Create Suspense Request with valid Suspense data and existing contract in Pre-Issue status. | 1 | Success | Informational | Suspense will be successfully created, tied to App and linked to run the rules to generate applicable requirements. |
| 33 | Create Suspense Request with valid Suspense data and existing contract in Post-Issue status. | 1 | Success | Informational | Suspense will be successfully created in ALIP. |
| 34 | Create Suspense Request with valid Suspense data without a Contract Number. | 201 | Warning | Informational | Suspense is successfully created in the ALIP and an Error Message is returned to the ESB indicating the Missing Contract Number and New Suspense Number. |
| 35 | Create Suspense Request with valid T&E record is received on a Pre- issue contract and a T&E Record found on the proposed policy with the Replacement record’s Amount not being + 5000 | 202 | Warning | Informational | Suspense is successfully created in ALIP and tied to the Application. Also a Task box indicating failure to find the T&E Record in ALIP. A Response is sent back to the ESB with the newly created Suspense Number and as well as an Error code and description indicting Failure to look up T&E Record. |
| 36 | Create Suspense Request with valid T&E record is received on a Post- issue contract and a T&E Record found on the proposed policy with the Replacement record’s Amount not being + 5000 | 202 | Warning | Informational | Suspense is successfully created in ALIP. A Response is sent back to the ESB with the newly created Suspense Number and as well as an Error code and description indicting Failure to look up T&E record. |
| 37 | Create Suspense Request with valid Suspense data and existing contract in Pre-Issue status and ApplySuspense as No ExchRepPremiumInd as Yes.Request T&E data is complete and matching T&E data exists in to ALIP as per matching criteria | 1 | Success | Informational | Suspense Created - YesExchange/Replacement from – set since matching T&E exists into ALIP.SuspenseLinkage – Perform which kickoff the Application Underwriting. |
| 38 | Create Suspense Request with valid Suspense data and existing contract not in Pre-Issue status and ApplySuspense as No ExchRepPremiumInd as Yes.Request T&E data is complete and matching T&E data exists in to ALIP as per matching criteria | 1 | Success | Informational | Suspense Created - YesExchange/Replacement from – set since matching T&E exists into ALIP.SuspenseLinkage – Not perform Since Linkage is not applicable. |
| 39 | Supply all the required data to approve a suspense (based on the interface agreement) and supply the BusinessService as ‘ApproveSuspenseDisbursement’.Ensure that suspense with Suspense ID (SS_SUSP_NUM) exists in ALIP and status in ‘Pending Disburse’ status. | 1 | Success | Informational | The suspense is updated accordingly with the supplied suspense status. Ensure that whatever happens (such as changes history if applicable ) within ALIP when a suspense is approved/declined happens via API. Please test this scenario for all allowable statuses. |
| 40 | Supply all the required data to approve a suspense (based on the interface agreement) and supply the BusinessService as ‘ApproveSuspenseDisbursement. Ensure that suspense with Suspense ID (SS_SUSP_NUM) not exists in ALIP or the status is not ‘Pending Disburse’ status. | 100 | Error | Fatal | The request gets rejected with ‘‘Suspense does not exist or cannot be approved based on the status’’ |
| 41 | Supply all the required data to approve a suspense (based on the interface agreement) and supply the BusinessService as ‘UpdateSuspense’ or ‘VoidSuspense’Ensure that suspense with Suspense ID (SS_SUSP_NUM) exists in ALIP with status ‘Pending Disburse’ status. | 100 | Error | Fatal | The request gets rejected with ‘‘Suspense in ‘Pending Disburse’ status cannot be updated or voided” |