Topics on this page

Configure LexisNexis Auto Data Prefill in BriteSuite

LexisNexis Auto Data Prefill (ADP) allows a carrier to obtain minimal information from the insurance applicant at the point of contact and, based on the input information, returns related driver, vehicle, and policy information. The insurance applicant validates the response data, which can be used to process the quote and underwriting.

LexisNexis ADP offers several benefits:

  • Saves users time during application intake.
  • Improves accuracy in the initial quote.
  • Identifies potential underwriting risk prior to the submission of the policy.
  • Makes risk assessment much easier and more accurate.
  • Increases data management efficiency.

Note: To order reports, you must contribute to LexisNexis’s ADP database.

Implement LexisNexis ADP

You have two options to implement LexisNexis ADP with BriteSuite:

  • Use BriteCore’s LexisNexis ADP plugin to provide claims history information. If you choose to use our prewritten plugin, all you need to do is map your data (Steps 2 and 3).

Note: Our team provides data mapping as an additional service.

  • You can write your own plugin using custom logic.

Note: At this point, plugins are only available in the quote flow for auto policy.

To learn more about plugins, please refer to BriteCore’s plugins documentation.

This tutorial walks you through implementing LexisNexis ADP in BriteCore if you want to write your own plugin. It can also help you understand how LexisNexis ADP integrates with BriteSuite.

LexisNexis ADP functionality

This section provides an overview of how LexisNexis ADP works in BriteQuote. 

Setup screen (request data)

The Auto Data Prefill button is located on the setup page of the quote flow. The required fields include: 

  • Policyholder’s full name.
  • Current address.

Note: This integration doesn’t run automatically. The agent must initiate the Loss History request by selecting Auto Data Prefill.

Drivers and Vehicle screens (response data)

If data is returned from LexisNexis, associated violations will be added to the respective Drivers and Vehicles screens.

Review screen

If any current carrier data is available from LexisNexis, displays on the Review screen.

Alert messages

LexisNexis may return the following alert messages in the results:

  • Security freeze
  • Fraud alert
  • Identify theft
  • Legal hold (associated with a data dispute flag)

Error handling

BriteCore displays error messages directly from LexisNexis. These error messages include, but aren’t limited to:

  • Missing mandatory fields for report ordering.
  • Connection errors.
  • Configuration errors.

Set up LexisNexis ADP in BriteSuite

Step 1: Contact LexisNexis

Contact LexisNexis to complete the paperwork and set up an account. LexisNexis will provide the following information:

  • Client ID
  • PNC account number
  • Carrier account ID
  • Carrier account number
  • Rule plan ID

Step 2: Contact your BriteCore support team

Provide your LexisNexis information to the BriteCore support team. The BriteCore staff will set up the configuration in BriteDeploy and provide you with the URL to the service’s HTTP endpoint.

Step 3: Consider your configuration options

Consider your configuration options and fill out the LexisNexis ADP configuration questionnaire.

Step 4: Create the data mapping

Map the data from LexisNexis to your lines configuration. In this step, take your specific user-defined fields from lines and map them to the data you’re receiving from LexisNexis ADP (and back).

To learn more about how data mapping works in BriteCore, please refer to our data mapping documentation.

Sample data for a POST/mappings request:

View code
{
        "data": {
            "type": "mapping",
            "attributes": {
                "from": "quote",
                "to": "lexisnexis-adp",
                "version": "1",
                "mapping": {
                    "template": """{
                          "address": {
                              "street": "{{source.streetAddressNI|sub("[^0-9]", "")|trim}}",
                              "house": "{{source.streetAddressNI|sub("[0-9]", "")|trim|default(1)}}",
                              "city": "{{source.cityNI}}",
                              "state": "{{source.stateOfNI.split('_')[1][0:2].upper()}}",
                              "postal_code": "{{source.zipCodeNI}}",
                          },
                          "drivers_license": {
                              "number": "{{ source.licenseNumberNI }}",
                              "state": "{{ source.licenseStateNI.split('_')[1][:2].upper() }}"
                          },
                          "subject": {
                              "first_name": "{{ source.firstNameNI }}",
                              "middle_name": "{{ source.middleInitialNI }}",
                              "last_name": "{{ source.lastNameNI }}",
                              {% if source.dateOfBirthNI %}
                              "date_of_birth": "{{ source.dateOfBirthNI }}",
                              {% endif %}
                               {% if source.socialSecurityNumberNI %}
                              "ssn": "{{ source.socialSecurityNumberNI }}"
                              {% endif %}
                          }
                      }"""
                },
            },
        }
    },
    {
        "data": {
            "type": "mapping",
            "attributes": {
                "from": "lexisnexis-adp",
                "to": "quote",
                "version": "1",
                "mapping": {
                    "template": """{
                       "driverRiskType": 'drivers',
                       "vehicleRiskType": 'privatePassengerAutos',
                       "driver": {
                           'first_name': 'firstName',
                           'last_name': 'lastName',
                           'gender': 'gender'

                       },
                       "vehicle": {
                           'make': 'make',
                           'model': 'model',
                           'model_year': 'modelYear',
                           'vin': 'serialVin',
                       },
                       "carrier": {
                           'name': 'currentCarrierName',
                           'inception_date': 'currentCarrierInceptionDate',
                           'status': 'currentCarrierPolicyStatus',
                       }}"""
                },
            },
        }
    },

