Methods and systems for collecting a digital input

The form engine system enhances digital input collection by allowing flexible and customizable input management through dynamic form component control and storage, addressing the inflexibility of traditional methods.

WO2025248473A1PCT designated stage Publication Date: 2025-12-04NOJUMI SOLUTIONS INC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/IB2025/055533
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-06-01
Filing Date
2025-05-28
Publication Date
2025-12-04

AI Technical Summary

Technical Problem

Existing methods for collecting and managing digital inputs are often static and inflexible, requiring significant upfront design work and are difficult to customize for different types and organizations of digital inputs.

Method used

A method and system utilizing a form engine to control a terminal for displaying digital form components, receive user inputs, generate answer paths with dialog and component identifiers, and store inputs in a machine-readable format, allowing for flexible and customizable digital input collection and organization.

Benefits of technology

Enables enhanced customizability and flexibility in collecting and organizing digital inputs, accommodating various types and structures without the need for extensive redesign, and facilitates synchronization with structured database repositories.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IB2025055533_04122025_PF_FP_ABST
    Figure IB2025055533_04122025_PF_FP_ABST
Patent Text Reader

Abstract

There is provided a method of collecting a digital input, the method including controlling by a form engine a terminal to display a component of a dialog of a digital form, and receiving at the form engine the digital input input at the terminal by a user. The digital input may be input in association with the component of the dialog of the digital form. The method also includes generating at the form engine an answer path for the digital input, which answer path may comprise: a dialog identifier associated with the dialog, a component identifier associated with the component, and an index associated with the dialog. The method may also include storing in a machine-readable storage medium the digital input in association with the answer path in an answer file.
Need to check novelty before this filing date? Find Prior Art

Description

METHODS AND SYSTEMS FOR COLLECTING A DIGITAL INPUTCROSS-REFERENCE TO RELATED APPLICATION

[0001] This application claims the benefit of and priority from United States Provisional Patent Application No. 63 / 654,969, filed on June 1 , 2024, which is incorporated herein by reference in its entirety.FIELD

[0002] The present specification relates to methods and systems for collecting an input, and in particular to methods and systems for collecting a digital input.BACKGROUND

[0003] Many functions and processes involve generation or manipulation of information. Information may take different forms or be embodied in different media. In some examples, this information may take the form of digital information such as a digital input.SUMMARY

[0004] According to an aspect of the present specification there is provided a method of collecting a digital input, the method comprising: controlling by a form engine a terminal to display a component of a dialog of a digital form; receiving at the form engine the digital input input at the terminal by a user, the digital input input in association with the component of the dialog of the digital form; generating at the form engine an answer path for the digital input, the answer path comprising: a dialog identifier associated with the dialog, a component identifier associated with the component, and an index associated with the dialog; and storing in a machine-readable storage medium the digital input in association with the answer path in an answer file.

[0005] The answer file may be a JSON object.

[0006] The method may further comprise: validating at the form engine the digital input according to a predetermined criterion; and if the validation is affirmative, generating at the form engine a validation indicator; and if the validation is negative, generating at the form engine an error message.

[0007] The method may further comprise: synching the answer file with a database repository of digital inputs.

[0008] The answer file may further comprise answer metadata associated with the index of the dialog; and the storing the digital input may comprise storing the digital input, the answer path, and the answer metadata in the answer file.

[0009] The component may comprise another digital form to be linked to the digital form, the other digital form comprising another dialog and another component; the component identifier may comprise another dialog identifier associated with the other dialog, another index associated with the other dialog, and another component identifier associated with the other component; the receiving the digital input may comprise receiving at the form engine the digital input in association with the other component of the other digital form; and the generating the answer path may comprise generating at the form engine the answer path comprising the dialog identifier, the index, a linking identifier associated with linking the other digital form with the digital form, the other dialog identifier, the other index, and the other component identifier.

[0010] The component may comprise a further dialog having a further component; the component identifier may comprise a further dialog identifier associated with the further dialog, a further index associated with the further dialog, and a further component identifier associated with the further component; the receiving the digital input may comprise receiving at the form engine the digital input in association with the further component; and the generating the answer path may comprise generating at the form engine the answer path comprising the dialog identifier, the index, the further dialog identifier, the further index, and the further component identifier.

[0011] The method may further comprise: obtaining at the form engine an access tag associated with one or more of the component and the dialog; determining at the form engine an access permission by comparing the access tag with an attribute of the user; and controlling by the form engine the terminal to display the component if the access permission is affirmative.

[0012] The method may further comprise: obtaining at the form engine a digital document template comprising a link to the digital input, the link associated with the answer path; obtaining at the form engine the digital input from the answer file based on the answer path; and generating at the form engine a digital document by replacing the link with the digital input in the digital document template.

[0013] The digital document template may further comprise one or more of a formatting indicator and a repetition indicator; and the generating the digital document may comprise generating the digital document based on one or more of the formatting indicator and the repetition indicator.

[0014] The method may further comprise: receiving at the form engine a form generation request identifying: the dialog; and the component in association with the dialog.

[0015] The form generation request may comprise a layout indicator associated with the component; and the controlling the terminal to display the component may comprise controlling by the form engine the terminal to display the component based on the layout indicator.

[0016] According to another aspect of the present specification there is provided a form engine comprising: a memory to store a digital input; a processor in communication with the memory, the processor to: control a terminal to display a component of a dialog of a digital form; receive the digital input input at the terminal by a user, the digital input input in association with the component of the dialog of the digital form; generate an answer path for the digital input, the answer path comprising: a dialog identifier associated with the dialog, a component identifier associated with the component, and an index associated with the dialog; and store in the memory the digital input in association with the answer path in an answer file.

[0017] The answer file may be a JSON object.

[0018] The processor may be further to: validate the digital input according to a predetermined criterion; and if the validation is affirmative, generate a validation indicator; and if the validation is negative, generate an error message.

[0019] The processor may be further to: synch the answer file with a database repository of digital inputs.

[0020] The answer file may further comprise answer metadata associated with the index of the dialog; and to store the digital input the processor may be to store the digital input, the answer path, and the answer metadata in the answer file.

[0021] The component may comprise another digital form to be linked to the digital form, the other digital form comprising another dialog and another component; the component identifier may comprise another dialog identifier associated with the other dialog, another index associated with the other dialog, and another component identifier associated with the other component; to receive the digital input the processor may be to receive the digital input in association with the other component of the other digital form; and to generate the answer path the processor may be to generate the answer path comprising the dialog identifier, the index, a linking identifier associated with linking the other digital form with the digital form, the other dialog identifier, the other index, and the other component identifier.

