US20090019351A1 - Universal forms engine - Google Patents

Universal forms engine Download PDF

Info

Publication number
US20090019351A1
US20090019351A1 US12/122,483 US12248308A US2009019351A1 US 20090019351 A1 US20090019351 A1 US 20090019351A1 US 12248308 A US12248308 A US 12248308A US 2009019351 A1 US2009019351 A1 US 2009019351A1
Authority
US
United States
Prior art keywords
application
institution
information
applicant
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12/122,483
Inventor
Michael D. Hitchcock
James H. Wolfston, Jr.
John W. Stedman
Andree J. Hertz
Raymond L. Price
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Collegenet Inc
Original Assignee
Collegenet Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=22209488&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=US20090019351(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Collegenet Inc filed Critical Collegenet Inc
Priority to US12/122,483 priority Critical patent/US20090019351A1/en
Publication of US20090019351A1 publication Critical patent/US20090019351A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing

Definitions

  • This invention relates to a computer implemented method and apparatus “for processing forms and, in particular, to a method and apparatus for processing customizable application forms that share information from ‘an extensible database.
  • the present invention comprises a universal forms engine that permits the creation and processing of customizable electronic forms and selective sharing of information between the customized forms.
  • a user thus enters data only once, and the data is shared through an extensible database between disparate forms.
  • the forms are completed by a user over a computer network and information from each completed form is forwarded to the appropriate entity over a computer network.
  • the ability of the forms engine to present a form for user input, to receive data from the user, and to provide the data to the appropriate entity is independent of the computing platform of the user and the entity. Any fees associated with the forms can be processed electronically over a computer network together with the forms.
  • the invention thus creates forms, parses data on forms, stores data, retrieves the data, and deploys the data onto other forms. As additional forms are completed and additional information becomes part of the database, the amount of information that must be manually entered on new forms decreases because the new forms are automatically populated with the previously entered data.
  • a form is considered to be essentially a container for data and implies an associated process.
  • the forms engine integrates the form, the data, and the processing regardless of the appearance of the form, the type or significance of the data, and the processing that follows collection of the data.
  • Metadata that is, information that characterizes the applicant data is also stored.
  • an attribute table describes characteristics, such as permissible values and accessibility to various institution personnel, of applicant attribute data.
  • properties of the applicant attributes are stored in XML files. Storing metadata provides greater control over the data validation, sharing between forms, grouping, and access.
  • User information and application information are abstracted from the coding, that is, the user information and application information is stored in away that allows the application information and the user information to be changed without reprogramming.
  • This abstraction allows the set of user data to be extended without reprogramming, allows the user data to be displayed in different formats in different applications, allows the data to be validated to ensure that it can be used by the institutions, and eases access to the information over the Web by institutions.
  • Abstracting the application information allows the application itself to be readily changed, and allows changes, such as changes to application dates, to be made by the institutions themselves.
  • the abstracted information is saved, for example, in a relational database or in an XML file.
  • FIG. 1 shows a network through which applicants, a servicer, and institutions are connected in a preferred embodiment of the invention.
  • FIG. 2 shows an entry web page presented to an applicant of FIG. 1 .
  • FIG. 3 shows a web page showing the results of an on-line college search that provided the link to the entry web page of FIG. 2 .
  • FIG. 4 shows a web page for creating a new account with the servicer of FIG. 1 .
  • FIG. 5 is a diagram showing schematically how accounts are created in a preferred embodiment of the present invention.
  • FIGS. 6 a - 6 d show a web page used to supply directions and information to the applicant of FIG. 1 .
  • FIG. 7 shows an applications options page that provides the applicant with links to an application instruction page.
  • FIGS. 8 a - 8 d shows an application instruction page for an on-line application.
  • FIGS. 9 a - 9 c shows the first page of an on-line admissions application.
  • FIGS. 10 a - 10 c shows the second page of an on-line admissions application.
  • FIGS. 11 a and 11 b shows the third page of an on-line admissions application.
  • FIG. 12 a - 12 d shows the fourth page of an on-line admissions application.
  • FIG. 13 is a diagram showing schematically the interactions between the applicant, the forms engine and the applicant database during initial access of an application form.
  • FIG. 14 is a diagram showing schematically the interactions between the applicant, the forms engine and the applicant database as data is posted from an application form.
  • FIG. 15 shows a flowchart of the interactions shown in FIGS. 13 and 14 .
  • FIG. 16 shows the steps shows the steps that occur in a preferred embodiment when an applicant contacts the forms engine.
  • FIG. 17 shows the “back-end” states available during application processing.
  • FIG. 18 is a simplified example of classes used in an object-oriented programming implementation of the invention.
  • the system comprises a forms engine that processes applications for admission to institutions.
  • the preferred embodiment which is operated by a third party application servicer, uses relational databases for storing information and communicates with applicants and institutions over the World Wide Web.
  • the invention is not limited, however, to the processing of any particular type of form or to the use of any particular network or database.
  • FIG. 1 shows multiple applicant computers 14 that communicate with a server 16 through the portion of the Internet 18 known as the World Wide Web (the Web).
  • A. typical applicant computer 14 comprises a personal computer, such as a Pentium-based personal computer using a Windows-based operating system and running a commercially available Web Browser, such as Netscape Navigator or Internet Explorer.
  • Web Browser such as Netscape Navigator or Internet Explorer.
  • applicant computers 14 can use an older, text-based browser, because processing, such as error checking, is performed at server 16 , rather than at the client browser.
  • Server 16 is a computer, such as a Sun Solaris UltraSparc Server, that is executing a forms engine of the present invention, as well as Web server software that coordinates communications with visitors to the form engine Web site.
  • Information and forms transferred from server 16 are typically formatted in a hypertext mark-up language (HTML) and can include text, programs, graphics, video, and audio portions.
  • Server 16 is preferably operated by a third party application servicer 24 and is connected to secure data storage 26 .
  • Multiple institution computer 28 operated by institutions, such as colleges or universities that require admissions applications, also communicates with server 16 over the Internet 18 .
  • the preferred embodiment of the invention is implemented using an Internet Web site, the invention is not limited to any particular type of computer or computer network.
  • any applicant with a Web browser can apply electronically.
  • On-line application also allows the application fee to be processed on-line, so that credit card settlements, electronic bank withdrawals, and other payment methods can be performed more efficiently, and the settlement can be easily facilitated by the third party that operates the application forms engine to which multiple institutions subscribe.
  • FIG. 2 shows an entry page 36 that is presented to an applicant who has accessed server 16 of FIG. 1 .
  • entry page 36 is presented as an HTML page. Pages on which the applicant enters information use the HTML ⁇ FORM> tag.
  • the HTML form posts information to server 16 , which executes a common gateway interface (CGI) program specified by the form to process the received information.
  • CGI common gateway interface
  • the CGI program is preferably written in Perl, C, C++, Java, or another language that supports CGI.
  • the CGI program accesses a database that includes information about the customized application form and about the applicant.
  • the database is preferably a relational database that is accessed using a structured query language through a database management system, such as Informix®, by Informix Software, Inc., based in Menlo Park, Calif.
  • a database management system such as Informix®, by Informix Software, Inc., based in Menlo Park, Calif.
  • the invention is not limited to a particular implementation technology. The implementation details of the invention are expected to change as computer technology evolves.
  • Entry page 36 can be accessed from, and can be in the same style as, an institution's own world wide web site. Entry page 36 can also be accessed from other links; for example, by a link 38 ( FIG. 3 ) on a results web page 40 from an on-line college search, such as the CollegeNETTM System, operated by the assignee of the present invention. Entry page 36 is branded with a logotype 42 branding the application as belonging to the institution to which it is directed, although the application is preferably hosted by a third party to ease data sharing across institutions and electronic processing of application fees.
  • Entry page 36 includes a link 52 for creating a new account.
  • FIG. 4 shows a web page form 54 that is presented to the applicant to create a new account.
  • web page form 54 is branded with the logotype 42 of the institution to which the applicant is applying. Thus, it is transparent to the applicant that the application is being processed by third party servicer 24 .
  • FIG. 5 shows schematically the actions that comprise the account creation process 56 required to create an account.
  • the applicant uses a web client 58 , such as Netscape Navigator, to enter personal information, such as name, address, email address, and a user name and password for accessing the system.
  • the password is encrypted and saved, along with the user name, in a password database 60 connected with server 16 ( FIG. 1 ) and user information is saved in an applicant database 62 , which databases comprise database 26 .
  • Entry page 36 ( FIG. 2 ) also provides an information link 68 to provide the application with directions and information.
  • FIGS. 6 a - 6 d show a preferred information web page 70 that is returned to the user in response to a request for information.
  • Web page 70 is also branded with logotype 42 indicating the institution to which the application is directed.
  • Web page 70 includes an application option page link 72 ( FIG. 6 d ) to the actual application, as does entry page 36 .
  • Entry page also includes a link 74 to the user's personal log page. The personal log describes the status of all applications the user has worked on, including applications that have been submitted and applications that are in various stages of completion.
  • Entry page 36 also includes a link 76 for changing a user's password.
  • FIG. 7 shows an applications options page 82 that provides an application instruction page link 84 , an application link 86 , and links 92 to supplemental forms, such as a counselor's report or teacher recommendation forms, that accompany an application.
  • FIGS. 8 a - 8 d shows application instructions 94 reached from application link 86 .
  • FIGS. 9 a - 9 c show the first page of an electronic, on-line admissions application 96 that is customized in content and appearance for a particular institution.
  • each application is individually “branded,” that is, it carries the name and logotype 42 of the institution and appears in a style that is representative of the institution.
  • a third party is servicing the application, that is, the applicant may not even be aware that the application is processed by a third party servicer.
  • the third party servicer provides customized forms for each participating institution, and data is shared between the customized applications. Information that had previously been entered in connection with prior applications to any institution is automatically inserted into the customized form.
  • FIGS. 10 a - 10 c , FIGS. 11 a - 11 b , and FIGS. 12 a - 12 d show additional pages of application 96 .
  • FIG. 13 shows schematically the interrelationship when supplying a form pages to an applicant between a forms engine 104 of the present invention, applicant database 62 , password database 60 , and web browser client 58 running on applicant computer 14 .
  • FIG. 13 shows that forms engine 104 , preferably implemented as a CGI program, performs four primary functions.
  • forms engine 104 retrieves user information regarding the status of applications that are pending or completed.
  • Forms engine 104 then generates a customized application form based upon an application description in an application data file 108 .
  • Forms engine 104 then retrieves user data that was entered in previous applications and stored in the applicant database 62 , and merges the user data into the current application, which is then returned to the applicant as an HTML form. The applicant then enters any requested information that was not automatically inserted from the database.
  • Application 96 includes fields for the applicant to enter the specific information the institution requests of its applicants. The information is requested in a format chosen by the institution. The style and content of the customized application expresses the values held by the institution. The customized content of each application allows the school to obtain specific information that it chooses: to characterize its applicant pool, including factors that it believes may correlate with student success at the particular institution.
  • FIG. 14 shows schematically the interactions between forms engine 104 , applicant database 62 , and web client 58 with respect to forms engine 104 receiving data posted from the applicant.
  • Forms engine 104 performs a “front-end” validation on the posted data 118 . Data validation is explained in detail below. If the data fail validation, a data correction page is sent to the applicant. If the data pass first stage validation, the next application page is prepared by merging applicant information from the applicant database 62 with form information in application data file 108 and sending the resulting HTML application page to the applicant.
  • a second stage validation is performed. If the second stage validation is successful, user data 120 is written to the applicant database 62 and payment scripts 122 are executed in which the user is given an option to select any one of several of on-line payment methods. Credit card information is verified from a credit card database 124 . After the information on the application is validated, it is transferred to the institution in a data format specified by the institution. The information is also stored for use in subsequent applications in an applicant database 62 , which is independent of the institution.
  • FIG. 15 is a flowchart showing the products at each step of processing by forms engine 104 described in FIGS. 13 and 14 . Optional steps are shown in dashed lines.
  • FIG. 15 shows that an applicant 126 contacts forms engine 104 by a browser request for an application.
  • forms engine 104 determines the state of the application process, and only presents appropriate pages to the applicant. For example, most institutions have application date windows during which applications, whether electronic or paper, for a particular term are accepted. The forms engine verifies that the application is being submitted within the allowed window. Unlike pre-printed paper applications, however, the invention provides the schools the flexibility of easily changing the application date window, so that the time to apply can be extended if the institution wants to receive additional applications.
  • Forms engine 104 uses data from the appropriate application data file 108 ( FIG. 14 ) and previously entered user data to generate a page of a form 128 .
  • Data 130 is entered on the form page, by the applicant or from the database, and the page undergoes a first stage data validation 13 . 6 upon being posted by the applicant.
  • a correction page form is submitted to the applicant each time a data validation fails, and the data is saved to the database upon successful validation. The process is repeated for additional pages until the form is completed and the applicant submits the form.
  • Second stage validation ensures that information required by the specific institution to which the application is directed is present and that the information meets certain content criteria specified by the institution.
  • the data validation is customized for each institution. If the application fails second stage validation, a data correction page is returned to the applicant.
  • the validated, submittable data 140 is stored in applicant database 62 in connection with the application.
  • the data is then processed and transformed 142 as described below in connection with aliases, and saved for use in other forms that the applicant may complete in the future.
  • a payment 148 is then processed and application transaction processing 150 is completed.
  • the forms engine then converts the application information into a form compatible with the institution's internal databases and delivers the information 152 to the institution's database 154 .
  • a new application customized for the different institution, is presented to the applicant.
  • Information that was entered onto previously submitted applications is retrieved from the database and presented to the applicant as populated fields of the new application, so that the applicant is not required to enter information more than once.
  • the applicant can change the values in a pre-populated field if desired and the new values are saved for use in subsequent applications.
  • information about the applicants is maintained as a set of attributes, each attribute corresponding to database fields. If an institution chooses to include in its application a request for an applicant attribute that does not correspond to one included in the database, the database is easily extended to include the new applicant attributes without reprogramming the forms engine. Once the new attribute is added to the database, it is available for automatic inclusion in all subsequent applications.
  • each attribute used to characterize applicants has a unique identifier or alias.
  • the unique identifier allows the engine to recognize when the same information is being described by different labels or entered in a different format on different application forms. The information can then be saved properly and inserted into subsequent applications, regardless of differences in the entry format and labels in the first and subsequent applications.
  • the variables can be universal and unique data elements having different names can be shared among applications.
  • one institution on its application may refer an applicants last name as a “family name” while another institution may refer to the last name as “surname” or a “last name,” yet the forms engine would share the data properly between such application forms.
  • a first application form requests multiple choice-type information in the form of radio buttons and the second form requests the same information in the form of a pull-down menu, information entered on the first form in the radio buttons would appear in a pull-down menu box on the second form.
  • the information is retrievable onto subsequent applications regardless of how the subsequent applications label or display the information.
  • the forms engine of the present invention can thus share information across applications, regardless of how the information is expressed in a particular application, unless the data has been designated as described below as private to a particular application and not shareable.
  • Each applicant attribute is characterized by one or more properties.
  • the properties that characterize an applicants' attributes can specify, for example, whether and under what conditions the attribute data can be shared between forms, whether the attribute is a universally required field, or whether the attribute is specific to a particular geographic region. For example, an attribute named “California Driver License Number” is applicable only to institutions in California. Other information may be applicable to all institutions within a region but not to other institutions. Some applicant attributes are applicable only to institutions in a particular school system. Individual pieces of information can also be grouped and properties can be specified for the groups.
  • the application can also include information that designates the routing of the information to groups, such as financial aid officers, within the institution.
  • the invention not only allows an application to be customized for each institution, it allows the information submitted by the applicant to be transmitted to each institution in any data format that the institution requests so the institution is not required to convert the data to a useable format. For example, multiple fields, such as first name and last name, may be combined into a single field, and the data fields may be delimited by a delimiter specified by the institution. Data may also be transmitted to the institution, for example, as name-value pairs, as fixed records, in EDI, or printable PDF format.
  • the applicant information is entered in a customizable form on a browser running on any type of computer platform and stored at third party servicer 24 in a database. The information in the database is then reloadable into another customizable application form for a different institution.
  • the information is also transmittable to an institution in its preferred format regardless of the platform used by the institution to process the information.
  • the institution can, for example, sort or view applicants based upon attributes such as test scores, grade point average, participation in sports, or musical talent.
  • each applicant attribute has a property that can be used to specify who in the institution has access to the attribute for the purpose of uploading the information or of processing the information to characterize the applicant pool. For example, parts of an application dealing with academic background may be viewable by academic departments, whereas more personal information may be viewable only by school administrators.
  • a preferred implementation of the invention comprises a single forms engine program, a single applicant database, including information on all applicants, and one application data file for each different application of each the participating institutions.
  • the application data file describes the format of each application, and the forms engine displays information from the database in the format prescribed by the application data file.
  • the applicant database can be extended to include new attributes without making any changes to the forms engine program or to the application files of institutions that chose not to include the new data.
  • the forms engine automatically uses the application data file to produce the requested application in HTML format for display on the applicant's browser.
  • the application description file can be easily modified, for example, to change labels or to add additional fields.
  • the appearance of the application for each institution can be changed by changing its application description file, without reprogramming the forms engine.
  • the completed application is transmitted to the institution with the data in any format that the institution prefers.
  • the institution can therefore upload the data directly into its applicant or student information system database, merging the information seamlessly into their existing work flow, thereby avoiding the additional expense and errors of re-keyboarding the information.
  • the forms engine thus has the capability of outputting application information universally across platforms.
  • a transactions database table and a transactions operations table track completed transactions and operations to assist the engine in maintaining information about the state of each application, so that only appropriate pages are presented to the applicant. These tables also allow the applicant to track the progress of his or her applications and online payment.
  • a first database table, the Attribute Table includes a list of all attributes that can be used to describe an applicant.
  • the Attribute Table thus defines the variable space for the entire system.
  • Each attribute such as Name, Social Security Number, and SAT score, is represented by one row of the Attribute Table and is identified by a unique Attribute Identification Number.
  • the Attribute Table includes properties of each attribute, such as whether the attribute is a required field for first stage validation (explained below) and whether the attribute is part of a data group, such as a geographical region or an institutional group.
  • the Attribute Table also includes references to first stage validation rules, if any, for each attributes.
  • the Attribute Table does not include values of the attribute for any particular applicant.
  • the values assigned to attributes for individual applicants are stored in a User Attributes Table. Each row of the table includes a User Identification, an Attribute Identification Number, a sequence for the Attribute Identification Number, and a data value.
  • a User Identification When an applicant enters information on an application page on the Web and posts the form to the server, the information entered by the applicant is stored in the User Attribute Table after first stage validation. The form is posted when the applicant switches to another page or when the applicant indicates that the information is to be saved.
  • An applicant may change the values of an attribute from one application to another. For example, an applicant may change his or her SAT scores to reflect new test results.
  • the User Attribute Table always includes the latest information that an applicant had entered and is used to supply information for new applications.
  • date is read from the User Attribute Table.
  • a new application includes attributes that were not requested by any application that the user previously completed, a new row corresponding to the new attribute is inserted into the User Attribute Table.
  • a single User Attribute Table includes the attribute information on all applicants in the systems.
  • a User Attributes Sent Table which represents a snapshot of the submitted application.
  • the structure of the User Attribute Sent Table is very similar to that of the User Attribute Table.
  • the primary key of the User Attribute Table is a user identifier (the users log-on name), whereas the primary key of the User Attribute Sent Table is a Transaction Identifier, which identifies a unique combination of user, application, and application term.
  • the Transaction Identifier is the same identifier used in the Transactions Table, described below. Thus, one can scan the Transactions Table for Transaction Identifiers that correspond to applications that are shown as having been submitted, and then use those identifier to look up data related to those applications in the User Attribute Sent table.
  • Second stage validation is performed before writing a record into the User Attribute Sent Table and may, for example, combine fields such as last name and first name into a single field.
  • the User Attribute Sent table shows exactly what was sent to the institution, and therefore includes a record for each application that was completed by a user.
  • the institution reviews information derived from the records in the User Attribute Sent Table, which are then put into a format requested by the institution.
  • Each customized application is represented within an Applications Table, which defines the data set for each application.
  • Each row in the Applications Table pertains to one attribute in a specific application and includes information such as an Application Identification Number, Attribute Identification Number, Attribute Sequence Number within the application, any second stage validation rules (described below), the Identification Number of the institution to which the application belongs, etc.
  • the Application Data File is a specially formatted text file that acts as an application description. It is a series of “directives” and optional arguments which the forms engine parses to build the HTML form and to merge in user data.
  • the directives are interpreted by means of a look-up in a data structure that stores the directive interpretations. For example, a line in the Application Data File may be “SS_NUM.” Upon encountering the line, the forms engine will look into a data structure to interpret SS_NUM.
  • SS_NUM may mean, for example, to display a text box with a label that reads “Enter Your Social Security Number” and to put the previously supplied value for social security number (stored in the User Attribute Table) into the text box.
  • SS_NUM may also prescribe a minimum length, maximum length, and call a function that creates the text input box.
  • the directive could also set flags that indicate a particular state for the application.
  • the Application Data File can optionally supply arguments to directives. Arguments may, for example, instruct the forms engine to apply specific labels or to override default values, so that the label or format for entering the data can be customized.
  • the information in the Application Data File could alternatively be included in the Applications Table.
  • the application is built by a pre-processor utility that is run once to produce an “application template” with a regularized syntax.
  • an Application Data File entry such as “SS_NUM” is replaced by a template line such as “SS_NUM
  • the Application Data File lines represent function calls with optional arguments.
  • the forms engine executes these function calls, which in turn execute a form-element-producing function like “ITEXT” which produces a text box.
  • ITEXT form-element-producing function
  • the forms engine not only needs to have available hundreds of functions, it also has to do two (or more) layers of function execution for each line in the Application Data File.
  • each line of the template file is a pipe (“
  • the forms engine in the first embodiment is analogous to an interpreter, executing a shell script
  • the template in the second embodiment is analogous to compiled code.
  • the pre-processing is analogous to a compilation phase
  • the output template file is analogous to a binary object. It is composed of instructions to the engine, like compiled code is composed of instructions to the CPU, whereas the bulk of the forms engine in the first embodiment comprises code to do the interpretation, the forms engine in the second embodiment has a very small instruction set: basically one instruction per form element, plus a handful of special instructions.
  • the template file gives the application developer absolute freedom to quickly update the application with no need to rewrite or add program code to the forms engine.
  • Use of templates also dramatically reduces the number of functions needed by the engine, as well as the execution overhead.
  • the template file can be in the form of specially tagged HTML; that is, instead of a line-by-line set of directives, the template can look like HTML with embedded special tags representing the form element/variable/value to interpolate.
  • the forms engine need only look for ⁇ QUESTION> . . . ⁇ /QUESTION> sections and parse them. Many other pieces of logic could also be embedded into the templates.
  • the output of the processed template is an HTML form that is viewable by the student completing the application.
  • the output from the above template snippet could look like this, with the special QUESTION tags converted into HTML form elements and user data incorporated:
  • the Institutions Table includes a row for each institution. Each row includes an Institution Identifier, an Institution Name, an identifier for a parent institution if any, and other information about the institution.
  • Institutions can also be arranged in a hierarchy, with one institution belonging to another institution.
  • the Institutions Table allows the construction of an arbitrary hierarchy of institutions, which can be used to control data access.
  • Information in the Contact Table (described below) and Attribute Table is combined with information in the Institutions Table to determine access to particular attributes in applications. For example, a financial aid officer in the medical school of a university may have access only to financial information on the medical school application, whereas a financial aid officer of the university or of the university system may have access to financial information on all applications.
  • the invention permits flexible control of data down to the attribute level.
  • Institutions can be grouped geographically or by other characteristics.
  • the Institutions Table can have fields indicating to which groups the institution belongs.
  • the forms engine can control attributes that are relevant only to institutions in a particular group.
  • the Contact Table specifies the database access privileges of people within an institution. For example, an administrator at a state university system may have access rights to data from applications to all universities within the system, whereas an administrator at a particular school may have access only to applications to that school.
  • Each row in the Contact Table includes a unique Contact Identifier, an Institutional Identifier, which defines the institution or group of institutions to which access is granted, and the operations which the contact is permitted.
  • a contact may be granted rights to acknowledge receipt of an application, to transfer application data using a file transfer protocol (FTP), or to receive a printable, non-editable version of completed application.
  • FTP file transfer protocol
  • the Contact Table can also contain additional useful information, such as the e-mail address or last log-in time for the contact.
  • the Terms Table indicates the application terms that are currently available. Each row of the Terms Table includes a unique Term Identifier, a Term Key, the start and expiration dates for applications to the institution for the term, a text description of the term, and an institution-defined Term Code.
  • the institution defined Term Code is used when data is uploaded to the institution so that the data is seamlessly loadable into the institution's information system.
  • the Institution-Application Table described below defines the applications available for each institution and includes a term key field that identifies the terms for which the application can be used.
  • One institution represented by a row in the Institutions Table, can own several applications, each of which is represented by a row in the Institution-Application Table.
  • an institution may have one application for Georgia undergraduate students, another for transfer undergraduate students, yet another for international students, etc.
  • the Institution-Application Table includes one row for each application owned by an institution and relates the information in the Applications Tables to the Institution described in the Institutions Table.
  • Each row in the Institution-Application Table includes an Application Identifier, an Institution Identifier, status of the application, type of the application, and information pertinent to the particular application (i.e., name campus, etc.).
  • Each row also includes a Term Key, which is used with the Term Table to determine which terms are currently available for applying using the application.
  • the Institution-Application Table can also include information about the application processing fee and how the fee is allocated between the institution and the processor.
  • Each row of the Transaction Operations Table includes the unique Operation Identifier, a Transaction Identifier (described below with the Transaction Table), a code indicating which operation the row represents, a contact identifier, and a time stamp indicating the date and time of the operation.
  • Operations include, for example, save, save and send, acknowledge, secure credit card, no fee, void, and view printable application.
  • the Transaction Operations Table and the Transaction Table described below are used to maintain state information.
  • a Transactions Table includes information about each user transaction, that is, each application that a user has accessed and saved.
  • Each entry in the Transaction Table includes a unique Transaction Identifier, a User Identifier, an Application Identifier, a Term Identifier, and a code indicating the state of the application.
  • the Transaction Identifier represents a unique combination of User Identifier, Application Identifier, and Application Term.
  • the application state can be, for example, ‘in progress’, ‘submitted’, ‘payment received’, and ‘acknowledged by the institution,’ etc.
  • Each entry also includes an order identifier, a text string that includes the User Identifier, the Application Identifier and a time stamp.
  • the Order Identifier is used for credit card settlement and in correspondence with the institution.
  • the universal forms engine looks for an existing transaction involving the user and the requested application and term. If such a transaction exists, the response of the forms engine to the user depends upon the state of the transaction. If no such transaction exists, (i.e., this is the first access to this application by the user) a new transaction is begun. A new entry is inserted in the Transaction Table.
  • a Transaction Identifier is assigned when the user requests an explicit save operation or a “save and send” operation for the new application. A Transaction Identifier is not assigned merely on the basis of a page flip on a multipage form.
  • the Term, Term Identifier and Order Identifier fields are populated, and the state is set to indicate the application has been submitted.
  • a Payment Operation field is populated with the Operation Identifier for the payment operation, and the state is set to indicate that payment has been received. This continues as the transaction travels through settlement, acknowledgment, etc.
  • Applicant pages are those presented to the applicant. These include actual application pages generated by the forms engine and displayed with labels identifying the requested information and suitable form data entry elements for applicants to input the requested information. Applications are typically composed of multiple pages.
  • Another applicant page shows the applicant the status of all applications the applicant has worked on. This page is produced by a CGI utility that examines the tables described above and produces an HTML page showing whether each application has been completed, saved, submitted, or paid and whether it has been acknowledged by the school.
  • the presence and content of the information is preferably checked at the server, rather than by the browser on the applicant's computer. This reduces the requirements for the browser, so that the applicant is not restricted to using the latest version of a browser and, as less computation is performed by the browser itself, compatibility problems are reduced.
  • An applicant can use a character based browser, such as Lynx, if he chooses.
  • Data validation is performed in two stages. Data is saved both before and after each stage of validation.
  • the first stage consists of checks that are universal to all applications. These checks are done every time a page is submitted, such as when a subsequent page is requested or when a page is saved. For example, first stage validation may check that the applicant's name is present, that SAT scores are between be 200-800, and that once the non-digit characters are stripped out of social security numbers, a sequence of nine digits not beginning with “9” or “000” remains.
  • the number of required fields is preferably minimized in the first stage, because an applicant may want to partially complete an application during one session and complete the remaining fields at another time.
  • Second stage validation is performed when an application is being submitted to an institution and the entire form must be complete.
  • the second stage typically includes more required fields and more specific validation rules for submitted data fields.
  • Second stage validation is performed on the entire data set for the application and validates the information in accordance with rules specified by the institution for the particular application. First, institution specific required fields are verified. For example, because some institutions may be willing to process an application with the field Hobbies left blank, this field is not required in first stage validation. If an institution does require this field to be complete, an incomplete field will be flagged during second stage validation. After second stage validation is successfully completed, the data is ready to be uploaded to the institution.
  • the Application Table indicates which fields are required for the particular application.
  • the Application Table also indicates certain data validation rules, such as permissible values or formats for data.
  • the second stage validation can reformat the data into a format requested by the institution. For example, some institutions want the name of the applicant in the form of a single field, with the last name first, followed by a comma and then the first name and middle initial. To avoid having applicants enter data more than once to accommodate changes in format, the information is preferably stored in simpler data elements, and then combined during second stage validation into the format requested by the institution.
  • Dependency rules are checked during second stage validation. For example, whether a particular field, such as Alien Registration Number, is required may depend upon the value supplied by the applicant for another field, such as Citizenship.
  • this option is active. If the user is presented a data correction page, the top of the page has radio buttons and instructions for enabling/disabling this feature. The user's choice is maintained between pages via a hidden field in the form(s).
  • Aliasing of attributes refers to a secondary naming scheme developed to create a flexible data dictionary. By using Aliasing, an application developer can rapidly locate attributes that are defined by system, and avoid creating duplicate attributes that store the same data.
  • Each attribute alias is a series of descriptors delimited by colons. For example, anything relating to address information uses a descriptor of “ADDRESS”; questions relating to the applicant's birth use a descriptor of “BIRTH”.
  • the country of birth attribute is named “BIRTH_COUNTRY” but its alias is “BIRTH:ADDRESS:COUNTRY”.
  • the date of birth attribute is named “BIRTH_DATE”, and is aliased as “BIRTH:DATE”.
  • Permanent address attributes are named “STREET”, “STREET2”, “CITY”, “ZIP”, etc. but the aliases are “ADDRESS:PERMANENT:CITY”, “ADDRESS:PERMANENT:ZIP”, etc.
  • Mailing address attributes are named “MAIL_STREET”, “MAIL_STREET2”, “MAIL_CITY”, “MAIL_ZIP”, etc. but the aliases are “ADDRESS:MAIL:CITY”, “ADDRESS:MAIL:ZIP”, etc.
  • Aliasing provides the ability to search for content by a keyword or set of keywords. For example, to find “father's home address”, one could search for all attributes whose aliases contain the descriptors “FATHER”, “ADDRESS”, and “HOME”.
  • aliasing is used primarily for developing new applications: not only as a lookup tool, but also to avoid adding as new variables attributes that already exist.
  • aliasing ensures maximum data-sharing by weeding out duplicates that would split the data between two name spaces. It is preferable to use this system as the primary internal naming scheme.
  • FIG. 16 shows the steps that occur in a preferred embodiment when an applicant contacts the forms engine.
  • Step 156 shows that when an application contacts the URL of the forms engine, the forms engine is invoked and initializes itself by reading in libraries and initializing variables, such as global constants and data structures. For example, in the first embodiment of the Application Data File described above, an associative array of associative arrays that defines the form elements used by the engine to construct the application form is initialized.
  • step 157 the forms engine looks for data posted from the Web page form. There may be no data at first, but after some information is entered and a page is saved or changed, data will post to the forms engine, which will perform first stage validation on the data. The forms engine then processes input arguments and posted data to determine the application state as described below.
  • Step 158 shows that the forms engine then makes database calls to initialize variables pertaining to the current admissions application (ID #, fee information, institution, etc.).
  • Step 159 shows that the forms engines determines which application terms (e.g. “Fall 1999”, etc.) are available for this user/application combination.
  • application terms e.g. “Fall 1999”, etc.
  • the user may have already submitted and paid for a “Fall 1999” application and is now requesting the same application. This request may be to 1) review the submitted application or 2) apply for a new term.
  • the engine needs to guarantee that the user does not submit the same application more than once per term.
  • the search engine calculates submission state information to prevent a user from changing data in an already submitted application, and then resubmitting it in the mistaken belief that the data would be updated at the institution.
  • step 160 the engine determines, based upon the availability of a term and the state of any pending or submitted applications, which application form is required by the user and generates the appropriate application form. If the user has an available active transaction, the engine will return the appropriate page of the application in an HTML form with any previously supplied data already filled in. If the user has already submitted the application and has no active transactions, an “Already Submitted” page is returned, with hypertext link(s) to “Printable” (uneditable) versions of the submitted application(s), and the option to fill out the application for a term other than the term(s) already applied for.
  • a “No Available Terms” page is returned, which gives the user the option to fill out and save the application, but not submit it until a term is available.
  • a hybrid of the above two pages is returned, with links to printable version(s) of submitted application(s) and the option to fill in and save data but not submit the application until a new term is available.
  • step 161 the forms engine reads and parses the “Application Data File” corresponding to the application to find the appropriate page of the application.
  • step 162 the engine initializes a user data structure, preferably an associative array of key/value pairs or a data object in an Object-Oriented implementation Programming using data from the User Attribute Table.
  • the forms engine performs first stage data validation in step 163 .
  • the engine creates a “data correction page” and returns it to the user. This page repeats the text of the failed question, displays a message explaining why the data failed, and repeats the form element pertinent to that datum.
  • first stage validation is applied to the incoming data, and if one or more are still in error, a new data correction page is returned. This process continues until all the data for that page have passed validation.
  • the first stage validation optionally checks for second stage required fields, thereby reducing the number of fields that will require data entry during the second stage validation.
  • the user On each data correction page, the user has the option to enable/disable this feature.
  • step 164 the forms engine outputs an appropriate page to the user depending upon the engine's state.
  • the front end that is, the portion of the forms engine that processes incoming data from the user, is essentially one CGI program that determines the proper action by parsing information coming in from the Web form in combination with state information from the Transactions Table. For example, the user could be returning from a data correction page, the user may have hit the “save and send” button, or the user may have switched pages.
  • the engine may look for posted data and process it, etc.
  • the forms engine can be in one of several possible states after analyzing incoming data. For example, the data may have failed validation and the forms engine, therefore, needs to output data correction page, or a user may have requested to go to page “x”, so the forms engine needs to create and output page “x”; etc. (see discussion of state, below).
  • the Web which is the communications conduit the system uses, is by definition stateless: When a browser (Web client) submits a request to a Web server, a connection is made between the two only long enough for the server to transmit the desired information. The server then drops the connection, and any information created by the client/server interaction is discarded by the server. The next time the client connects to the server, the slate is blank and they start that interaction from scratch.
  • the system needs a way to maintain state information between contacts.
  • the system utilizes two state models to describe the states of two different aspects of the system: a “session state” applies to the front-end process of creating and returning Web forms, and a “transaction state” pertains to the state of the transaction, that is, the state for a particular user's application to an institution for a specific term.
  • Transaction states include for example, active or submitted or paid or void.
  • Every page has hidden fields that provide state information.
  • the session state can be determined by parsing the hidden fields returned with data.
  • State information can include, for example, the version number of the application and the page that the user previously requested.
  • the hidden fields would indicate to the server whether a page is being returned because the applicant selected “Save, Pay, and Send” or whether the applicant merely requested a page flip.
  • the data correction page includes hidden fields that indicate the page that the user was attempting to go to.
  • the engine parses the hidden fields to determine the state and returns the previously requested page to the user.
  • the current transaction state for a specific application/user combination is determined by looking up the application in the data base tables described above. For example, if the applicant requests an application for a term for which the applicant has already submitted an application, the engine determines that such is the case, and rather than returning the application, returns a page stating that the application was already submitted. The student is given the option of viewing the application in a printable, non-editable form, or of opening an application form for another term. The engine screens out the term already applied for when it returns the application. If no terms are currently available, a page is returned that states no terms are currently available, but the applicant is permitted to begin completing an application that can be saved until a term is available. In such a case, the “save and send” button is not available until a term is available. Thus, applicants can begin completing forms even before a term is available.
  • App Terms Page This state is entered when the applicant requests an application that was already submitted or for which no terms are available: (a) an “already submitted” page; or (b) a “no available terms” page.
  • the engine will return either with hidden state information. When one of these pages is posted, the engine will then continually insert additional hidden state information into subsequent forms to ensure future behavior is in accordance with selection(s) the user made on those pages.
  • Print Engine The engine is being called in print mode to deliver a “printable” (i.e., non-form) version of the application/user data.
  • search The user has selected a search button to aid in the selection of a value for example, a country.
  • the engine saves any validated data and displays a search page, which contains links back to the page of the application the user left. These links also cause the selected value to be passed into the engine, which then displays it appropriately in the form.
  • FIG. 17 shows the back-end state model for an application, and the corresponding transaction operations that cause changes between states.
  • Null state 172 is the state after an application has been created but before the application has been posted by the applicant.
  • the application switches into the active state 178 when the applicant saves a page of the application or when the applicant attempts to save a page and an error prevents the page from being saved.
  • the application enters a submitted state 180 .
  • the applicant is preferably given a warning that no changes can be made to the application after payment is made and is given the option to amend the application. If the applicant indicates a desire to amend the application, or if the application fee is not paid, the application returns to active state 178 .
  • Fee waivers are used by institutions to encourage applications from qualified individuals who may not be able to afford the application fee.
  • the applicant pays for the application, which enters a paid state 184 until the payment is acknowledged by the institution or settled.
  • the application can be viewed for printing by the applicant or downloaded by a batch transfer or file transfer protocol by the institution.
  • the application is then acknowledged by the institution and the payment is settled.
  • the application enters an acknowledged state 186 or a settled-preacknowledgment state 192 .
  • the application enters a completed state 190 .
  • the application can enter a void state 194 if it becomes unuseable, for example, because an applicant cancels the application or withdraws permission to provide the application information to the institution. Voided applications are maintained in a separate database table.
  • the original application information remains archived in the applicant database in the User Attributes Sent table.
  • the application can be printed, re-uploaded, etc.
  • Institutions can request information related to all or a subset of their applications to see, for example, what new applications have been sent and the status of various applications.
  • the data is available for data manipulation, such as for sorting on fields or presenting application information in various database views. For example, a school can look at applications sorted by test scores. The school could also look at all applications of students from a particular geographical area, or students who play a particular sport or instrument.
  • the institution can perform statistical correlations between information on the application and grades achieved at the institution after matriculation to determine what characteristics of applicants correlate with success at the institution.
  • the data formats may include 1) comma separated values, 2) tab delimited values, 3) fixed length formats, 4) name/value pairs, and 5) EDI 189.
  • the data is ordered as required (e.g., Social Security number first, last name second, high school name 33rd, etc.).
  • the format of the entire data set is done via back-end utilities that run on the server and that utilize specially formatted text files containing data formatting descriptions and additional data-manipulation rules. These utilities are triggered when the institution's contact person accesses the administrative utility on the forms engine server and chooses to upload data sets.
  • Another implementation of the invention uses object-oriented programming and the Extensible Markup Language (XML), which is used to create a customized mark-up language related to applications processing.
  • XML Extensible Markup Language
  • most of the information about each applicant is stored in an XML file corresponding to that applicant, although some basic account information about each applicant is still maintained in a data table.
  • Information about each application is stored in an XML application description file.
  • This implementation requires fewer files, thereby simplifying maintenance and reducing the run time overhead associated with reading and reconstructing applications from multiple files.
  • First and second stage validation rules are maintained in the XML application description file. Unlike the previously described embodiment, initialization is only required when the web server is started, because the application persists, along with its database connections, as long as the server is operating.
  • An XML parser typically written in Perl, parses the XML application description source file and invokes programs that implement by creating and saving binary objects the features specified by the XML tags. For example, the text between a ⁇ begin page> tag and an ⁇ end page> tag is used to create a page object having attributes defined by the text between the tags. Similarly, an object corresponding to an element of a page is created based upon the text between a ⁇ begin element> tag and an ⁇ end element> tag. The created objects define the application that is presented to the applicant.
  • FIG. 18 shows examples of binary objects created by the XML parser and the relationships between some of the objects.
  • a page object 204 can include one or more element object 206 , groups objects 208 , and table objects 210 .
  • An element object 206 which can be instantiated for example as a question on the application, includes a pre-text element 212 and a post-text element 214 corresponding to text associated with the question, an input field element 216 , and any validation rule elements 218 .
  • Groups objects 208 may also include a pre-text element 212 and a post-text element 214 , as well as element objects 206 , other group objects 208 , and table objects 210 .
  • Table objects 210 can include table header objects 220 and row element objects 222 . Skilled programmers can write many classes to customize an application and will understand that FIG. 18 is a greatly simplified example used to demonstration the principles of the embodiment.
  • the group object allows multiple elements to be associated with a group and eases the implementation of an adaptive application, in which the content of application pages sent to an applicant may depend upon the applicant's answers in previous pages. Whether an element or group is displayed depends upon the value of a display attribute, which can be used to specify the conditions under which the object is displayed on the screen or in printed reports. For example, a group of questions may belong to a “non-U.S. citizen” group object. Questions belonging to the non-U.S. citizen group object may request information such as visa type, alien registration number, and country of origin. If the applicant answers that he is a U.S. citizen, elements in the “non-U.S. citizen” group are not displayed.
  • An adaptive application would also be useful for a higher education system that includes multiple schools or campuses. A single application file could be used, with the questions presented to the applicant depending upon the particular school the applicant chooses. Using a single application greatly simplifies maintenance of the application form.
  • Applicant information is similarly saved in an applicant XML file. Unlike the application description XML file, the applicant file is changed as information is posted by the applicant. Thus, the applicant XML file is re-saved each time that data is posted by the applicant.

