Abstract:
Methods and systems are disclosed for intelligent form-filling and electronic document generation. One method may include generating a decision tree representing questions which facilitates the completion of a form having one or more data fields. The method may comprise: inputting the questions into a computing device, wherein the questions relate to data to be filled into the one or more data fields of the form; arranging an order of the questions in the computing device based on possible answers given; and using the computing device to automatically generate the decision tree based on the questions, the possible answers, and the order of the questions.

Description:
RELATED APPLICATIONS 
       [0001]    This application is a continuation of application Ser. No. 11/611,840, filed Dec. 15, 2006, which claims the benefit of U.S. Provisional Application No. 60/560,234, filed Dec. 15, 2005. 
     
    
     TECHNICAL FIELD 
       [0002]    The present invention relates to methods and systems for intelligent form-filling and electronic document generation and, specifically, to generating decision trees based on a form description language. It also relates to the controlled filling out of paper and web based forms and generating electronic documents by designing the form using a form description language, restricting the questioning based on the previous user&#39;s answers, and predefined document templates. 
       BACKGROUND 
       [0003]    Society often requires the filling out of forms, such as a government compliance form, a tax return, a loan application, or a job application. The government (both state and federal) has thousands of forms that individuals and/or companies are expected to fill out for a specific request or on a regular basis. 
         [0004]    A form is a list of questions organized into relevant groups of data fields that a user needs to answer. A form may have a predefined rigid structure to help the repeated filling out and the further processing and may include a field for a signature. Forms may be in paper or electronic format. 
         [0005]    Paper forms are often stored, transferred, and processed mostly by manual labor, that is slow and of low efficiency. The paper forms are inflexible, can be understood only via reading lengthy instructions. The instructions often refer to data that is only partially available. The instructions often use language (i.e. in government dialect) that is only partially understandable for the layperson and may not be explained. This may lead to misunderstanding and to an elaborate error-fixing process after the form is completed that necessitates time consuming, additional processing. A common practice is to hire out an expensive specialist who will fill out the forms on behalf of the individual or the company. 
         [0006]    An example of a common and complex paper form is the individual tax return (Form 1040). This form contains about 150 fields (without the attachments); but an average user will need to fill out only about 60 of those fields, of which 10 are aggregated fields that could be derived from the already given answers (e.g. subtract line 33 from line 22). The instructions for the tax return comprise 32 pages. 
         [0007]    Not all the questions on a form are relevant to the user&#39;s situation. The paper forms often have an embedded logic that the user needs to be able to follow in order to make decisions about how to fill out the form. Typically, the more complex the form is, the less fields have to be filled out based on the user&#39;s situation. Yet the user needs to process the whole form in order to understand which fields need to be filled out and which fields can be left empty. 
         [0008]    The paper forms are independent and do not know about one another. Even if the same identification data (e.g. name and address of the company, phone numbers, tax id, etc.) has to be put into each form, it has to be repeatedly put into each form separately. 
         [0009]    The currently available electronic form filling solutions basically implement the paper form structure (e.g. Microsoft Word or Adobe Acrobat and other Adobe products). The decision about what fields to fill in are still based on the user&#39;s following the complicated instructions. The user still needs to go through each field and determine whether the information is needed or not. The identification data for the same user (e.g. name, address, etc.) still needs to be added to each form separately. Though these documents are often called intelligent or smart documents, the intelligence is limited to localized help, error checking, or calculations in certain data fields. The data collected in one form is not accessible to another form. 
         [0010]    A Microsoft Word or an Adobe PDF document can be protected by a digital signature. In the usual process of form filling, the user fills out the form, signs the document, and forwards it to the agency requiring the form. Once a document is digitally signed it cannot be converted to a programmatically accessible format from which relevant data can be extracted. The receiving agency cannot use the digitally signed document to extract e.g. statistical data via a program without further manual processing (e.g. printing, scanning, converting, and error checking again). Thus the existing solution (i.e., combining the filling out a form in Microsoft Word or Adobe Acrobat and signing it digitally) will not produce easily extractable raw data. 
         [0011]    Some of the currently available electronic form filling solutions (e.g. tax return generator programs like TurboTax) are able to control the questioning and thus interpret the instructions to help the user. These applications are hard coded as computer programs. If the form is changed, the corresponding program needs to be changed as well. Creating an electronic form involves the writing of a new computer program. These processes are also time consuming and error prone. Yet, a form represents knowledge and it is the nature of the knowledge to change from time to time. 
         [0012]    The internet provides a convenient framework for filling out online forms. The current electronic form filling methods (e.g. those provided for the public by the government offices like the Department of Labor, the Patent Office, the Securities and Exchange, or the Internal Revenue Service) are still relegated to manually signed paper documents as the final result. Such paper documents are scanned in as images, but the images are not searchable. Though the paper images can be transformed to text file through OCR scanning, this technology requires a human final check that is still error prone and time consuming. For this reason, because of the missing electronic equivalent of a signed paper document, the paperless office is still not working on the society level. 
         [0013]    Consequently, and for the above delineated reasons, there exists a need for a faster, simpler way of filling out forms (both paper and online forms), creating legally binding documents that are completely electronic and not paper-based, and still permit the further processing of the accumulated data. 
       SUMMARY 
       [0014]    The present disclosure provides a system and method for filling out paper and online forms that create electronic documents. A central concept is separating the form into a form description (decision tree), a document template, and the engine (server). The form description (decision tree) may be defined by the atoms of a form description language and specifies the logic and the format of the form execution. Separating the form description and the document template from the form execution makes the form design or change faster, more robust, and less prone to errors. One embodiment includes a solution for creating and filling out electronic forms or other electronic documents using the form description language and an interpreter/runtime system that is executing the instructions (e.g., atoms) described by the language. 
         [0015]    The user is guided through the questions in the decision tree. Each question represents one or more data fields in the form. Only the questions relevant to the previous answers are asked. At each question, a locally relevant, detailed, hierarchical help may be provided. The user is given details about the conclusions that the system deduced based on his/her full or partial answers. The forms filled out by the same user may be associated with one another, so data available from the profile (higher level forms containing identification data, etc.) need not be provided again. As compared to the paper based forms and their electronic equivalent, the present methods and systems create an intelligent form that is much easier to fill out, and the data used in the resulting electronic documents can be searched. 
         [0016]    Embodiments described herein comprise: 
         [0000]    1) A description language for the intelligent form creation
 