[0022] The component may comprise a further dialog having a further component; the component identifier may comprise a further dialog identifier associated with the further dialog, a further index associated with the further dialog, and a further component identifier associated with the further component; to receive the digital input the processor may be to receive the digital input in association with the further component; and to generate the answer path the processor may be to generate the answer path comprising the dialog identifier, the index, the further dialog identifier, the further index, and the further component identifier.

[0023] The processor may be further to: obtain an access tag associated with one or more of the component and the dialog; determine an access permission by comparingthe access tag with an attribute of the user; and control the terminal to display the component if the access permission is affirmative.

[0024] The processor may be further to: obtain a digital document template comprising a link to the digital input, the link associated with the answer path; obtain the digital input from the answer file based on the answer path; and generate a digital document by replacing the link with the digital input in the digital document template.

[0025] The digital document template may further comprise one or more of a formatting indicator and a repetition indicator; and to generate the digital document the processor may be to generate the digital document based on one or more of the formatting indicator and the repetition indicator.

[0026] The processor may be further to: receive a form generation request identifying: the dialog; and the component in association with the dialog.

[0027] The form generation request may comprise a layout indicator associated with the component; and to control the terminal to display the component the processor may be to control the terminal to display the component based on the layout indicator.

[0028] According to yet another aspect of the present specification there is provided a non-transitory computer-readable storage medium (CRSM) comprising instructions for collecting a digital input, the instructions executable by a processor, the instructions to cause the processor to: control a terminal to display a component of a dialog of a digital form; receive the digital input input at the terminal by a user, the digital input input in association with the component of the dialog of the digital form; generate an answer path for the digital input, the answer path comprising: a dialog identifier associatedwith the dialog, a component identifier associated with the component, and an index associated with the dialog; and store in a machine-readable storage medium the digital input in association with the answer path in an answer file.

[0029] The answer file may be a JSON object.

[0030] The instructions may further cause the processor to: validate the digital input according to a predetermined criterion; and if the validation is affirmative, generate a validation indicator; and if the validation is negative, generate an error message.

[0031] The instructions may further cause the processor to: synch the answer file with a database repository of digital inputs.

[0032] The answer file may further comprise answer metadata associated with the index of the dialog; and to store the digital input the instructions may cause the processor to store the digital input, the answer path, and the answer metadata in the answer file.

[0033] The component may comprise another digital form to be linked to the digital form, the other digital form comprising another dialog and another component; the component identifier may comprise another dialog identifier associated with the other dialog, another index associated with the other dialog, and another component identifier associated with the other component; to receive the digital input the instructions may cause the processor to receive the digital input in association with the other component of the other digital form; and to generate the answer path the instructions may cause the processor to generate the answer path comprising the dialog identifier, the index, a linking identifier associated with linking the other digital form with the digital form, the other dialog identifier, the other index, and the other component identifier.

[0034] The component may comprise a further dialog having a further component; the component identifier may comprise a further dialog identifier associated with the further dialog, a further index associated with the further dialog, and a further component identifier associated with the further component; to receive the digital input the instructions may cause the processor to receive the digital input in association with the further component; and to generate the answer path the instructions may cause the processor to generate the answer path comprising the dialog identifier, the index, the further dialog identifier, the further index, and the further component identifier.

[0035] The instructions may further cause the processor to: obtain an access tag associated with one or more of the component and the dialog; determine an access permission by comparing the access tag with an attribute of the user; and control the terminal to display the component if the access permission is affirmative.

[0036] The instructions may further cause the processor to: obtain a digital document template comprising a link to the digital input, the link associated with the answer path; obtain the digital input from the answer file based on the answer path; and generate a digital document by replacing the link with the digital input in the digital document template.

[0037] The digital document template may further comprise one or more of a formatting indicator and a repetition indicator; and to generate the digital document the instructions may cause the processor to generate the digital document based on one or more of the formatting indicator and the repetition indicator.

[0038] The instructions may further cause the processor to: receive a form generation request identifying: the dialog; and the component in association with the dialog.

[0039] The form generation request may comprise a layout indicator associated with the component; and to control the terminal to display the component the instructions may cause the processor to control the terminal to display the component based on the layout indicatorBRIEF DESCRIPTION OF THE DRAWINGS

[0040] In the drawings, identical reference numbers identify similar elements or acts. The sizes and relative positions of elements in the drawings are not necessarily drawn to scale. For example, the shapes of various elements and angles are not necessarily drawn to scale, and some of these elements are arbitrarily enlarged and positioned to improve drawing legibility. Further, the particular shapes of the elements as drawn are not necessarily intended to convey any information regarding the actual shape of the particular elements, and have been solely selected for ease of recognition in the drawings.

[0041] Fig. 1 shows a flowchart of an example method of collecting a digital input, in accordance with a non-limiting implementation of the present specification.

[0042] Fig. 2 shows a schematic representation of an example system, in accordance with a non-limiting implementation of the present specification.

[0043] Fig. 3 shows a block diagram of an example form engine, in accordance with a non-limiting implementation of the present specification.

[0044] Fig. 4 shows a block diagram of an example computer-readable storage medium, in accordance with a non-limiting implementation of the present specification.DETAILED DESCRIPTION

[0045] In the following description, certain specific details are set forth in order to provide a thorough understanding of various disclosed implementations. However, one skilled in the relevant art will recognize that implementations may be practiced without one or more of these specific details, or with other methods, components, materials, and the like. In other instances, well-known structures associated with light sources have not been shown or described in detail to avoid unnecessarily obscuring descriptions of the implementations.

[0046] Unless the context requires otherwise, throughout the specification and claims which follow, the word “comprise” and variations thereof, such as, “comprises” and “comprising” are to be construed in an open, inclusive sense, that is as “including, but not limited to.”

[0047] As used in this specification and the appended claims, the singular forms “a,” “an,” and “the” include plural referents unless the content clearly dictates otherwise. It should also be noted that the term “or” is generally employed in its broadest sense, that is as meaning “and / or” unless the content clearly dictates otherwise.

[0048] The headings and Abstract of the Disclosure provided herein are for convenience only and do not interpret the scope or meaning of the implementations.

[0049] Some functions or processes may involve generation, manipulation, or collection of digital inputs. Some means of collecting such digital inputs may be static or relatively difficult to customize on the fly. For example, traditional forms may be static and relatively inflexible. Moreover, some database schemes may require considerable preliminary design work and structural specification, making such database schemes difficult to customize and tailor to different and changing types of digital inputs. Fig. 1shows a schematic representation of an example method 100 of collecting a digital input. Method 100 may provide a method of collecting and organizing digital inputs that provides enhanced customizability on the fly and an increased flexibility to accommodate different types and organizations of digital inputs.