Abstract

A forms engine allows data sharing between customizable on-line forms, such as college admissions applications. Before applying, an applicant opens an account with a third party application servicer. After the applicant completes an application for one institution, the data is saved in a data base and automatically populates fields in subsequent application forms. The form for each institution is created from a form description file. Each form is branded for its institution and forms for different institutions differ in appearance and content so that the presence of the third party servicer is transparent to the applicant.
The system is extensible without programming, allowing new applicant attributes to be readily incorporated into the system and allowing the content and appearance of the application to be readily changed by changing the description file. The use of aliases for applicant attributes permits data to be readily shared between forms even though labeled and arranged differently on different forms. Information stored about each attribute allows the specification of data validation rules and data sharing and grouping rules, as well as dependency rules that permit application, page content to depend on applicant's responses on a previous page.

Description

  • This application is a continuation of U.S. patent application Ser. No. 10/673,674, filed Sep. 29, 2003, which is a continuation of U.S. patent application Ser. No. 10/259,219, filed on Sep. 27, 2002, which is a continuation of U.S. patent application Ser. No. 09/991,434, filed on Nov. 9, 2001 and issued Oct. 1, 2002 as U.S. Pat. No. 6,460,042, which is a continuation of U.S. patent application Ser. No. 09/325,533, filed Jun. 3, 1999 and issued Feb. 5, 2000 as U.S. Pat. No. 6,345,278, which claims priority from U.S. Provisional Patent Application 60/088,123, filed Jun. 4, 1998.
  • FIELD OF THE INVENTION
  • This invention relates to a computer implemented method and apparatus “for processing forms and, in particular, to a method and apparatus for processing customizable application forms that share information from ‘an extensible database.
  • BACKGROUND OF THE INVENTION
  • The processing of college admission application forms described below is illustrative of the current state of forms processing. Students applying to colleges and universities typically complete a separate paper application for each institution to which they seek admission. Each application is then mailed to the corresponding institution along with an application fee.
  • Many institutions would like to simplify the application process by allowing students to apply over the Internet. Although an Internet application allows an institution to process the application information electronically, a student is required to re-enter the same information for each subsequent application to a different institution or to the same institution for a different academic term. Moreover, if the institution wishes to change the application form, the institution must typically revise the source code that creates the application form, thereby making changes to the application form expensive and inconvenient.
  • One could reduce redundancy in the application process by allowing students to complete a single, generic application provided by a third party who would then transmit the application to any designated institution. Such systems, however, would make it impossible for institutions to customize their applications form. In an environment where schools are competing for top students, the image that a school projects to potential students is important, and a customized application can help project the image that the school wishes to create. The questions that a school asks on its application reflect the values of the institution. Many schools want information different from that which would be on a generic form. Thus, it is unacceptable to many institutions to use a generic application form.
  • Most institutions continue, therefore, to use primarily paper applications or their own on-line applications, with the disadvantages described above. Moreover, the institution must then process the application fee for on-line applications, which may require that the institution have some expertise in electronic commerce.
  • SUMMARY OF THE INVENTION
  • Accordingly, it is an object of the present invention to provide an improved method of processing forms.
  • It is yet another object of the present invention to provide such a method that allows data sharing between customizable forms, the customization including branding of forms to specific institutions.
  • It is yet a further object of the invention to provide such a method that uses an extensible data-sharing database.
  • It is still another object of the present invention to provide an improved method of processing admissions applications.
  • The present invention comprises a universal forms engine that permits the creation and processing of customizable electronic forms and selective sharing of information between the customized forms. A user thus enters data only once, and the data is shared through an extensible database between disparate forms. The forms are completed by a user over a computer network and information from each completed form is forwarded to the appropriate entity over a computer network. The ability of the forms engine to present a form for user input, to receive data from the user, and to provide the data to the appropriate entity is independent of the computing platform of the user and the entity. Any fees associated with the forms can be processed electronically over a computer network together with the forms.
  • The invention thus creates forms, parses data on forms, stores data, retrieves the data, and deploys the data onto other forms. As additional forms are completed and additional information becomes part of the database, the amount of information that must be manually entered on new forms decreases because the new forms are automatically populated with the previously entered data.
  • A form is considered to be essentially a container for data and implies an associated process. The forms engine integrates the form, the data, and the processing regardless of the appearance of the form, the type or significance of the data, and the processing that follows collection of the data.
  • Metadata, that is, information that characterizes the applicant data is also stored. For example, in one embodiment, an attribute table describes characteristics, such as permissible values and accessibility to various institution personnel, of applicant attribute data. In another embodiment, such properties of the applicant attributes are stored in XML files. Storing metadata provides greater control over the data validation, sharing between forms, grouping, and access.
  • User information and application information are abstracted from the coding, that is, the user information and application information is stored in away that allows the application information and the user information to be changed without reprogramming. This abstraction allows the set of user data to be extended without reprogramming, allows the user data to be displayed in different formats in different applications, allows the data to be validated to ensure that it can be used by the institutions, and eases access to the information over the Web by institutions. Abstracting the application information allows the application itself to be readily changed, and allows changes, such as changes to application dates, to be made by the institutions themselves. The abstracted information is saved, for example, in a relational database or in an XML file.
  • The subject matter of the present invention is particularly pointed out and distinctly claimed in the concluding portion of this specification. However, both the organization and method of operation, together with further advantages and objects thereof, may best be understood by reference to the following description taken in connection with accompanying drawings wherein like reference characters refer to like elements.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 shows a network through which applicants, a servicer, and institutions are connected in a preferred embodiment of the invention.
  • FIG. 2 shows an entry web page presented to an applicant of FIG. 1.
  • FIG. 3 shows a web page showing the results of an on-line college search that provided the link to the entry web page of FIG. 2.
  • FIG. 4 shows a web page for creating a new account with the servicer of FIG. 1.
  • FIG. 5 is a diagram showing schematically how accounts are created in a preferred embodiment of the present invention.
  • FIGS. 6 a-6 d show a web page used to supply directions and information to the applicant of FIG. 1.
  • FIG. 7 shows an applications options page that provides the applicant with links to an application instruction page.
  • FIGS. 8 a-8 d shows an application instruction page for an on-line application.
  • FIGS. 9 a-9 c shows the first page of an on-line admissions application.
  • FIGS. 10 a-10 c shows the second page of an on-line admissions application.
  • FIGS. 11 a and 11 b shows the third page of an on-line admissions application.
  • FIG. 12 a-12 d shows the fourth page of an on-line admissions application.
  • FIG. 13 is a diagram showing schematically the interactions between the applicant, the forms engine and the applicant database during initial access of an application form.
  • FIG. 14 is a diagram showing schematically the interactions between the applicant, the forms engine and the applicant database as data is posted from an application form.
  • FIG. 15 shows a flowchart of the interactions shown in FIGS. 13 and 14.
  • FIG. 16 shows the steps shows the steps that occur in a preferred embodiment when an applicant contacts the forms engine.
  • FIG. 17 shows the “back-end” states available during application processing.
  • FIG. 18 is a simplified example of classes used in an object-oriented programming implementation of the invention.
  • DETAILED DESCRIPTION
  • The system according to a preferred embodiment of the present invention comprises a forms engine that processes applications for admission to institutions. The preferred embodiment, which is operated by a third party application servicer, uses relational databases for storing information and communicates with applicants and institutions over the World Wide Web. The invention is not limited, however, to the processing of any particular type of form or to the use of any particular network or database.
  • OVERVIEW OF A PREFERRED EMBODIMENT
  • FIG. 1 shows multiple applicant computers 14 that communicate with a server 16 through the portion of the Internet 18 known as the World Wide Web (the Web). A. typical applicant computer 14 comprises a personal computer, such as a Pentium-based personal computer using a Windows-based operating system and running a commercially available Web Browser, such as Netscape Navigator or Internet Explorer. In, a preferred embodiment, applicant computers 14 can use an older, text-based browser, because processing, such as error checking, is performed at server 16, rather than at the client browser.
  • Server 16 is a computer, such as a Sun Solaris UltraSparc Server, that is executing a forms engine of the present invention, as well as Web server software that coordinates communications with visitors to the form engine Web site. Information and forms transferred from server 16 are typically formatted in a hypertext mark-up language (HTML) and can include text, programs, graphics, video, and audio portions. Server 16 is preferably operated by a third party application servicer 24 and is connected to secure data storage 26. Multiple institution computer 28, operated by institutions, such as colleges or universities that require admissions applications, also communicates with server 16 over the Internet 18.
  • Although the preferred embodiment of the invention is implemented using an Internet Web site, the invention is not limited to any particular type of computer or computer network. By making the applications available over the Web, any applicant with a Web browser can apply electronically. On-line application also allows the application fee to be processed on-line, so that credit card settlements, electronic bank withdrawals, and other payment methods can be performed more efficiently, and the settlement can be easily facilitated by the third party that operates the application forms engine to which multiple institutions subscribe.
  • FIG. 2 shows an entry page 36 that is presented to an applicant who has accessed server 16 of FIG. 1. In a preferred embodiment, entry page 36, as well as all other pages presented to the applicant, is presented as an HTML page. Pages on which the applicant enters information use the HTML <FORM> tag. The HTML form posts information to server 16, which executes a common gateway interface (CGI) program specified by the form to process the received information. The CGI program is preferably written in Perl, C, C++, Java, or another language that supports CGI. The CGI program accesses a database that includes information about the customized application form and about the applicant. The database is preferably a relational database that is accessed using a structured query language through a database management system, such as Informix®, by Informix Software, Inc., based in Menlo Park, Calif. The invention is not limited to a particular implementation technology. The implementation details of the invention are expected to change as computer technology evolves.
  • Entry page 36 can be accessed from, and can be in the same style as, an institution's own world wide web site. Entry page 36 can also be accessed from other links; for example, by a link 38 (FIG. 3) on a results web page 40 from an on-line college search, such as the CollegeNET™ System, operated by the assignee of the present invention. Entry page 36 is branded with a logotype 42 branding the application as belonging to the institution to which it is directed, although the application is preferably hosted by a third party to ease data sharing across institutions and electronic processing of application fees.
  • Before accessing an application from entry page 36, each applicant is required to have an account with the third party servicer 24. Entry page 36 includes a link 52 for creating a new account. FIG. 4 shows a web page form 54 that is presented to the applicant to create a new account. Although the account is with third party servicer 24 and can be used to apply to many institutions, web page form 54 is branded with the logotype 42 of the institution to which the applicant is applying. Thus, it is transparent to the applicant that the application is being processed by third party servicer 24.
  • FIG. 5 shows schematically the actions that comprise the account creation process 56 required to create an account. The applicant uses a web client 58, such as Netscape Navigator, to enter personal information, such as name, address, email address, and a user name and password for accessing the system. The password is encrypted and saved, along with the user name, in a password database 60 connected with server 16 (FIG. 1) and user information is saved in an applicant database 62, which databases comprise database 26.
  • Entry page 36 (FIG. 2) also provides an information link 68 to provide the application with directions and information. FIGS. 6 a-6 d show a preferred information web page 70 that is returned to the user in response to a request for information. Web page 70 is also branded with logotype 42 indicating the institution to which the application is directed. Web page 70 includes an application option page link 72 (FIG. 6 d) to the actual application, as does entry page 36. Entry page also includes a link 74 to the user's personal log page. The personal log describes the status of all applications the user has worked on, including applications that have been submitted and applications that are in various stages of completion. Entry page 36 also includes a link 76 for changing a user's password.
  • FIG. 7 shows an applications options page 82 that provides an application instruction page link 84, an application link 86, and links 92 to supplemental forms, such as a counselor's report or teacher recommendation forms, that accompany an application. FIGS. 8 a-8 d shows application instructions 94 reached from application link 86.
  • FIGS. 9 a-9 c show the first page of an electronic, on-line admissions application 96 that is customized in content and appearance for a particular institution. As shown in FIG. 9 a, each application is individually “branded,” that is, it carries the name and logotype 42 of the institution and appears in a style that is representative of the institution. Thus, it is transparent to the applicant that a third party is servicing the application, that is, the applicant may not even be aware that the application is processed by a third party servicer. In accordance with the invention, the third party servicer provides customized forms for each participating institution, and data is shared between the customized applications. Information that had previously been entered in connection with prior applications to any institution is automatically inserted into the customized form. Information entered by the applicant onto the application form is stored in an applicant database for automatic insertion into subsequent applications by that applicant. The HTML source code for page 1 is attached in Appendix 1. FIGS. 10 a-10 c, FIGS. 11 a-11 b, and FIGS. 12 a-12 d show additional pages of application 96.
  • FIG. 13 shows schematically the interrelationship when supplying a form pages to an applicant between a forms engine 104 of the present invention, applicant database 62, password database 60, and web browser client 58 running on applicant computer 14. FIG. 13 shows that forms engine 104, preferably implemented as a CGI program, performs four primary functions. When the applicant requests an application form for a particular institution and the request is authenticated by comparing the password with the password in the password database 60, forms engine 104 retrieves user information regarding the status of applications that are pending or completed.
  • Forms engine 104 then generates a customized application form based upon an application description in an application data file 108. Forms engine 104 then retrieves user data that was entered in previous applications and stored in the applicant database 62, and merges the user data into the current application, which is then returned to the applicant as an HTML form. The applicant then enters any requested information that was not automatically inserted from the database.
  • Application 96 includes fields for the applicant to enter the specific information the institution requests of its applicants. The information is requested in a format chosen by the institution. The style and content of the customized application expresses the values held by the institution. The customized content of each application allows the school to obtain specific information that it chooses: to characterize its applicant pool, including factors that it believes may correlate with student success at the particular institution.
  • FIG. 14 shows schematically the interactions between forms engine 104, applicant database 62, and web client 58 with respect to forms engine 104 receiving data posted from the applicant. Forms engine 104 performs a “front-end” validation on the posted data 118. Data validation is explained in detail below. If the data fail validation, a data correction page is sent to the applicant. If the data pass first stage validation, the next application page is prepared by merging applicant information from the applicant database 62 with form information in application data file 108 and sending the resulting HTML application page to the applicant.
  • After all the pages have passed first stage validation and the applicant attempts to submit the completed application to the institution, a second stage validation is performed. If the second stage validation is successful, user data 120 is written to the applicant database 62 and payment scripts 122 are executed in which the user is given an option to select any one of several of on-line payment methods. Credit card information is verified from a credit card database 124. After the information on the application is validated, it is transferred to the institution in a data format specified by the institution. The information is also stored for use in subsequent applications in an applicant database 62, which is independent of the institution.
  • FIG. 15 is a flowchart showing the products at each step of processing by forms engine 104 described in FIGS. 13 and 14. Optional steps are shown in dashed lines. FIG. 15 shows that an applicant 126 contacts forms engine 104 by a browser request for an application. Before presenting an application page to an applicant, forms engine 104 determines the state of the application process, and only presents appropriate pages to the applicant. For example, most institutions have application date windows during which applications, whether electronic or paper, for a particular term are accepted. The forms engine verifies that the application is being submitted within the allowed window. Unlike pre-printed paper applications, however, the invention provides the schools the flexibility of easily changing the application date window, so that the time to apply can be extended if the institution wants to receive additional applications.
  • Forms engine 104 uses data from the appropriate application data file 108 (FIG. 14) and previously entered user data to generate a page of a form 128. Data 130 is entered on the form page, by the applicant or from the database, and the page undergoes a first stage data validation 13.6 upon being posted by the applicant. A correction page form is submitted to the applicant each time a data validation fails, and the data is saved to the database upon successful validation. The process is repeated for additional pages until the form is completed and the applicant submits the form.
  • When the applicant indicates that the application is ready to be submitted to the institution, a final, more thorough validation 136, known as second stage validation, is performed on the data. Second stage validation ensures that information required by the specific institution to which the application is directed is present and that the information meets certain content criteria specified by the institution. The data validation is customized for each institution. If the application fails second stage validation, a data correction page is returned to the applicant. The validated, submittable data 140 is stored in applicant database 62 in connection with the application. The data is then processed and transformed 142 as described below in connection with aliases, and saved for use in other forms that the applicant may complete in the future. A payment 148 is then processed and application transaction processing 150 is completed. The forms engine then converts the application information into a form compatible with the institution's internal databases and delivers the information 152 to the institution's database 154.
  • When the applicant subsequently applies to a different institution or to a different program within the same institution, a new application, customized for the different institution, is presented to the applicant. Information that was entered onto previously submitted applications is retrieved from the database and presented to the applicant as populated fields of the new application, so that the applicant is not required to enter information more than once. The applicant can change the values in a pre-populated field if desired and the new values are saved for use in subsequent applications.
  • As described in more detail below, information about the applicants is maintained as a set of attributes, each attribute corresponding to database fields. If an institution chooses to include in its application a request for an applicant attribute that does not correspond to one included in the database, the database is easily extended to include the new applicant attributes without reprogramming the forms engine. Once the new attribute is added to the database, it is available for automatic inclusion in all subsequent applications.
  • In the preferred embodiment, each attribute used to characterize applicants has a unique identifier or alias. The unique identifier allows the engine to recognize when the same information is being described by different labels or entered in a different format on different application forms. The information can then be saved properly and inserted into subsequent applications, regardless of differences in the entry format and labels in the first and subsequent applications. Thus, the variables can be universal and unique data elements having different names can be shared among applications.
  • For example, one institution on its application may refer an applicants last name as a “family name” while another institution may refer to the last name as “surname” or a “last name,” yet the forms engine would share the data properly between such application forms. As another example, if a first application form requests multiple choice-type information in the form of radio buttons and the second form requests the same information in the form of a pull-down menu, information entered on the first form in the radio buttons would appear in a pull-down menu box on the second form.
  • While providing the institution flexibility to designate and request the information any way it chooses on its customized application, the information is retrievable onto subsequent applications regardless of how the subsequent applications label or display the information. The forms engine of the present invention can thus share information across applications, regardless of how the information is expressed in a particular application, unless the data has been designated as described below as private to a particular application and not shareable.
  • Each applicant attribute is characterized by one or more properties. The properties that characterize an applicants' attributes can specify, for example, whether and under what conditions the attribute data can be shared between forms, whether the attribute is a universally required field, or whether the attribute is specific to a particular geographic region. For example, an attribute named “California Driver License Number” is applicable only to institutions in California. Other information may be applicable to all institutions within a region but not to other institutions. Some applicant attributes are applicable only to institutions in a particular school system. Individual pieces of information can also be grouped and properties can be specified for the groups. The application can also include information that designates the routing of the information to groups, such as financial aid officers, within the institution.
  • The invention not only allows an application to be customized for each institution, it allows the information submitted by the applicant to be transmitted to each institution in any data format that the institution requests so the institution is not required to convert the data to a useable format. For example, multiple fields, such as first name and last name, may be combined into a single field, and the data fields may be delimited by a delimiter specified by the institution. Data may also be transmitted to the institution, for example, as name-value pairs, as fixed records, in EDI, or printable PDF format. Thus, the applicant information is entered in a customizable form on a browser running on any type of computer platform and stored at third party servicer 24 in a database. The information in the database is then reloadable into another customizable application form for a different institution. The information is also transmittable to an institution in its preferred format regardless of the platform used by the institution to process the information.
  • After an application is sent to an institution, the information remains available in the database of the third party servicer for further analysis by the institution. The institution can, for example, sort or view applicants based upon attributes such as test scores, grade point average, participation in sports, or musical talent. Moreover, each applicant attribute has a property that can be used to specify who in the institution has access to the attribute for the purpose of uploading the information or of processing the information to characterize the applicant pool. For example, parts of an application dealing with academic background may be viewable by academic departments, whereas more personal information may be viewable only by school administrators.
  • A preferred implementation of the invention comprises a single forms engine program, a single applicant database, including information on all applicants, and one application data file for each different application of each the participating institutions. The application data file describes the format of each application, and the forms engine displays information from the database in the format prescribed by the application data file.
  • The applicant database can be extended to include new attributes without making any changes to the forms engine program or to the application files of institutions that chose not to include the new data. The forms engine automatically uses the application data file to produce the requested application in HTML format for display on the applicant's browser. The application description file can be easily modified, for example, to change labels or to add additional fields. The appearance of the application for each institution can be changed by changing its application description file, without reprogramming the forms engine. The completed application is transmitted to the institution with the data in any format that the institution prefers. The institution can therefore upload the data directly into its applicant or student information system database, merging the information seamlessly into their existing work flow, thereby avoiding the additional expense and errors of re-keyboarding the information. The forms engine thus has the capability of outputting application information universally across platforms.
  • A transactions database table and a transactions operations table track completed transactions and operations to assist the engine in maintaining information about the state of each application, so that only appropriate pages are presented to the applicant. These tables also allow the applicant to track the progress of his or her applications and online payment.
  • Database Structure
  • The tables described below are used in a preferred college admission forms processing system. The invention can be used for processing many different types of forms without departing from the scope of the invention, and skilled persons will recognize that different database structures will be required in different applications.
  • Attribute Table
  • A first database table, the Attribute Table, includes a list of all attributes that can be used to describe an applicant. The Attribute Table thus defines the variable space for the entire system. Each attribute, such as Name, Social Security Number, and SAT score, is represented by one row of the Attribute Table and is identified by a unique Attribute Identification Number. The Attribute Table includes properties of each attribute, such as whether the attribute is a required field for first stage validation (explained below) and whether the attribute is part of a data group, such as a geographical region or an institutional group. The Attribute Table also includes references to first stage validation rules, if any, for each attributes. The Attribute Table does not include values of the attribute for any particular applicant.
  • User Attribute Table
  • The values assigned to attributes for individual applicants are stored in a User Attributes Table. Each row of the table includes a User Identification, an Attribute Identification Number, a sequence for the Attribute Identification Number, and a data value. When an applicant enters information on an application page on the Web and posts the form to the server, the information entered by the applicant is stored in the User Attribute Table after first stage validation. The form is posted when the applicant switches to another page or when the applicant indicates that the information is to be saved. An applicant may change the values of an attribute from one application to another. For example, an applicant may change his or her SAT scores to reflect new test results.
  • The User Attribute Table always includes the latest information that an applicant had entered and is used to supply information for new applications. When the user calls up an application to complete, date is read from the User Attribute Table. When a new application includes attributes that were not requested by any application that the user previously completed, a new row corresponding to the new attribute is inserted into the User Attribute Table. Preferably a single User Attribute Table includes the attribute information on all applicants in the systems.
  • User Attribute Sent Table
  • After an application is completed and it passes second stage validation, the information contained in the application is stored in a User Attributes Sent Table, which represents a snapshot of the submitted application. The structure of the User Attribute Sent Table is very similar to that of the User Attribute Table. The primary key of the User Attribute Table is a user identifier (the users log-on name), whereas the primary key of the User Attribute Sent Table is a Transaction Identifier, which identifies a unique combination of user, application, and application term. Thus, there can be multiple records for a single user in the User Attribute Sent Table if the user has submitted multiple applications or the same application for different application terms.
  • The Transaction Identifier is the same identifier used in the Transactions Table, described below. Thus, one can scan the Transactions Table for Transaction Identifiers that correspond to applications that are shown as having been submitted, and then use those identifier to look up data related to those applications in the User Attribute Sent table.
  • Second stage validation is performed before writing a record into the User Attribute Sent Table and may, for example, combine fields such as last name and first name into a single field. Thus, the User Attribute Sent table shows exactly what was sent to the institution, and therefore includes a record for each application that was completed by a user. To review what data was sent, the institution reviews information derived from the records in the User Attribute Sent Table, which are then put into a format requested by the institution.
  • Applications Table
  • Each customized application is represented within an Applications Table, which defines the data set for each application. Each row in the Applications Table pertains to one attribute in a specific application and includes information such as an Application Identification Number, Attribute Identification Number, Attribute Sequence Number within the application, any second stage validation rules (described below), the Identification Number of the institution to which the application belongs, etc.
  • Application Data File
  • The Application Data File is a specially formatted text file that acts as an application description. It is a series of “directives” and optional arguments which the forms engine parses to build the HTML form and to merge in user data. The directives are interpreted by means of a look-up in a data structure that stores the directive interpretations. For example, a line in the Application Data File may be “SS_NUM.” Upon encountering the line, the forms engine will look into a data structure to interpret SS_NUM. SS_NUM may mean, for example, to display a text box with a label that reads “Enter Your Social Security Number” and to put the previously supplied value for social security number (stored in the User Attribute Table) into the text box. SS_NUM may also prescribe a minimum length, maximum length, and call a function that creates the text input box. The directive could also set flags that indicate a particular state for the application. The Application Data File can optionally supply arguments to directives. Arguments may, for example, instruct the forms engine to apply specific labels or to override default values, so that the label or format for entering the data can be customized. The information in the Application Data File could alternatively be included in the Applications Table.
  • In an alternative embodiment, rather than having the application information stored as directives and building the application whenever a student invokes it on-line, the application is built by a pre-processor utility that is run once to produce an “application template” with a regularized syntax. In other words, an Application Data File entry such as “SS_NUM” is replaced by a template line such as “SS_NUM|ITEXT|Social Security Number: |11|11”.
  • In the previously described embodiment, the Application Data File lines represent function calls with optional arguments. The forms engine executes these function calls, which in turn execute a form-element-producing function like “ITEXT” which produces a text box. Thus, the forms engine not only needs to have available hundreds of functions, it also has to do two (or more) layers of function execution for each line in the Application Data File.
  • In the alternative embodiment, most of this processing is performed off-line during the application development phase, and the results of the processing are saved in the template file. The on-line forms engine then pulls in this “pre-digested” template file. Each line of the template file is a pipe (“|”) separated list of: (1) variable name; (2) form element [for example, form element ITEXT is textbox, IRADIO is radio button(s), etc.]; (3) question label; and (4) arguments needed by the form element function.
  • Whereas the forms engine in the first embodiment is analogous to an interpreter, executing a shell script, the template in the second embodiment is analogous to compiled code. The pre-processing is analogous to a compilation phase, and the output template file is analogous to a binary object. It is composed of instructions to the engine, like compiled code is composed of instructions to the CPU, whereas the bulk of the forms engine in the first embodiment comprises code to do the interpretation, the forms engine in the second embodiment has a very small instruction set: basically one instruction per form element, plus a handful of special instructions.
  • The template file gives the application developer absolute freedom to quickly update the application with no need to rewrite or add program code to the forms engine. Use of templates also dramatically reduces the number of functions needed by the engine, as well as the execution overhead.
  • The template file can be in the form of specially tagged HTML; that is, instead of a line-by-line set of directives, the template can look like HTML with embedded special tags representing the form element/variable/value to interpolate.
  • Below is an example, simplified for clarity, of a part of a template represented in a specially tagged HTML:
  • <H1>Biographical Information</H1>
     <OL>
      <LI>
     <QUESTION ATTR_ID=“53” ARGS=“SS_NUM|ITEXT|11|11”
      VALRULE=“Reg( );Int(-,);Len(9)”>Please
      enter your Social Security Number:
     </QUESTION>
     </LI>
     <LI>
     <QUESTION ATTR_ID=“106” ARGS=“BIRTH_DATE|DATEMDY”
      VALRULE=“Reg( )”>P1ease enter your birth
      date (MMDDYY):
     </QUESTION>
     </LI>
    </OL>
  • To process the template, the forms engine need only look for <QUESTION> . . . </QUESTION> sections and parse them. Many other pieces of logic could also be embedded into the templates. The output of the processed template is an HTML form that is viewable by the student completing the application. The output from the above template snippet could look like this, with the special QUESTION tags converted into HTML form elements and user data incorporated:
  • <H1>Biographical Information</H1>
     <OL>
     <LI>
      Please enter your Social Security Number:
      <INPUT TYPE=“TEXT” NAME=“SS_NUM”
       VALUE=“200-00-0000” SIZE=11 MAXLENGTH=11>
      </INPUT>
     </LI>
     <LI>
      Please enter your birth date (MMDDYY):
      <NOBR><INPUT TYPE=“TEXT” NAME=“mdy1_BIRTH_DATE”
       VALUE=“09” SIZE=2 MAXLENGTH=2></INPUT>
         <INPUT TYPE=“TEXT” NAME=“mdy2_BIRTH_DATE”
          VALUE=“17” SIZE=2 MAXLENGTH=2></INPUT>
         <INPUT TYPE=“TEXT” NAME=“mdy3_BIRTH_DATE”
          VALUE=“1966” SIZE=4 MAXLENGTH=4></INPUT>
        </NOBR>
        </LI>
       </OL>
  • The above page is then transferred to the user.
  • Institutions Table
  • The Institutions Table includes a row for each institution. Each row includes an Institution Identifier, an Institution Name, an identifier for a parent institution if any, and other information about the institution.
  • Institutions can also be arranged in a hierarchy, with one institution belonging to another institution. The Institutions Table allows the construction of an arbitrary hierarchy of institutions, which can be used to control data access. Information in the Contact Table (described below) and Attribute Table is combined with information in the Institutions Table to determine access to particular attributes in applications. For example, a financial aid officer in the medical school of a university may have access only to financial information on the medical school application, whereas a financial aid officer of the university or of the university system may have access to financial information on all applications. Thus, the invention permits flexible control of data down to the attribute level.
  • Institutions can be grouped geographically or by other characteristics. The Institutions Table can have fields indicating to which groups the institution belongs. Thus, the forms engine can control attributes that are relevant only to institutions in a particular group.
  • Contact Table
  • The Contact Table specifies the database access privileges of people within an institution. For example, an administrator at a state university system may have access rights to data from applications to all universities within the system, whereas an administrator at a particular school may have access only to applications to that school.
  • Each row in the Contact Table includes a unique Contact Identifier, an Institutional Identifier, which defines the institution or group of institutions to which access is granted, and the operations which the contact is permitted. For example, a contact may be granted rights to acknowledge receipt of an application, to transfer application data using a file transfer protocol (FTP), or to receive a printable, non-editable version of completed application.
  • The Contact Table can also contain additional useful information, such as the e-mail address or last log-in time for the contact.
  • Terms Table
  • The Terms Table indicates the application terms that are currently available. Each row of the Terms Table includes a unique Term Identifier, a Term Key, the start and expiration dates for applications to the institution for the term, a text description of the term, and an institution-defined Term Code. The institution defined Term Code is used when data is uploaded to the institution so that the data is seamlessly loadable into the institution's information system. The Institution-Application Table described below defines the applications available for each institution and includes a term key field that identifies the terms for which the application can be used.
  • Institution-Application Table
  • One institution, represented by a row in the Institutions Table, can own several applications, each of which is represented by a row in the Institution-Application Table. For example, an institution may have one application for freshman undergraduate students, another for transfer undergraduate students, yet another for international students, etc.
  • The Institution-Application Table includes one row for each application owned by an institution and relates the information in the Applications Tables to the Institution described in the Institutions Table. Each row in the Institution-Application Table includes an Application Identifier, an Institution Identifier, status of the application, type of the application, and information pertinent to the particular application (i.e., name campus, etc.). Each row also includes a Term Key, which is used with the Term Table to determine which terms are currently available for applying using the application. The Institution-Application Table can also include information about the application processing fee and how the fee is allocated between the institution and the processor.
  • Transaction Operations Table
  • Each time an applicant performs an operation, such as saving a page of information, the operation is assigned a unique Operation Identification Number and a new row is added to the Transaction Operations Table. Each row of the Transaction Operations Table includes the unique Operation Identifier, a Transaction Identifier (described below with the Transaction Table), a code indicating which operation the row represents, a contact identifier, and a time stamp indicating the date and time of the operation. Operations include, for example, save, save and send, acknowledge, secure credit card, no fee, void, and view printable application.
  • The Transaction Operations Table and the Transaction Table described below are used to maintain state information.
  • Transaction Table
  • A Transactions Table includes information about each user transaction, that is, each application that a user has accessed and saved. Each entry in the Transaction Table includes a unique Transaction Identifier, a User Identifier, an Application Identifier, a Term Identifier, and a code indicating the state of the application. The Transaction Identifier represents a unique combination of User Identifier, Application Identifier, and Application Term. There is exactly one row in the Transaction Table for each Transaction Identifier. The application state can be, for example, ‘in progress’, ‘submitted’, ‘payment received’, and ‘acknowledged by the institution,’ etc. Each entry also includes an order identifier, a text string that includes the User Identifier, the Application Identifier and a time stamp. The Order Identifier is used for credit card settlement and in correspondence with the institution.
  • When a user accesses an application, the universal forms engine looks for an existing transaction involving the user and the requested application and term. If such a transaction exists, the response of the forms engine to the user depends upon the state of the transaction. If no such transaction exists, (i.e., this is the first access to this application by the user) a new transaction is begun. A new entry is inserted in the Transaction Table. A Transaction Identifier is assigned when the user requests an explicit save operation or a “save and send” operation for the new application. A Transaction Identifier is not assigned merely on the basis of a page flip on a multipage form.
  • Once the user selects the “Save, Pay and Send” button, the Term, Term Identifier and Order Identifier fields are populated, and the state is set to indicate the application has been submitted. Upon payment, a Payment Operation field is populated with the Operation Identifier for the payment operation, and the state is set to indicate that payment has been received. This continues as the transaction travels through settlement, acknowledgment, etc.
  • Applicant Pages
  • Applicant pages are those presented to the applicant. These include actual application pages generated by the forms engine and displayed with labels identifying the requested information and suitable form data entry elements for applicants to input the requested information. Applications are typically composed of multiple pages.
  • Another applicant page shows the applicant the status of all applications the applicant has worked on. This page is produced by a CGI utility that examines the tables described above and produces an HTML page showing whether each application has been completed, saved, submitted, or paid and whether it has been acknowledged by the school.
  • Correction pages are presented to the applicant when first or second stage validation described below detects missing or incorrect data.
  • Other pages include those that inform the user when no terms are available for accepting applications (that is, the current date is outside the submission windows) or when a requested application has already been submitted for the requested term.
  • Data Validation
  • The presence and content of the information is preferably checked at the server, rather than by the browser on the applicant's computer. This reduces the requirements for the browser, so that the applicant is not restricted to using the latest version of a browser and, as less computation is performed by the browser itself, compatibility problems are reduced. An applicant can use a character based browser, such as Lynx, if he chooses. When information is recalled from the database for insertion into a new application, it is checked against the content requirements of the institution. If the recalled data does not meet the criteria, the information is requested again from the applicant.
  • Data validation is performed in two stages. Data is saved both before and after each stage of validation. The first stage consists of checks that are universal to all applications. These checks are done every time a page is submitted, such as when a subsequent page is requested or when a page is saved. For example, first stage validation may check that the applicant's name is present, that SAT scores are between be 200-800, and that once the non-digit characters are stripped out of social security numbers, a sequence of nine digits not beginning with “9” or “000” remains.
  • To avoid presenting the applicant with an overwhelming number of fields that fail validation rules at the end of the entire application, it is preferable to validate as many fields as possible in the first stage validation. On the other hand, the number of required fields is preferably minimized in the first stage, because an applicant may want to partially complete an application during one session and complete the remaining fields at another time.
  • Second stage validation is performed when an application is being submitted to an institution and the entire form must be complete. The second stage typically includes more required fields and more specific validation rules for submitted data fields. Second stage validation is performed on the entire data set for the application and validates the information in accordance with rules specified by the institution for the particular application. First, institution specific required fields are verified. For example, because some institutions may be willing to process an application with the field Hobbies left blank, this field is not required in first stage validation. If an institution does require this field to be complete, an incomplete field will be flagged during second stage validation. After second stage validation is successfully completed, the data is ready to be uploaded to the institution.
  • The Application Table indicates which fields are required for the particular application. The Application Table also indicates certain data validation rules, such as permissible values or formats for data. The second stage validation can reformat the data into a format requested by the institution. For example, some institutions want the name of the applicant in the form of a single field, with the last name first, followed by a comma and then the first name and middle initial. To avoid having applicants enter data more than once to accommodate changes in format, the information is preferably stored in simpler data elements, and then combined during second stage validation into the format requested by the institution.
  • Dependency rules are checked during second stage validation. For example, whether a particular field, such as Alien Registration Number, is required may depend upon the value supplied by the applicant for another field, such as Citizenship.
  • A user who is earnestly filling out the application with the intent to submit it, could, upon submission, be confronted with many institution-required fields on a large second stage data correction page. To minimize the size of that page, the user is given the option of having first stage validation additionally scan the current page's fields for attributes which will be required by the second stage validation process.
  • Initially this option is active. If the user is presented a data correction page, the top of the page has radio buttons and instructions for enabling/disabling this feature. The user's choice is maintained between pages via a hidden field in the form(s).
  • In this manner, as the user progresses through the application, he can enter values for second stage-required fields in a gradual manner via the first stage validation process, rather than being confronted with many fields to populate upon submission.
  • If the user is unable to supply a value at the time, he can disable this feature and postpone entering data into the field until he is ready to submit the application to the institution.
  • Attribute Aliasing
  • Aliasing of attributes refers to a secondary naming scheme developed to create a flexible data dictionary. By using Aliasing, an application developer can rapidly locate attributes that are defined by system, and avoid creating duplicate attributes that store the same data.
  • Each attribute alias is a series of descriptors delimited by colons. For example, anything relating to address information uses a descriptor of “ADDRESS”; questions relating to the applicant's birth use a descriptor of “BIRTH”.
  • Thus, the country of birth attribute is named “BIRTH_COUNTRY” but its alias is “BIRTH:ADDRESS:COUNTRY”. Similarly, the date of birth attribute is named “BIRTH_DATE”, and is aliased as “BIRTH:DATE”.
  • Permanent address attributes are named “STREET”, “STREET2”, “CITY”, “ZIP”, etc. but the aliases are “ADDRESS:PERMANENT:CITY”, “ADDRESS:PERMANENT:ZIP”, etc.
  • Mailing address attributes are named “MAIL_STREET”, “MAIL_STREET2”, “MAIL_CITY”, “MAIL_ZIP”, etc. but the aliases are “ADDRESS:MAIL:CITY”, “ADDRESS:MAIL:ZIP”, etc.
  • The use of Aliasing provides the ability to search for content by a keyword or set of keywords. For example, to find “father's home address”, one could search for all attributes whose aliases contain the descriptors “FATHER”, “ADDRESS”, and “HOME”.
  • This search would locate the aliases “FATHER:ADDRESS:HOME.1: STREET”, “FATHER:ADDRESS:HOME.1:CITY”, “FATHER:ADDRESS:HOME.1: COUNTRY”, “FATHER:ADDRESS:HOME.1:TELEPHONE”, which correspond to the variable names “PERSON_AT_ADDRESS_SINCE.1”, “PERSON_CITY.1” “PERSON_COUNTRY.1”, “PERSON_PHONE.1”, respectively.
  • One can look at the intersection or union of keyword search results to quickly access desired attributes.
  • Thus, the aliasing system is used primarily for developing new applications: not only as a lookup tool, but also to avoid adding as new variables attributes that already exist. Finally, aliasing ensures maximum data-sharing by weeding out duplicates that would split the data between two name spaces. It is preferable to use this system as the primary internal naming scheme.
  • Procedure
  • FIG. 16 shows the steps that occur in a preferred embodiment when an applicant contacts the forms engine. Step 156 shows that when an application contacts the URL of the forms engine, the forms engine is invoked and initializes itself by reading in libraries and initializing variables, such as global constants and data structures. For example, in the first embodiment of the Application Data File described above, an associative array of associative arrays that defines the form elements used by the engine to construct the application form is initialized.
  • In step 157, the forms engine looks for data posted from the Web page form. There may be no data at first, but after some information is entered and a page is saved or changed, data will post to the forms engine, which will perform first stage validation on the data. The forms engine then processes input arguments and posted data to determine the application state as described below.
  • Step 158 shows that the forms engine then makes database calls to initialize variables pertaining to the current admissions application (ID #, fee information, institution, etc.).
  • Step 159 shows that the forms engines determines which application terms (e.g. “Fall 1999”, etc.) are available for this user/application combination. For example, the user may have already submitted and paid for a “Fall 1999” application and is now requesting the same application. This request may be to 1) review the submitted application or 2) apply for a new term. The engine needs to guarantee that the user does not submit the same application more than once per term. The search engine calculates submission state information to prevent a user from changing data in an already submitted application, and then resubmitting it in the mistaken belief that the data would be updated at the institution.
  • There are three outcomes of the calculation of submission state:
  • a. No currently available terms. Each term has a Begin-Date and an. Expiration-Date. If the current time is before the Begin-Date or after the Expiration-Date, that term is unavailable. No terms would be available if all application windows for an institution are either expired or have not yet begun, or if the user has applied to all currently available terms.
  • b. User has applied for a term, and has not yet initiated a new transaction for this application.
  • c. User has an available “Active,” that is, not submitted or paid, transaction for this application.
  • In step 160, the engine determines, based upon the availability of a term and the state of any pending or submitted applications, which application form is required by the user and generates the appropriate application form. If the user has an available active transaction, the engine will return the appropriate page of the application in an HTML form with any previously supplied data already filled in. If the user has already submitted the application and has no active transactions, an “Already Submitted” page is returned, with hypertext link(s) to “Printable” (uneditable) versions of the submitted application(s), and the option to fill out the application for a term other than the term(s) already applied for. If there are no available terms, a “No Available Terms” page is returned, which gives the user the option to fill out and save the application, but not submit it until a term is available. In the case that the user has previously submitted an application for the specified term and no other terms are available, a hybrid of the above two pages is returned, with links to printable version(s) of submitted application(s) and the option to fill in and save data but not submit the application until a new term is available.
  • In step 161, the forms engine reads and parses the “Application Data File” corresponding to the application to find the appropriate page of the application.
  • In step 162, the engine initializes a user data structure, preferably an associative array of key/value pairs or a data object in an Object-Oriented implementation Programming using data from the User Attribute Table.
  • If data has been posted, the forms engine performs first stage data validation in step 163.
  • If one or more data fail validation, the engine creates a “data correction page” and returns it to the user. This page repeats the text of the failed question, displays a message explaining why the data failed, and repeats the form element pertinent to that datum. When the user posts this page, first stage validation is applied to the incoming data, and if one or more are still in error, a new data correction page is returned. This process continues until all the data for that page have passed validation.
  • As described above, the first stage validation optionally checks for second stage required fields, thereby reducing the number of fields that will require data entry during the second stage validation. On each data correction page, the user has the option to enable/disable this feature.
  • In step 164, the forms engine outputs an appropriate page to the user depending upon the engine's state.
  • The front end, that is, the portion of the forms engine that processes incoming data from the user, is essentially one CGI program that determines the proper action by parsing information coming in from the Web form in combination with state information from the Transactions Table. For example, the user could be returning from a data correction page, the user may have hit the “save and send” button, or the user may have switched pages. The engine may look for posted data and process it, etc.
  • State
  • The forms engine can be in one of several possible states after analyzing incoming data. For example, the data may have failed validation and the forms engine, therefore, needs to output data correction page, or a user may have requested to go to page “x”, so the forms engine needs to create and output page “x”; etc. (see discussion of state, below).
  • Most interactions between the user and the inventive system are through “front-end processing,” which was described above with respect to FIG. 14. The response of the engine is dependent upon the current state. The Web, which is the communications conduit the system uses, is by definition stateless: When a browser (Web client) submits a request to a Web server, a connection is made between the two only long enough for the server to transmit the desired information. The server then drops the connection, and any information created by the client/server interaction is discarded by the server. The next time the client connects to the server, the slate is blank and they start that interaction from scratch.
  • The system needs a way to maintain state information between contacts. The system utilizes two state models to describe the states of two different aspects of the system: a “session state” applies to the front-end process of creating and returning Web forms, and a “transaction state” pertains to the state of the transaction, that is, the state for a particular user's application to an institution for a specific term. Transaction states include for example, active or submitted or paid or void.
  • Every page has hidden fields that provide state information. The session state can be determined by parsing the hidden fields returned with data. State information can include, for example, the version number of the application and the page that the user previously requested. For example, the hidden fields would indicate to the server whether a page is being returned because the applicant selected “Save, Pay, and Send” or whether the applicant merely requested a page flip. As another example, when first stage validation finds an error and returns a data correction page to the user, the data correction page includes hidden fields that indicate the page that the user was attempting to go to. When the data correction page is submitted, the engine parses the hidden fields to determine the state and returns the previously requested page to the user.
  • The current transaction state for a specific application/user combination is determined by looking up the application in the data base tables described above. For example, if the applicant requests an application for a term for which the applicant has already submitted an application, the engine determines that such is the case, and rather than returning the application, returns a page stating that the application was already submitted. The student is given the option of viewing the application in a printable, non-editable form, or of opening an application form for another term. The engine screens out the term already applied for when it returns the application. If no terms are currently available, a page is returned that states no terms are currently available, but the applicant is permitted to begin completing an application that can be saved until a term is available. In such a case, the “save and send” button is not available until a term is available. Thus, applicants can begin completing forms even before a term is available.
  • With regard to the front-end state model, the following is a list of the states the engine defined by the action that caused the engine to be in that state:
  • 1. “Initial Contact”—The user is requesting the application form from outside of the engine. The engine will create the first page of the application, merge any matching user data, and return the form.
  • 2. “Page Flip”—For multi-page applications, the user has come from page “x” and wants to go to page “y”. The engine first applies front-end validation to the incoming data posted from page “x” (which may result in returning a data correction page), saves the validated data, generates page “x”, merges any matching user data and returns the form.
  • 3. “Explicit Save”—At the bottom of each page is a button that allows them to save the current page of data. Essentially, the action of the engine in this state is identical to the “page flip”, but “x” equals “y” (i.e., the returned page is the same page number as the page posted from).
  • 4. “Save and Send”—The user has elected to submit the completed page posted, saves data, does back-end validation on all data pertaining to the application, saves data to the User Attribute Sent Table, and passes control to the payment server.
  • 5. “Data CRX (Correction) Page”—When either front-end or back-end validation has failed, the engine switches to this state, which causes the form generator to create a data correction page and hide in that page state information including the state the engine was in prior to switching to this state. (For example, if the user is on page 3 and chose to go to page 5, but errant data on page 3 lead to an intervening data correction page, the data correction page includes hidden data indicating the page flip to page 5). Once the data are successfully amended and the user posts the data correction page, the engine detects that the prior state was a “page flip” to page 5, and returns page 5 to the user. Similarly, if the user had selected “save and send” and got an intervening front-end or back-end validation data correction page, once corrected the post from that data correction page will then switch the engine into “save and send” mode, and the user will receive the payment page from the payment server.
  • 6. “App Terms Page”—This state is entered when the applicant requests an application that was already submitted or for which no terms are available: (a) an “already submitted” page; or (b) a “no available terms” page. The engine will return either with hidden state information. When one of these pages is posted, the engine will then continually insert additional hidden state information into subsequent forms to ensure future behavior is in accordance with selection(s) the user made on those pages.
  • 7. “Print Engine”—The engine is being called in print mode to deliver a “printable” (i.e., non-form) version of the application/user data.
  • 8. “Exit”—The user has chosen the ‘Finish Session’ button on the application page, and the engine passes control to the user activity CGI, which displays a page of information about the applications the user has worked on and their status.
  • 9. “Search”—The user has selected a search button to aid in the selection of a value for example, a country. The engine saves any validated data and displays a search page, which contains links back to the page of the application the user left. These links also cause the selected value to be passed into the engine, which then displays it appropriately in the form.
  • FIG. 17 shows the back-end state model for an application, and the corresponding transaction operations that cause changes between states. Null state 172 is the state after an application has been created but before the application has been posted by the applicant. The application switches into the active state 178 when the applicant saves a page of the application or when the applicant attempts to save a page and an error prevents the page from being saved. When the application is submitted, it enters a submitted state 180. The applicant is preferably given a warning that no changes can be made to the application after payment is made and is given the option to amend the application. If the applicant indicates a desire to amend the application, or if the application fee is not paid, the application returns to active state 178. If the applicant request a fee waiver or the applicant indicates that he desires to pay by check, the application enters a hold state 182 until the check clears or the fee waiver is approved by the institution. Fee waivers are used by institutions to encourage applications from qualified individuals who may not be able to afford the application fee.
  • After the application is submitted, the applicant pays for the application, which enters a paid state 184 until the payment is acknowledged by the institution or settled. In the paid state 184 and subsequent states, the application can be viewed for printing by the applicant or downloaded by a batch transfer or file transfer protocol by the institution. The application is then acknowledged by the institution and the payment is settled. Depending upon whether the acknowledgment or settlement occurs first, the application enters an acknowledged state 186 or a settled-preacknowledgment state 192. After both settlement and acknowledgment occur, the application enters a completed state 190. The application can enter a void state 194 if it becomes unuseable, for example, because an applicant cancels the application or withdraws permission to provide the application information to the institution. Voided applications are maintained in a separate database table.
  • Data Formatting
  • When application information is uploaded and acknowledged by the institution, the original application information remains archived in the applicant database in the User Attributes Sent table. The application can be printed, re-uploaded, etc. Institutions can request information related to all or a subset of their applications to see, for example, what new applications have been sent and the status of various applications. The data is available for data manipulation, such as for sorting on fields or presenting application information in various database views. For example, a school can look at applications sorted by test scores. The school could also look at all applications of students from a particular geographical area, or students who play a particular sport or instrument. The institution can perform statistical correlations between information on the application and grades achieved at the institution after matriculation to determine what characteristics of applicants correlate with success at the institution.
  • Not only are the individual data elements tailored to the specifications of a particular institution, the entire data set is formatted to conform to that institutions needs. The data formats may include 1) comma separated values, 2) tab delimited values, 3) fixed length formats, 4) name/value pairs, and 5) EDI 189. For all of these methods, of course, the data is ordered as required (e.g., Social Security number first, last name second, high school name 33rd, etc.).
  • The format of the entire data set is done via back-end utilities that run on the server and that utilize specially formatted text files containing data formatting descriptions and additional data-manipulation rules. These utilities are triggered when the institution's contact person accesses the administrative utility on the forms engine server and chooses to upload data sets.
  • Another implementation of the invention uses object-oriented programming and the Extensible Markup Language (XML), which is used to create a customized mark-up language related to applications processing. In this embodiment, most of the information about each applicant is stored in an XML file corresponding to that applicant, although some basic account information about each applicant is still maintained in a data table. Information about each application is stored in an XML application description file. This implementation requires fewer files, thereby simplifying maintenance and reducing the run time overhead associated with reading and reconstructing applications from multiple files. First and second stage validation rules are maintained in the XML application description file. Unlike the previously described embodiment, initialization is only required when the web server is started, because the application persists, along with its database connections, as long as the server is operating.
  • An XML parser, typically written in Perl, parses the XML application description source file and invokes programs that implement by creating and saving binary objects the features specified by the XML tags. For example, the text between a <begin page> tag and an <end page> tag is used to create a page object having attributes defined by the text between the tags. Similarly, an object corresponding to an element of a page is created based upon the text between a <begin element> tag and an <end element> tag. The created objects define the application that is presented to the applicant.
  • FIG. 18 shows examples of binary objects created by the XML parser and the relationships between some of the objects. For example, FIG. 18 shows, that a page object 204 can include one or more element object 206, groups objects 208, and table objects 210. An element object 206, which can be instantiated for example as a question on the application, includes a pre-text element 212 and a post-text element 214 corresponding to text associated with the question, an input field element 216, and any validation rule elements 218. Groups objects 208 may also include a pre-text element 212 and a post-text element 214, as well as element objects 206, other group objects 208, and table objects 210. Table objects 210 can include table header objects 220 and row element objects 222. Skilled programmers can write many classes to customize an application and will understand that FIG. 18 is a greatly simplified example used to demonstration the principles of the embodiment.
  • The group object allows multiple elements to be associated with a group and eases the implementation of an adaptive application, in which the content of application pages sent to an applicant may depend upon the applicant's answers in previous pages. Whether an element or group is displayed depends upon the value of a display attribute, which can be used to specify the conditions under which the object is displayed on the screen or in printed reports. For example, a group of questions may belong to a “non-U.S. citizen” group object. Questions belonging to the non-U.S. citizen group object may request information such as visa type, alien registration number, and country of origin. If the applicant answers that he is a U.S. citizen, elements in the “non-U.S. citizen” group are not displayed. An adaptive application would also be useful for a higher education system that includes multiple schools or campuses. A single application file could be used, with the questions presented to the applicant depending upon the particular school the applicant chooses. Using a single application greatly simplifies maintenance of the application form.
  • Applicant information is similarly saved in an applicant XML file. Unlike the application description XML file, the applicant file is changed as information is posted by the applicant. Thus, the applicant XML file is re-saved each time that data is posted by the applicant.
  • Although the present invention has been described using an embodiment that processes college admission application forms, it is not limited to that application, but is applicable to processing any form, such as employment forms and student loan forms, such as for the PLUS student loan program.
  • While a preferred embodiment of the present invention has been shown and described, it will be apparent to those skilled in the art that many changes and modifications may be made without departing from the invention in its broader aspects. Because the computer and computer network fields are changing rapidly, it is expected that implementation of the invention will change significantly as technology evolves. The particular programming language and the type of database can be varied depending on the preferences of the programmer. Such changes in implementation, however, do not depart from the spirit and scope of the invention. The appended claims are therefore intended to cover all such changes and modifications as fall within the true spirit and scope of the invention.