2) A decision tree comprising atoms of the form creation process (the intelligent form compiled)
 
3) One or more document templates corresponding to one or more decision trees
 
4) An authoring tool for creating/modifying the intelligent forms
 
5) An authoring tool for creating/modifying the document templates
 
6) A web application server (interpreter and document manager) processing the intelligent forms and generating the final documents.
 
         [0017]    The forms (decision trees) may be created in a form description language. Based on the language, it is possible to get a flexible flow control that is not hard coded in a program, to assign help to the form components at design time, to cross reference general data in different forms and different versions of the forms, and to generate both traditional documents and a searchable data repository based on the same user data. Because the form description (decision tree) is separated from the form filling process, maintaining the intelligent forms is a configuration problem, not a program modification whenever the form is changing. 
         [0018]    The filling out of the form is controlled by the interpreter that uses the form description (decision tree) as a blueprint. The user data may be collected in an XML or similar structure. The document manager populates the associated template documents (Word, PDF, etc.) based on the user data. The document generation may be built on the top of the Microsoft technology of merging fields and the Adobe technology of interactive form fields. The (digitally signed) electronic document may provide an authentic, legally binding version for storage. 
         [0019]    The electronic documents themselves are binary files often with proprietary, undisclosed structure and cannot be used for searching the contents. For this reason, the searchable XML structure (populated decision tree) is also stored and associated with each electronic document. The XML structure preserves the user&#39;s answers for each form. This allows for a fast textual search access in the archive. Once an XML structure is identified by the textual search, its related electronic document can be retrieved. 
         [0020]    The profile of a user (e.g. name, address, title, access information, etc.) is collected through a special decision tree and is made available to all the other decision trees of the same application, so that the user does not have to type it again when filling out another form. 
         [0021]    Implementing the logic of the form in the decision tree permits two features that are absent from the paper based approach and its electronic equivalent. First, the user does not have to bother with understanding the instructions because those are built in the decision tree and he has to fill only the fields relevant to his situation. Second, due to the fact that the information gathering process is separated from the document generation process, the important raw data can be stored and made accessible for further processing in a convenient XML format. This makes the form submission faster, reduces the time and manual effort for the error processing of errors introduced due to misunderstanding the instructions or the manual conversion process, and makes the raw data immediately available together with the submitted document. 
         [0022]    By virtue of the foregoing, there is provided an improved electronic form management mechanism that enhances the traditional document management with the advantages of web based processing, knowledge management, and reusable data. These and other objects and advantages of the present disclosure shall be made apparent in the accompanying drawings and the descriptions thereof. 
         [0023]    For example, in one embodiment, a method for generating a decision tree comprising one or more atoms of a form description language, wherein the decision tree represents questions facilitating the completion of a form having one or more data fields, comprises: inputting the questions into a computing device, wherein the questions relate to data to be filled into the one or more data fields of the form; arranging an order of the questions in the computing device based on possible answers given; and using the computing device to automatically generate the decision tree based on the questions, the possible answers, and the order of the questions. 
         [0024]    In another embodiment, a method for generating an electronic document having data fields comprises: using a computing device to read and interpret a decision tree comprising atoms of a form description language, wherein the decision tree represents questions to be posed to a user, the questions relating to data to be filled into data fields of a form by the user; posing questions to the user according to an order specified by the decision tree; receiving answers from the user for each question posed, wherein each answer is associated with one or more data fields of the blank form; recording answers to the questions from the user in the computing device; using the computing device to automatically generate a populated decision tree comprising atoms of the form description language, wherein the populated decision tree represents the questions of the decision tree and the corresponding answers from the user; reading a computer-readable document template by the computing device, wherein the document template represents the document, and the document template comprises data fields corresponding to the data fields of the document; associating one or more answers to one or more data fields of the document template; and using the computing device to generate the electronic document by filling in some or all of the data fields of the document template with one or more associated answers. 
         [0025]    In still another embodiment, a system comprises a storage device readable by a computer, wherein: the storage device embodies one or more instructions executable by the computer or by a second computer for generating a decision tree comprising one or more atoms of a form description language, wherein the decision tree represents questions facilitating the completion of a form having one or more data fields; and the generation of the decision tree comprises the steps of: inputting the questions into a computing device, wherein the questions relate to data to be filled into the one or more data fields of the form; arranging an order of the questions in the computing device based on possible answers given; and using the computing device to automatically generate the decision tree based on the questions, the possible answers, and the order of the questions. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0026]    The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate an embodiment of the invention and, together with a general description of the invention given above and the detailed description of the embodiment given below, serve to explain the principles of the invention: 
           [0027]      FIGS. 1A and 1B  are block diagrams of the process of creating and filling out intelligent forms according to one or more embodiments shown and described herein; 
           [0028]      FIG. 2  is a block diagram showing the process of creating an intelligent form analogous to that of  FIG. 1A  according to one or more embodiments shown and described herein; 
           [0029]      FIGS. 3A and 3B  are diagrams showing the process of filling out an intelligent form analogous to that of  FIG. 1B  according to one or more embodiments shown and described herein; 
           [0030]      FIG. 4  is a structural diagram showing an atom from the form description language according to one or more embodiments shown and described herein; and 
           [0031]      FIG. 5  is an example of an intelligent form as it looks in the authorizing tool as related to  FIGS. 3 and 4  according to one or more embodiments shown and described herein. 
       
    
    
     DETAILED DESCRIPTION 
       [0032]      FIGS. 1A and 1B  show the two main components of the intelligent form manipulation.  FIG. 1A  shows the authoring tool  20  for creating/modifying a decision tree  30 .  FIG. 1B  shows a client-server based computer system, called a server  40 ,  50 , that interprets the decision tree  30 , poses the questions to the user, collects and interprets the answers, and generates the electronic documents  60 . Both components of the system work with a version of the decision tree  30  that is built from the atoms of the form description language. The form description is a file that contains the graphical/logical specification of one decision tree  30 . 
         [0033]      FIG. 2  shows one embodiment of a flow chart for the authoring tool  20  that is used for creating/modifying the decision trees  30 . The authoring tool  20  may be a graphical editor that assigns a shape to each atom of the form description language. The form description is a file that contains the graphical/logical specification of one intelligent form. The graphical specification serves for allowing the user to view the decision tree as a block diagram of the atoms and show the flow control. It is believed that a graphical view simplifies the task of the form developer and makes the form description language easier to understand and use. When the decision tree  30  is complete, the graphical/logical specification is compiled into a more terse XML format that contains only the logical aspects of the form description. This compiled XML format is called a decision tree  30 . The steps of the authoring tool may be performed on a computing device, such as a personal computer, a web-based server, or a smart phone. Other computing devices may be used as well. 
         [0034]    The authoring tool  20  may be embodied in computer instructions which may be stored on a storage device, including but not limited to a hard disk, a CD (compact disc), a DVD (digital video disc), a memory chip, or a USB (Universal Serial Port) memory drive. Other types of storage devices may be used, as is known in the art. 
         [0035]    The form  10  is used to create the decision tree  30  and may contain data fields which are to be filled in by the user. At step  21 , the author inputs questions into the computing device which relate to the data to be filled into the data fields of the form. At step  22 , the author arranges the order of the questions in the computing device based on possible answers to the questions. These may be simple yes/no answers or may be answers selected from a drop-down list, for example. Finally, at step  23 , the author generates the decision tree  30  based on the questions, the possible answers, and the order of the questions. 
         [0036]      FIGS. 3A and 3B  show the server  40 ,  50  that interprets decision tree  30 , asks the questions from the user, collects and interprets the answers, and generates the electronic documents  60 . In  FIG. 3A , the decision tree  30  is interpreted and evaluated by the interpreter component of the server  40  at step  41 . During this evaluation, the questions representing some of the fields of the document are presented to the user at step  42 . The answers given by the user at step  43  and recorded at step  44 . These answers are used to generate a populated decision  30 A tree at step  45 . Once the populated decision tree  30 A has been evaluated, the document manager  50  generates the electronic document(s)  60  based on the document templates  35  assigned to the decision tree  30 . The populated decision tree  30 A is also preserved as a searchable XML structure in the document archive. At step  51 , the document template  35  is read by the document manager  50 . At step  52 , the data fields of the document template  35  are associated to one or more answers stored in the populated decision tree  30 A. Finally, at step  53 , the electronic document  60  is generated. 
         [0037]    The document template  35  contains pieces of fixed text and references to the saved fields in one or more decision trees  30 . The document template  35  is an electronic document with empty data fields that will obtain their data by executing the corresponding populated decision trees  30 A. As the result of the document generation, the user&#39;s answers are substituted into the fields of the document template  35 . The result of this substitution is the electronic document  60 . 
         [0038]      FIG. 4  shows the structure of a form atom  70 . A form atom  70  is an elementary unit in the form description language. An atom  70  of the form is, for example, a question, a comment, or a result. This atom is much like an MVC object (Model—the data being collected; View—how it looks on the screen when being collected; Control—how to get to the next question after this one), a term borrowed from object oriented programming. The form description language may assign four (or more) classes of attributes to a form atom: 
         [0000]    1) View attribute  71 —how the atom looks when the data is presented to the user, and/or is shown in the document (e.g., list or data field; checkbox or radio button)
 