[0050] Turning now to Fig. 1 , at box 105 a form engine may control a terminal to display a component of a dialog of a digital form. Examples of such a form engine and such a terminal are described in greater detail in relation to Figs. 2 and 3. Such a terminal may have output functionality, for example to display content, and input functionality to receive input. In some examples, this input may comprise a digital input. Moreover, in some examples, digital input may comprise input that can be received and processed by a digital processor and stored by a computer- or machine-readable storage medium. In some examples, the form engine may control the terminal directly. It is also contemplated that in some examples the form engine may control the terminal indirectly.

[0051] The digital form may comprise a dialog and an associated component. Digital form may also be referred as “form” in short. An example of such a form is described in greater detail in relation to Fig. 2. The dialog and the component may allow for organizing information provided by the form and the digital input collected via the form. In some examples, the form may have a default dialog called an “interview”. Moreover, in some examples, the first or “interview” dialog may have a different name, or the form may have one or more additional dialogs. Furthermore, in some examples, the dialogs may be repeated or nested.

[0052] Furthermore, in some examples, all dialogs may be grouped into one main default dialog called “interview”. This interview dialog may function as a root of the other dialogs in the form. The dialog “interview” may dictate the initial layout of some or all of the form, by defining the order of the other dialogs. In addition, in some examples, one or more of the dialogs may each have one or more nested dialogs (or sub dialogs) within them, as is described in greater detail below.

[0053] Each dialog may have one or more components. Components may be of different types, such as input components, computed or computational components, display components, and the like. Input components may be used to receive a digital input from a user. For example, the form engine may control the terminal to display the component and the user may then input the digital input at or via the terminal in association with the component. In some examples, displaying the component may comprise displaying a visual representation or input field corresponding to, or associated with, the component. It is also contemplated that in some examples, the terminal may generate another representation of the component in addition or, or instead of, the visual representation. Examples of such other representations may include an audio representation, a haptic representation, a Braille representation, and the like.

[0054] Input components may be able to receive different types of digital input. Examples of such input may include text, text area, number, date, Boolean, radio, multicheckbox, selection component, table, button, and the like. Furthermore, in some examples, the component may comprise a linked intake form, as is described in greater detail below. Computed or computational components may be able to execute code or computation, and return an output. Examples of such code may include JavaScript code, and the like. The output may comprise text, a number, a combination of text and numbers, a Boolean output, HTML, and the like. An example of a computational component may receive birth date as an input and output the current age of a person. Other examples of computations are also contemplated.

[0055] Display components may display text or images as part of the digital form. In some examples, display components may be used to display information or prompts, and the like. Furthermore, in some examples, display components may be able to control or set the visual qualities of the information they display, such as font, color, other formatting parameters, and the like. In addition, in some examples, the display components may use as their input the output of the computational, such as text, numbers, HTML code, and the like.

[0056] Components and dialogs may have additional attributes such as a label, icon, computed hide, tooltip, tooltip headers, and the like, label and icon may determine how the dialog and component are displayed in the digital form. Computed hide may provide conditions or parameters under which the dialog or component may be hidden, i.e. not displayed by the terminal, under given conditions or to given users. In some examples, an attribute of a component or dialog may also include an access tag, as will be described in greater detail below. Access tags may also determine whether some users will be shown, or otherwise given access to, the dialog or component bearing the access tag based on an attribute of the user such as their identity, role, and the like.

[0057] In addition, in some examples, an attribute of a component or dialog may also include validation logic. Such validation logic may be used to determine whether the digital input received in association with a component or dialog is complete or correct. For example, validation logic for a “person” input component may require text to be entered in both “first name” and “last name” fields. As another example, validation logic for ownership percentage of shareholders for a company my require the ownership percentages to add up to 100%. Other types of validation logic are also contemplated. Such validation logic may be used to validate the digital input received via the component of the dialog of the form. Upon validation, an error message or prompt may be generated if the digital input does not meet the requirements of the validation logic.

[0058] Turning now to box 110 of method 100, the form engine may receive the digital input input at the terminal by a user. The digital input may be input in association with the component of the dialog of the digital form. In some examples, the digital input being input in association with the component may comprise the digital input being input in association with a representation of the component displayed by the terminal. For example, the input terminal may display an input field corresponding to, or in association with, the component, and the user may then input the digital input in, or in association with, the input field.

[0059] In some examples, the user may comprise a person. It is also contemplated that in some examples the user may comprise another system or component of a system.Moreover, while boxes 105 and 110 describe the terminal as both displaying the component and receiving the digital input from the user, it is contemplated that in some examples the parts of the system displaying the component and receiving the digital input may be different parts of the same terminal system or may be different terminals.

[0060] At box 115, the form engine may generate an answer path for the digital input. This answer path may comprise a dialog identifier associated with the dialog, a component identifier associated with the component, and an index associated with the dialog. The index may comprise an integer greater than or equal to zero, which index may indicate whether the dialog is repeated. For example, the dialog associated with a first buyer of property may be assigned index ‘O’. If there are additional buyers and corresponding repeated buyer dialogs, those additional dialogs may be assigned incrementally increasing indexes such as T, ‘2, and so on. It is also contemplated that in some examples, the index may comprise an integer greater than or equal to one.

[0061] A dialog identifier and the component identifier may each comprise an alphanumeric value associated with the dialog and the component respectively. These identifiers may also be described as “keys”. In some examples, to generate the answer path, the form engine may combine, or associate with one another, the dialog identifier, the index, and the component identifier. For example, the dialog for the buyer of a property may have the identifier “buyer”, and the associated component for the last name of the buyer may have the identifier “lastname”. The last name of the buyer may be “Smtih”. In this example, the form engine may generate buyer / O / lastname as the answer path for the digital input, or answer, “Smtih”. While in this exampleis used to separate the index and the dialog and component identifiers, it is contemplated that in some examples different notations or conventions may be used to generate the answer path based on the index and the dialog and component identifiers.

[0062] At box 120, the digital input may be stored in a machine- or computer- readable storage medium in association with the answer path in an answer file. In other words, the answer file may comprise the digital input stored in association with its answer path. In some examples, “machine-readable storage medium” and “computer-readablestorage medium” may be used interchangeably. Furthermore, in some examples, the form engine may control or direct the storing of the digital input and the answer path. Moreover, in some examples, the storage medium may be part of the form engine, or outside of the form engine. It is also contemplated that in some examples, the storage medium may be cloud-based, distributed, and the like. In addition, in some examples, the answer file may be output, for example by storing it in a machine- or computer-readable storage medium, sending it to another component of the form engine or sending it to a system or system component outside the form engine, printing it, displaying it at a terminal, storing it in a digital repository such as a database, and the like.

