Hierarchical Data Mail Merge via Flat Source Conversion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Mail merge technologies are unable to generate documents using data sources with hierarchical records, such as sales receipts, which contain both parent records and child records, as they cannot effectively handle the varying items purchased by customers in a list format.

Innovation Solution

A system that generates multiple documents by receiving a data source with parent and child records, metadata, and a template document, converting the data source into a flat format, and populating tables within an intermediate document using mail merge functionality to create a final document that includes lists of items purchased by each customer.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional mail merge is used to generate documents from a template and data source, then documents can be generated efficiently, but the system cannot handle hierarchical data structures with parent and child records

Engineering Contradiction:
Improveability to handle hierarchical data structuresVSAvoiddocument generation system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the hierarchical data structure into separate parent records and child records, allowing the mail merge system to process them independently. The parent records contain customer information while child records contain item information, enabling the system to handle hierarchical data through multiple sequential mail merge operations rather than attempting to process the entire hierarchy at once.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by first generating documents with parent record data, then subsequently adding child record data to create the final hierarchical document structure. This two-step approach allows the system to prepare the document framework before populating it with detailed hierarchical information, making the complex task manageable through staged processing.

Inventive Principle:
Principle #10Preliminary action

2Loss of information

If mail merge fields are added to describe items purchased by each customer, then complete customer purchase information can be included, but traditional mail merge cannot process the varying number of items per customer

Engineering Contradiction:
Improvecompleteness of customer purchase informationVSAvoidability to handle variable record quantities
Core Design Contradiction:
Loss of informationVSAdaptability or versatility

Solution Approach 1:

The patent applies partial action by performing mail merge operations in stages - first with parent records, then adding child records separately. This allows the system to handle variable quantities of items per customer by processing each customer's items as additional partial additions rather than attempting to process all variable records in a single operation, thus preserving complete purchase information while managing the variability.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent uses an intermediary approach by introducing a two-step mail merge process where the first mail merge creates a base document with parent record information, and the second mail merge adds child record information. This intermediary step allows the system to bridge the gap between fixed template structures and variable hierarchical data, enabling complete information inclusion while maintaining system adaptability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7870485B2Method and apparatus for generating multiple documents using a template and a data source
Publication Date: 2011.01.11 INTUIT INC
  • US7870485B2 patent drawing
  • US7870485B2 patent drawing
  • US7870485B2 patent drawing

AI summary

A system that generates multiple documents using a template document and a data source. During operation, the system receives the data source, which includes parent records, child records, and metadata which describes the data stored in the parent and child records. Next, the system receives the template document which includes tables. The system then generates a flat data source from the data source, wherein the flat data source includes column names for the tables in the template document. Next, the system generates an intermediate document using the template document by concatenating multiple replicas of the template document to obtain an initial version of the intermediate document and by using the flat data source to populate the column names in the tables within the initial version of the intermediate document. The system then generates a final document by using the child records to populate rows in the tables within the intermediate document.