Documentation
Table of Contents
2. Document Ingestion
3. Data Delivery
4. Data Reference
Overview
Groundspeed turns unstructured data from common insurance documents into structured data that can be quickly and easily analyzed to power data driven decision making for insurance carriers.
At a high level, clients work with Groundspeed to configure how they will send documents to Groundspeed for processing, and receiving back the structured data from said documents once they’ve been processed.
Key Concepts
The following concepts within our platform are important to understand:
- File: An individual file that may contain multiple documents (ex – email files that contain attachments, zip files, etc).
- Document: An individual document is the lowest level concept of a file.
- Account: A collection of files/documents that are intended to be processed together. Typically this is documents that pertain to the same insured party (hence it’s called an “Account”).
- Project: The customer configuration of ingest and delivery methods.
- Strategy: The way in which the data is presented in the extract. This is configured at the project level.
- Extract: The artifact that is generated from the data captured within an account.
- Manifest File: A manifest file which contains supplementary information regarding the source files may be included in the zip file.
Account
Accounts within Groundspeed are intended to represent a collection of files that represent the detail of a single insured party.
Extract
An extract is a zip file that typically contains two or more files.One is the extracted structured data, and the other is the error report which contains any errors encountered processing the data, or documents that were considered out of scope within the account.
Manifest File
A manifest file is an optional file that is included with a submission that is used to describe the documents contained within the submission, and override or supplement the data extracted from the submission with data from the manifest.
Naming Convention
A manifest file which contains supplementary information regarding the source files may be included in the zip file. The manifest file must be a csv file in the root directory of the zip file and be named as follows:
manifest__{customer_supplied_name}.csv
- The file needs to start with the word manifest followed by twounderscores “__”
- Each manifest file can have multiple “file_name” values.
- But each “file_name” can only have one row of input for each column.
- Column headers must be provided for all manifest information included in the manifest file that the client would like to include in the extract.
Naming Convention
Each row of the manifest file will be matched to a source file in the zip. The manifest file should have the following information:
Field | Description | Required |
file_name | The name of the source file | Yes |
doc_id | Client specified doc id for each source file | Optional |
customer_account_id | Client specified account id for each source file | Optional |
customer_account_name | The name of the account assigned by the customer | Optional |
project_id | Source file listed under project name | Optional |
submission_effective_date | Date used to allocate claims to the correct policy year. If loss date is before submission_effective_date then the claim is assigned to the previous policy year, if after, then policy year is set to loss date year. Must be in the format “MM/DD” | Optional |
fill_effective_date | When an effective date is not present, use this date to fill in the effective date. Must be in the format “MM/DD/YYYY”. | Optional |
fill_valuation_date | When a valuation date is not present, use this date to fill in the valuation date. Must be in the format “MM/DD/YYYY” | Optional |
fill_line_of_business | When an LOB is not present, use this value to fill in the LOB. | Optional |
fill_insurance_carrier | When a carrier is not present, use this value to fill in the carrier. | Optional |
fill_policy_number | When a policy is not present, use this value to fill in the policy number. | Optional |
Sending and Receiving
Files from Groundspeed
Groundspeed supports receiving accounts via three different methods: Email, SFTP, and API.
Document Ingestion
Groundspeed systems can ingest documents in one of three ways. Each of which is described in detail below. Documents can be sent in a zip file container. The list of support file types that can be contained within a zip file are listed below:
.jpg, .bmp, .gif, .pdf, .tif, .tiff, .doc, .docx, .xlsx, .xls, .csv, .xlsb, .xlsm, .xps, .oxps, .eml, .msg, .zip.
Files fail to ingest to Groundspeed system? Please see FAQ section
API
This is the entrypoint for all document processing requests into the Groundspeed pipeline.
Request Parameters
The /process API is a web API that allows posting processing requests to our platform. A response code will be returned indicating the status of the request. The request is sent as a multipart form POST request with the following parameters:
Attributes
customerCode string
This optional value will be associated with your request, and will be delivered back to you with the data. It can be used to map the request to an external id in your database. If no customerCode is given, the zip file’s name will be your customerCode.
file file
The file you are sending to process. The file must have one of the supported file extensions at the end of the file name.
x-api-key string
The API key will be a 40 character, unique passkey that will be used to authenticate your request with your accountId and projectId. It will be generated, and securely provided to you by Groundspeed.
content-type string
This must be set to use the multipart/form-data encoding standard.
Example Request
curl -X POST \ https://intake.groundspeed.com/api/v1/process \ -H 'cache-control: no-cache' \ -H 'content-type: multipart/form-data; boundary=----FormBoundary' \ -H 'x-api-key: $API_KEY' \ -F file=@/path/to/testfile.zip \
SFTP
Groundspeed allows document ingestion via SFTP. Clients need to share an SSH key with Groundspeed which can be registered within our server to allow access for clients to drop account zip files.
Clients that wish to send documents to Groundspeed can do so via our rapid fusion email pipeline. Users are issued a dedicated email address (XXX@groundspeedrapidfusion.com) which they can send accounts to as email attachments. In some cases, documents may already be in email form, and the underwriter can just forward the email to Groundspeed.
Setup
In order for a customer to send documents via email to Groundspeed, we will need the following information as to configure our intake and delivery system:
- The domain you wish to send from, so that we can have it whitelisted.
- For example, if your email is abc@lala.com, your domain would be lala.com
- We will then provide the email address to use to send us your documents.
- Only include the email address provided by Groundspeed in the “To” selection while sending emails to Groundspeed.
- Please note that if an email is sent to the improper address, it will be rejected and will not be ingested by our system.
Security
- Groundspeed’s email intake solution only allows emails that are sent over a Transport Layer Security (TLS) encrypted connection.
- All the emails delivered by Groundspeed’s email delivery solution will be sent over a connection with Transport Layer Security (TLS) encryption
Sending an email
- Email Body
- All text in the body is converted to a pdf and treated as a file that will go through our ingestion process. Feel free to put anything that is appropriate for an email (note that images will not be lost in conversion and ingestion).
- Attachments. Any attached files will be ingested alongside the email that is sent.
- Attachments have a 30mb limit.
- The list of supported file types are: .jpg, .bmp, .gif, .pdf, .tif, .tiff, .doc, .docx, .xlsx, .xls, .csv, .xlsb, .xlsm, .xps, .oxps, .eml, .msg, .zip.
- Attachments that are not supported will not be ingested.
- Directions for Sending an Account
- Zip all the files for a given account.
- Attach that zip file to the email.
- Send one account per email.
1 The address being sent to
2 Key-value pairs in email subject
3 Email body that will be converted into an ingestible file
4 Attachments to be added and extracted
Data Delivery
API – JSON
Groundspeed returns data back to the user’s registered callback URL. Users must share the callback URL and the appropriate authorization details to ensure that the data can be returned successfully. Users also have the ability to overwrite the registered default callback URL as part of the request. This is an optional parameter and should not be used without first consulting Insurance Quantified.
Response Payload
This delivery method requires the client to develop or deploy a HTTP service capable of receiving a POST method with an application/json payload.
Attributes
accountId string
This value will be associated with your request, and will be delivered back to you with the data. It can be used to map the request to an external id in your database.
projectId string
This is the project id provided to you by Groundspeed. A project represents a unique set of rules used to process your data. Your account can have more than one project. If your account only has one project, you do not need to supply this value. This is an optional parameter that should not be used without first consulting Insurance Quantified.
output array
Information about the documents attached included in the API response payload.
Child Attributes
output object
An instance of an output, typically only one is returned per callback request.
Child Attributes
name string
The name of the extract file included in the response.
processDate string
The date that the extract was created
errors array
Error codes correspond to a particular error that occurs on ingest of the zip file or during the processing of documents.
Child Attributes
_id string
The file id of the original file ingested to Groundspeed system.
subFileId string
The file id of the file split from original file ingested to Groundspeed system. Normally for large file and excel
fileName string
The file name of the file. If the file is split, then this is split file name.
subFileName string
The file name of the file split from original file ingested to Groundspeed system. Normally for large file and excel
docType string
The documentation type of the file.
flagReason string
The reason why the file is not processed. Normally duplicate, no_data, out_of_scope, poor_quality, can_not_open
flagCode string
The code corresponding to flag reason, 300(duplicate), 301(no_data), 302(out_of_scope), 303(poor_quality), 304(can_not_open),
fileIdDuplicateOf string
The file ID of the file duplicate of.
fileNameDuplicateOf string
The file name of the file duplicate of.
results object
The enhanced data that Groundspeed has generated from our Rapid Fusion pipeline. See Data Reference for different result objects.
content-type string
This must be set to use the application/json encoding standard.
Example Response
{ "accountId": "client_account_ref_123", "projectId": "client_project_ref_123", "output": [ { "name": "test_extract.json", "processDate": "2022-06-15T19:51:40+00:00", "errors": [], "results": [] } ] }
API – ZIP
A delivery callback mechanism for uploading a result is also available. This requires deploying a HTTP service capable of receiving a POST method with a multipart/form payload including the payload of a zip file.
Response Payload
A delivery callback mechanism for uploading a result is also available.
This requires deploying a HTTP service capable of receiving a POST method with a multipart/form payload including the payload of a zip file.
Attributes
accountId string
This value will be associated with your request, and will be delivered back to you with the data. It can be used to map the request to an external id in your database.
projectId string
This is the project id provided to you by Groundspeed. A project represents a unique set of rules used to process your data. Your account can have more than one project. If your account only has one project, you do not need to supply this value. This is an optional parameter that should not be used without first consulting Insurance Quantified.
filename string
This is the zip file name provided to you by Groundspeed. Inside the zip, it contains a JSON file of extract with data(corresponding to the results section in API JSON) or/and a JSON file of error message(corresponding to the errors section in API JSON)
content-type string
This must be set to use the multipart/form-data encoding standard.
Example Response
curl -X POST -H 'Accept: */*' -H 'Accept-Encoding: gzip, deflate' \ -H 'Connection: keep-alive' -H 'Content-Length: 385' \ -H 'Content-Type: multipart/form-data; boundary=9610effdb6e2da9d69bc6b5649353ed2' \ -H 'User-Agent: python-requests/2.21.0' -H 'x-api-key: test' \ -d '--9610effdb6e2da9d69bc6b5649353ed2 Content-Disposition: form-data; name="accountId" 1 --9610effdb6e2da9d69bc6b5649353ed2 Content-Disposition: form-data; name="projectId" 1 --9610effdb6e2da9d69bc6b5649353ed2 Content-Disposition: form-data; name="file"; filename="example.zip" Content-Type: application/zip Binary contents goes here --9610effdb6e2da9d69bc6b5649353ed2-- ' http://localhost:47303/upload
SFTP
Groundspeed also supports SFTP as a mechanism for delivering processed data.
SFTP Method
The most common way that clients consume data from Groundspeed is via SFTP pull, where Groundspeed hosts the SFTP server, and clients pull files from a delivery folder on said server.
Attributes
SSH Key
For this use case, the client must provide the public key from an SSH key pair that they generate so that Groundspeed can grant access to the server securely.
Clients also have the option to host an SFTP server of their own that Groundspeed can push data to when it’s ready. In this case, Groundspeed needs all of the information needed to access the server, and Groundspeed would share it’s public key to grant it’s systems access to the client’s SFTP server.
Attributes
Client SFTP Server
This value will be associated with your request, and will be delivered back to you with the data. It can be used to map the request to an external id in your database.
Example
[ { "_id": "_id1", "subFileId": null, "fileName": "file1.xlsx", "subFileName": null, "docType": "lossrun", "flagReason": "no_data", "flagCode": "301", "fileIdDuplicateOf": null, "fileNameDuplicateOf": null }, { "_id": "_id2", "subFileId": null, "fileName": "file2.xlsx", "subFileName": null, "docType": "exposuredoc", "flagReason": "out_of_scope", "flagCode": "302", "fileIdDuplicateOf": null, "fileNameDuplicateOf": null }, { "_id": "_id3", "subFileId": null, "fileName": "file3.pdf", "subFileName": null, "docType": "lossrun", "flagReason": "poor_quality", "flagCode": "303", "fileIdDuplicateOf": null, "fileNameDuplicateOf": null } ]
[ { "coverSheet": {}, "loss_summary": [ { "Account Name": "Acme_Inc_123435", "Line of Business": "WORKERS COMPENSATION", "Subcoverage": null, "Policy Year": "2018", "Carrier": "BERKSHIRE HATHAWAY GRP", "Total Number of Claims": 31, "Loss Paid": 0, "Loss Reserve": 0, "Total Loss (excl. Exp)": 0, "Expense Paid": 0, "Expense Reserve": 0, "Total Expense": 0, "Total Paid": 0, "Total Reserves": 0, "Total Losses": 0 } ], "loss_detail": [ { "Line of Business Raw": null, "Line of Business": "General Liability", "is Line of Business Predicted": true, "Line Type": "General Liability", "is Line Type Predicted": true, "Subcoverage": "premises", "Policy Year": 2020, "Effective Date": "02/16/2020", "Expiration Date": "02/16/2021", "Carrier": "BERKSHIRE HATHAWAY GRP", "Insured Name": "ACME INC", "Policy Number": "WC20208105600", "Valuation Date": "02/09/2022", "Claim Number": "NL002XXXX", "Date of Loss": "07/14/2020", "Date Reported": null, "Status": "closed", "Close Date": null, "Claimant Name": "Jane Doe", "Loss Type": null, "Nature of Injury": null, "At Fault": null, "Loss State": null, "Loss Location": null, "Loss Description": "Moving material with crane. Another party rigged up the crane and it came loose striking claimant's finger.", "Body Part": "FINGER(S)", "Gross Loss Paid": 4282.94, "Gross Loss Reserves": 0, "Gross Loss Incurred": 4282.94, "Indemnity Paid": 2118.29, "Indemnity Reserves": 0, "Indemnity Incurred": 2118.29, "Medical Paid": 2164.65, "Medical Reserves": 0, "Medical Incurred": 2164.65, "Expense Paid": 0, "Expense Reserves": 0, "Expense Incurred": 0, "Total Paid": 4282.94, "Total Reserves": 0, "Gross Total Incurred": 4282.94, "Deductible": null, "Subrogation": null, "Salvage": null, "Recoveries": null, "Net Total Incurred": null, "is Summary Record": false, "Summary Claim Count": null, "GS Occurrence ID": "0eef52ee-2d6c-31d2-b749-686ed26ff8d2", "Filename": "qiuogtjssl028uq754jteddhvke5urbsbenjq0o1.eml", "FileID": "JyAmfjKF5oYB4rkLW", "RecordID": "0eef52ee-2d6c-31d2-b749-686ed26ff8d2" } ], "large_losses": [ { "Line of Business": "WORKERS COMPENSATION", "Policy Year": "2018", "Effective Date": "01/01/2018", "Carrier": "BERKSHIRE HATHAWAY GRP", "Policy Number": "WC20208105600", "Valuation Date": "02/09/2018", "Date of Loss": "01/21/2018", "Claim Number": "NL002XXXX", "Status": "closed", "Claimant Name": "Jack Sparrow", "Loss Description": "Lost leg during a boating accident", "Loss Type": null, "At Fault": false, "Loss State": "CA", "Loss Location": "San Francisco Bay", "Total Paid": 25718.81, "Total Reserves": 32000, "Gross Total Incurred": 25718.81, "Recoveries": 0, "Net Total Incurred": 25718.81, "Loss Threshold": 10000, "FileID": "JyAmfjKF5oYB4rkLW", "Filename": "qiuogtjssl028uq754jteddhvke5urbsbenjq0o1.eml", "RecordID": "0eef52ee-2d6c-31d2-b749-686ed26123591", "GS Occurrence ID": "", "Claim Count with Zero Dollar": 0, "Claim Count": 1 } ], "exposureProperty": [ { "File Name": "Acme_Exposures.csv", "Record ID": "62e84315-07ab-32fb-a8dc-4122c320asd1210d", "File ID": "yMR6plWwj5B9hzbUZ", "Named Insured": null, "Business Entity": null, "Currency": "USD", "Description of Operations": "Shipping", "Description": null, "Location Name": "Location A", "Location Number": "01", "Building Number": "02", "Location Address": "123 Main Street", "Location City": "Springfield", "Location County": null, "Location State": "MO", "Location Zip Code": "65619", "Location Country": "US", "Latitude": "42.718", "Longitude": "-83.7651", "Valuation Date": "03/01/2018", "Policy Year": "2019", "Effective Date": "01/01/2019", "Expiration Date": "01/01/2020", "Date Added": "07/01/2017", "Delete Date": "08/13/2019", "Building Value": 34500000, "Contents Value": 2200000, "Other Value": 15000, "BI Value": 100000, "Total Insured Value": 16890240, "Occupancy": "Warehousing", "Construction": "frame", "Year Built": 1987, "Year Upgraded": 2011, "Area": 42000, "Number of Stories": 8, "Number of Buildings": 3, "Number of Floors Occupied": 4, "Wind Zone": "Springfield", "Earthquake Zone": "Springfield", "Flood Zone": "Springfield", "Construction Quality": "Earthquake", "Construction Quality Convective Storm": "Medium", "Roof Covering": "Copper", "Roof Covering Convective Storm": "Plywood", "Roof Age": 23, "Roof Age Convective Storm": "19", "Roof Geometry": "Gambrel", "Roof Geometry Convective Storm": "Hip", "Roof Anchor": "Hurricane Ties", "Roof Anchor Convective Storm": "Adhesive Epoxy", "Roof Equipment": "No equipment", "Roof Equipment Convective Storm": "Vulnerable", "Basement": "None", "Basement Convective Storm": "Unfinished", "Other Structures": "Other fences", "Other Structures Convective Storm": "Shed", "Cladding": "Tile", "Cladding Convective Storm": "Clapboards", "Cladding Earthquake": "Stucco", "Frame Connection": "Gravity / Friction", "Frame Connection Convective Storm": "Structurally Connected", "Ground Level Equipment": "Vulnerable", "Ground Level Equipment Convective Storm": "Resilient", "Opening Protection": "None", "Opening Protection Convective Storm": "Engineered shutters", "Flashing and Coping": "Vulnerable", "Flashing and Coping Convective Storm": "Resilient", "Base Isolation": "Visco-elastic dampers", "Equipment Support Maintenance": "Unknown / default", "Engineered Foundation": "Crawl space masonry", "Frame Bolt": "Anchor Bolts", "Masonry Chimney": "Yes, height <= 2 ft", "Masonry Partitions": "Gypsum boards", "Equipment Bracing": "Unbraced", "Ornamentation": "None", "Vertical Irregularity": "Vertical Offset", "Pounding": "0-0.25 m", "Plan Irregularity": "Non-uniform Floor Area", "Short Column": "No", "Soft Story": "Yes", "Structural Upgrade": "Unknown", "Purlin Anchoring": "No", "URMRetrofit": "General", "Cripple Walls": "No", "Sprinkler": "No sprinkler", "Wind Missiles": "Unknown", "Mechanical Electrical Equipment": "Generally unbraced 3", "BI Preparedness": "Resilient", "BI Redundancy": "Vulnerable", "Redundancy": "Litter or No redundancy", "Tree Density": "Low tree risk", "Construction Code": "110", "Sprinkler Leakage Susceptibility": "Low 1", "Door Resistance": "Not Designed for Wind Protection 3", "Roof Maintenance": "Resilient", "Parapets Chimneys": "No Parapets 2", "Time Element Period": "365", "Unique Market Reference": "B1526ENSAM1800207" } ], "exposureAuto": [ { "File Name": "Acme_Exposures.csv", "Record ID": "62e84315-07ab-32fb-a8dc-4122c320asd1210d", "File ID": "yMR6plWwj5B9hzbUZ", "Named Insured": "ABC Corp.", "Business Entity": "NA Operation", "Currency": "USD", "Location Name": "Warehouse BB", "Location Street Address": "987 Oak Lane", "Location City": "Springfield", "Location County": "Hampden", "Location State": "MA", "Location Zip Code": "01104", "Location Country": "USA", "Valuation Date": "03/01/2020", "Policy Year": "2019", "Effective Date": "01/01/19", "Expiration Date": "01/01/20", "VIN": "8401928391820AAC", "Vehicle Body": "Truck", "Vehicle Make": "Ford", "Vehicle Model": "F-150", "Vehicle Year": "2015", "Gross Vehicle Weight Rating": "9800", "Class Code": "7398", "Normalized Vehicle Type": "Small Truck", "Vehicle Value": "30000", "Vehicle Registered State": "MI", "Vehicle Radius": "51-200", "Miles Driven": "1340", "Private Passenger": 3, "Vehicles Count": 4, "Light Vehicle Count": 66, "Medium Vehicles Count": 43, "Heavy Vehicles Count": 24, "Extra Heavy Vehicles Count": 11, "Total Vehicles Count": 142, "Trailers Count": 23, "Date Added": "07/01/2017", "Date Deleted": "08/13/2019" } ], "exposurePayroll": [ { "File Name": "Acme_Exposures.csv", "Record ID": "62e84315-07ab-32fb-a8dc-4122c320asd1210d", "File ID": "yMR6plWwj5B9hzbUZ", "Named Insured": "ABC Corp.", "Business Entity": "NA Operation", "Division": "NA - Warehousing", "Currency": "USD", "Description of Operations": "Shipping and Storage", "Description": "Equipment Storage", "Location Name": "Warehouse BB", "Location Street Address": "987 Oak Lane", "Location City": "Springfield", "Location County": "Hampden", "Location State": "MA", "Location Country": "USA", "Valuation Date": "03/01/2020", "Policy Year": "2019", "Effective Date": "01/01/2019", "Expiration Date": "01/01/2020", "Industry Class": "Legal Services", "Class Code": "8810", "Class Code Description": "Clerical Office Employees NOC", "Employee Type": "Full-time", "Full-Time Employee Count": 41, "Part-Time Employee Count": 45, "Temp Employee Count": 22, "Seasonal Employee Count": 0, "Total Employee Count": 88, "Experience Modifier": 0.87, "Payroll": 23000000, "Rate": 2.07, "Rate Type": "Prem/Ops", "Premium Basis Raw": "Sales per 1000", "Premium Basis Calculated": "S", "Rated Premium": 820000 } ], "exposureRevenue": [ { "File Name": "Acme_Exposures.csv", "Record ID": "62e84315-07ab-32fb-a8dc-4122c320asd1210d", "File ID": "yMR6plWwj5B9hzbUZ", "Named Insured": "ABC Corp.", "Business Entity": "NA Operation", "Division": "NA - Warehousing", "Currency": "USD", "Description of Operations": "Shipping and Storage", "Description": "Equipment Storage", "Location Name": "Warehouse BB", "Location Street Address": "987 Oak Lane", "Location City": "Springfield", "Location County": "Hampden", "Location State": "MA", "Location Country": "USA", "Valuation Date": "03/01/2020", "Policy Year": "2019", "Effective Date": "01/01/2019", "Expiration Date": "01/01/2020", "Occupancy": "Commercial, wholesale trade", "Audited Revenue": 120400000, "Estimated Revenue": 6540050, "Gross Revenue": 5200000, "Net Revenue": 4010000, "Cost of Goods Sold": 1022000, "Exposure Value": 500000, "Rate": 2.07, "Rate Type": "Prems/Ops", "Premium Basis Raw": "Sales per 1000", "Premium Basis Calculated": "S", "Rated Premium": 820000 } ], "exposureEquipment": [ { "File Name": "Acme_Exposures.csv", "Record ID": "62e84315-07ab-32fb-a8dc-4122c320asd1210d", "File ID": "yMR6plWwj5B9hzbUZ", "Named Insured": "ABC Corp.", "Business Entity": "NA Operation", "Division": "NA - Warehousing", "Currency": "USD", "Description of Operations": "Shipping and Storage", "Description": "Fontaine Trailer", "Location Name": "Warehouse BB", "Location Street Address": "987 Oak Lane", "Location City": "Springfield", "Location County": "Hampden", "Location State": "MA", "Location Country": "USA", "Valuation Date": "03/01/2020", "Policy Year": "2019", "Vehicle Number": "5", "VIN": "8401928391820AAC", "Serial Number": "125292871", "Vehicle Make": "Ford", "Vehicle Model": "F-150", "Vehicle Year": 2015, "Normalized Vehicle Type": "trailer", "Current Value": 6000, "Purchase Price": 12000, "Replacement Cost": 12500, "Garage Location": "872 Carlsbad Dr", "Garage City": "Springfield", "Garage State": "MA", "Vehicle License Plate State": "MA", "License Plate Number": "13B-33E", "Date Purchased": "04/21/2016", "Operational Radius": "5-50", "Ownership": "Fully owned", "Connectors": "350 gray", "attachmentTypeRaw": "Keg fork", "Fuel Type": "none", "Vehicle Weight": "2100", "Vehicle Weight With Battery": "2150", "Use Hours": 315, "Capacity": 12500, "Vehicle Status": "added" } ], "exposureDrivers": [ { "ACTION CODE": "MVR", "ACCOUNT": "3019288", "BILL CODE": "000", "STATE": "TX", "DL NUMBER": "T-12983018", "DATE OF BIRTH": "05/09/1979", "LAST NAME": "jefferson", "SUFFIX": null, "FIRST NAME": "samuel", "MIDDLE NAME": "eugene", "GENDER": "male", "RESERVED": null, "REQUEST TYPE": null, "COMMENT": null, "FILL OPTION": null, "GROUP NAME": "CDL-B", "MEDICAL CERTIFICATION EXPIRATION": "02/01/2014", "HIRE DATE": "07/11/2011", "HEIGHT": "68", "WEIGHT": "171", "Record ID": "62e84315-07ab-32fb-a8dc-4122c320asd1210d", "File ID": "yMR6plWwj5B9hzbUZ" } ], "exposureAircraft": [], "exposureWatercraft": [], "setup": { "requestId": "client_account_ref_123", "submissionMetaData": { "emailSubject": "Fwd: Acme Inc. 2021 renewal", "emailSender": "acme.insurance@example.com", "emailDate": "10/05/2021, 15:29:17", "submissionAttachments": { "attachmentsCount": 4, "attachments": [ { "fileName": "acme_acord_125_127.pdf", "fileExtension": "pdf", "docType": "acord" }, { "fileName": "acme_claims.pdf", "fileExtension": "pdf", "docType": "lossrun" }, { "fileName": "acme_policy_doc.pdf", "fileExtension": "pdf", "docType": "policyform" }, { "fileName": "acme_sov.xlsx", "fileExtension": "xlsx", "docType": "sov" } ] } }, "submissionData": { "insuredName": "Acme Inc.", "dateSubmitted": "09/23/2021", "effectiveDate": "11/30/2021", "expirationDate": "11/30/2022", "agencyName": "Insurance Inc.", "agencyAddress1": "123 Main Street", "agencyAddress2": "Suite 100", "agencyCity": "New York", "agencyState": "NY", "agencyPostalCode": "10001", "insuredAddress1": "500 Wall Street", "insuredAddress2": null, "insuredCity": "New York", "insuredState": "NY", "insuredPostalCode": "10010", "agencyContactEmail": "jsmith@insuranceinc.com", "underwriterName": "Jane Doe", "underwriterEmail": "jdoe@insuranceinc.com", "coverageTypes": [ "Property", "Workers Compensation" ], "needByDate": "11/25/2021", "fein": "19-02931241", "naics": "441", "dunsNumber": "123456789", "policyTermMonths": 12, "segment": "A1", "yearOfAccount": "2022", "brokerPortal": "http://xyzinsuranceservices.com" } } } ]
Most commonly used in conjunction with email ingest, clients can register a list of email addresses that should receive the processed data from Groundspeed.
Data Reference
Frequently Asked Questions
How does line of business and linetype prediction work?
How does Groundspeed detect duplicate loss run claims?
How does Groundspeed detect duplicate loss run summary records?
What documents doesn’t Groundspeed support?
Why do some files fail to ingest?
What ACORD forms doesn’t Groundspeed support?
I sent a ZIP file and then later sent another, but they’re not coming back under the same account?
How is data populated in extracts for fields that can be drawn from multiple documents?
Anchor Link
How does line of business and linetype prediction work?
The Line of Business (LOB) and Linetype Fields
For claims, Groundspeed populates two related fields in the loss detail output to describe the relevant class of insurance business and coverage: line of business and linetype.
Line of business describes the class of insurance business the claim pertains to, and can include umbrella, package, or excess lines.
Linetype describes the underlying coverage type relevant to the claim, and does not include umbrella, package, or excess classifications.
In practice, these fields will always be the same unless the LOB is umbrella, package, or excess. In which case, the linetype will specify the underlying coverage type relevant to the claim.
How Groundspeed determines LOB and Linetype
The Groundspeed pipeline uses capture values, heuristics, and machine learning models to identify the line of business and linetype for a given claim in the following order:
- Utilizing the Coverage Type captured from original Loss Run document:
- If a coverage type value is present in the document we will capture it and normalize the data. Example: For the following input values: GL, CGL, General Liability, the output will show General Liability.
- If a value is captured but cannot be normalized, it will display in the “Line of Business Raw” field, but #2 or #3 below will be used for the “Line of Business” and “Linetype” Fields.
- For example “Liability,” which is too vague to be assigned a normalized value.
- Predict using one of a set of heuristics:
- Policy/Claim Number: if policy or claim number prefix is “WC” or “GL,” then the LOB/Linetype will be set accordingly.
- Monoline WC carrier: if carrier tied to claim is recognized as a WC-only carrier, lob and linetype will be set to WC for that claim. Groundspeed maintains a list of carriers in this space and frequently updates that list.
- Losstype: if products completed, premises, or prem/ops captured as a claims losstype, a lob/linetype of “General Liability” will be inferred.
- Predict using Groundspeed AI:
- When there is no explicit coverage type in the original document and no heuristic applies, Groundspeed uses a series of models to predict LOB and Linetype values.
- These models leverage the entire captured claim record to assign a lob/linetype and are trained using our vast contributory dataset.
- If a predicted value is low confidence, the models will abstain from making a prediction, leaving the lob/line type as unknown.
- For example, we often see claims with no claim description or phrases like “N/A”.
- Given that our contributory dataset reflects the real world with a mix of various lines, some lines are better represented in the data than others. Those lines with higher volumes provide more consistent and high confidence predictions, while those lower volumes tend to result in lower confidence scores.
Anchor Link
How does Groundspeed detect duplicate loss run claims?
Overview
The Groundspeed claim detail duplication detection logic works to identify individual claim records that are duplicates.
Rules
All fields must match in the record to detect a duplicate:
- Account ID – the account to which the claim belongs
- Line of Business – the line of business of the claim
- Carrier – the carrier responsible for the claim
- Claim Number – the cleaned claim number
- Policy Year – the policy year of the claim
- Date of Loss – the date on which the claim occurred
- Valuation Date – the date on which the claim financials were updated
- Claimant Name – the name of the claimant
- Claimant Number – the number of the claimant
- Loss Type – the classification of the claim within the LOB
- Medical Incurred – the incurred medical financials for a claim
- BI Incurred – the incurred bodily injury financials for a claim
- PD Incurred – the incurred property damage financials for a claim
- Expense Incurred – the total incurred expense financials for a claim
- Indemnity Incurred – the incurred indemnity financials for a claim
- Indemnity Reserves – the indemnity reserve financials for a claim
- Indemnity Paid – the indemnity paid financials for a claim
- Gross Total Incurred – the total incurred financials for a claim
- Total Reserves – the total reserves financials for a claim
- Total Paid – the total paid financials for a claim
Anchor Link
How does Groundspeed detect duplicate loss run summary records?
Overview
The Groundspeed claim summary duplication detection logic works to identify claim summary records that are duplicates.
Rules
- All fields must match in the record to detect a duplicate summary record:
- Line of Business – the line of business of the claim
- Carrier – the carrier responsible for the claim
- Policy Year – the policy year of the claim
- Summary Claim Count – the number of claims listed for the summary record
- Policy Number – if policy number is present, policy number is included in the mandatory fields. If policy number is not present it is not included in the mandatory fields
- At least 1 of these fields must match to detect a duplicate summary record:
- Total Paid
- netTotal Paid
- netGross Total Incurred
- Gross Total Incurred
Anchor Link
How does Groundspeed identify loss run claim occurrences?
Overview
The Groundspeed claim occurrence identification logic aims to identify a singular occurrence from which claims originated.
Examples include an auto accident, a hail storm, or an explosion at a factory which resulted in multiple claims.
Rules
- All fields must match in the record to identify an occurrence:
- Account ID – the account to which the claim belongs
- Line of Business – the normalized line of business of the claim
- Carrier – the carrier responsible for the claim
- Policy Number – the cleaned policy number of the claim
- Policy Year – the policy year of the claim
- Loss State – the loss state in which the claim occurred
- Date of Loss – the date on which the claim occurred
- At least 1 of these fields must match in the record to identify an occurrence:
- Claim ID – identifier of the claim
- Occurrence ID – identifier of the occurrence
- Driver Name – the name of the driver
- Claimant Name – the name of the claimant
- Loss Description – the description of the loss
- Claim Number – the cleaned claim number
Anchor Link
What insurance documents does Groundspeed support?
Product Type | Support Document Type |
---|---|
Setup and Clearance/Submission | Email ACORD Forms |
Loss Runs | PDF Loss report Excel/CSV loss report |
Exposures | Statements of Value Schedule of Hazards Driver List Vehicle Schedule Payroll Schedule Location Schedule Revenue Schedule Aircraft Schedule NCCI Emod CA WCRIB Emod ACORD Forms |
Emod | NCCI Emod CA WCRIB Emod |
Supported Acord Forms
Note: All versions and variants of each form will be supported. This includes state-specific variants, old form versions, and ACORD forms generated from an agency management system. For example: “Applied 130API,” “INS 127,” and “137 TX.”
Form Number | Notes |
---|---|
25 | |
27 | |
45 | |
101 | |
125 | Including: “ANI” and “CIS” supplements |
126 | |
127 | |
129 | |
130 | Including: “ANI” supplement |
131 | |
132 | |
137 | Including: State-specific variants, ex. “137 FL” |
139 | Including: CISGEM C540 SOV supplement |
140 | |
141 | |
143 | |
146 | |
147 | |
148 | |
152 | |
160 | Including: “ANI” supplement |
163 | |
211 | |
401 | |
402 | |
404 | |
810 | |
823 | |
829 | |
98 | |
Acord Additional Info (2004/08) | |
APPLIED 125/130/160 ANI (2008/01) | |
APPLIED 125CIS (2009/08) | |
APPLIED 126GL (2006/10) | |
APPLIED 127COV (2006/10) | |
APPLIED 133RIS WI (2005/009) | |
APPLIED 98 (2001/01) | |
CISGEM 108 | |
CISGEM 125.4 (3/93) | |
CISGEM 127.3 (8/94) | |
CISGEM 127.4 (8/94) | |
CISGEM C108 (8/88) | |
CISGEM C115 (8/88) | |
CISGEM C540 | |
OFADTLCV | |
OFEQSCHED | |
OFSCHEQP | |
OFILSCI | |
OFPTOFRL | |
OFCLADCOV | Additional Endorsement/Supplement |
OFGARVEH | Additional Endorsement/Supplement |
OFSOICOV | Additional Endorsement/Supplement |
OFAPPINF | Additional Endorsement/Supplement |
OFREMARK | Additional Endorsement/Supplement |
OFSCHHAZ | |
OFCONINF | Additional Endorsement/Supplement |
OFAPPINFCNI | Additional Endorsement/Supplement |
OFBAADCV | Additional Endorsement/Supplement |
OFSUPPNAME | Supplemental names of other named insureds |
APDWCLOC | Applied WC form associated with the ACORD 130 |
OFWCRATE | AMS WC form associated with the ACORD 130 |
OFWCPTOFRL | |
Premises Info Overflow | |
VERTAFORE C104 |
Anchor Link
What documents doesn’t Groundspeed support?
Out-Of-Scope Type | Description | Examples |
---|---|---|
Unsupported Document | File extensions or file types that are not machine-readable, OR are not relevant to commercial insurance. These documents will likely never be on our product roadmap | PPTX TXT Signature Block Images Audio, Video files Executables, scripts Password protected Low Image Quality No data – empty files Incorrect MIME/Content type Files with handwriting Files that do not pass virus scanning checks Company Brochure White Paper Marketing Materials Any Personal Lines Submission |
Anchor Link
Why do some files fail to ingest?
Error Code | Error | Description |
---|---|---|
100 | unsupported_file_type | The archive file type sent to our intake process was not on the list of supported file types |
101 | failed_virus_scan | The file, or the file container sent failed the virus scan step, and was quarantined |
102 | bad_zip_file | The file extension was a zip, however the file itself could not be opened |
106 | unsupported_document_type | No files within the zip are supported |
Anchor Link
What ACORD forms doesn’t Groundspeed support?
This list only covers commercial lines ACORD forms that we consider out-of-scope. All personal lines ACORD forms are out-of-scope at the moment.
- Form ID: 143, 88, 89, 145, 138 TX, 128, 125PCIS, 125LHS, 127COV, 130PCS, 131CCCS, 133, 133FL, 133TN, 144, 155BM, 188, 194, 25, 39NY, 60US, 61FL, 62FL, 63, 75, 815, 829, 829CLAP, 829LOB, 832.
Anchor Link
I sent a ZIP file and then later sent another, but they’re not coming back under the same account?
- An account is created for each individual ZIP file. If 2 ZIP files were sent, they would each get their own unique accountId and be returned as separate outputs.
Anchor Link
How is data populated in extracts for fields that can be drawn from multiple documents?
Groundspeed uses doctype precedence to determine which document a field is pulled from. If that field is not present in any of the doctypes listed then that field will appear blank on the extract.
Example: “insuredName” in the submissionData section of standard submission extracts.
insuredName has a doctype preference order of slip, email, acord, policyform, brokerspec, exposuredoc, sov, application, and locationschedule.
Scenario: An insured name of “Acme Corp Inc.” is found on a slip doctype and an insured name of “Acme Corp” is found on a brokerspec in the same submission. Because the slip doctype precedes the brokerspec in the doctype precedence rules set for this field, the insured name presented on the extract would be “Acme Corp Inc.”