[0063] Furthermore, in some examples, the answer file may comprise a JSON object. Moreover, in some examples, this JSON object may comprise a flattened JSON object. Using method 100 and the other methods described herein to collect digital input via a digital form and to store the digital input in association with the answer path in an answer file may provide a tailorable and flexible way to collect, organize, and store digital inputs. Such answer files may be able to accommodate various types of digital input organized using different numbers and combinations of components and dialogs. In addition, components and dialogs may be added on the fly, without the need to redefine or rebuild the underlying digital data collection and organization scheme.

[0064] As discussed above, in some examples method 100 may further comprise validating at the form engine the digital input according to a predetermined criterion. In some examples, this predetermined criterion may comprise the validation logic associated with the corresponding component, dialog, or the digital form. If the validation is affirmative, the form engine may generate a validation indicator. Such as a validation indicator may confirm the validity of the digital input based on the validation criteria or logic. If, the validation is negative, the form engine may generate an error message. In some examples, such an error message may comprise an alphanumeric string, which may one or more of indicate the error and suggest a fix for the error.

[0065] In addition, in some examples, method 100 may include synching the answer file with a database repository of digital inputs. This synching may also be referredto as “instance mapping”, where the digital input associated with an instance of a form (or its associated dialog or component) is mapped or synched with a database repository. In some examples this database repository may be based on a relatively more rigid and structured way of storing data. Examples of such a repository may include a relational database such as SQL database, and the like. In this manner the more flexible methods and systems for collecting a digital input described herein may also be used to populate or update more rigid and structured database repositories of digital inputs.

[0066] As described above, in some examples the answer path may comprise the dialog and component identifiers and an index associated with the dialog. The answer file would then comprise this answer path and its associated answer or digital input. It is contemplated that in some examples the answer file may comprise additional components. In some examples, the answer file may further comprise answer metadata associated with the index of the dialog. In such examples, storing the answer file may comprise storing the digital input, the answer path, and the answer metadata in the answer file.

[0067] Such answer metadata may be used in examples where additional information is used to describe how and where the digital input is stored. Tables of digital input and complicated dialog structures may be examples where answer metadata is used to provide additional information on how and where the digital input is stored. In some examples, the answer metadata may be part of the answer file and may define the indexes of the dialogs in the digital form. The same may apply to table components.

[0068] In some examples, the answer metadata may have the following format:{"dialogPrefixIds": {...},"dialogPrefixNextSeq": {...}} dialogPrefixIds may comprise an object where each key is the dialog meta key (i.e. the dialog path without its index) and the value is an array of all indexes for that dialog.dialogPrefixNextSeq may define the next index for the dialog when a new repetition is added.

[0069] Moreover, in some examples, a digital form may have nested dialogs. In such examples, multiple dialog identifiers and corresponding indexes may be present in the answer path, to reflect the nested structure of the dialogs. In these nested structures, the “child” or nested dialog may be described as a “component” of the parent dialog, which child dialog has its own further dialog and corresponding further component. As such, in some examples the component may comprise a further dialog having a further component. The component identifier may comprise a further dialog identifier associated with the further dialog, a further index associated with the further dialog, and a further component identifier associated with the further component. In these examples, the form engine may receive the digital input in association with the further component. The form engine may then generate the answer path comprising the dialog identifier, the index, the further dialog identifier, the further index, and the further component identifier. An example of such an answer path may comprise: dialog identifier / index / further dialog identifier / further index / further component identifier, where the further dialog is nested within the dialog.

[0070] Furthermore, in some examples, another digital form may be linked to the first form. In some examples this may be done via the component linked intake form. In this manner the linked digital form may be (re)used in the first form, without the need to remake the linked form’s dialogs and components in the first form. In such examples, the component of the first form may be described as comprising another digital form to be linked to the first digital form, the other digital form comprising another dialog and another component. The component identifier may then comprise another dialog identifier associated with the other dialog, another index associated with the other dialog, and another component identifier associated with the other component.

[0071] In such examples, the form engine may receive the digital input in association with the other component of the other digital form. The form engine may thengenerate the answer path comprising the dialog identifier, the index, a linking identifier associated with linking the other digital form with the digital form, the other dialog identifier, the other index, and the other component identifier. The linking identifier may indicate that the other digital form is to be linked to the (first) digital form. An example of such an answer path may comprise: dialog identifier / index / linking identifier / other dialog identifier / other index / other component identifier, where the other dialog, other index, and other components are associated with the other digital form that is linked to the (first) digital form. In some examples, this linking may be associated with, or embodied in, the linked intake form component.

[0072] Linked intake form components may also all be connected via what is known in the form engine as a ’’grouping key”. In such a case, linked intake form components found either within the same dialog or several different dialogs, under a common parent dialog, may be associated with the same answers. This allows for displaying multiple dialogs of the linked intake form within a parent in different places. For example, a parent form may be dealing with real estate purchases and one of its components within a dialog is the linked form component for property form. The property form itself is separate from the real estate purchase form. The property form may have several dialogs that are useful and relevant to the real estate purchase form; such as property full address, property mortgage information, or property owner lists. In such an example, the real estate purchase form may have several linked intake form components all pointing to different dialogs of the property form, and at the same time, all of these linked form components may be referencing the same answer instance.

[0073] It is also contemplated that in some examples, a digital form may include both nested dialogs and one or more linked forms. In such examples, the answer path would reflect both the nested structure and the liked form, as described above.

[0074] In some examples, two separate forms and their answers may be connected. In such examples, the form engine may also have “linked answer paths”. This may provide a way to have answers be automatically set for multiple forms that sharesimilar information. For example, if there are two forms that rely on a user’s first and last name, then using linked answer paths, this information may need to be entered only once as the form engine will handle maintaining these answers consistent between the two forms.

[0075] Furthermore, in some examples, access to various components or dialogs of a digital form may be controlled or tailored. In some examples, one or more access tags associated with the digital form, dialog, or component may be used for such control and tailoring of access. As such, in some examples, method 100 may further comprise the form engine obtaining an access tag associated with one or more of the component or the dialog of a digital form. It is contemplated that in some examples the access tag may also apply to the whole of the digital form. In some examples, the form engine may receive this access tag as an input input by a user via the terminal. It is also contemplated that in some examples the form engine may obtain the access tag from another system component within the form engine, or from a system or system component outside of the form engine.

[0076] The form engine may then determine an access permission by comparing the access tag with an attribute of the user. Examples of such an attribute may include identity, role, and the like. Examples of identity may include first name, last name, and the like. Examples of role may include buyer, seller, lawyer, paralegal, and the like. The form engine may then control the terminal to display the component if the access permission is affirmative. In other words, if according to the access tag the user may have access, then the form engine will control the terminal to display the component to the user. If the access permission is negative, the form engine may control the terminal to hide, or not display, the component, dialog, or the form to the user.