Claims (21)

1. A method of creating and processing over a computer network forms representing applications for admission to different institutions, comprising:
creating in response to a request from an applicant for an application to a first institution a first application form customized in accordance with the preferences of the first institution, the first application form including data fields for entering applicant information;
providing to the applicant over a computer network the first application form;
entering the applicant information in the data fields;
posting the first application form to a server;
storing the applicant information in a data storage;
creating in response to a request from the applicant for an application to a second institution a second application form customized in accordance with the preferences of the second institution, the second application form including data fields for entering applicant information;
inserting into some of the data fields of the second application applicant information from the data storage;
providing to the applicant over a computer network the second application form;
entering applicant information into the data fields for entering applicant data into which information was not inserted from the data storage or into which the data inserted from the data storage is to be changed;
posting the second application form to the server, whereby customized applications to different institutions share data through common data storage.
2. The method of claim 1 in which creating a first application form customized in accordance with the preferences of the first institution includes generating a first application in accordance with stored application description information and in which the first application can be modified by modifying the application description information without rewriting the computer program that creates the application.
3. The method of claim 1 in which posting the first application includes verifying that pre-specified application information is present and meets pre-specified criteria.
4. The method of claim 1 in which posting the first application and posting the second application each includes the steps of posting a single page of the application and of posting the completed application, and in which posting a single page includes verifying that some specific information is present and meets pre-specified criteria and in which posting the complete application includes verifying that the information meets criteria specified by the corresponding institution.
5. The method of claim 1 in which creating an application to a first institution includes creating an application identified with the brand of the first institution and in which creating an application to a second institution a second application includes creating an application identified with the brand of the second.
6. The method of claim 1 further comprising transmitting the applicant information to the first institution in a format specified by the first institution and transmitting the applicant information to the second institution in a format specified by the second institution.
7. The method of claim 6 further comprising making multiple applications to the first institution from different applicants available on line to the first institution for analysis after transmitting the applicant information to the first institution.
8. The method of claim 7 in which making multiple applications available to the first institution includes making application information selectively available to various personnel at the institution.
9. The method of claim 1 in which storing the applicant information is performed by a third party application servicer.
10. The method of claim 9 in which posting the first application and posting the second application includes paying application fees for the applications and in which the third party servicer processes the application fee.
11. The method of claim 1 in which storing the information includes parsing the information into elements, the data elements being separately stored and identified, thereby allowing the elements to be separately retrieved and rearranged in subsequent applications.
12. The method of claim 11 in which inserting information from the data storage includes inserting information representing combined elements into a single field.
13. The method of claim 1 in which the fields for entering applicant information include labels and in which at least some of the fields in the second application use different labels different from those in the corresponding fields in the first application, and in which storing the applicant information and inserting applicant information from the data storage is independent of the labels used in the application, thereby allowing each institution to customize the appearance of its corresponding application, while still permitting information to be shared across applications.
14. The method of claim 1 in which the fields for entering applicant information are formatted and in which at least some of the fields in the second application are formatted differently from those in the corresponding fields in the first application, and in which storing the applicant information and inserting applicant information from the data storage is independent of the format used in the application, thereby allowing each institution to customize the appearance of its corresponding application, while still permitting information to be shared across applications.
15. The method of claim 1 in which providing the first application form comprises providing multiple pages and in which posting the first application to a server includes posting multiple pages to the server.
16. The method of claim 15 in which the content of a page of the provided application depends upon information posted in a previous page.
17. The method of claim 1 in which the data storage includes a relational database or XML files.
18. The method of claim 1 in which the data storage includes stores metadata describing the data.
19. The method of claim 17 in which the metadata includes validation rules for the data.
20. The method of claim 17 in which the metadata specifies the sharing between applications or the accessibility of the data.
21-55. (canceled)
US12/122,483 1998-06-04 2008-05-16 Universal forms engine Abandoned US20090019351A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/122,483 US20090019351A1 (en) 1998-06-04 2008-05-16 Universal forms engine

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US8812398P 1998-06-04 1998-06-04
US09/325,533 US6345278B1 (en) 1998-06-04 1999-06-03 Universal forms engine
US09/991,434 US6460042B1 (en) 1998-06-04 2001-11-09 Universal forms engine
US10/259,219 US20030145018A1 (en) 1998-06-04 2002-09-27 Universal forms engine
US10/673,674 US7376891B2 (en) 1998-06-04 2003-09-29 Universal forms engine
US12/122,483 US20090019351A1 (en) 1998-06-04 2008-05-16 Universal forms engine

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/673,674 Continuation US7376891B2 (en) 1998-06-04 2003-09-29 Universal forms engine

