Extending the ISO integration in Pega Underwriting for Insurance
Insurers can extend their ISO integration to include their own rating definitions (or deviations) and additional state ratebooks.
By default, the ISO integration in Pega Underwriting for Insurance provides the following ratebooks:
- Countrywide ratebook for General Liability and Commercial Property
- Ratebooks for Idaho, Wisconsin, and Georgia for General Liability
- Ratebooks for New Jersey, Massachusetts, and Wyoming for Commercial Property
Pega Underwriting for Insurance also supports the following sublines for General Liability:
- Premises/Operations
- Products/Completed Operations
- Premises/Operations and Products/Completed Operations
For your implementation, you should use additional state ratebooks and sublines (for General Liability), or create customer deviations in addition to the default ratebooks.
Extending the ISO integration
To extend the ISO integration in Pega Underwriting for Insurance, complete the following steps:
- Exporting new domain tables from ISO
- Importing new domain tables in Pega Underwriting for Insurance
- Importing the ratebook request XSD file in Pega Underwriting for Insurance
Exporting new domain tables from ISO
Before you import new domain tables in Pega Underwriting for Insurance, export the domain tables as XML files from ISO.
- Follow the steps in your ISO documentation.
- On the Print Ratebook page, be sure to select the following values:
- Under Report Type, select Full.
- Under Report Output Options, select Export Report As XML.
- Under Report Contents, select the Ratebook Properties and Domain Tables check boxes.
Importing new domain tables in Pega Underwriting for Insurance
After you export the domain tables from ISO as an XML file, you must import the XML file into your application. You can use a wizard in Pega Underwriting for Insurance to import XML files from ISO to create the necessary rules in your application.
Before you begin
Ensure that there is an open ruleset for the wizard to create rules. It is recommended that you use the DomainTables ruleset that the application points to by default. You can open the DomainTables ruleset and add a new version or modify the DSS setting PrefRulesetToSaveISORules to point to a ruleset of your choice.
- In the header of Dev Studio, click Configure > Framework Management > Tools > ISO Upload Utility and follow the on-screen instructions.
- Click Upload file. Be sure to upload the domain table report that you exported in the Exporting new domain tables from ISO section.
- Click Submit.
Importing the ratebook request XSD file in Pega Underwriting for Insurance
Complete the steps in each of the following topics for each state-specific ratebook that you have published in your application. You must repeat the steps in each section for each published ratebook:
- Editing the XML request to generate the ratebook request XSD file from ISO
- Modifying the ratebook request XSD file
- Importing the modified ratebook request XSD in Pega Underwriting for Insurance
- Modifying data mapping rules
- Mapping the response data transforms
Editing the XML request to generate the ratebook request XSD file from ISO
You generate a ratebook request XSD by running the AOProcessTest utility in ISO. Before running the utility, edit the XML request by completing the following steps:
- Replace the ao-userid, B4542B78-54FB-4B5C-BBFA-CA52E5926D94, with your user ID.
- Replace the ao-identity, F3A4F3E9-77EB-4D0D-8D99-764251D6C23A, with the ratebook ID of the ratebook that you want to export.
See the following example:<AscendantOne>
<?ao-type publish?>
<?ao-userid B4542B78-54FB-4B5C-BBFA-CA52E5926D94?>
<?ao-identity F3A4F3E9-77EB-4D0D-8D99-764251D6C23A?>
<?ao-publishtype Debug?>
<?ao-publishclean 1?>
<?ao-publishclearcache 1?>
<?ao-publishinterface 1?>
<?ao-publishschema 1?>
<?ao-publishschemasimple 1?>
<?ao-publishschemalob 1?>
<?ao-publishmap 1?>
<?ao-publishrbk 1?>
<?ao-publishtbl 1?>
<?ao-publishrbc 1?>
<?ao-publishgen 1?>
<?ao-publishrating 1?>
<?ao-sortelements 1?>
<?ao-discardemptyelements 1?>
<?ao-discardemptyattributes 1?>
</AscendantOne>
Modifying the ratebook request XSD file
You must modify the ratebook request XSD file before importing it into the SOAP connector wizard in Pega Platform because it does not contain the structure that ISO requires to process the request.
<xsd:element name="Id" type="columnUniqueIdentifier" minOccurs="1" maxOccurs="1"></xsd:element><xsd:element name="PUIElemId" type="columnUniqueIdentifier" minOccurs="1" maxOccurs="1"></xsd:element>
- Define the Root node (AscendantOne) by copying the following snippet and pasting it above the
AscendantOne
element in the ratebook request XSD file.<xsd:complexType name="AscendantOne">
</xsd:element><xsd:element name="Id" type="columnUniqueIdentifier" minOccurs="1" maxOccurs="1"></xsd:element>
<xsd:choice minOccurs="0" maxOccurs="1">
<xsd:element name="Quote" type="Quote" />
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="AscendantOne" type="AscendantOne" />
- Because ISO requires an index for each repeating element in the ratebook request XSD, replace <xsd:element name="Id" type="columnUniqueIdentifier" minOccurs="1" maxOccurs="1">"></xsd:element> with <xsd:element name="Id" type="columnUniqueIdentifier" minOccurs="1" maxOccurs="1"></xsd:element><xsd:element name="PUIElemId" type="columnUniqueIdentifier" minOccurs="1" maxOccurs="1"></xsd:element>.
Importing the modified ratebook request XSD in Pega Underwriting for Insurance
Import the ratebook request XSD by using the SOAP Connector wizard in Pega Platform to generate the rules that are needed for mapping the request XML in your application.
- Before running the wizard, create the WSDL file by copying the ratebook request XSD file and pasting it into a WSDL template, as displayed in the following example:
<?xml version="1.0" encoding="utf-8"?><wsdl:definitions targetNamespace="urn:iso" xmlns:tns="urn:iso" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="">
<wsdl:types>
<!-- Paste XSD content here -->
</wsdl:types>
<wsdl:message name="ISORequest"><wsdl:part name="Request" element="AscendantOne"/></wsdl:message>
<wsdl:portType name="ISOPortType"><wsdl:operation name="load"><wsdl:input message="tns:ISORequest"/></wsdl:operation></wsdl:portType>
<wsdl:binding name="ISOBinding" type="tns:ISOPortType"><soap:binding transport="http://schemas.xmlsoap.org/soap/http"/><wsdl:operation name="load"><soap:operation style="document" soapAction="load"/><wsdl:input><soap:body use="literal"/></wsdl:input></wsdl:operation></wsdl:binding>
<wsdl:service name="ISOService"><wsdl:port name="ISOPort" binding="tns:ISOBinding"><soap:address location="http://localhost:8080/ISOService"/></wsdl:port></wsdl:service>
</wsdl:definitions>
- In the header of Dev Studio, click Configure > Integration > Connectors > New SOAP Integration and follow the steps in the SOAP Connector wizard. Be sure to upload the WSDL that you created in step 1.
The wizard creates a connector class to connect to the SOAP service. However, the wizard does not create the rule in the correct class. This wizard is run mainly to create the XML stream and other classes and properties as required by the request XML. You must resave the XML stream into the root node class:- Open the connector class that ends with ISOService, for example, ISO-Req-CP-ISOService.
- Click Integration-Mapping > XML Stream > LoadRequest MapForm.
- On the Mapping tab, double-click the AscendantOne node.
- In the User Data dialog box, delete the context in the Context Page field.
- Click OK.
- Click Save as and save the rule to the ISO-Req-CP-AscendantOne class.
- Click Edit and change the Identifier to AscendantOne.
- Change the value in the XML Type field to pyDefault.
- Ensure that the values in the Apply to and Add to ruleset fields represent your class and ruleset name.
- Click Create and open. The final rule should look as follows:
Modifying data mapping rules
After importing new, state-specific ratebooks, make the following changes to map them to the Pega Underwriting for Insurance application:
- In Dev Studio, search for the GetISORateQuote activity and save a copy in your application ruleset.
Pega Underwriting for Insurance uses the GetISORateQuote activity that is defined in PegaIns-Data-Quote in the PUI-ISO-Int ruleset to map the request that is sent to ISO and the response that is received from ISO. - To add an entry for a new state, open the GetISORequestClassName decision table and save a copy in your application ruleset.
- Open the decision table that you saved in step 2.
- On the Table tab, add a row. Ensure that the class name that you enter in the Return column matches the class name that you created in the wizard.
- Open the SetGenericQuoteInputs data transform to verify whether you need to make any changes that are generic across all lines of business. Before you make changes, save a copy in your application ruleset.
- Modify the SetLOBSpecificQuoteInputs data transform to set the request parameters for specific lines of business. You might need to make changes to the data transforms within this data transform.
Mapping the response data transforms
Pega Underwriting for Insurance uses a Java utility to map responses from ISO that do not require modifications. However, if you need to change the response mapping for individual state ratebooks in your application, complete the following steps:
- In Dev Studio, search for the MapISORatingResponse data transform.
- On the Definition tab, modify the following data transforms if needed. For more information, see Data Transform form – Completing the Definitions tab.
- CopyAddedForms
- MapLOBSpecificResponse
Previous topic Configuring the automatic OFAC search Next topic Importing ISO ratebooks into Pega Underwriting for Insurance