[0077] Access tags may also be used in the context of linked forms. For example, access tags associated with the parent form or the linked form may determine which dialogs and components of the linked form are accessible in the context of a parent form that links to the linked form. Moreover, in some examples, access tags may controlwhether a form may be linked to a parent form. In such examples, if the access tag is not permissive, a target form may not be able to be linked to a would-be parent form.

[0078] The digital input collected and organised using the methods and systems described herein may be used to generate digital documents. For example, method 100 may further comprise the form engine obtaining a digital document template comprising a link to the digital input. This link may be associated with the answer path. In some examples, the link may comprise the answer path. Moreover, in some examples, the link may be used to obtain the answer path. The digital document template may comprise information about where and how the digital input is to be incorporated into the digital document.

[0079] The form engine may then obtain the digital input from the answer file based on the answer path. Moreover, the form engine may generate the digital document by replacing the link with the digital input in the digital document template. It is also contemplated that in some examples the digital input need not replace the link. In such examples the digital input may be incorporated into the digital document template without necessarily replacing the link.

[0080] In some examples, the digital document template may further comprise one or more of a formatting indicator and a repetition indicator. In some examples, the formatting indicator may specify one or more formatting attributes of the way in which the digital input is incorporated in the digital document. Examples of such formatting attributes may include font size and style, position and alignment on the page, font and background colors, and the like. Moreover, in some examples, the repetition indicator may indicate whether multiple examples or instances of a given type of digital input are to be obtained and incorporated into the digital document template. For example, if an agreement of purchase and sale has multiple buyers who need to sign the agreement, the document template for the signature page may include a repetition indicator associated with the buyers’ names and signature lines, to allow for the names and signature lines for the multiple buyers to be incorporated into the digital signature page document. When formatting or repetition indicators are present in the digital document template, the formengine may generate the digital document based on one or more of the formatting indicator and the repetition indicator.

[0081] Furthermore, in some examples, the methods and systems described herein may also allow for the creation of the digital form itself, which form may then be used to collect and organize digital inputs. In some such examples, the form engine may receive a form generation request. This request may identify the dialog, and the component in association with the dialog. Moreover, in some examples, the form generation request may also include a layout indicator associated with the component. The layout may specify one or more of the layout parameters associated with the component relative to the dialog and the digital form. Examples of such layout parameters may include position, size, and the like. The form engine may control the terminal to display the component based on the layout indicator.

[0082] In the context of generating digital documents using the digital input collected and organized using a digital form, in some examples troubleshooting may be applied to recognize, reduce, or eliminate errors in the generated digital document. Part of this troubleshooting may include validating the digital input collected via the digital form using the relevant validation logic. The troubleshooting may also include determining whether all the links in the digital document template are able to be resolved to, or successfully replaced by, a corresponding digital input. If any the digital input is found to be missing in the generated digital document, then a search may be made based on the dialog and component identifiers corresponding to the answer path at issue to determine the digital form that may be associated with the error in the digital document. In some examples, the form engine may conduct this search.

[0083] Once the digital form, and corresponding dialog and component, are found, then an error message may be generated indicating the dialog and the component at issue. In some examples, the error message may also include a suggestion for addressing the error. For example, if the digital input stored in association with the component is missing or in the incorrect format, the error message may suggest adding the digital input in the correct format. In some examples the “error message” maycomprise displaying the dialog and the component in the terminal and highlighting the component at issue, potentially with one or more of a corresponding explanation of the error and a suggesting for fixing the error.

[0084] Turning now to Fig. 2, a schematic representation is shown of an example system 200 comprising a form engine 205 and a terminal 210. Form engine 205 and terminal 210 may have features and functions similar to those described in relation to the methods and systems described herein. Moreover, form engine 205 may be used to implement method 100 and the other methods described herein. Form engine 205 is described in greater detail in relation to Fig. 3.

[0085] Terminal 210 may be a terminal with output functionality. In some examples, this output functionality may comprise the functionality to display content. Other types of output functionality are also contemplated, such as audio, haptic, Braille, and the like. In some examples, terminal 210 may also have input functionality to allow a user to enter input in relation to a component of a dialog of a digital form. A schematic representation of an example digital form 220 is shown in Fig. 2. In some examples, the terminal may comprise a computer terminal, a touch screen, a mobile computing device such as laptop, a tablet, or a smartphone, and the like.

[0086] Form engine 205 and terminal 210 may be in, or capable of, communication with one another via a network 215. In some examples, network 215 may comprise a wired, wireless, or combined wired and wireless communication network. Moreover, in some examples, network 215 may comprise a cellular network, a satellite network, the Internet, a local area network, a wide area network, a WiFi network, a wired or landline phone network, and the like. While Fig. 2 shows form engine 205 and terminal 210 in communication with one another via network 215, it is contemplated that in some examples the form engine and the terminal may be able to communicate with one another directly or via one or more networks other than network 215. It is also contemplated that in some examples, form engine 205 may be in communication with, and may control, two or more terminals.

[0087] Form 220 may comprise one or more dialogs 225-1 to 225-n and one or more corresponding components 230-1 to 230-m, where n and m are natural numbers greater than or equal to one. Dialog 225-n and component 230-m are shown in dashed lines to signify that in some examples form 220 may comprise one dialog, one component, or both one dialog and one component. Components 230-1 to 230-m may correspond to dialog 225-1. In some examples, if another dialog of form 220 is selected or active, a different set of components may be displayed by terminal 210 corresponding to that other active dialog. Dialogs 225-1 to 225-n and components 230-1 to 230-m may be generically or collectively referred to as dialog or dialogs 225 and component or components 230, respectively.

[0088] Form 220 may also comprise other thematic or display elements, such as a header 235. In Fig. 2 header 235 is shown in dashed lines to signify that in some examples form 220 need not comprise a header. Moreover, while Fig. 2 shows a particular layout of form 220, i.e. with dialogs 225 on the left and components 230 on the right, it is contemplated that in some examples form 220 may have a different layout than the layout shown in Fig. 2. Furthermore, in some examples, components 230 may comprise, or have an associated, input field, via which input field a user may enter their input. This input may be digital. Moreover, it is contemplated that in some examples the input as input by the user need not be digital, but which input may be digitized by terminal 210 and then communicated to form engine 205.

[0089] Turning now to Fig. 3, a block diagram is shown of example form engine 205, which comprises a memory 305 in communication with a processor 310. In some examples, form engine 205 may have the features or functionality described in relation to method 100 and the other methods described herein. Furthermore, in some examples, form engine 205 may be used to perform method 100 and the other methods described herein.