2) Model attribute  72 —how to collect and store the data obtained (e.g., type is string/number/date; identifier of the atom)
 
3) Control attribute  73 —where to go next
 
4) Help attribute  74 —local help, other explanation and references.
 
         [0039]    In general, an atom  70  represents a GUI widget that shows up on the user screen. For example, a question presented to the user is an atom  70 . Its Model attribute  72  tells how the answer of the user will be identified in the rest of the processing of the form. The Model attribute  72  also gives the type of the user data (e.g., number, or string). The Model attribute  72  also gives unique identifier of the data as it will be referred in other parts of the form description and the document templates. 
         [0040]    The View attribute  71  tells how the question is represented on the screen (e.g., what text is displayed, single or multiple line input field). The View attribute  71  of the atom  70  can be used both for the screen of the application and for the generated document. This integration of view between the HTML-based web view and the document view is also a significant part of the invention. As the web view is primarily HTML, an atom  70  that is a result of partially processed answers can be represented as a table in the HTML view, and a table in the document. This reuse of the processed data inside the document ensures that all the logic processing is done in the decision tree, and not repeated when creating the document. 
         [0041]    The Control attribute  73  defines how to continue the form processing. For example, if the user has a list of choices to select from, the Control attribute  73  specifies how to proceed after each choice. 
         [0042]    The Help attribute  74  gives syntax help, examples, localized explanation about the question, the concepts involved, and further references in the format of hyperlinks to Web resources or to the glossary file. 
         [0043]    A form atom  70  can represent a visible or non-visible component. The visible atoms have View attributes  71  and Help attributes  74 . A non-visible atom does not have View and Help attributes. The atom  70  might be associated with a saved data field that contains the result of the user interaction or some aggregation action. An atom  70  that is visible in the filling out process (i.e., in the web view) might not be visible in the filled out form. For example, an atom may represent an aggregate of other collected data. Such atom is not necessarily visible in the web view, but may be visible in the completed form (i.e., the summary of expenses). 
         [0044]    A form atom  70  may also have a saved data field with a name. A saved data field is typically used to provide a value for one or more data fields with a same name in the document template. The saved data fields represent the variables in the form description language. Most such saved fields get their value from the user, but some of them get their value as a result of calculations that may or may not use values provided by the user (e.g., data retrieved from a database). Note that the saved data fields are globally visible in the decision tree and can be referred to in the View attribute  71 , Model attribute  72 , Control attribute  73 , or Help attribute  74  of another atom, as well. 
         [0045]      FIG. 5  shows a simple example of an authoring tool  20 . This form asks, as an example, the type of company and notifies the user that this company is obliged to fill out the rest of the form or not. In the authoring tool  20 , the parts of a decision tree are represented by different shapes. The control flow among the atoms may be represented by the arrows. The form description may have an initial start shape and has one or more end shapes. 
         [0046]    An exemplary form starts with a question  81  to the user. The question shape is represented as a rounded rectangle. After the user has answered, the answer is examined at step  82 . The lozenge shape represents an atom that is not visible to the user. This is a hidden atom that examines an answer and changes the control flow accordingly. If the user has selected No, then a final acknowledgement is shown at step  83 , and the form is completed. If the user has selected Yes, then the control flows towards asking more questions at step  84 . This part is not detailed, but represented by the parallelogram. After the end atom is reached, the evaluation of the form stops at step  85  and the documents are created based on the user&#39;s answers and the document templates. 
         [0047]    Some of the atoms that may be a useful part of the form description langue are given in the following: 
         [0000]    1) start—indicates where the processing of the form starts
 