Publications (1)

Publication Number Publication Date
US20090019351A1 true US20090019351A1 (en) 2009-01-15

Family

ID=22209488

Family Applications (5)

Application Number Title Priority Date Filing Date
US09/325,533 Expired - Lifetime US6345278B1 (en) 1998-06-04 1999-06-03 Universal forms engine
US09/991,434 Expired - Lifetime US6460042B1 (en) 1998-06-04 2001-11-09 Universal forms engine
US10/259,219 Abandoned US20030145018A1 (en) 1998-06-04 2002-09-27 Universal forms engine
US10/673,674 Expired - Lifetime US7376891B2 (en) 1998-06-04 2003-09-29 Universal forms engine
US12/122,483 Abandoned US20090019351A1 (en) 1998-06-04 2008-05-16 Universal forms engine

Family Applications Before (4)

Application Number Title Priority Date Filing Date
US09/325,533 Expired - Lifetime US6345278B1 (en) 1998-06-04 1999-06-03 Universal forms engine
US09/991,434 Expired - Lifetime US6460042B1 (en) 1998-06-04 2001-11-09 Universal forms engine
US10/259,219 Abandoned US20030145018A1 (en) 1998-06-04 2002-09-27 Universal forms engine
US10/673,674 Expired - Lifetime US7376891B2 (en) 1998-06-04 2003-09-29 Universal forms engine