[0090] In some examples, memory 305 may include a non-transitory machine- readable storage medium that may be any electronic, magnetic, optical, or other physicalstorage device that stores executable instructions. The machine-readable storage medium may include, for example, random access memory (RAM), read-only memory (ROM), electrically-erasable programmable read-only memory (EEPROM), flash memory, a storage drive, an optical disc, cloud-based storage, virtualized storage, and the like. The machine-readable storage medium may be encoded with executable instructions. Memory 305 may store a digital input 320.

[0091] Processor 310, in turn, may include a central processing unit (CPU), a graphics processing unit (GPU), a microcontroller, a microprocessor, a processing core, a field-programmable gate array (FPGA), a virtualized processor, or similar device or module capable of executing instructions. In some examples, processor 310 may comprise a processing module or capability that may be distributed, virtualized, cloudbased, or the like. Processor 310 may be in communication with, and cooperate with, memory 305 to execute instructions.

[0092] Processor 310 may control a terminal to display a component of a dialog of a digital form. Processor 310 may also receive digital input 320 input at the terminal by a user. This digital input 320 may have been input in association with the component of the dialog of the digital form. Moreover, processor 310 may generate an answer path 325 for digital input 320. Answer path 325 may comprise a dialog identifier 330 associated with the dialog, a component identifier 335 associated with the component, and an index 340 associated with the dialog. In addition, processor 310 may store in memory 305 digital input 320 in association with answer path 325 in an answer file 315. In some examples, answer file 315 may comprise, or be, a JSON object. Furthermore, in some examples, answer file 315 may comprise, or be, a flattened JSON object.

[0093] Moreover, in some examples, processor 310 may also validate digital input 320 according to a predetermined criterion. If the validation is affirmative, processor 310 may generate a validation indicator. If the validation is negative, processor 310 may generate an error message. In some examples, processor 310 may also synch answer file 315, or cause it to be synched, with a database repository of digital inputs.Furthermore, in some examples, answer file 315 may further comprise answer metadata associated with index 340 of the dialog. In such examples, processor 310 may store in answer file 315 digital input 320, answer path 325, and the answer metadata.

[0094] In addition, in some examples, the component of the digital form may comprise a further dialog having a further component. In some such examples, component identifier 335 may comprise a further dialog identifier associated with the further dialog, a further index associated with the further dialog, and a further component identifier associated with the further component. In these examples, processor 310 may receive digital input 320 in association with the further component, and generate answer path 325 to comprise dialog identifier 330, index 340, the further dialog identifier, the further index, and the further component identifier.

[0095] In some examples, the component may comprise another digital form to be linked to the digital form, which the other digital form may comprise another dialog and another component. In some such examples, component identifier 330 may comprise another dialog identifier associated with the other dialog, another index associated with the other dialog, and another component identifier associated with the other component. In such examples, processor 310 may receive digital input 320 in association with the other component of the other digital form. Processor 310 may then generate answer path 325 comprising dialog identifier 330, index 340, a linking identifier associated with linking the other digital form with the digital form, the other dialog identifier, the other index, and the other component identifier.

[0096] Furthermore, in some examples, processor 310 may also obtain an access tag associated with one or more of the component and the dialog. Processor 310 may determine an access permission by comparing the access tag with an attribute of the user, and control the terminal to display the component if the access permission is affirmative.

[0097] Moreover, in some examples, processor 310 may obtain a digital document template comprising a link to digital input 320. The link may be associated with answerpath 325. Processor 310 may obtain digital input 320 from answer file 315 based on answer path 325. Processor 310 may also generate a digital document by replacing the link with digital input 320 in the digital document template. In some examples, the digital document template may further comprise one or more of a formatting indicator and a repetition indicator. In such examples, processor 310 may generate the digital document based on one or more of the formatting indicator and the repetition indicator.

[0098] In some examples, processor 310 may also receive a form generation request identifying the dialog, and the component in association with the dialog. In some examples, such a form generation request may comprise a layout indicator associated with the component. Processor 310 may control the terminal to display the component based on the layout indicator.

[0099] As described above, the functions and features described in relation to processor 310 and form engine 205 may be similar to the corresponding functions and features described in relation to method 100 and the other methods described herein.

[0100] Turning now to Fig. 4, an example non-transitory computer-readable storage medium (CRSM) 400 is shown, which CRSM 400 comprises instructions executable by a processor. The CRSM may comprise any electronic, magnetic, optical, or other physical storage device that stores executable instructions. The functions and features of the CRSM 400 may be similar to the functions and features described in relation to the methods, systems, and form engines described herein.

[0101] The instructions may comprise instructions 405 to cause a processor to control the terminal to display a component of the dialog of the digital form. The instructions may also comprise instructions 410 to cause a processor to receive the digital input input at the terminal by a user. The digital input may have been input in association with the component of the dialog of the digital form.

[0102] The instructions may also comprise instructions 415 to cause a processor to generate an answer path for the digital input. The answer path may comprise a dialog identifier associated with the dialog, a component identifier associated with the component, and an index associated with the dialog. The instructions may also include instructions 420 to cause a processor to store in a machine-readable storage medium the digital input in association with the answer path in an answer file. In some examples, the answer file may comprise a JSON object. Moreover, in some examples, the JSON object may comprise a flattened JSON object.

[0103] In some examples, the instructions may further cause the processor to validate the digital input according to a predetermined criterion. If the validation is affirmative, the instructions may cause a processor to generate a validation indicator. If the validation is negative, the instructions may cause the processor to generate an error message. Furthermore, in some examples, the instructions may also cause a processor to synch the answer file with a database repository of digital inputs.

[0104] In addition, in some examples, the answer file may further comprise answer metadata associated with the index of the dialog. In such examples, the instructions may cause the processor to store the digital input, the answer path, and the answer metadata in the answer file.

[0105] Furthermore, in some examples, the component may comprise a further dialog having a further component. The component identifier, in turn, may comprise a further dialog identifier associated with the further dialog, a further index associated with the further dialog, and a further component identifier associated with the further component. In some such examples, the instructions may cause the processor to receive digital input in association with the further component, and generate the answer path comprising the dialog identifier, the index, the further dialog identifier, the further index, and the further component identifier.

[0106] Moreover, in some examples, the component may comprise another digital form to be linked to the digital form. The other digital form may comprise another dialog and another component. In some such examples, the component identifier may comprise another dialog identifier associated with the other dialog, another index associated with the other dialog, and another component identifier associated with the other component. In such examples, the instructions may cause the processor to receive the digital input in association with the other component of the other digital form. Moreover, the instructions may cause the processor to generate the answer path comprising the dialog identifier, the index, the linking identifier associated with linking the other digital form with the digital form, the other dialog identifier, the other index, and the other component identifier.