Step 5: Write the plugin

If you’re using BriteCore’s LexisNexis ADP plugin, skip this step.

To write your own plugin, interface with LexisNexis ADP at:

View code
POST <integrations url>/lexisnexis/auto-data-prefill/

Add this following script to the header of your HTML file:

View code
<script src="https://unpkg.com/@britecore/ui-plugins-client"> </script>

You can now use the BriteCorePlugin helper so your plugin can communicate with BriteCore:

View code
import {
  fetchADP,
  visible,
  enabled,
  plugin
} from './lib.js'

plugin.initialize({
  "button-row": {
    buttons: [{
      text: "Auto Data Prefill",
      callback: fetchADP,
      visible: visible,
      enabled: enabled,
    }, ],
  },
});

Sample response from LexisNexis ADP

View code
{
  "b64_pdf_reports": [],
  "report": {
    "additional_drivers": [
      {
        "date_of_birth": "1953-07-12",
        "drivers_license": {
          "expiration_date": null,
          "issue_date": null,
          "number": "B00003544",
          "state": "VA",
          "type": null
        },
        "first_name": "PHYLLIS",
        "gender": "female",
        "last_name": "BIGORNIA",
        "middle_name": null,
        "name_relationship": "Surname match",
        "ssn": "566-46-0000"
      },
      {
        "date_of_birth": "2000-04-01",
        "drivers_license": {
          "expiration_date": null,
          "issue_date": null,
          "number": null,
          "state": null,
          "type": null
        },
        "first_name": "RONNIE",
        "gender": "male",
        "last_name": "BIGORNIA",
        "middle_name": null,
        "name_relationship": "Surname match",
        "ssn": "000-00-0000"
      },
      {
        "date_of_birth": "1979-08-23",
        "drivers_license": {
          "expiration_date": null,
          "issue_date": null,
          "number": "C00003543",
          "state": "VA",
          "type": null
        },
        "first_name": "ANTHONY",
        "gender": "male",
        "last_name": "HAGOBA",
        "middle_name": null,
        "name_relationship": null,
        "ssn": "367-44-0000"
      }
    ],
    "alerts": [],
    "current_carriers": [
      {
        "inception_date": "2019-11-01",
        "name": "TRAVELERS INS GROUP",
        "status": "EXPIRED"
      },
      {
        "inception_date": "2019-01-15",
        "name": "COAST NAT'L INS CO",
        "status": "EXPIRED"
      }
    ],
    "discovered_subjects": [
      {
        "classification_code": "L1",
        "date_of_birth": "10/25/1939",
        "drivers_license": {
          "number": "B66020426",
          "state": "VA"
        },
        "first_name": "A",
        "last_name": "BIGORNIA",
        "middle_name": null,
        "ssn": "000000000"
      },
      {
        "classification_code": "H1",
        "date_of_birth": "04/01/2000",
        "drivers_license": {
          "number": null,
          "state": null
        },
        "first_name": "RONNIE",
        "last_name": "BIGORNIA",
        "middle_name": null,
        "ssn": "000000000"
      },
      {
        "classification_code": "H1",
        "date_of_birth": "07/12/1953",
        "drivers_license": {
          "number": "B00003544",
          "state": "VA"
        },
        "first_name": "PHYLLIS",
        "last_name": "BIGORNIA",
        "middle_name": null,
        "ssn": "000000000"
      },
      {
        "classification_code": "H1",
        "date_of_birth": "08/23/1979",
        "drivers_license": {
          "number": "C00003543",
          "state": "VA"
        },
        "first_name": "ANTHONY",
        "last_name": "HAGOBA",
        "middle_name": null,
        "ssn": "000000000"
      },
      {
        "classification_code": "A1",
        "date_of_birth": "10/25/1939",
        "drivers_license": {
          "number": "B66020426",
          "state": "VA"
        },
        "first_name": "A",
        "last_name": "BIGORNIA",
        "middle_name": null,
        "ssn": "000000000"
      },
      {
        "classification_code": "L1",
        "date_of_birth": "04/01/2000",
        "drivers_license": {
          "number": null,
          "state": null
        },
        "first_name": "RONNIE",
        "last_name": "BIGORNIA",
        "middle_name": null,
        "ssn": "000000000"
      },
      {
        "classification_code": "L1",
        "date_of_birth": "07/12/1953",
        "drivers_license": {
          "number": "B00003544",
          "state": "VA"
        },
        "first_name": "PHYLLIS",
        "last_name": "BIGORNIA",
        "middle_name": null,
        "ssn": "000000000"
      },
      {
        "classification_code": "L1",
        "date_of_birth": "08/23/1979",
        "drivers_license": {
          "number": "C00003543",
          "state": "VA"
        },
        "first_name": "ANTHONY",
        "last_name": "HAGOBA",
        "middle_name": null,
        "ssn": "000000000"
      }
    ],
    "discovered_vehicles": [
      {
        "lien_holders": [],
        "limits": {
          "BI": [
            "200000",
            "400000"
          ],
          "PD": "400000",
          "UM": [
            "00000000",
            "00000000"
          ],
          "UN": [
            "00000000",
            "00000000"
          ]
        },
        "make": "HONDA",
        "model": "CIVIC",
        "model_year": "2005",
        "type": "Passenger",
        "vin": "1HGEM229X5L047688"
      },
      {
        "lien_holders": [],
        "limits": {
          "BI": [
            "2000000",
            "4000000"
          ],
          "PD": "4000000",
          "UM": [
            "00000000",
            "00000000"
          ],
          "UN": [
            "00000000",
            "00000000"
          ]
        },
        "make": "TOYOTA",
        "model": "COROLLA",
        "model_year": "1998",
        "type": "Passenger",
        "vin": "2T1BR18E2WC036131"
      },
      {
        "lien_holders": [],
        "limits": {
          "BI": [
            "100000",
            "200000"
          ],
          "PD": "200000",
          "UM": [
            "00000000",
            "00000000"
          ],
          "UN": [
            "00000000",
            "00000000"
          ]
        },
        "make": "GMC",
        "model": "GMT-400",
        "model_year": "1988",
        "type": "Truck",
        "vin": "1GTDC14H8JE534060"
      },
      {
        "lien_holders": [],
        "limits": {
          "BI": [
            "50000",
            "100000"
          ],
          "PD": "100000",
          "UM": [
            "00000000",
            "00000000"
          ],
          "UN": [
            "00000000",
            "00000000"
          ]
        },
        "model_year": "1978",
        "type": "Unknown",
        "vin": "CGL3380140448"
      }
    ],
    "search_subjects": [
      {
        "address": {
          "city": "CHRISTIANSBURG",
          "house": "110",
          "postal_code": "24073",
          "state": "VA",
          "street1": "HICKOK ST",
          "zip4": "3580"
        },
        "date_of_birth": "1939-10-25",
        "drivers_license": {
          "expiration_date": "2024-08-05",
          "issue_date": "2019-06-04",
          "number": "B66020426",
          "state": "VA",
          "type": "personal"
        },
        "first_name": "A",
        "gender": "male",
        "last_name": "BIGORNIA",
        "lex_id": "888809000011",
        "middle_name": null,
        "ssn": "666-56-7633"
      }
    ]
  },
  "timestamp": "2021-03-30T15:15:16.466-04:00"

Step 6: Host your plugin in a public location

If you’re using BriteCore’s LexisNexis ADP plugin, BriteCore hosts the plugin for you.

Otherwise, each plugin is a HTML document rendered in a hidden iframe. BriteCore’s UI queries the plugins available and renders any plugin on the specified pages.

Since BriteCore’s UI runs in a browser, the request for the plugin must occur without credentials to a publicly available location, or BriteCore must host the plugin placing the HTML file behind our authentication.

Step 7: Register the plugin in BriteIntegrations

If you’re using BriteCore’s LexisNexis ADP plugin, BriteCore registers the plugin for you.

Otherwise, send an API call to BriteIntegrations using the /plugins/ endpoint to POST.

Sample request payload

View code
{
    "type": "plugin",
    "attributes": {
      "name": "LexisNexis Auto Data Prefill",
      "base_url": "integrations.integrations-sandbox.britecore.com",
      "plugin_slots": [
        {
          "location": {
            "type": "bottom-row"
          },
          "plugin_file_path": "/lexisnexis/auto-data-prefill/plugin",
          "slot_name": "britequote:risk-edit:button-row"
        }
      ],
      "configuration": {}
    }
  }