Country Status (7)

Country Link
US (5) US6345278B1 (en)
EP (1) EP1084474B1 (en)
JP (1) JP2002517823A (en)
AU (1) AU763920B2 (en)
CA (1) CA2334169C (en)
DE (1) DE69923311T2 (en)
WO (1) WO1999063454A1 (en)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070044041A1 (en) * 2004-12-31 2007-02-22 International Business Machines Corporation Methods, apparatus, and computer program products for dynamic generation of forms
US20070124665A1 (en) * 2002-03-26 2007-05-31 Aatrix Software, Inc. Method and apparatus for creating and filing forms
US20070198910A1 (en) * 2002-03-26 2007-08-23 Aatrix Software, Inc. Method and apparatus for creating and filing forms
US20080162542A1 (en) * 2003-12-12 2008-07-03 Peter Hon-You Chang Dynamic generation of target files from template files and tracking of the processing of target files
US20090183117A1 (en) * 2003-12-12 2009-07-16 Peter Hon-You Chang Dynamic generation of target files from template files and tracking of the processing of target files
US20100192076A1 (en) * 2009-01-26 2010-07-29 Todd Michael Eischeid System, method, and computer program product for toggling back and forth between unformatted and formatted editable views of data
US7945589B1 (en) 2009-02-11 2011-05-17 Bsp Software Llc Integrated change management in a business intelligence environment
US20120059269A1 (en) * 2010-09-08 2012-03-08 Siemens Medical Solutions Usa, Inc. Worksheet System for Determining Measured Patient Values for Use in Clinical Assessment and Calculations
US8352444B1 (en) * 2011-07-11 2013-01-08 Peter Hon-You Chang User-driven menu generation system with dynamic generation of target files with placeholders for persistent change or temporary security change over cloud computing virtual storage from template files
US20130110583A1 (en) * 2011-10-28 2013-05-02 Justin Ormont Multiple social media network analysis for user conflation and related advertising methods
US8572083B1 (en) * 2012-05-30 2013-10-29 Ncino, Llc Financial-service structured content manager
US20130305249A1 (en) * 2010-12-28 2013-11-14 Ikue Kawashima Electronic information terminal and electronic information system
US20140149470A1 (en) * 2012-11-27 2014-05-29 Sandeep Rawal Systems and methods for storing and populating forms
US8751464B1 (en) 2009-02-11 2014-06-10 Avnet, Inc. Integrated version control in a business intelligence environment
US20170024187A1 (en) * 2012-05-30 2017-01-26 Ncino, Inc. Automated approval
US10192262B2 (en) 2012-05-30 2019-01-29 Ncino, Inc. System for periodically updating backings for resource requests
US10282461B2 (en) 2015-07-01 2019-05-07 Ncino, Inc. Structure-based entity analysis
US20230259517A1 (en) * 2022-02-16 2023-08-17 Yeroosha, Inc. Business application process and system
US11861302B2 (en) 2019-02-04 2024-01-02 Aatrix Software, Inc. AUF XML specification compiler