[0107] In some examples, the instructions may further cause the processor to obtain an access tag associated with one or more of the components in the dialog. The instructions may also cause the processor to determine an access permission by comparing the access tag with an attribute of the user. In addition, the instructions may cause the processor to control the terminal to display the component if the access permission is affirmative.

[0108] Furthermore, in some examples, the instructions may further cause the processor to obtain a digital document template comprising a link to the digital input. The link may be associated with the answer path. The instructions may cause a processor to obtain the digital input from the answer file based on the answer path, and generate a digital document by replacing the link with the digital input in the digital document template. In some examples, the digital document template may further comprise one or more of a formatting indicator and a repetition indicator. In some such examples, the instructions may cause the processor to generate the digital document based on one or more of the formatting indicator and the repetition indicator.

[0109] In addition, in some examples, the instructions may further cause the processor to receive a form generation request identifying the dialog, and the component in association with the dialog. In some examples, the form generation request may alsocomprise a layout indicator associated with the component. In some such examples, the instructions may cause the processor to control the terminal to display the component based on the layout indicator.

[0110] It is contemplated that in some examples, CRSM 400 may also comprise instructions to cause a processor to carry out the methods or perform the functions or features described in relation to method 100, system 200, form engine 205, and the other methods, systems, and form engines described herein.

[0111] The methods described herein may be performed using the systems described herein. In this context, “system” includes the systems and devices described herein, including the form engines described and terminals herein, and the like. In addition, it is contemplated that the methods described herein may be performed using systems different than the systems described herein. Moreover, the systems described herein may perform the methods described herein and may perform or execute the instructions stored in the CRSMs described herein. It is also contemplated that the systems described herein may perform functions or execute instructions other than those described in relation to the methods and CRSMs described herein.

[0112] Furthermore, the CRSMs described herein may store instructions corresponding to the methods described herein, and may store instructions which may be performed or executed by the systems described herein. Furthermore, it is contemplated that the CRSMs described herein may store instructions different than those corresponding to the methods described herein, and may store instructions which may be performed by systems other than the systems described herein.

[0113] The methods, systems, and CRSMs described herein may include the features or perform the functions described herein in association with any one or more of the other methods, systems, and CRSMs described herein.

[0114] Throughout this specification and the appended claims, infinitive verb forms are often used. Examples include, without limitation: “to display,” “to control,” “to generate,” and the like. Unless the specific context requires otherwise, such infinitive verb forms are used in an open, inclusive sense, that is as “to, at least, display,” to, at least, control,” “to, at least, generate,” and so on.

[0115] The above description of illustrated example implementations, including what is described in the Abstract, is not intended to be exhaustive or to limit the implementations to the precise forms disclosed. Although specific implementations of and examples are described herein for illustrative purposes, various equivalent modifications can be made without departing from the spirit and scope of the disclosure, as will be recognized by those skilled in the relevant art. Moreover, the various example implementations described herein may be combined to provide further implementations.

[0116] In general, in the following claims, the terms used should not be construed to limit the claims to the specific implementations disclosed in the specification and the claims, but should be construed to include all possible implementations along with the full scope of equivalents to which such claims are entitled. Accordingly, the claims are not limited by the disclosure.

Claims

CLAIMS1. A method of collecting a digital input, the method comprising: controlling by a form engine a terminal to display a component of a dialog of a digital form; receiving at the form engine the digital input input at the terminal by a user, the digital input input in association with the component of the dialog of the digital form; generating at the form engine an answer path for the digital input, the answer path comprising: a dialog identifier associated with the dialog, a component identifier associated with the component, and an index associated with the dialog; and storing in a machine-readable storage medium the digital input in association with the answer path in an answer file.

2. The method of claim 1 , wherein the answer file is a JSON object.

3. The method of any one of claims 1 to 2, further comprising: validating at the form engine the digital input according to a predetermined criterion; and if the validation is affirmative, generating at the form engine a validation indicator; and if the validation is negative, generating at the form engine an error message.

4. The method of any one of claims 1 to 3, further comprising: synching the answer file with a database repository of digital inputs.

5. The method of any one of claims 1 to 4, wherein: the answer file further comprises answer metadata associated with the index of the dialog; andthe storing the digital input comprises storing the digital input, the answer path, and the answer metadata in the answer file.

6. The method of any one of claims 1 to 5, wherein: the component comprises another digital form to be linked to the digital form, the other digital form comprising another dialog and another component; the component identifier comprises another dialog identifier associated with the other dialog, another index associated with the other dialog, and another component identifier associated with the other component; the receiving the digital input comprises receiving at the form engine the digital input in association with the other component of the other digital form; and the generating the answer path comprises generating at the form engine the answer path comprising the dialog identifier, the index, a linking identifier associated with linking the other digital form with the digital form, the other dialog identifier, the other index, and the other component identifier.

7. The method of any one of claims 1 to 5, wherein: the component comprises a further dialog having a further component; the component identifier comprises a further dialog identifier associated with the further dialog, a further index associated with the further dialog, and a further component identifier associated with the further component; the receiving the digital input comprises receiving at the form engine the digital input in association with the further component; and the generating the answer path comprises generating at the form engine the answer path comprising the dialog identifier, the index, the further dialog identifier, the further index, and the further component identifier.

8. The method of any one of claims 1 to 7, further comprising: obtaining at the form engine an access tag associated with one or more of the component and the dialog;determining at the form engine an access permission by comparing the access tag with an attribute of the user; and controlling by the form engine the terminal to display the component if the access permission is affirmative.

9. The method of any one of claims 1 to 8, further comprising: obtaining at the form engine a digital document template comprising a link to the digital input, the link associated with the answer path; obtaining at the form engine the digital input from the answer file based on the answer path; and generating at the form engine a digital document by replacing the link with the digital input in the digital document template.

10. The method of claim 9, wherein: the digital document template further comprises one or more of a formatting indicator and a repetition indicator; and the generating the digital document comprises generating the digital document based on one or more of the formatting indicator and the repetition indicator.11 . The method of any one of claims 1 to 10, further comprising: receiving at the form engine a form generation request identifying: the dialog; and the component in association with the dialog.

12. The method of claim 11 , wherein: the form generation request comprises a layout indicator associated with the component; and the controlling the terminal to display the component comprises controlling by the form engine the terminal to display the component based on the layout indicator.