2) end—indicates where the processing of the form stops
 
3) question—the user has to give an answer (string or file, etc.)
 
4) choice—the user gets a list of possible answers to choose from
 
5) condition—the value of an atom is tested against a condition
 
6) note—some text is shown to the user for his/her information
 
7) field assign—an atom gets a value behind the scene, often an aggregated value
 
8) branch—the control flows from one atom to another
 
9) sub-tree—in reference to another form that is evaluated at this point; the values established by the atoms in the sub-tree are visible to the invoking top level form.
 
10) image—an image is shown or uploaded
 
11) file—a file is uploaded
 
12) document—a document is generated
 
13) digital signature—a digital signature to be applied to the generated document.
 
         [0048]    The format of the shapes is not specified by this disclosure. The shapes may assume any suitable form, and the form description language is still operates in the same manner. Furthermore, though some atoms are given as example in the disclosure, the list above is not an exclusive list. Additional atoms can be described, and the list of atoms can be extended. This disclosure provides the concept of the form description language and the structure of an atom in the language. 
         [0049]    Moreover, while many of the embodiments described herein are in the context of a web environment, those skilled in the art will appreciate that the various embodiments of the invention are capable of being distributed as a program product in a variety of forms, and that the embodiments apply equally regardless of the particular type of system (web application, network application, or single computer application). 
         [0050]    In addition, given the typically endless number of manners in which computer programs may be organized into routines, procedures, methods, modules, objects, and the like, as well as the various manners in which program functionality may be allocated among various software layers that are resident within a typical computer (e.g., operating systems, libraries, API&#39;s, applications, applets, etc.), it should be appreciated that the embodiments are not limited to the specific organization and allocation of program functionality described herein. 
         [0051]    Additional advantages and modifications will readily appear to those skilled in the art. For instance, additional atoms in the form language can be easily described. However, it is important that the form may be described in a decision tree as opposed to being embedded in the code of a program. Adding new atoms to the form description language can be considered as an extension of the disclosure, not as a novel or separate. Thus, the embodiments in their broader aspect are, therefore, not limited to the specific details, representative systems and methods, and illustrative example shown and described. Accordingly, departures may be made from such details without departing from the spirit or scope of the applicant&#39;s general inventive concept. 
         [0052]    While particular embodiments and aspects of the present invention have been illustrated and described herein, various other changes and modifications may be made without departing from the spirit and scope of the invention. Moreover, although various inventive aspects have been described herein, such aspects need not be utilized in combination. It is therefore intended that the appended claims cover all such changes and modifications that are within the scope of this invention.