Families Citing this family (359)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6222525B1 (en) 1992-03-05 2001-04-24 Brad A. Armstrong Image controllers with sheet connected sensors
US8674932B2 (en) * 1996-07-05 2014-03-18 Anascape, Ltd. Image controller
US10839321B2 (en) * 1997-01-06 2020-11-17 Jeffrey Eder Automated data storage system
US20040199863A1 (en) * 1998-06-04 2004-10-07 Hitchcock Michael D. Universal forms engine
US6345278B1 (en) * 1998-06-04 2002-02-05 Collegenet, Inc. Universal forms engine
US6910179B1 (en) * 1998-11-10 2005-06-21 Clarita Corporation Method and apparatus for automatic form filling
US8869021B2 (en) * 1998-12-07 2014-10-21 Collegenet, Inc. Method and apparatus for personalizing completion of electronic forms
US7334184B1 (en) 1999-03-10 2008-02-19 American Express Travel Related Services Company, Inc. Method for online information sharing for completing electronic forms
US6490601B1 (en) * 1999-01-15 2002-12-03 Infospace, Inc. Server for enabling the automatic insertion of data into electronic forms on a user computer
US6487547B1 (en) 1999-01-29 2002-11-26 Oracle Corporation Database appliance comprising hardware and software bundle configured for specific database applications
US20070162420A1 (en) * 2004-01-21 2007-07-12 Oracle International Corporation Techniques for automatically discovering a database device on a network
JP2000242658A (en) * 1999-02-22 2000-09-08 Fuji Xerox Co Ltd Individual information managing device, and customizing device
US7003729B1 (en) * 1999-04-20 2006-02-21 I2 Technologies Us, Inc. Method and apparatus for supporting multiple alternative graphical user interfaces in computer-moderated electronic commerce
EP1049056A3 (en) 1999-04-26 2001-06-13 CheckFree Corporation Electronic bill presentment and/or payment clearinghouse
US6654741B1 (en) * 1999-05-03 2003-11-25 Microsoft Corporation URL mapping methods and systems
US7350139B1 (en) * 2000-06-16 2008-03-25 American Express Travel Related Services Company, Inc. System and method for utilizing a drag and drop technique to complete electronic forms
US7062462B1 (en) * 1999-07-26 2006-06-13 The Chase Manhattan Bank On-line higher education financing system
US8381087B1 (en) * 1999-07-26 2013-02-19 G&H Nevada-Tek Automated electronic document filing system, method, and article of manufacture
US7886008B2 (en) * 1999-07-28 2011-02-08 Rpost International Limited System and method for verifying delivery and integrity of electronic messages
US6701486B1 (en) * 1999-07-29 2004-03-02 Grischa Corporation Method, apparatus, and computer program product for automatic page suppression in forms
US6971105B1 (en) * 1999-07-29 2005-11-29 Rehle Visual Communications Llc Method, apparatus, and computer program product for deferred completion of multi-step user transaction applications
US8036992B2 (en) * 1999-08-05 2011-10-11 Royall & Company Methods of generating applications for enrollment at educational institutions
US7082439B1 (en) 1999-08-26 2006-07-25 Hsc Venture Fund 1999 System and method for electronic message notification
GB2354092A (en) * 1999-09-11 2001-03-14 Ibm Filtering data in a user interface
US6493704B1 (en) * 1999-09-13 2002-12-10 Oracle Corporation Method and apparatus for using metadata to dynamically generate a display page to solicit input from a user
US7389915B1 (en) * 1999-09-22 2008-06-24 Dyor Elizabeth R Financial management system
US7934149B1 (en) * 1999-09-30 2011-04-26 Instantis, Inc. Automated creation and maintenance of programs to process internet form related submissions
JP2001118009A (en) * 1999-10-18 2001-04-27 Internatl Business Mach Corp <Ibm> Method for acquiring electronic document, electronic document system, and storage medium storing program for acquiring electronic document
US6876991B1 (en) 1999-11-08 2005-04-05 Collaborative Decision Platforms, Llc. System, method and computer program product for a collaborative decision platform
US7398235B1 (en) * 1999-11-12 2008-07-08 Student Loan Funding Resources System for administering an on-line financial-aid service for a plurality of post-highschool education facilities
US7475032B1 (en) * 1999-11-16 2009-01-06 Ameriprise Financial, Inc. Systems and methods for creating financial advice applications
WO2001037129A1 (en) * 1999-11-17 2001-05-25 Bayshore Capital Inc. Method and apparatus for automated transaction processing
US7133873B1 (en) * 1999-12-14 2006-11-07 United Parcel Service Of America, Inc. System and method for modifying output of computer program without source code modifications
US6934905B1 (en) * 1999-12-16 2005-08-23 Rodger W. Tighe Automated document drafting system
AUPQ534500A0 (en) * 2000-01-31 2000-02-17 Internet Development Professionals Pty Ltd. A system for delivering educational information
AU2001233111A1 (en) 2000-02-04 2001-08-14 America Online Incorporated Optimized delivery of web application code
WO2001057720A2 (en) * 2000-02-04 2001-08-09 America Online Incorporated Automated client-server data validation
GB2375863A (en) * 2000-03-06 2002-11-27 Wellogix Inc Method and process for providing relevant data comparing proposal alternatives and reconciling proposals invoices and purchase orders with actual costs in a w
US20030056171A1 (en) * 2000-03-24 2003-03-20 Yutaka Yone Electronic document processing apparatus and processing method
US9292484B1 (en) * 2000-03-29 2016-03-22 International Business Machines Corporation Method and system for automatically providing information to an electronic form
US20030055673A1 (en) * 2000-04-05 2003-03-20 Thomas Merklein Method and device for operating a technical arrangement comprising several data processing systems
AU5584101A (en) * 2000-04-14 2001-10-30 Realnetworks, Inc. A system and method of providing music items to music renderers
JP2001307002A (en) * 2000-04-20 2001-11-02 Fuji Xerox Co Ltd Data input form generation system, data input form generating method and computer readable recording medium
US6981028B1 (en) * 2000-04-28 2005-12-27 Obongo, Inc. Method and system of implementing recorded data for automating internet interactions
US6968317B1 (en) * 2000-04-28 2005-11-22 Charles Schwab & Co., Inc. Method and apparatus for new accounts program
US7835985B2 (en) * 2000-05-02 2010-11-16 Jpmorgan Chase Bank, N.A. On-line higher education financing system
WO2001088661A2 (en) * 2000-05-16 2001-11-22 U.S. Army Medical Research And Material Command System and method for providing access to forms and maintaining the data used to complete the forms
US7475404B2 (en) 2000-05-18 2009-01-06 Maquis Techtrix Llc System and method for implementing click-through for browser executed software including ad proxy and proxy cookie caching
US8086697B2 (en) 2005-06-28 2011-12-27 Claria Innovations, Llc Techniques for displaying impressions in documents delivered over a computer network
US8549053B2 (en) * 2000-05-22 2013-10-01 Royall & Company Method of generating increased applications for enrollment at educational institutions
US7305355B2 (en) 2000-06-12 2007-12-04 American Express Travel Related Services Company, Inc. Universal shopping cart and order injection system
US7412409B2 (en) * 2000-06-15 2008-08-12 American Express Travel Related Services Company, Inc. Online ordering medium and method
US20080162298A1 (en) * 2000-06-15 2008-07-03 American Express Travel Related Services Company, Inc. Online ordering system and method
AU2001266938A1 (en) * 2000-06-15 2001-12-24 Infospace, Inc. Unified product purchasing system and method
US7191394B1 (en) * 2000-06-21 2007-03-13 Microsoft Corporation Authoring arbitrary XML documents using DHTML and XSLT
US7155667B1 (en) * 2000-06-21 2006-12-26 Microsoft Corporation User interface for integrated spreadsheets and word processing tables
US7000230B1 (en) 2000-06-21 2006-02-14 Microsoft Corporation Network-based software extensions
US7346848B1 (en) * 2000-06-21 2008-03-18 Microsoft Corporation Single window navigation methods and systems
US6883168B1 (en) * 2000-06-21 2005-04-19 Microsoft Corporation Methods, systems, architectures and data structures for delivering software via a network
US6948135B1 (en) * 2000-06-21 2005-09-20 Microsoft Corporation Method and systems of providing information to computer users
US7624356B1 (en) * 2000-06-21 2009-11-24 Microsoft Corporation Task-sensitive methods and systems for displaying command sets
US20020065831A1 (en) * 2000-06-29 2002-05-30 Depaolo David John Method and apparatus for providing automated form preparation and processing
AU2001271528A1 (en) * 2000-06-29 2002-01-14 United States Postal Service Systems and methods for providing address template application programming interfaces
JP3983961B2 (en) * 2000-07-18 2007-09-26 株式会社東芝 Directory information management apparatus and computer-readable recording medium recording program
US20020016791A1 (en) * 2000-08-01 2002-02-07 Palmer Roger L. Computer-implemented system and method for recruiting athletes
US6574631B1 (en) * 2000-08-09 2003-06-03 Oracle International Corporation Methods and systems for runtime optimization and customization of database applications and application entities
US20020059629A1 (en) * 2000-08-21 2002-05-16 Markel Steven O. Detection and recognition of data receiver to facilitate proper transmission of enhanced data
GB2371382B (en) * 2000-08-22 2004-01-14 Symbian Ltd Database for use with a wireless information device
US20020057286A1 (en) * 2000-08-25 2002-05-16 Markel Steven O. Device independent video enhancement scripting language
US20020059588A1 (en) * 2000-08-25 2002-05-16 Thomas Huber Personalized remote control
AU2001286891A1 (en) * 2000-08-31 2002-03-13 Docent, Inc. Method and system for providing a knowledge exchange portal
US7739308B2 (en) 2000-09-08 2010-06-15 Oracle International Corporation Techniques for automatically provisioning a database over a wide area network
US9742614B2 (en) * 2000-09-28 2017-08-22 Wellogix Technology Licensing, Llc Data-type definition driven dynamic business component instantiation and execution framework
US6832226B1 (en) * 2000-10-11 2004-12-14 Bruce H. Parker Method of providing data dictionary-driven web-based database applications
JP2002123702A (en) * 2000-10-13 2002-04-26 Association For Rational Administration Osaka Inc System for supplying job-offering information
US6950850B1 (en) * 2000-10-31 2005-09-27 International Business Machines Corporation System and method for dynamic runtime partitioning of model-view-controller applications
US20020107725A1 (en) * 2000-11-01 2002-08-08 Hickey Matthew W. Scholarship award method
US6910045B2 (en) 2000-11-01 2005-06-21 Collegenet, Inc. Automatic data transmission in response to content of electronic forms satisfying criteria
US20060174199A1 (en) * 2000-11-16 2006-08-03 Soltis Warren B Web-based design system
US20020062342A1 (en) * 2000-11-22 2002-05-23 Sidles Charles S. Method and system for completing forms on wide area networks such as the internet
CA2327159C (en) * 2000-11-30 2008-10-07 Ibm Canada Limited-Ibm Canada Limitee System and method for dynamically displaying html form elements
JP2002230290A (en) * 2001-01-11 2002-08-16 Fitech Laboratories Inc Trading server
US20020133567A1 (en) * 2001-01-12 2002-09-19 Te George A. Method and system for generalized common gateway interface processing
US6915486B2 (en) * 2001-02-13 2005-07-05 International Business Machines Corporation Customizing a graphical user interface of a host application
JP2002279315A (en) * 2001-03-22 2002-09-27 Toppan Forms Co Ltd System and server for supporting in finding job
US6950831B2 (en) * 2001-03-23 2005-09-27 Siemens Medical Solutions Health Services Corporation Processing system for use with a user interface display
CA2344074A1 (en) * 2001-04-17 2002-10-17 George Wesley Bradley Method and system for cross-platform form creation and deployment
US20030009433A1 (en) * 2001-04-30 2003-01-09 Murren Brian T. Automatic identification of computer program attributes
US20030078949A1 (en) * 2001-04-30 2003-04-24 Scholz Bernhard J. Automatic generation of forms with input validation
US7519546B2 (en) 2001-04-30 2009-04-14 General Electric Company Maintaining synchronization of information published to multiple subscribers
US7346921B2 (en) * 2001-04-30 2008-03-18 Ge Capital Corporation Definition of low-level security rules in terms of high-level security concepts
US20040205525A1 (en) * 2001-04-30 2004-10-14 Murren Brian T. Automatic identification of form contents
US20020198931A1 (en) * 2001-04-30 2002-12-26 Murren Brian T. Architecture and process for presenting application content to clients
US8095597B2 (en) 2001-05-01 2012-01-10 Aol Inc. Method and system of automating data capture from electronic correspondence
US7685508B2 (en) * 2001-05-15 2010-03-23 Occam Networks Device monitoring via generalized markup language
US7155496B2 (en) * 2001-05-15 2006-12-26 Occam Networks Configuration management utilizing generalized markup language
US20020178190A1 (en) * 2001-05-22 2002-11-28 Allison Pope Systems and methods for integrating mainframe and client-server data into automatically generated business correspondence
US7134122B1 (en) 2001-05-31 2006-11-07 Oracle International Corporation One click deployment
US7475333B2 (en) * 2001-06-01 2009-01-06 Sap Ag Defining form formats with layout items that present data of business application
US20030073063A1 (en) * 2001-06-14 2003-04-17 Basab Dattaray Methods and apparatus for a design, creation, administration, and use of knowledge units
US6983421B1 (en) 2001-06-22 2006-01-03 I2 Technologies Us, Inc. Using connectors to automatically update graphical user interface elements at a client system according to an updated state of a configuration
US6973626B1 (en) 2001-06-22 2005-12-06 I2 Technologies Us, Inc. Automatically generating graphical user interface elements at a client system according to a current configuration model
US7515137B2 (en) * 2001-07-16 2009-04-07 Intel Corporation Software-based number lock
US7379977B2 (en) * 2001-07-24 2008-05-27 Steve Walrath System and method for display of multiple electronic pages
US20030023627A1 (en) * 2001-07-26 2003-01-30 Kerr John M. System and method for indicating a measure of content copy fitting
US7000236B2 (en) * 2001-07-30 2006-02-14 Bellsouth Intellectual Property Corporation System and method for using web based applications to manipulate data with manipulation functions
US7441007B1 (en) 2001-07-30 2008-10-21 At&T Intellectual Property I, L.P. System and method for allowing applications to retrieve properties and configuration information from a persistent store
US7353248B1 (en) 2001-07-30 2008-04-01 At&T Delaware Intellectual Property, Inc. Application server and method to perform hierarchical configurable data validation
US7296297B2 (en) * 2001-07-30 2007-11-13 At&T Bls Intellectual Property Corporation System and method for using web-based applications to validate data with validation functions
US6966053B2 (en) * 2001-08-10 2005-11-15 The Boeing Company Architecture for automated analysis and design with read only structure
US9898462B2 (en) 2001-09-20 2018-02-20 Wellogix Technology Licensing, Llc Process and system for providing and managing offline input of field documentation to a complex project workflow system
US7234105B2 (en) 2001-09-20 2007-06-19 Sap Ag Methods and systems for providing a document with interactive elements to retrieve information for processing by business applications
WO2003040941A1 (en) * 2001-10-09 2003-05-15 America Online Incorporated Method and apparatus for automating internet interactions
US20030074277A1 (en) * 2001-10-16 2003-04-17 Foutz Gregory L. Method and apparatus for automatically reviewing application information and preparing responsive communications
US20060200754A1 (en) * 2001-10-24 2006-09-07 Infosnap Systems and methods for storing personal information, automatically filling out forms, and sharing information with a data recipient
US8589400B2 (en) 2001-11-30 2013-11-19 Intelligent Medical Objects, Inc. Longitudinal electronic record system and method
US7693917B2 (en) 2001-11-30 2010-04-06 Intelligent Medical Objects, Inc. Method for adaptive data management
SE523871C2 (en) * 2001-12-06 2004-05-25 Goete Lagerkvist Method for handling electronic documents
US8160955B2 (en) * 2001-12-18 2012-04-17 Siebel Systems, Inc. Method and apparatus for capturing commercial loan application data and assigning a commercial loan request
US7720730B2 (en) * 2001-12-18 2010-05-18 Siebel Systems, Inc. Method and apparatus for capturing consumer loan application data
US20040083207A1 (en) * 2002-03-18 2004-04-29 Jeffries David J. Multiple option search technology
US7669116B2 (en) * 2002-03-26 2010-02-23 Accenture Global Services, Gmbh Single access point for filing of converted electronic forms to multiple processing entities
US20030204467A1 (en) * 2002-04-26 2003-10-30 Kartha G. Neelakantan System and method for selecting trading partners in an electronic market
US7054880B2 (en) * 2002-04-26 2006-05-30 Sbc Technology Resources, Inc. System and method for creating electronic marketplaces
US20040003353A1 (en) * 2002-05-14 2004-01-01 Joey Rivera Workflow integration system for automatic real time data management
US20030221165A1 (en) * 2002-05-22 2003-11-27 Microsoft Corporation System and method for metadata-driven user interface
US8108231B2 (en) 2002-06-14 2012-01-31 The Crawford Group, Inc. Method and apparatus for improved customer direct on-line reservation of rental vehicles
US7356458B1 (en) 2002-06-27 2008-04-08 Electronic Data Systems Corporation Multi-language correspondence/form generator
JP2004046375A (en) * 2002-07-09 2004-02-12 Canon Inc Business form processing device, business form processing method and program
EP1387291A3 (en) * 2002-07-30 2005-10-19 Canon Kabushiki Kaisha Apparatus, method, recording medium and program for form processing
US20040024842A1 (en) * 2002-07-31 2004-02-05 Sap Aktiengesellschaft Validation framework for validating markup page input on a client computer
US7024415B1 (en) * 2002-07-31 2006-04-04 Bellsouth Intellectual Property Corporation File conversion
US20040077347A1 (en) * 2002-08-30 2004-04-22 Ronald Lauber Modular analog wireless data telemetry system adapted for use with web based location information distribution method and method for developing and disseminating information for use therewith
US8484551B2 (en) * 2002-09-05 2013-07-09 Adobe Systems Incorporated Creating input fields in electronic documents
WO2004028061A2 (en) * 2002-09-20 2004-04-01 Racom Products, Inc. Method for wireless data system distribution and disseminating information for use with web base location information
US20040117731A1 (en) * 2002-09-27 2004-06-17 Sergey Blyashov Automated report building system
EP1573483A4 (en) * 2002-10-17 2006-10-11 Knowledge It Corp Virtual knowledge management system
US7526448B2 (en) * 2002-11-01 2009-04-28 Checkfree Corporation Matching consumers with billers having bills available for electronic presentment
US20040143546A1 (en) * 2002-11-01 2004-07-22 Wood Jeff A. Easy user activation of electronic commerce services
US20040133514A1 (en) * 2002-11-01 2004-07-08 Zielke William D. Selective noticing of availability of an electronic bill based on service provider data
US20040133509A1 (en) * 2002-11-01 2004-07-08 Mccoy Randal A. Technique for making payments for a non-subscriber payor
US20040133513A1 (en) * 2002-11-01 2004-07-08 Mccoy Randal Identity protection technique in matching consumers with electronic billers
US8073773B2 (en) 2002-11-01 2011-12-06 Checkfree Corporation Technique for identifying probable billers of a consumer
US20040088235A1 (en) * 2002-11-01 2004-05-06 Ziekle William D. Technique for customizing electronic commerce user
US20040088237A1 (en) * 2002-11-01 2004-05-06 Peter Moenickheim Identifying candidate billers or payees of a payor
US20040088251A1 (en) * 2002-11-01 2004-05-06 Peter Moenickheim Easy establishment of biller or payees of a payor
US7729996B2 (en) 2002-11-01 2010-06-01 Checkfree Corporation Reuse of an EBP account through alternate authentication
US7603341B2 (en) 2002-11-05 2009-10-13 Claria Corporation Updating the content of a presentation vehicle in a computer network
US7162431B2 (en) * 2002-11-12 2007-01-09 Turning Point For Life, Inc. Educational institution selection system and method
US20040143469A1 (en) * 2002-11-27 2004-07-22 Greg Lutz Recruiting system accessible by university staff, employers and students
US20040122791A1 (en) * 2002-12-19 2004-06-24 Sea Brian S Method and system for automated source code formatting
US7404140B2 (en) * 2003-01-31 2008-07-22 Siemens Medical Solutions Usa, Inc. System for managing form information for use by portable devices
US7415672B1 (en) 2003-03-24 2008-08-19 Microsoft Corporation System and method for designing electronic forms
US7275216B2 (en) * 2003-03-24 2007-09-25 Microsoft Corporation System and method for designing electronic forms and hierarchical schemas
US7370066B1 (en) 2003-03-24 2008-05-06 Microsoft Corporation System and method for offline editing of data files
US7296017B2 (en) * 2003-03-28 2007-11-13 Microsoft Corporation Validation of XML data files
US7913159B2 (en) 2003-03-28 2011-03-22 Microsoft Corporation System and method for real-time validation of structured data files
US7516145B2 (en) * 2003-03-31 2009-04-07 Microsoft Corporation System and method for incrementally transforming and rendering hierarchical data files
US20040199443A1 (en) * 2003-04-03 2004-10-07 Gaston Ian D. Method for standardizing reporting of issues, assumptions, and risks for a risk review board
US8612590B1 (en) 2003-04-11 2013-12-17 International Business Machines Corporation Method and apparatus for access management
US7146563B2 (en) * 2003-05-29 2006-12-05 International Business Machines Corporation Maintaining screen and form state in portlets
US20040254822A1 (en) * 2003-06-12 2004-12-16 Mandelbaum Steven Jay System and method for centralized institution admission application submission, processing, analysis, and distribution
US20040268229A1 (en) * 2003-06-27 2004-12-30 Microsoft Corporation Markup language editing with an electronic form
US7451392B1 (en) * 2003-06-30 2008-11-11 Microsoft Corporation Rendering an HTML electronic form by applying XSLT to XML using a solution
US20110060695A1 (en) * 2003-07-01 2011-03-10 Thomas Boyland System and Method for Automated Admissions Process and Yield Rate Management
US7779345B2 (en) * 2003-07-30 2010-08-17 Aol Inc. Reverse mapping method and apparatus for form filling
US7406660B1 (en) 2003-08-01 2008-07-29 Microsoft Corporation Mapping between structured data and a visual surface
US8180681B2 (en) 2003-08-05 2012-05-15 Intraware, Inc. Automated entitlement management method and apparatus for capturing maintenance renewals revenues
US7958163B2 (en) 2003-08-05 2011-06-07 Intraware, Inc. System and method for bulk transfer of digital goods
US7334187B1 (en) 2003-08-06 2008-02-19 Microsoft Corporation Electronic form aggregation
US20050043844A1 (en) * 2003-08-07 2005-02-24 Hewlett-Packard Development Company, L.P. Managing workflow in a commercial printing environment with pre-submittal high performance automated remote proofing
US7500178B1 (en) * 2003-09-11 2009-03-03 Agis Network, Inc. Techniques for processing electronic forms
US20050065936A1 (en) * 2003-09-22 2005-03-24 Thomas Goering System and method for reusing form elements in a form building application
US8170912B2 (en) 2003-11-25 2012-05-01 Carhamm Ltd., Llc Database structure and front end
US20050125715A1 (en) * 2003-12-04 2005-06-09 Fabrizio Di Franco Method of saving data in a graphical user interface
US7908208B2 (en) * 2003-12-10 2011-03-15 Alphacap Ventures Llc Private entity profile network
US8005732B2 (en) 2003-12-31 2011-08-23 American Express Travel Related Services Company, Inc. System for reducing information required to open a new account
US7882041B2 (en) * 2004-01-09 2011-02-01 American Public University Systems, Inc. System and method for optimizing the effectiveness of an educational institution
US20050161495A1 (en) * 2004-01-22 2005-07-28 Shepherd Russell A. Stackable display container, its preassembly and blank for making same
US8819072B1 (en) 2004-02-02 2014-08-26 Microsoft Corporation Promoting data from structured data files
US7318063B2 (en) * 2004-02-19 2008-01-08 Microsoft Corporation Managing XML documents containing hierarchical database information
EP1571575A1 (en) * 2004-02-27 2005-09-07 Sag Ag Data processing system and method of data entry
US20050216887A1 (en) * 2004-03-24 2005-09-29 William Robertson Document development platform
US20050240455A1 (en) * 2004-04-23 2005-10-27 Alyssa Walters Method and system for receiving and analyzing an electronic personal statement
US7496837B1 (en) * 2004-04-29 2009-02-24 Microsoft Corporation Structural editing with schema awareness
US7747938B2 (en) * 2004-05-04 2010-06-29 Oracle International Corporation Data insertion from a database into a fixed electronic template form
US7774620B1 (en) 2004-05-27 2010-08-10 Microsoft Corporation Executing applications at appropriate trust levels
US7203699B2 (en) 2004-06-28 2007-04-10 Bellamy Robert E Computerized system for automated completion of forms
US20060004836A1 (en) * 2004-06-30 2006-01-05 Microsoft Corporation Dynamic forms generation
US7747940B2 (en) * 2004-07-30 2010-06-29 Barclays Capital Inc. System and method for data collection and processing
US8078602B2 (en) 2004-12-17 2011-12-13 Claria Innovations, Llc Search engine for a computer network
US8255413B2 (en) 2004-08-19 2012-08-28 Carhamm Ltd., Llc Method and apparatus for responding to request for information-personalization
US7996759B2 (en) * 2004-09-14 2011-08-09 Oracle Internatonal Corporation Data insertion from a database into a fixed electronic template form that supports overflow data
US7475051B1 (en) 2004-09-22 2009-01-06 International Business Machines Corporation System and method for the cascading definition and enforcement of EDI rules
US7617233B2 (en) * 2004-09-28 2009-11-10 International Business Machines Corporation Method, system, and computer program product for sharing information between hypertext markup language (HTML) forms using a cookie
US7516399B2 (en) * 2004-09-30 2009-04-07 Microsoft Corporation Structured-document path-language expression methods and systems
US7692636B2 (en) * 2004-09-30 2010-04-06 Microsoft Corporation Systems and methods for handwriting to a screen
US20060074933A1 (en) * 2004-09-30 2006-04-06 Microsoft Corporation Workflow interaction
US20060075384A1 (en) * 2004-10-01 2006-04-06 International Business Corporation Method, system and program product for managing application forms
US8321465B2 (en) * 2004-11-14 2012-11-27 Bloomberg Finance L.P. Systems and methods for data coding, transmission, storage and decoding
EP1831837A4 (en) * 2004-11-14 2009-07-29 Bloomberg Finance Lp Data coding, transmission, storage and decoding
US7712022B2 (en) 2004-11-15 2010-05-04 Microsoft Corporation Mutually exclusive options in electronic forms
US20060107224A1 (en) * 2004-11-15 2006-05-18 Microsoft Corporation Building a dynamic action for an electronic form
US7584417B2 (en) * 2004-11-15 2009-09-01 Microsoft Corporation Role-dependent action for an electronic form
US7721190B2 (en) * 2004-11-16 2010-05-18 Microsoft Corporation Methods and systems for server side form processing
US20070111190A1 (en) * 2004-11-16 2007-05-17 Cohen Mark N Data Transformation And Analysis
US20060106629A1 (en) * 2004-11-16 2006-05-18 Cohen Mark N Record transfer
US20060129539A1 (en) * 2004-12-09 2006-06-15 Masashi Nakatomi Information processing device and method thereof
US7904801B2 (en) * 2004-12-15 2011-03-08 Microsoft Corporation Recursive sections in electronic forms
US20060156135A1 (en) * 2004-12-16 2006-07-13 Marek Sikora Tabbed form with error indicators
US7693863B2 (en) 2004-12-20 2010-04-06 Claria Corporation Method and device for publishing cross-network user behavioral data
US7437376B2 (en) * 2004-12-20 2008-10-14 Microsoft Corporation Scalable object model
US20060136243A1 (en) * 2004-12-22 2006-06-22 Mark Cady Apparatus and method for administering a scholastic application program
GB0428365D0 (en) * 2004-12-24 2005-02-02 Ibm Methods and apparatus for generating a parser and parsing a document
US7937651B2 (en) * 2005-01-14 2011-05-03 Microsoft Corporation Structural editing operations for network forms
US7725834B2 (en) 2005-03-04 2010-05-25 Microsoft Corporation Designer-created aspect for an electronic form template
US8645941B2 (en) 2005-03-07 2014-02-04 Carhamm Ltd., Llc Method for attributing and allocating revenue related to embedded software
US8073866B2 (en) 2005-03-17 2011-12-06 Claria Innovations, Llc Method for providing content to an internet user based on the user's demonstrated content preferences
US7673228B2 (en) * 2005-03-30 2010-03-02 Microsoft Corporation Data-driven actions for network forms
GB0506508D0 (en) * 2005-03-31 2005-05-04 Ibm Method, system and software tool for processing an electronic form
US8010515B2 (en) 2005-04-15 2011-08-30 Microsoft Corporation Query to an electronic form
US20060265258A1 (en) * 2005-04-18 2006-11-23 Craig Powell Apparatus and methods for an application process and data analysis
US20060259574A1 (en) * 2005-05-13 2006-11-16 Outland Research, Llc Method and apparatus for accessing spatially associated information
US7854013B2 (en) * 2005-06-03 2010-12-14 Working Solutions International, Inc. Method for electronic data and signature collection, and system
US7543228B2 (en) * 2005-06-27 2009-06-02 Microsoft Corporation Template for rendering an electronic form
US8200975B2 (en) * 2005-06-29 2012-06-12 Microsoft Corporation Digital signatures for network forms
CA2511196A1 (en) * 2005-06-30 2006-12-30 Cognos Incorporated System and method for embedding business data in forms
US20070003919A1 (en) * 2005-06-30 2007-01-04 Aprende Technology, Inc. Method, system and software for automated student information management
US20070016960A1 (en) * 2005-07-18 2007-01-18 Nt Objectives, Inc. NTO input validation technique
US9063921B1 (en) * 2005-08-10 2015-06-23 Printable Technologies, Inc. System and method for distributed design of a variable data publication
US7613996B2 (en) * 2005-08-15 2009-11-03 Microsoft Corporation Enabling selection of an inferred schema part
US20070061719A1 (en) * 2005-09-14 2007-03-15 Worldvu Llc Address data collection and formatting apparatus and method for worldwide address formats
US20070061706A1 (en) * 2005-09-14 2007-03-15 Microsoft Corporation Mapping property hierarchies to schemas
US20070061467A1 (en) * 2005-09-15 2007-03-15 Microsoft Corporation Sessions and session states
US20070083853A1 (en) * 2005-09-27 2007-04-12 Bea Systems, Inc. System and method for declarative validation rule editor
US9336015B2 (en) * 2005-09-27 2016-05-10 Oracle International Corporation System and method for action output/page input mismatch detection and resolution
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US20070088744A1 (en) * 2005-10-13 2007-04-19 Joseph Webber System and method for automatic directory management in server environments
US7484173B2 (en) * 2005-10-18 2009-01-27 International Business Machines Corporation Alternative key pad layout for enhanced security
US20070130138A1 (en) * 2005-11-02 2007-06-07 Sourcecode Technology Holding, Inc. Methods and apparatus for storing a collaboratively designed workflow process
US8010940B2 (en) * 2005-11-02 2011-08-30 Sourcecode Technologies Holdings, Inc. Methods and apparatus for designing a workflow process using inheritance
WO2007056656A2 (en) * 2005-11-02 2007-05-18 Sourcecode Technology Holding, Inc. Methods and apparatus for processing business objects, electronic forms, and workflows
US20070136367A1 (en) * 2005-11-02 2007-06-14 Sourcecode Technology Holding, Inc. Methods and apparatus for dynamically modifying a business object definition
US7996758B2 (en) * 2005-11-02 2011-08-09 Sourcecode Technologies Holding, Inc. Methods and apparatus for storing data associated with an electronic form
US8224853B2 (en) 2005-11-02 2012-07-17 Sourcecode Technologies Holdings, Inc. Methods and apparatus for updating a plurality of data fields in an electronic form
US8239226B2 (en) * 2005-11-02 2012-08-07 Sourcecode Technologies Holdings, Inc. Methods and apparatus for combining properties and methods from a plurality of different data sources
US20070143305A1 (en) * 2005-11-02 2007-06-21 Sourcecode Technology Holding, Inc. Methods and apparatus for storing functions associated with an electronic form
US20070143711A1 (en) * 2005-11-02 2007-06-21 Sourcecode Technology Holding, Inc. Methods and apparatus for displaying a setup sequence
US7818662B2 (en) * 2005-11-04 2010-10-19 Microsoft Corporation Integrating line-of-business application data with documents
US7225093B1 (en) * 2005-11-21 2007-05-29 Agilent Technologies, Inc. System and method for generating triggers based on predetermined trigger waveform and a measurement signal
US8001459B2 (en) 2005-12-05 2011-08-16 Microsoft Corporation Enabling electronic documents for limited-capability computing devices
US9430455B2 (en) * 2005-12-15 2016-08-30 Simpliance, Inc. Methods and systems for intelligent form-filling and electronic document generation
US20070156977A1 (en) * 2005-12-29 2007-07-05 Ritter Gerd M Automatic location data determination in an electronic document
US8037402B2 (en) * 2006-02-13 2011-10-11 Oracle International Corporation Method and system for flexible creation and publication of forms
US7770114B2 (en) * 2006-03-03 2010-08-03 Cadcorporation.Com Inc. System and method for using virtual environments
US20070250654A1 (en) * 2006-03-20 2007-10-25 Jason Saul System and method for completing a plurality of grant applications
US7720688B1 (en) 2006-03-24 2010-05-18 Titlevest Agency, Inc. Method for generating real-estate transfer documents on an unassociated second website using single set of user provided information
US8667382B2 (en) * 2006-06-28 2014-03-04 International Business Machines Corporation Configurable field definition document
US20080059212A1 (en) * 2006-08-31 2008-03-06 Andrei Obrea System and method for assembling complex document sets from geographically disparate sources
US20080059494A1 (en) * 2006-09-01 2008-03-06 Ean Rouse Schuessler Document database system and method
JP4550034B2 (en) * 2006-09-05 2010-09-22 コニカミノルタビジネステクノロジーズ株式会社 Image processing apparatus and program
US8190988B2 (en) * 2006-09-15 2012-05-29 Efficient Forms, Llc Form bundling
US10379700B1 (en) * 2006-10-19 2019-08-13 United Services Automobile Association (Usaa) Systems and methods for customized applications
US20080126988A1 (en) * 2006-11-24 2008-05-29 Jayprakash Mudaliar Application management tool
US20080250308A1 (en) * 2006-11-24 2008-10-09 Renee Cheung Walsh Method for communicating images and forms in a medical environment
JP4898405B2 (en) * 2006-12-01 2012-03-14 キヤノン株式会社 Document data processing method, document data creation device, and document data processing device
US8693690B2 (en) * 2006-12-04 2014-04-08 Red Hat, Inc. Organizing an extensible table for storing cryptographic objects
US7805669B2 (en) * 2006-12-22 2010-09-28 Sag Ag System and method for selective form configuration
US20080172604A1 (en) * 2006-12-28 2008-07-17 International Business Machines Corporation Time reduction mechanism in schematic design entry page setup
US8620952B2 (en) 2007-01-03 2013-12-31 Carhamm Ltd., Llc System for database reporting
US20080168358A1 (en) * 2007-01-08 2008-07-10 Microsoft Corporation Single-page web signup facility
US20080209037A1 (en) * 2007-02-05 2008-08-28 Dror Zernik System and method for enforcing in real time corporate business rules on web users
US10635455B2 (en) * 2007-02-13 2020-04-28 Oracle International Corporation Simplifying understanding of procedure dependencies in a form definition
US20080208632A1 (en) * 2007-02-28 2008-08-28 Emmi Solutions, Llc Freezing a network- delivered healthcare questionnaire
WO2008106783A1 (en) * 2007-03-07 2008-09-12 Spoton Systems Inc. A generic, customizable navigation, layout and reporting system for mobile forms data capture
US7720814B2 (en) * 2007-04-04 2010-05-18 Microsoft Corporation Repopulating a database with document content
US20080250394A1 (en) * 2007-04-04 2008-10-09 Microsoft Corporation Synchronizing external documentation with code development
US7720885B2 (en) * 2007-04-04 2010-05-18 Microsoft Corporation Generating a word-processing document from database content
US20080270166A1 (en) * 2007-04-16 2008-10-30 Duane Morin Transcript, course catalog and financial aid apparatus, systems, and methods
US9098263B2 (en) * 2007-04-30 2015-08-04 Microsoft Technology Licensing, Llc Database application assembly and preparation
WO2008137998A1 (en) * 2007-05-08 2008-11-13 Sourcecode Technology Holding, Inc. Methods and apparatus for exposing workflow process definitions as business objects
US7973979B2 (en) * 2007-05-16 2011-07-05 Liaison International, Inc. Methods and systems for centralizing an application process
US9098481B2 (en) 2007-06-15 2015-08-04 Microsoft Technology Licensing, Llc Increasing accuracy in determining purpose of fields in forms
US20120089510A1 (en) * 2007-06-19 2012-04-12 Jeremy Martin Peyer Fee Management System
US20090006646A1 (en) * 2007-06-26 2009-01-01 Data Frenzy, Llc System and Method of Auto Populating Forms on Websites With Data From Central Database
US7937666B2 (en) * 2007-07-03 2011-05-03 Apple Inc. Form-field mask for sensitive data
GB0714394D0 (en) * 2007-07-24 2007-09-05 Keycorp Ltd Graphic user interface parsing
US20090043600A1 (en) * 2007-08-10 2009-02-12 Applicationsonline, Llc Video Enhanced electronic application
US20110113319A1 (en) * 2007-08-13 2011-05-12 Kcs - Knowledge Control Systems Ltd. Introducing a form instance into an information container
GB0716114D0 (en) * 2007-08-17 2007-09-26 Thunderhead Ltd Method of editing and regenerating a communication
US8701078B1 (en) 2007-10-11 2014-04-15 Versionone, Inc. Customized settings for viewing and editing assets in agile software development
US9147213B2 (en) 2007-10-26 2015-09-29 Zazzle Inc. Visualizing a custom product in situ
US10304064B2 (en) * 2007-11-02 2019-05-28 Altum, Inc. Grant administration system
US7870164B2 (en) 2007-11-20 2011-01-11 Microsoft Corporation Database part creation, merge and reuse
US20090248740A1 (en) * 2007-11-20 2009-10-01 Microsoft Corporation Database form and report creation and reuse
US9152656B2 (en) * 2007-11-20 2015-10-06 Microsoft Technology Licensing, Llc Database data type creation and reuse
US20090182671A1 (en) * 2007-12-10 2009-07-16 Computer Patent Annuities Limited Interface system for annuity database for management of assets
US20090172777A1 (en) * 2007-12-31 2009-07-02 Pitney Bowes Inc. System and method for tracking documents
US8739047B1 (en) 2008-01-17 2014-05-27 Versionone, Inc. Integrated planning environment for agile software development
US8370803B1 (en) 2008-01-17 2013-02-05 Versionone, Inc. Asset templates for agile software development
US20090204881A1 (en) * 2008-02-08 2009-08-13 M/S. Scmooth (India) Private Limited Method and system for knowledge-based filling and verification of complex forms
US9501751B1 (en) 2008-04-10 2016-11-22 Versionone, Inc. Virtual interactive taskboard for tracking agile software development
US20100049643A1 (en) * 2008-08-19 2010-02-25 Bank Of America Online billpay memo data
US20100049642A1 (en) * 2008-08-19 2010-02-25 Bank Of America Online billpay attachments
US20100050069A1 (en) * 2008-08-22 2010-02-25 International Business Machines Corporation System and method for customizing documentation with constraint-controlled custom values
US8453067B1 (en) 2008-10-08 2013-05-28 Versionone, Inc. Multiple display modes for a pane in a graphical user interface
US8561012B1 (en) 2008-10-08 2013-10-15 Versionone, Inc. Transitioning between iterations in agile software development
US8265606B2 (en) * 2008-10-09 2012-09-11 Microsoft Corporation Targeted advertisements to social contacts
US7930447B2 (en) 2008-10-17 2011-04-19 International Business Machines Corporation Listing windows of active applications of computing devices sharing a keyboard based upon requests for attention
US8364604B1 (en) * 2008-11-17 2013-01-29 ArdentSky, LLC System and method for managing licenses
US8875088B1 (en) 2009-01-21 2014-10-28 Versionone, Inc. Methods and systems for performing project schedule forecasting
US8639615B1 (en) 2009-05-04 2014-01-28 United Services Automobile Association (Usaa) Population of application
US8418147B1 (en) 2009-05-08 2013-04-09 Versionone, Inc. Methods and systems for reporting on build runs in software development
US8656273B1 (en) * 2009-07-07 2014-02-18 Intuit Inc. Unified data entry for generating multiple forms
US8670149B2 (en) * 2009-08-03 2014-03-11 Printable Technologies Inc. Apparatus and methods for image processing optimization for variable data printing
US9135225B2 (en) * 2009-10-02 2015-09-15 Adobe Systems Incorporated Data description injection
US20110082809A1 (en) * 2009-10-05 2011-04-07 Andapally Praveen K Integrated Institution Application Management System
US9058489B2 (en) * 2010-01-25 2015-06-16 Samsung Electronics Co., Ltd. Marking documents with executable text for processing by computing systems
US8997217B2 (en) * 2010-01-25 2015-03-31 Samsung Electronics Co., Ltd. Safely processing and presenting documents with executable text
WO2011097599A1 (en) * 2010-02-05 2011-08-11 Medversant Technologies, Llc System and method for peer referencing in an online computer system
EP2574211A1 (en) * 2010-03-09 2013-04-03 David Schnitt Unified electronic forms management system
US9424242B2 (en) * 2010-04-14 2016-08-23 International Business Machines Corporation Data capture and analysis
US9098311B2 (en) * 2010-07-01 2015-08-04 Sap Se User interface element for data rating and validation
US8560935B2 (en) 2010-08-31 2013-10-15 American Sterling Dental Plan, Llc Segmenting forms for multiple user completion
US10210160B2 (en) 2010-09-07 2019-02-19 Opentv, Inc. Collecting data from different sources
US9699503B2 (en) 2010-09-07 2017-07-04 Opentv, Inc. Smart playlist
US8949871B2 (en) 2010-09-08 2015-02-03 Opentv, Inc. Smart media selection based on viewer user presence
US10417702B2 (en) * 2011-05-26 2019-09-17 Facebook, Inc. Dynamically providing a third-party checkout option
US20130019154A1 (en) * 2011-07-11 2013-01-17 Collegenet, Inc. Systems and methods for collecting multimedia form responses
JP6049220B2 (en) * 2011-08-31 2016-12-21 ザズル インコーポレイテッド Tiling process for digital image retrieval
US9858548B2 (en) * 2011-10-18 2018-01-02 Dotloop, Llc Systems, methods and apparatus for form building
US20140298151A1 (en) * 2012-05-11 2014-10-02 FitzForm LLC Creation and distribution of forms
US10403403B2 (en) 2012-09-28 2019-09-03 Cerner Innovation, Inc. Adaptive medical documentation system
US9317484B1 (en) * 2012-12-19 2016-04-19 Emc Corporation Page-independent multi-field validation in document capture
US9430453B1 (en) 2012-12-19 2016-08-30 Emc Corporation Multi-page document recognition in document capture
CN103888254B (en) 2012-12-21 2017-05-31 阿里巴巴集团控股有限公司 A kind of method and apparatus of network authentication information
US10424403B2 (en) 2013-01-28 2019-09-24 Siemens Aktiengesellschaft Adaptive medical documentation system
US10826951B2 (en) 2013-02-11 2020-11-03 Dotloop, Llc Electronic content sharing
US9575622B1 (en) 2013-04-02 2017-02-21 Dotloop, Llc Systems and methods for electronic signature
US10331765B2 (en) 2013-05-24 2019-06-25 Sourcecode Technology Holdings, Inc. Methods and apparatus for translating forms to native mobile applications
US20150019253A1 (en) * 2013-07-11 2015-01-15 Cerner Innovation, Inc. Integrated data capture using aliasing schemes
GB2519118A (en) * 2013-10-10 2015-04-15 Ibm Web page reload
US10353720B1 (en) 2013-10-18 2019-07-16 ApplicantLab Inc. Computer system, method, and media for preparing qualitative elements of an academic application
US10552525B1 (en) 2014-02-12 2020-02-04 Dotloop, Llc Systems, methods and apparatuses for automated form templating
US10733364B1 (en) 2014-09-02 2020-08-04 Dotloop, Llc Simplified form interface system and method
US9934213B1 (en) 2015-04-28 2018-04-03 Intuit Inc. System and method for detecting and mapping data fields for forms in a financial management system
US11120512B1 (en) 2015-01-06 2021-09-14 Intuit Inc. System and method for detecting and mapping data fields for forms in a financial management system
US10565302B2 (en) 2015-05-27 2020-02-18 Oleksandr Vityaz Method of organizing dialog with the use of fillable forms
US20210390649A1 (en) * 2015-07-23 2021-12-16 Hee Jae Cho Integrated scholarship management system and scholarship operation method using same
KR101980963B1 (en) * 2017-05-12 2019-08-28 정규영 System for processing and supplying personalized information based on Artificial Intelligence
US10853567B2 (en) 2017-10-28 2020-12-01 Intuit Inc. System and method for reliable extraction and mapping of data to and from customer forms
US10762581B1 (en) 2018-04-24 2020-09-01 Intuit Inc. System and method for conversational report customization
CN111226252A (en) * 2018-09-26 2020-06-02 乐天株式会社 Reception system, reception method, and program
US11392862B2 (en) * 2018-09-26 2022-07-19 Rakuten Group, Inc. Reception system, reception method, and program
US11830096B2 (en) * 2019-02-27 2023-11-28 Ocas System and method for achieving candidate diversity in a candidate application system
US11216285B2 (en) * 2019-06-14 2022-01-04 Oracle International Corporation Transaction state logger and retriever
US11803774B2 (en) 2020-07-09 2023-10-31 Bank Of America Corporation System for generating an execution sequence using learning reinforcement
US20220382969A1 (en) * 2021-04-30 2022-12-01 Bank Of America Corporation Cross channel digital data archiving and utilization system
US11615235B2 (en) * 2021-08-10 2023-03-28 Capital One Services, Llc Automatic filling of a form with formatted text