13. A form engine comprising: a memory to store a digital input; a processor in communication with the memory, the processor to: control a terminal to display a component of a dialog of a digital form; receive the digital input input at the terminal by a user, the digital input input in association with the component of the dialog of the digital form; generate an answer path for the digital input, the answer path comprising: a dialog identifier associated with the dialog, a component identifier associated with the component, and an index associated with the dialog; and store in the memory the digital input in association with the answer path in an answer file.

14. The form engine of claim 13, wherein the answer file is a JSON object.

15. The form engine of any one of claims 13 to 14, wherein the processor is further to: validate the digital input according to a predetermined criterion; and if the validation is affirmative, generate a validation indicator; and if the validation is negative, generate an error message.

16. The form engine of any one of claims 13 to 15, wherein the processor is further to: synch the answer file with a database repository of digital inputs.

17. The form engine of any one of claims 13 to 16, wherein: the answer file further comprises answer metadata associated with the index of the dialog; and to store the digital input the processor is to store the digital input, the answer path, and the answer metadata in the answer file.

18. The form engine of any one of claims 13 to 17, wherein:the component comprises another digital form to be linked to the digital form, the other digital form comprising another dialog and another component; the component identifier comprises another dialog identifier associated with the other dialog, another index associated with the other dialog, and another component identifier associated with the other component; to receive the digital input the processor is to receive the digital input in association with the other component of the other digital form; and to generate the answer path the processor is to generate the answer path comprising the dialog identifier, the index, a linking identifier associated with linking the other digital form with the digital form, the other dialog identifier, the other index, and the other component identifier.

19. The form engine of any one of claims 13 to 17, wherein: the component comprises a further dialog having a further component; the component identifier comprises a further dialog identifier associated with the further dialog, a further index associated with the further dialog, and a further component identifier associated with the further component; to receive the digital input the processor is to receive the digital input in association with the further component; and to generate the answer path the processor is to generate the answer path comprising the dialog identifier, the index, the further dialog identifier, the further index, and the further component identifier.

20. The form engine of any one of claims 13 to 19, wherein the processor is further to: obtain an access tag associated with one or more of the component and the dialog; determine an access permission by comparing the access tag with an attribute of the user; andcontrol the terminal to display the component if the access permission is affirmative.21 . The form engine of any one of claims 13 to 20, wherein the processor is further to: obtain a digital document template comprising a link to the digital input, the link associated with the answer path; obtain the digital input from the answer file based on the answer path; and generate a digital document by replacing the link with the digital input in the digital document template.

22. The form engine of claim 21 , wherein: the digital document template further comprises one or more of a formatting indicator and a repetition indicator; and to generate the digital document the processor is to generate the digital document based on one or more of the formatting indicator and the repetition indicator.

23. The form engine of any one of claims 13 to 22, wherein the processor is further to: receive a form generation request identifying: the dialog; and the component in association with the dialog.

24. The form engine of claim 23, wherein: the form generation request comprises a layout indicator associated with the component; and to control the terminal to display the component the processor is to control the terminal to display the component based on the layout indicator.

25. A non-transitory computer-readable storage medium (CRSM) comprising instructions for collecting a digital input, the instructions executable by a processor, the instructions to cause the processor to: control a terminal to display a component of a dialog of a digital form; receive the digital input input at the terminal by a user, the digital input input in association with the component of the dialog of the digital form; generate an answer path for the digital input, the answer path comprising: a dialog identifier associated with the dialog, a component identifier associated with the component, and an index associated with the dialog; and store in a machine-readable storage medium the digital input in association with the answer path in an answer file.

26. The CRSM of claim 25, wherein the answer file is a JSON object.

27. The CRSM of any one of claims 25 to 26, wherein the instructions are to further cause the processor to: validate the digital input according to a predetermined criterion; and if the validation is affirmative, generate a validation indicator; and if the validation is negative, generate an error message.

28. The CRSM of any one of claims 25 to 27, wherein the instructions are to further cause the processor to: synch the answer file with a database repository of digital inputs.

29. The CRSM of any one of claims 25 to 28, wherein: the answer file further comprises answer metadata associated with the index of the dialog; and to store the digital input the instructions are to cause the processor to store the digital input, the answer path, and the answer metadata in the answer file.

30. The CRSM of any one of claims 25 to 29, wherein: the component comprises another digital form to be linked to the digital form, the other digital form comprising another dialog and another component; the component identifier comprises another dialog identifier associated with the other dialog, another index associated with the other dialog, and another component identifier associated with the other component; to receive the digital input the instructions are to cause the processor to receive the digital input in association with the other component of the other digital form; and to generate the answer path the instructions are to cause the processor to generate the answer path comprising the dialog identifier, the index, a linking identifier associated with linking the other digital form with the digital form, the other dialog identifier, the other index, and the other component identifier.31 . The CRSM of any one of claims 25 to 29, wherein: the component comprises a further dialog having a further component; the component identifier comprises a further dialog identifier associated with the further dialog, a further index associated with the further dialog, and a further component identifier associated with the further component; to receive the digital input the instructions are to cause the processor to receive the digital input in association with the further component; and to generate the answer path the instructions are to cause the processor to generate the answer path comprising the dialog identifier, the index, the further dialog identifier, the further index, and the further component identifier.

32. The CRSM of any one of claims 25 to 31 , wherein the instructions are to further cause the processor to: obtain an access tag associated with one or more of the component and the dialog;determine an access permission by comparing the access tag with an attribute of the user; and control the terminal to display the component if the access permission is affirmative.

33. The CRSM of any one of claims 25 to 32, wherein the instructions are to further cause the processor to: obtain a digital document template comprising a link to the digital input, the link associated with the answer path; obtain the digital input from the answer file based on the answer path; and generate a digital document by replacing the link with the digital input in the digital document template.

34. The CRSM of claim 33, wherein: the digital document template further comprises one or more of a formatting indicator and a repetition indicator; and to generate the digital document the instructions are to cause the processor to generate the digital document based on one or more of the formatting indicator and the repetition indicator.

35. The CRSM of any one of claims 25 to 34, wherein the instructions are to further cause the processor to: receive a form generation request identifying: the dialog; and the component in association with the dialog.

36. The CRSM of claim 35, wherein: the form generation request comprises a layout indicator associated with the component; andto control the terminal to display the component the instructions are to cause the processor to control the terminal to display the component based on the layout indicator.

Citation Information

Patent Citations

  • Method and article of manufacturing for component based information linking during claim processing

    US20020165739A1

  • System and method for GUI supported specifications for automating form field extraction with database mapping

    US20050273573A1

  • Method and apparatus for creating and filing forms

    US20070198910A1

  • Development system with methods for maintaining data integrity of information stored as a data record in a database with a copy of the information displayed on a screen device

    US5608898A