Extracts data from a document that contains complex or repeated elements ("sections"). In effect, a "section" defines a repeating document inside a document, with its own fields.

The following image shows an example of a document containing "claims" sections, where each section starts with claim number and ends below date of claim: TODO: UPDATE SCREENSHOT W GREEN BRACKETS and/or red outlines!!

Click to enlarge

For the preceding example, you can configure Sensible to return an unprocessed_claims array, where each object in the array contains a claim_number, claim_date, claimant_last_name, and other fields. For more information, see Claims loss run example.

You can define "horizontal" sections ("direction": "horizontal"), as shown in the preceding image, or you can define columnar sections ("direction":"vertical").

Horizontal sections:

The following image shows horizontal sections. For more information, see the following Parameters section, and see Section nuances.

Click to enlarge

Vertical sections:

The following image shows columnar vertical sections. For more information, see the following Parameters section, and see Section nuances.

Click to enlarge

Tip: To extract repeated vertical section groups, nest them in parent sections. For an example, see Advanced: nested columns example.

Parameters

keyvaluedescription
id (required)stringSpecifies an ID for a group of sections to extract in the document area defined by the Range parameter. You can define an array of section groups, and you can nest sections inside of other sections.
typesectionsSpecifies that this field extracts sections.
range (required)objectSpecifies the document area from which to extract a group of sections.
horizontal sections: The sections can span pages and non-section text. For example, in the preceding claims image, sections can interleave with month headings.

vertical sections: The sections can span pages. By default, they can't span text that breaks the column format.
For the Range object's parameters, see the following table.
sectionsSpecifies sections inside sections. Use this for complex sections that contain nested repeated elements, for example, a grid of tables. Each nested section searches for its range inside each parent section's range.
displayboolean. Default: trueSpecifies to display the start and end of each section as brackets overlaid on the rendered document in the Sensible app. Use the brackets to visually troubleshoot sections.
requiredFieldsobjectArray of field IDs that must be non-null for Sensible to return a section.
In the Claims loss run example, add the following code to the sections to omit claims that lack a phone number:
"requiredFields": ["phone_number"],
With the preceding code, Sensible omits claim number 9876543211 from the example output.
fieldsarray of fieldsSpecifies fields to extract information that you expect to repeat in each section.
computed_fieldsarray of computed fieldsSpecifies to output computed fields to each section. The computed fields have access to each section's fields. To get access to and transform the output of fields that aren't in the sections' range, use the Copy To Section method.

Range parameters

TODO add new table here

Examples

See the following topics:

Notes

  • For details about vertical sections, see Section nuances.
  • See the Copy To Section computed field method to add globally applicable document information to sections.
  • See the Zip computed field for information about zipping sections together.