Citations (90)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4799156A (en) * 1986-10-01 1989-01-17 Strategic Processing Corporation Interactive market management system
US4831526A (en) * 1986-04-22 1989-05-16 The Chubb Corporation Computerized insurance premium quote request and policy issuance system
US4992940A (en) * 1989-03-13 1991-02-12 H-Renee, Incorporated System and method for automated selection of equipment for purchase through input of user desired specifications
US5077666A (en) * 1988-11-07 1991-12-31 Emtek Health Care Systems, Inc. Medical information system with automatic updating of task list in response to charting interventions on task list window into an associated form
US5086394A (en) * 1989-05-12 1992-02-04 Shmuel Shapira Introduction system for locating compatible persons
US5129086A (en) * 1988-11-29 1992-07-07 International Business Machines Corporation System and method for intercommunicating between applications and a database manager
US5187787A (en) * 1989-07-27 1993-02-16 Teknekron Software Systems, Inc. Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
US5193057A (en) * 1988-01-21 1993-03-09 Beneficial Franchise Company Inc. Electronic income tax refund early payment system with means for creating of a new deposit account for receipt of an electronically transferred refund from the irs
US5197004A (en) * 1989-05-08 1993-03-23 Resumix, Inc. Method and apparatus for automatic categorization of applicants from resumes
US5319542A (en) * 1990-09-27 1994-06-07 International Business Machines Corporation System for ordering items using an electronic catalogue
US5325478A (en) * 1989-09-15 1994-06-28 Emtek Health Care Systems, Inc. Method for displaying information from an information based computer system
US5367619A (en) * 1990-04-27 1994-11-22 Eaton Corporation Electronic data entry system employing an expert system to facilitate generation of electronic data forms with complex interrelationships between fields and subforms
US5404294A (en) * 1990-02-26 1995-04-04 Karnik; Jayant D. Tag method for moving information between computers & forms
US5410675A (en) * 1989-08-21 1995-04-25 Lisa M. Shreve Method of conforming input data to an output data structure and engine for accomplishing same
US5450537A (en) * 1989-12-08 1995-09-12 Hitachi, Ltd. Method and apparatus for completing a partially completed document in accordance with a blank form from data automatically retrieved from a database
US5455948A (en) * 1991-12-17 1995-10-03 Texas Instruments Incorporated Method and system for providing data to an application program
US5489213A (en) * 1994-03-07 1996-02-06 Makipaa; Juha Method of and system for employee business conduct guidelines education
US5535321A (en) * 1991-02-14 1996-07-09 International Business Machines Corporation Method and apparatus for variable complexity user interface in a data processing system
US5563999A (en) * 1990-10-19 1996-10-08 Moore Business Forms, Inc. Forms automation system
US5572643A (en) * 1995-10-19 1996-11-05 Judson; David H. Web browser with dynamic display of information objects during linking
US5592375A (en) * 1994-03-11 1997-01-07 Eagleview, Inc. Computer-assisted system for interactively brokering goods or services between buyers and sellers
US5611052A (en) * 1993-11-01 1997-03-11 The Golden 1 Credit Union Lender direct credit evaluation and loan processing system
US5640577A (en) * 1991-12-30 1997-06-17 Davox Corporation Data processing system with automated at least partial forms completion
US5655085A (en) * 1992-08-17 1997-08-05 The Ryan Evalulife Systems, Inc. Computer system for automated comparing of universal life insurance policies based on selectable criteria
US5671279A (en) * 1995-11-13 1997-09-23 Netscape Communications Corporation Electronic commerce using a secure courier system
US5671409A (en) * 1995-02-14 1997-09-23 Fatseas; Ted Computer-aided interactive career search system
US5699528A (en) * 1995-10-31 1997-12-16 Mastercard International, Inc. System and method for bill delivery and payment over a communications network
US5701451A (en) * 1995-06-07 1997-12-23 International Business Machines Corporation Method for fulfilling requests of a web browser
US5704029A (en) * 1994-05-23 1997-12-30 Wright Strategies, Inc. System and method for completing an electronic form
US5706434A (en) * 1995-07-06 1998-01-06 Electric Classifieds, Inc. Integrated request-response system and method generating responses to request objects formatted according to various communication protocols
US5710918A (en) * 1995-06-07 1998-01-20 International Business Machines Corporation Method for distributed task fulfillment of web browser requests
US5710883A (en) * 1995-03-10 1998-01-20 Stanford University Hypertext document transport mechanism for firewall-compatible distributed world-wide web publishing
US5715453A (en) * 1996-05-31 1998-02-03 International Business Machines Corporation Web server mechanism for processing function calls for dynamic data queries in a web page
US5717923A (en) * 1994-11-03 1998-02-10 Intel Corporation Method and apparatus for dynamically customizing electronic information to individual end users
US5724523A (en) * 1988-01-21 1998-03-03 Benefical Franchise Company, Inc. Electronic income tax refund system utilizing the tax refund to underwrite issuance of a secured credit card
US5724424A (en) * 1993-12-16 1998-03-03 Open Market, Inc. Digital active advertising
US5729751A (en) * 1995-03-15 1998-03-17 Automated Legal Systems, Inc. Document assembly system with assembly logic
US5734887A (en) * 1995-09-29 1998-03-31 International Business Machines Corporation Method and apparatus for logical data access to a physical relational database
US5737592A (en) * 1995-06-19 1998-04-07 International Business Machines Corporation Accessing a relational database over the Internet using macro language files
US5761673A (en) * 1996-01-31 1998-06-02 Oracle Corporation Method and apparatus for generating dynamic web pages by invoking a predefined procedural package stored in a database
US5774670A (en) * 1995-10-06 1998-06-30 Netscape Communications Corporation Persistent client state in a hypertext transfer protocol based client-server system
US5774887A (en) * 1992-11-18 1998-06-30 U S West Advanced Technologies, Inc. Customer service electronic form generating system
US5819287A (en) * 1996-07-30 1998-10-06 Nec Corporation Database driven automatic program production system
US5832497A (en) * 1995-08-10 1998-11-03 Tmp Worldwide Inc. Electronic automated information exchange and management system
US5835712A (en) * 1996-05-03 1998-11-10 Webmate Technologies, Inc. Client-server system using embedded hypertext tags for application and database development
US5845075A (en) * 1996-07-01 1998-12-01 Sun Microsystems, Inc. Method and apparatus for dynamically adding functionality to a set of instructions for processing a Web document based on information contained in the Web document
US5859972A (en) * 1996-05-10 1999-01-12 The Board Of Trustees Of The University Of Illinois Multiple server repository and multiple server remote application virtual client computer
US5872640A (en) * 1995-11-28 1999-02-16 Cable & Wireless, Inc. Facsimile form generation system
US5897622A (en) * 1996-10-16 1999-04-27 Microsoft Corporation Electronic shopping and merchandising system
US5933811A (en) * 1996-08-20 1999-08-03 Paul D. Angles System and method for delivering customized advertisements within interactive communication systems
US5943424A (en) * 1996-06-17 1999-08-24 Hewlett-Packard Company System, method and article of manufacture for processing a plurality of transactions from a single initiation point on a multichannel, extensible, flexible architecture
US5956709A (en) * 1997-07-28 1999-09-21 Xue; Yansheng Dynamic data assembling on internet client side
US5961601A (en) * 1996-06-07 1999-10-05 International Business Machines Corporation Preserving state information in a continuing conversation between a client and server networked via a stateless protocol
US5963925A (en) * 1996-10-09 1999-10-05 Visa International Service Association Electronic statement presentment system
US5963915A (en) * 1996-02-21 1999-10-05 Infoseek Corporation Secure, convenient and efficient system and method of performing trans-internet purchase transactions
US5978768A (en) * 1997-05-08 1999-11-02 Mcgovern; Robert J. Computerized job search system and method for posting and searching job openings via a computer network
US5983227A (en) * 1997-06-12 1999-11-09 Yahoo, Inc. Dynamic page generator
US5987480A (en) * 1996-07-25 1999-11-16 Donohue; Michael Method and system for delivering documents customized for a particular user over the internet using imbedded dynamic content
US6003007A (en) * 1996-03-28 1999-12-14 Dirienzo; Andrew L. Attachment integrated claims system and operating method therefor
US6014645A (en) * 1996-04-19 2000-01-11 Block Financial Corporation Real-time financial card application system
US6021202A (en) * 1996-12-20 2000-02-01 Financial Services Technology Consortium Method and system for processing electronic documents
US6026187A (en) * 1994-11-25 2000-02-15 Xerox Corporation System for automatically filling an original form
US6029149A (en) * 1993-11-01 2000-02-22 The Golden 1 Credit Union Lender direct credit evaluation and loan processing system
US6035276A (en) * 1997-10-17 2000-03-07 Veritas Medical Services, Inc. Medical practitioner credentialing system
US6038562A (en) * 1996-09-05 2000-03-14 International Business Machines Corporation Interface to support state-dependent web applications accessing a relational database
US6058373A (en) * 1996-10-16 2000-05-02 Microsoft Corporation System and method for processing electronic order forms
US6078890A (en) * 1998-06-01 2000-06-20 Ford Global Technologies, Inc. Method and system for automated health care rate renewal and quality assessment
US6088700A (en) * 1999-08-06 2000-07-11 Larsen; Kenneth N. Automated forms completion for global information network applications
US6122657A (en) * 1997-02-04 2000-09-19 Networks Associates, Inc. Internet computer system with methods for dynamic filtering of hypertext tags and content
US6134549A (en) * 1995-03-31 2000-10-17 Showcase Corporation Client/server computer system having personalizable and securable views of database data
US6141666A (en) * 1996-01-22 2000-10-31 Internet Consultants Llc Method and system for customizing marketing services on networks communicating with hypertext tagging conventions
US6178409B1 (en) * 1996-06-17 2001-01-23 Verifone, Inc. System, method and article of manufacture for multiple-entry point virtual point of sale architecture
US6189029B1 (en) * 1996-09-20 2001-02-13 Silicon Graphics, Inc. Web survey tool builder and result compiler
US6192380B1 (en) * 1998-03-31 2001-02-20 Intel Corporation Automatic web based form fill-in
US6225995B1 (en) * 1997-10-31 2001-05-01 Oracle Corporaton Method and apparatus for incorporating state information into a URL
US6237035B1 (en) * 1997-12-18 2001-05-22 International Business Machines Corporation System and method for preventing duplicate transactions in an internet browser/internet server environment
US6253027B1 (en) * 1996-06-17 2001-06-26 Hewlett-Packard Company System, method and article of manufacture for exchanging software and configuration data over a multichannel, extensible, flexible architecture
US6279112B1 (en) * 1996-10-29 2001-08-21 Open Market, Inc. Controlled transfer of information in computer networks
US6288753B1 (en) * 1999-07-07 2001-09-11 Corrugated Services Corp. System and method for live interactive distance learning
US6334114B1 (en) * 1997-10-31 2001-12-25 Oracle Corporation Method and apparatus for performing transactions in a stateless web environment which supports a declarative paradigm
US6336148B1 (en) * 1996-09-25 2002-01-01 Sun Microsystems, Inc. Automatic checking of public contracts and private constraints on distributed objects
US6341351B1 (en) * 1998-05-07 2002-01-22 Banctec, Inc. Method for communicating and controlling transactions between unsecured parties
US6345278B1 (en) * 1998-06-04 2002-02-05 Collegenet, Inc. Universal forms engine
US6460071B1 (en) * 1997-11-21 2002-10-01 International Business Machines Corporation System and method for managing client application state in a stateless web browser environment
US6535883B1 (en) * 1999-08-04 2003-03-18 Mdsi Software Srl System and method for creating validation rules used to confirm input data
US6632248B1 (en) * 1996-12-06 2003-10-14 Microsoft Corporation Customization of network documents by accessing customization information on a server computer using uniquie user identifiers
US6757674B2 (en) * 1999-08-02 2004-06-29 Individual Software, Inc. Method and system for querying and posting to multiple career websites on the internet from a single interface
US20040199863A1 (en) * 1998-06-04 2004-10-07 Hitchcock Michael D. Universal forms engine
US6963843B1 (en) * 1997-04-10 2005-11-08 Webmoney Corporation Electronic commerce system and recording medium
US20070061777A1 (en) * 2005-09-09 2007-03-15 Source Technologies, Llc System, method, and computer program product for graphically generating a program for controlling the operation of a kiosk

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4645873A (en) 1985-01-23 1987-02-24 Telecue Systems Transactional telecommunication system
US5490243A (en) * 1990-12-13 1996-02-06 F3 Software Corporation Data processing system for multi-platform print control and electronic data fill
JPH05303531A (en) 1991-01-31 1993-11-16 Fields Software Group Inc Electronic system and method for processing format
US5495565A (en) 1994-06-21 1996-02-27 Wang Laboratories, Inc. Integrated form document editor with form descriptor table, background bitmap, graphics editor and text editor, composite image generator and intelligent autofill
US5715314A (en) 1994-10-24 1998-02-03 Open Market, Inc. Network sales system
US5546523A (en) 1995-04-13 1996-08-13 Gatto; James G. Electronic fund transfer system
WO1997004976A1 (en) 1995-07-25 1997-02-13 Hartwig Pfeffer Wind-protection device for convertible vehicles
US5666502A (en) 1995-08-07 1997-09-09 Apple Computer, Inc. Graphical user interface using historical lists with field classes
US5878403A (en) 1995-09-12 1999-03-02 Cmsi Computer implemented automated credit application analysis and decision routing system
US5784562A (en) 1995-10-10 1998-07-21 U S West Advanced Technologies, Inc. System for using a dialog session context to process electronic forms data on the world wide web
US5886693A (en) 1995-10-20 1999-03-23 Araxsys, Inc. Method and apparatus for processing data across a computer network
US5884309A (en) * 1995-12-06 1999-03-16 Dynamic Web Transaction Systems, Inc. Order entry system for internet
US5870473A (en) 1995-12-14 1999-02-09 Cybercash, Inc. Electronic transfer system and method
US5758324A (en) 1995-12-15 1998-05-26 Hartman; Richard L. Resume storage and retrieval system
US5745681A (en) 1996-01-11 1998-04-28 Sun Microsystems, Inc. Stateless shopping cart for the web
US5758328A (en) 1996-02-22 1998-05-26 Giovannoli; Joseph Computerized quotation system and method
US5758126A (en) 1996-03-19 1998-05-26 Sterling Commerce, Inc. Customizable bidirectional EDI translation system
US6028938A (en) 1996-04-30 2000-02-22 Shana Corporation Secure electronic forms permitting layout revision
US5802518A (en) 1996-06-04 1998-09-01 Multex Systems, Inc. Information delivery system and method
US5845300A (en) 1996-06-05 1998-12-01 Microsoft Corporation Method and apparatus for suggesting completions for a partially entered data item based on previously-entered, associated data items
US5729594A (en) 1996-06-07 1998-03-17 Klingman; Edwin E. On-line secured financial transaction system through electronic media
US5794259A (en) 1996-07-25 1998-08-11 Lextron Systems, Inc Apparatus and methods to enhance web browsing on the internet
US5890175A (en) 1996-09-25 1999-03-30 Wong; Garland Dynamic generation and display of catalogs
CA2198189C (en) 1997-02-21 2001-05-29 Ibm Canada Limited-Ibm Canada Limitee Internet browser based data entry architecture
US5903721A (en) 1997-03-13 1999-05-11 cha|Technologies Services, Inc. Method and system for secure online transaction processing
US6101482A (en) 1997-09-15 2000-08-08 International Business Machines Corporation Universal web shopping cart and method of on-line transaction processing
US6055541A (en) 1997-09-19 2000-04-25 Sas Ip, Inc. Automatic report generating system
US6484149B1 (en) 1997-10-10 2002-11-19 Microsoft Corporation Systems and methods for viewing product information, and methods for generating web pages
US6035119A (en) 1997-10-28 2000-03-07 Microsoft Corporation Method and apparatus for automatic generation of text and computer-executable code
KR19990044851A (en) 1997-11-24 1999-06-25 포만 제프리 엘 Method and system for automatically associating predefined user data with query entry fields in a computer network
US5999939A (en) 1997-12-21 1999-12-07 Interactive Search, Inc. System and method for displaying and entering interactively modified stream data into a structured form
US6199079B1 (en) * 1998-03-09 2001-03-06 Junglee Corporation Method and system for automatically filling forms in an integrated network based transaction environment
JPH11306171A (en) 1998-04-20 1999-11-05 Fujitsu Ltd Item information input method and recording medium
US6247029B1 (en) 1998-05-01 2001-06-12 International Business Machines Corporation Web browser form enhancements

Patent Citations (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4831526A (en) * 1986-04-22 1989-05-16 The Chubb Corporation Computerized insurance premium quote request and policy issuance system
US4799156A (en) * 1986-10-01 1989-01-17 Strategic Processing Corporation Interactive market management system
US5193057A (en) * 1988-01-21 1993-03-09 Beneficial Franchise Company Inc. Electronic income tax refund early payment system with means for creating of a new deposit account for receipt of an electronically transferred refund from the irs
US5724523A (en) * 1988-01-21 1998-03-03 Benefical Franchise Company, Inc. Electronic income tax refund system utilizing the tax refund to underwrite issuance of a secured credit card
US5077666A (en) * 1988-11-07 1991-12-31 Emtek Health Care Systems, Inc. Medical information system with automatic updating of task list in response to charting interventions on task list window into an associated form
US5129086A (en) * 1988-11-29 1992-07-07 International Business Machines Corporation System and method for intercommunicating between applications and a database manager
US4992940A (en) * 1989-03-13 1991-02-12 H-Renee, Incorporated System and method for automated selection of equipment for purchase through input of user desired specifications
US5197004A (en) * 1989-05-08 1993-03-23 Resumix, Inc. Method and apparatus for automatic categorization of applicants from resumes
US5086394A (en) * 1989-05-12 1992-02-04 Shmuel Shapira Introduction system for locating compatible persons
US5187787A (en) * 1989-07-27 1993-02-16 Teknekron Software Systems, Inc. Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
US5187787B1 (en) * 1989-07-27 1996-05-07 Teknekron Software Systems Inc Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
US5410675A (en) * 1989-08-21 1995-04-25 Lisa M. Shreve Method of conforming input data to an output data structure and engine for accomplishing same
US5325478A (en) * 1989-09-15 1994-06-28 Emtek Health Care Systems, Inc. Method for displaying information from an information based computer system
US5450537A (en) * 1989-12-08 1995-09-12 Hitachi, Ltd. Method and apparatus for completing a partially completed document in accordance with a blank form from data automatically retrieved from a database
US5404294A (en) * 1990-02-26 1995-04-04 Karnik; Jayant D. Tag method for moving information between computers & forms
US5367619A (en) * 1990-04-27 1994-11-22 Eaton Corporation Electronic data entry system employing an expert system to facilitate generation of electronic data forms with complex interrelationships between fields and subforms
US5319542A (en) * 1990-09-27 1994-06-07 International Business Machines Corporation System for ordering items using an electronic catalogue
US5563999A (en) * 1990-10-19 1996-10-08 Moore Business Forms, Inc. Forms automation system
US5535321A (en) * 1991-02-14 1996-07-09 International Business Machines Corporation Method and apparatus for variable complexity user interface in a data processing system
US5455948A (en) * 1991-12-17 1995-10-03 Texas Instruments Incorporated Method and system for providing data to an application program
US5640577A (en) * 1991-12-30 1997-06-17 Davox Corporation Data processing system with automated at least partial forms completion
US5655085A (en) * 1992-08-17 1997-08-05 The Ryan Evalulife Systems, Inc. Computer system for automated comparing of universal life insurance policies based on selectable criteria
US5774887A (en) * 1992-11-18 1998-06-30 U S West Advanced Technologies, Inc. Customer service electronic form generating system
US5611052A (en) * 1993-11-01 1997-03-11 The Golden 1 Credit Union Lender direct credit evaluation and loan processing system
US6029149A (en) * 1993-11-01 2000-02-22 The Golden 1 Credit Union Lender direct credit evaluation and loan processing system
US5724424A (en) * 1993-12-16 1998-03-03 Open Market, Inc. Digital active advertising
US5489213A (en) * 1994-03-07 1996-02-06 Makipaa; Juha Method of and system for employee business conduct guidelines education
US5592375A (en) * 1994-03-11 1997-01-07 Eagleview, Inc. Computer-assisted system for interactively brokering goods or services between buyers and sellers
US5704029A (en) * 1994-05-23 1997-12-30 Wright Strategies, Inc. System and method for completing an electronic form
US5717923A (en) * 1994-11-03 1998-02-10 Intel Corporation Method and apparatus for dynamically customizing electronic information to individual end users
US6026187A (en) * 1994-11-25 2000-02-15 Xerox Corporation System for automatically filling an original form
US5671409A (en) * 1995-02-14 1997-09-23 Fatseas; Ted Computer-aided interactive career search system
US5710883A (en) * 1995-03-10 1998-01-20 Stanford University Hypertext document transport mechanism for firewall-compatible distributed world-wide web publishing
US5729751A (en) * 1995-03-15 1998-03-17 Automated Legal Systems, Inc. Document assembly system with assembly logic
US6134549A (en) * 1995-03-31 2000-10-17 Showcase Corporation Client/server computer system having personalizable and securable views of database data
US5710918A (en) * 1995-06-07 1998-01-20 International Business Machines Corporation Method for distributed task fulfillment of web browser requests
US5701451A (en) * 1995-06-07 1997-12-23 International Business Machines Corporation Method for fulfilling requests of a web browser
US5737592A (en) * 1995-06-19 1998-04-07 International Business Machines Corporation Accessing a relational database over the Internet using macro language files
US5706434A (en) * 1995-07-06 1998-01-06 Electric Classifieds, Inc. Integrated request-response system and method generating responses to request objects formatted according to various communication protocols
US5832497A (en) * 1995-08-10 1998-11-03 Tmp Worldwide Inc. Electronic automated information exchange and management system
US5734887A (en) * 1995-09-29 1998-03-31 International Business Machines Corporation Method and apparatus for logical data access to a physical relational database
US5774670A (en) * 1995-10-06 1998-06-30 Netscape Communications Corporation Persistent client state in a hypertext transfer protocol based client-server system
US5572643A (en) * 1995-10-19 1996-11-05 Judson; David H. Web browser with dynamic display of information objects during linking
US5699528A (en) * 1995-10-31 1997-12-16 Mastercard International, Inc. System and method for bill delivery and payment over a communications network
US5671279A (en) * 1995-11-13 1997-09-23 Netscape Communications Corporation Electronic commerce using a secure courier system
US5872640A (en) * 1995-11-28 1999-02-16 Cable & Wireless, Inc. Facsimile form generation system
US6141666A (en) * 1996-01-22 2000-10-31 Internet Consultants Llc Method and system for customizing marketing services on networks communicating with hypertext tagging conventions
US5761673A (en) * 1996-01-31 1998-06-02 Oracle Corporation Method and apparatus for generating dynamic web pages by invoking a predefined procedural package stored in a database
US5963915A (en) * 1996-02-21 1999-10-05 Infoseek Corporation Secure, convenient and efficient system and method of performing trans-internet purchase transactions
US6003007A (en) * 1996-03-28 1999-12-14 Dirienzo; Andrew L. Attachment integrated claims system and operating method therefor
US6014645A (en) * 1996-04-19 2000-01-11 Block Financial Corporation Real-time financial card application system
US5835712A (en) * 1996-05-03 1998-11-10 Webmate Technologies, Inc. Client-server system using embedded hypertext tags for application and database development
US5859972A (en) * 1996-05-10 1999-01-12 The Board Of Trustees Of The University Of Illinois Multiple server repository and multiple server remote application virtual client computer
US5715453A (en) * 1996-05-31 1998-02-03 International Business Machines Corporation Web server mechanism for processing function calls for dynamic data queries in a web page
US5961601A (en) * 1996-06-07 1999-10-05 International Business Machines Corporation Preserving state information in a continuing conversation between a client and server networked via a stateless protocol
US6253027B1 (en) * 1996-06-17 2001-06-26 Hewlett-Packard Company System, method and article of manufacture for exchanging software and configuration data over a multichannel, extensible, flexible architecture
US6178409B1 (en) * 1996-06-17 2001-01-23 Verifone, Inc. System, method and article of manufacture for multiple-entry point virtual point of sale architecture
US5943424A (en) * 1996-06-17 1999-08-24 Hewlett-Packard Company System, method and article of manufacture for processing a plurality of transactions from a single initiation point on a multichannel, extensible, flexible architecture
US5845075A (en) * 1996-07-01 1998-12-01 Sun Microsystems, Inc. Method and apparatus for dynamically adding functionality to a set of instructions for processing a Web document based on information contained in the Web document
US5987480A (en) * 1996-07-25 1999-11-16 Donohue; Michael Method and system for delivering documents customized for a particular user over the internet using imbedded dynamic content
US5819287A (en) * 1996-07-30 1998-10-06 Nec Corporation Database driven automatic program production system
US5933811A (en) * 1996-08-20 1999-08-03 Paul D. Angles System and method for delivering customized advertisements within interactive communication systems
US6038562A (en) * 1996-09-05 2000-03-14 International Business Machines Corporation Interface to support state-dependent web applications accessing a relational database
US6189029B1 (en) * 1996-09-20 2001-02-13 Silicon Graphics, Inc. Web survey tool builder and result compiler
US6336148B1 (en) * 1996-09-25 2002-01-01 Sun Microsystems, Inc. Automatic checking of public contracts and private constraints on distributed objects
US5963925A (en) * 1996-10-09 1999-10-05 Visa International Service Association Electronic statement presentment system
US5897622A (en) * 1996-10-16 1999-04-27 Microsoft Corporation Electronic shopping and merchandising system
US6058373A (en) * 1996-10-16 2000-05-02 Microsoft Corporation System and method for processing electronic order forms
US6279112B1 (en) * 1996-10-29 2001-08-21 Open Market, Inc. Controlled transfer of information in computer networks
US6632248B1 (en) * 1996-12-06 2003-10-14 Microsoft Corporation Customization of network documents by accessing customization information on a server computer using uniquie user identifiers
US6021202A (en) * 1996-12-20 2000-02-01 Financial Services Technology Consortium Method and system for processing electronic documents
US6122657A (en) * 1997-02-04 2000-09-19 Networks Associates, Inc. Internet computer system with methods for dynamic filtering of hypertext tags and content
US6963843B1 (en) * 1997-04-10 2005-11-08 Webmoney Corporation Electronic commerce system and recording medium
US5978768A (en) * 1997-05-08 1999-11-02 Mcgovern; Robert J. Computerized job search system and method for posting and searching job openings via a computer network
US5983227A (en) * 1997-06-12 1999-11-09 Yahoo, Inc. Dynamic page generator
US5956709A (en) * 1997-07-28 1999-09-21 Xue; Yansheng Dynamic data assembling on internet client side
US6035276A (en) * 1997-10-17 2000-03-07 Veritas Medical Services, Inc. Medical practitioner credentialing system
US6334114B1 (en) * 1997-10-31 2001-12-25 Oracle Corporation Method and apparatus for performing transactions in a stateless web environment which supports a declarative paradigm
US6225995B1 (en) * 1997-10-31 2001-05-01 Oracle Corporaton Method and apparatus for incorporating state information into a URL
US6460071B1 (en) * 1997-11-21 2002-10-01 International Business Machines Corporation System and method for managing client application state in a stateless web browser environment
US6237035B1 (en) * 1997-12-18 2001-05-22 International Business Machines Corporation System and method for preventing duplicate transactions in an internet browser/internet server environment
US6192380B1 (en) * 1998-03-31 2001-02-20 Intel Corporation Automatic web based form fill-in
US6341351B1 (en) * 1998-05-07 2002-01-22 Banctec, Inc. Method for communicating and controlling transactions between unsecured parties
US6078890A (en) * 1998-06-01 2000-06-20 Ford Global Technologies, Inc. Method and system for automated health care rate renewal and quality assessment
US20030145018A1 (en) * 1998-06-04 2003-07-31 Hitchcock Michael D. Universal forms engine
US20020120628A1 (en) * 1998-06-04 2002-08-29 Hitchcock Michael D. Universal forms engine
US6345278B1 (en) * 1998-06-04 2002-02-05 Collegenet, Inc. Universal forms engine
US20040199863A1 (en) * 1998-06-04 2004-10-07 Hitchcock Michael D. Universal forms engine
US7376891B2 (en) * 1998-06-04 2008-05-20 Collegenet, Inc. Universal forms engine
US6288753B1 (en) * 1999-07-07 2001-09-11 Corrugated Services Corp. System and method for live interactive distance learning
US6757674B2 (en) * 1999-08-02 2004-06-29 Individual Software, Inc. Method and system for querying and posting to multiple career websites on the internet from a single interface
US6535883B1 (en) * 1999-08-04 2003-03-18 Mdsi Software Srl System and method for creating validation rules used to confirm input data
US6088700A (en) * 1999-08-06 2000-07-11 Larsen; Kenneth N. Automated forms completion for global information network applications
US20070061777A1 (en) * 2005-09-09 2007-03-15 Source Technologies, Llc System, method, and computer program product for graphically generating a program for controlling the operation of a kiosk

Non-Patent Citations (9)

* Cited by examiner, † Cited by third party
Title
CollegeEdge®, "CollegeEdge® Web Application System," © 06/05/1997 (archive date) downloaded from , 10 pages. *
Gundavarem, S.,"CGI Programming on the World Wide Web, Chapter 4: Forms and CGI," © 03/1996, from O"Reilly Online Catalog, pp. 1-18 of 18. *
M. Webb, "Form Tricks," © 07/21/1997, Internet Related Technologies, 7 pages. *
NASSP, "The Online Common Application," archived 11/11/1996 by Way Back Machine, includes download page for both Mac OS and Windows versions of executable program that includes the Common Application. Pages 2-9 are the forms extracted from the executable for Windows, 9 pages total. *
Raggett, D., "HTML 3.2 Reference Specification, W3C Recommendation, dated 01/14/1997, 40 pages. *
screen captures retrieved from Wayback Machine (www.archive.org) of web pages (and source html listing) from the Baylor University (http://www.baylor.edu/~Graduate_School/application/ApplicationForm.html) archived 08/04/1997, 31 pages. *
screen captures retrieved from Wayback Machine (www.archive.org) of web pages (and source html listing) from the University of Delaware (http://www.udel.edu/admissions/gradappl.html) archived 06/17/1997, 46 pages. *
screen captures retrieved from Wayback Machine (www.archive.org) of web pages (and source html listing) from Tuskegee Institute (http://www.tusk.edu/) archived 01/23/1998, 35 pages. *
SUNY, "The 1998 SUNY Application Process: Undergraduate Admissions for U.S. Citizens or Permanent Residents," includes online web page and "Read about" linked-to content, archived 02/08/1998 by Way Back Machine, 4 pages total. *

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10796082B2 (en) 2002-03-26 2020-10-06 Aatrix Software, Inc. Method and apparatus for creating and filing forms
US20070124665A1 (en) * 2002-03-26 2007-05-31 Aatrix Software, Inc. Method and apparatus for creating and filing forms
US20070198910A1 (en) * 2002-03-26 2007-08-23 Aatrix Software, Inc. Method and apparatus for creating and filing forms
US8984393B2 (en) 2002-03-26 2015-03-17 Aatrix Software, Inc. Method and apparatus for creating and filing forms
US20130179477A1 (en) * 2003-12-12 2013-07-11 Peter Hon-You Chang Dynamic Generation of Target Files from Template Files and Tracking of the Processing of Target Files
US9092443B2 (en) * 2003-12-12 2015-07-28 Knapp Investment Company Limited Dynamic generation of target files from template files and tracking of the processing of target files
US20140351682A1 (en) * 2003-12-12 2014-11-27 Knapp Investment Company Limited Dynamic generation of target files from template files and tracking of the processing of target files
US8683324B2 (en) * 2003-12-12 2014-03-25 Knapp Investment Company Limited Dynamic generation of target files from template files and tracking of the processing of target files
US20080162542A1 (en) * 2003-12-12 2008-07-03 Peter Hon-You Chang Dynamic generation of target files from template files and tracking of the processing of target files
US8346803B2 (en) 2003-12-12 2013-01-01 Knapp Investment Company Limited Dynamic generation of target files from template files and tracking of the processing of target files
US20090183117A1 (en) * 2003-12-12 2009-07-16 Peter Hon-You Chang Dynamic generation of target files from template files and tracking of the processing of target files
US9390097B2 (en) * 2003-12-12 2016-07-12 Knapp Investment Company Limited Dynamic generation of target files from template files and tracking of the processing of target files
US7752537B2 (en) * 2004-12-31 2010-07-06 International Business Machines Corporation Methods, apparatus, and computer program products for dynamic generation of forms
US20070044041A1 (en) * 2004-12-31 2007-02-22 International Business Machines Corporation Methods, apparatus, and computer program products for dynamic generation of forms
US8527897B2 (en) * 2009-01-26 2013-09-03 International Business Machines Corporation System, method, and computer program product for toggling back and forth between unformatted and formatted editable views of data
US20100192076A1 (en) * 2009-01-26 2010-07-29 Todd Michael Eischeid System, method, and computer program product for toggling back and forth between unformatted and formatted editable views of data
US8751464B1 (en) 2009-02-11 2014-06-10 Avnet, Inc. Integrated version control in a business intelligence environment
US7945589B1 (en) 2009-02-11 2011-05-17 Bsp Software Llc Integrated change management in a business intelligence environment
US20120059269A1 (en) * 2010-09-08 2012-03-08 Siemens Medical Solutions Usa, Inc. Worksheet System for Determining Measured Patient Values for Use in Clinical Assessment and Calculations
US9782089B2 (en) * 2010-09-08 2017-10-10 Siemens Healthcare Gmbh Worksheet system for determining measured patient values for use in clinical assessment and calculations
US20130305249A1 (en) * 2010-12-28 2013-11-14 Ikue Kawashima Electronic information terminal and electronic information system
US8352444B1 (en) * 2011-07-11 2013-01-08 Peter Hon-You Chang User-driven menu generation system with dynamic generation of target files with placeholders for persistent change or temporary security change over cloud computing virtual storage from template files
US8812462B2 (en) 2011-07-11 2014-08-19 Peter Hon-You Chang User-driven menu generation system with dynamic generation of target files with placeholders for persistent change or temporary security change over cloud computing virtual storage from template files
US20130110583A1 (en) * 2011-10-28 2013-05-02 Justin Ormont Multiple social media network analysis for user conflation and related advertising methods
US8572083B1 (en) * 2012-05-30 2013-10-29 Ncino, Llc Financial-service structured content manager
US20170024187A1 (en) * 2012-05-30 2017-01-26 Ncino, Inc. Automated approval
US10013237B2 (en) * 2012-05-30 2018-07-03 Ncino, Inc. Automated approval
US10192262B2 (en) 2012-05-30 2019-01-29 Ncino, Inc. System for periodically updating backings for resource requests
US20140149470A1 (en) * 2012-11-27 2014-05-29 Sandeep Rawal Systems and methods for storing and populating forms
US10282461B2 (en) 2015-07-01 2019-05-07 Ncino, Inc. Structure-based entity analysis
US11861302B2 (en) 2019-02-04 2024-01-02 Aatrix Software, Inc. AUF XML specification compiler
US20230259517A1 (en) * 2022-02-16 2023-08-17 Yeroosha, Inc. Business application process and system

Also Published As

Publication number Publication date
WO1999063454A1 (en) 1999-12-09
CA2334169A1 (en) 1999-12-09
AU763920B2 (en) 2003-08-07
JP2002517823A (en) 2002-06-18
CA2334169C (en) 2005-11-15
US20020120628A1 (en) 2002-08-29
EP1084474B1 (en) 2005-01-19
US20050080756A1 (en) 2005-04-14
AU4419599A (en) 1999-12-20
US20030145018A1 (en) 2003-07-31
EP1084474A1 (en) 2001-03-21
US6460042B1 (en) 2002-10-01
US7376891B2 (en) 2008-05-20
US6345278B1 (en) 2002-02-05
DE69923311T2 (en) 2006-03-16
DE69923311D1 (en) 2005-02-24

Similar Documents

Publication Publication Date Title
US6345278B1 (en) Universal forms engine
US7072934B2 (en) Method and apparatus for a business applications server management system platform
US7908602B2 (en) Internet-based education support system, method and medium providing security attributes in modular, extensible components
US6721747B2 (en) Method and apparatus for an information server
US7788217B2 (en) System and method for automating the assembly, processing and delivery of documents
US6654745B2 (en) System and method for control of access to resources
US20040153509A1 (en) Internet-based education support system, method and medium with modular text-editing component for use in a web-based application
US20040030781A1 (en) Internet-based education support system and method with multi-language capability
CA2400442A1 (en) Method for enterprise workforce planning
US20040199863A1 (en) Universal forms engine
EP1522947A2 (en) Universal forms engines
AU2010212514A1 (en) Internet-based education support system, method and medium providing security attributes in modular, extensible components
DuBois MySQL and Perl for the Web
AU2003237918B2 (en) Internet-based education support system and method with multi-language capability
Lee A Web-based prototype for AFIT Edplan Administration
Brown et al. Choices in server-side programming: a comparative programming exercise
Dheeradhada On-line business information system of the computer solution company
Dheeradhada St. Gabriel's Library, kJ
Mathis The design and development of an expert system construction environment for inclusion of data resource knowledge
Kauffman et al. Why Use ASP and ADO to Put Your Database on the Web?
Gee Building web-based enterprise applications
Chung SOGA: Secure Online Grading Assistant

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION