WO2001004772A2 - A method of and apparatus for generating documents - Google Patents

A method of and apparatus for generating documents Download PDF

Info

Publication number
WO2001004772A2
WO2001004772A2 PCT/GB2000/002672 GB0002672W WO0104772A2 WO 2001004772 A2 WO2001004772 A2 WO 2001004772A2 GB 0002672 W GB0002672 W GB 0002672W WO 0104772 A2 WO0104772 A2 WO 0104772A2
Authority
WO
WIPO (PCT)
Prior art keywords
information
document
capturing
user
documents
Prior art date
Application number
PCT/GB2000/002672
Other languages
French (fr)
Other versions
WO2001004772A3 (en
Inventor
John North Mawhood
Philip Edgar Vasey
Original Assignee
Business Integrity Limited
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
Application filed by Business Integrity Limited filed Critical Business Integrity Limited
Priority to AU61671/00A priority Critical patent/AU6167100A/en
Publication of WO2001004772A2 publication Critical patent/WO2001004772A2/en
Publication of WO2001004772A3 publication Critical patent/WO2001004772A3/en

Links

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/55Rule-based translation
    • G06F40/56Natural language generation

Definitions

  • the present invention relates to a method of and apparatus for
  • invention relates to a method of and apparatus for generating customised
  • the invention relates to a method of and apparatus for generating customised
  • customised documents are created from standard documents and the means
  • a simple method is to use word processing software on a computer. For example, a standard form document contained in a word
  • processing file may be customised by typing in additional information
  • word processing software packages often contain facilities for
  • processing software often includes facilities for generating standard text or
  • the document may be distributed via
  • the input of information is browser applications for browsing documents of
  • Hypertext Mark-up Language HTML
  • Extended Mark-up Language XML
  • HTML is the document format used in the World Wide
  • WWW Web
  • HTML forms are generally referred to as the Internet.
  • Web pages are generally referred to as the Internet.
  • HTTP Hypertext Transfer Protocol
  • TCP/IP Transmission Control Protocol/Internet Protocol
  • GUI graphical user interface
  • HTML documents are often called HTML forms.
  • XML is a
  • the second party When finished, the second party returns the entered information to the first
  • the first party then performs some task in response to
  • the HTML form may be the front end
  • the captured information may be search criteria
  • the task performed by the first party may be to transmit to the second party the
  • the method comprises the steps of using one or more data
  • processing means to i) generate one or more information-capturing documents
  • said information-capturing documents being generated on the basis of said
  • said standard document data being in a first document presentation format
  • said method comprising the steps of:
  • said information-capturing document comprising
  • said standard document further comprises data
  • document presentation format is such that each of said user guidance units and
  • said related units are associated with each other when said standard document
  • the known information units may each contain a
  • the standard document comprises a further column of
  • rows may be retraced even if reordered.
  • steps a) and c) are performed using first data
  • step b) comprises the sub-steps of:
  • processing means for generating the customised document it is possible to capture the further information from more than one source and over a period
  • said standard document further comprises data
  • steps a), b), and c) at least part of steps a), b), and c) and by including in the information-
  • each of said logical rule units, if any, and said determined known information units, if any is a document presented format.
  • dimensional table comprising one or more rows and one to four columns, with
  • information into the information-capturing documents may be provided with
  • the information-capturing document may show questions for capturing the further information alongside
  • customised document comprises identical text formatted at least partially
  • said information-capturing document data comprises
  • said generated customised document being uneditable by a user, and/or by
  • customised document is only generated from a standard document
  • a customised document is human error when inputting the further information
  • said standard document data is in a standard word-
  • said information-capturing document data is in a standard
  • customised documents may be viewed or printed using existing
  • processing means comprising the steps of:
  • the method comprises the further step, performed after step
  • step d) of generating a notification document for notifying the
  • the method comprises the following further step,
  • the method comprises the following further steps
  • said method further comprising the following step performed after
  • the first report document provides scores comparing
  • a second report document is
  • any of the first and second tender documents, the notification document, the first and second report documents, and the contract document is generated, any of the first and second tender documents, the notification document, the first and second report documents, and the contract document,
  • Figure 6a to 6e (5 pages) show a first example of an information-
  • Figure 7a to 7f (6 pages) show a second example of an information-
  • Figure 8a to 8e (5 pages) show an example of a customised document
  • Figure 9 shows the process of translating a standard document using
  • Figure 10 shows the process of generating a customised document
  • Figure 1 1 shows the process of generating a customised document
  • Figure 12 shows the process of generating a customised document
  • Figure 13 shows the process of generating a customised document
  • FIG. 2 according to a fourth mode of use of the present invention. Further aspects of the present invention are set out in the
  • Figure la shows a possible arrangement of data processing means
  • Figure 2 shows a further alternative possible arrangement of data
  • Figure 3 shows the functional components of a translator program
  • Figure 4a shows the client server architecture used to implement a
  • Figure 4b is a flow diagram showing the process followed by a
  • FIGS 5a to 51 (12 pages) show an example of a standard document
  • Figure 14 shows a first information-capturing document generated in a
  • Figure 15 shows the information-capturing document of Figure 14
  • Figure 16a to 16c shows a second information-capturing document
  • FIG. 17a to 17c shows the information-capturing document of
  • Figure 18a to 18c shows a customised document generated according
  • Figure 19 shows a third information-capturing document according to
  • Figure 20 shows the information-capturing document of Figure 19
  • Figure 21 shows an e-mail generated according to the particular
  • Figure 22a to 22b shows a fourth information-capturing document
  • Figure 23a to 23b shows the information-capturing document of
  • Figure 24a to 24b shows a second customised document generated
  • Figure 25a to 25e shows a fourth customised document generated
  • the present invention is implemented using one or more data
  • One of the data processing means functions as a server and the other
  • Figure la shows a server computer 10 connected to two local client
  • LAN local area network
  • Each of the local computers 30 and 32 also run a browsing
  • Server computer 10 and
  • TCP/IP Control Protocol/Internet Protocol
  • HTTP HyperText Transfer Protocol
  • Figure lb shows server computer 10 connected to four client
  • computers 31, 33, 35 and 37 which may be local or remote, by means of connections to the Internet 22.
  • Each computer 10, 31, 33, 35 and 37 runs an
  • the server computer 10 also runs a Web server
  • computers 31, 33, 35 and 37 also run a browsing application such as
  • TCP/IP Protocol/Internet Protocol
  • HTTP HyperText Transfer Protocol/Internet Protocol
  • FIG. 2 shows a server computer 10 connected to two local client
  • Server computer 10 also runs a Web
  • client computers 30, 32, 34 and 36 also run a browsing application such as
  • Proxy servers and firewalls may
  • Server computer 10 local computers 30 and 32
  • remote computer 34 and 36 communicate with each other using TCP/IP
  • One or more of the computer systems 10, 30, 32, 34 and 36 runs a
  • Microsoft Word is a word processing application such as Microsoft Word .
  • Standard documents may also contain user guidance. Standard documents must be
  • server computer 10 also runs the document generation
  • the main function of the translator program is to convert standard
  • Prolog is a standard programming language whose syntax is defined by the
  • translator program 90 is able
  • Translator program 90 comprises three main components a parsing
  • Parsing component 92 uses the object linking and embedding (OLE)
  • parsing component 92 acts as a master process
  • Parsing component 92 uses a representation of the standard structure of all standard documents to
  • this process is then sent to the verifying component 94.
  • the verifying component 94 recognises common items in the data
  • Verifying component 94 also checks for errors and inconsistencies
  • the code generating component 96 takes the parsed and verified data
  • document 41 is thus an image of the information contained in the standard
  • translator program also stores versions of each of the known information units
  • the purpose of the document generation program is to generate
  • generation program is run as a server program and is instructed to perform
  • FIG. 4a shows the client/server architecture used to implement the
  • Document generation program 108 is
  • CGI Gateway Interface
  • server program 102 such as Microsoft Internet Information Server
  • Prolog server program 104 Client computer 100 runs a browsing application
  • server computer 10 such as Microsoft Internet Explorer , and is connected to server computer 10
  • a user of client computer 100 instructs
  • document generation program 108 to perform a task by passing a uniform
  • URL resource locator
  • the URL request may be made by the user of client computer 100
  • the Web server application 102 receives the URL request
  • server program 104 at step 112 through the CGI script interface 106.
  • 100 may be a computer with direct access to server computer 10 via an
  • the router computer acts as a
  • proxy client to server computer 10 and a proxy server to client computer 100.
  • the router computer runs an operating system, such as Unix , and a
  • router program arranged to demultiplex e-mails and forward encapsulated
  • server 100 has direct access to server
  • client computer 100 to a further client computer (not shown) which does not
  • client computer is sent in the form of an e-mail to a predetermined e-mail
  • the router computer demultiplexes the e-mail received to
  • the e-mail sent to client computer 100 further contains HTML code, activated by a push button for example, for automatically passing the
  • client computer 100 becomes the requesting resource.
  • client and server computer 10 will send its response to client computer 100
  • router computer runs an operating system, such as Unix , and a router
  • the Prolog server program 104 is implemented using Logic
  • the ProWeb Server is a
  • the ProWeb Server program is used to compile or execute the
  • Prolog source code program 42 generated by the translator program, using the
  • the CGI script 106 may be regarded as a wrapper encapsulating Prolog server program
  • Prolog server program 104 executes the specified Prolog source code
  • URL request and generates one or more Web pages in the form of HTML
  • Prolog server program 104 will either be one or more Web pages constituting
  • server computer 10 100 or to one or more further computers, connected to server computer 10 by
  • server computer 10 the response is sent as a Web page to the IP address of
  • the Web page response generated by server 10 is encapsulated in an e-mail
  • the Web page will be sent to the address of the client computer
  • client computer 100 only one client computer, namely client computer 100, is
  • Document generation program 108 initiates a session with the user
  • document generation program 108 generates a Web form
  • server computer 10 sends the Web form information-capturing document to
  • document generation program 108 use the standard data-entry features of
  • capturing document contain variables or other data representing further
  • JavaScript is
  • JavaScript code For example, JavaScript code
  • server computer 10 which is activated by a push button in the Web form
  • the "Submit" button is arranged to pass a URL request to server
  • client computers may have direct access to server computer 10, but some may have direct access to server computer 10, but some may have direct access to server computer 10, but some may have direct access to server computer 10, but some may have direct access to server computer 10, but some may have direct access to server computer 10, but some may have direct access to server computer 10, but some may have direct access to server computer 10, but some may have direct access to server computer 10, but some may have direct access to server computer 10, but some may have direct access to server computer 10, but some may have direct access to server computer 10, but some may have direct access to server computer 10, but some may have direct access to server computer 10, but some may have direct access to server computer 10, but some may have direct access to server computer 10, but some may have direct access to server computer 10, but some may have direct access to server computer 10, but some may have direct access to server computer 10, but some may have direct access to server computer 10, but some may have direct access to server computer 10, but some may have direct access to server computer 10, but some may have direct access to server computer 10, but some may have direct access to server computer 10, but some may have direct access to server computer 10, but some may have
  • server computer 10 In
  • the code may have a specified
  • e-mail address (if one is specified in the standard document) or may query the
  • server computer 10 for forwarding the information-
  • client/server session is not necessarily complete.
  • a session is complete when
  • document generation program 108 caches the state of the session
  • session identifier is used to identify transaction requests received with
  • document generation program 108 generates and maintains a
  • client computer 100 may enter some or all of the further information using
  • customised document in other formats will be sent to client computer 100.
  • program 108 checks that the further information was captured using one or
  • document generation program may be sent to client computer 100 in HTML
  • downloading the customised document may be sent.
  • PDF format is preferred for the
  • the document files in formats other than HTML are sent using the File Transfer Protocol (FTP) with Multi-purpose Internet Mail Extension (MIME)
  • headers to indicate the format of the document file to the browser application.
  • Figure 4b is a flow diagram showing the process followed by
  • step 200 server
  • server computer On receiving such an instruction, server computer
  • client computer 100 An end-user of client computer 100 enters
  • server computer waits for a response from
  • server 10 When a response has been received, server 10
  • server 100 If there are such instructions, server 100
  • server computer 10 If not, server computer 10
  • step 240 determines whether all the information required
  • server computer 10 has been received from client computer 100. If not, server computer 10
  • step 210 proceeds to generate a further information-capturing document at step 210 for capturing the further required information and sends it to client computer 100.
  • step 250 server computer 10 generates the customised document
  • Figure 5 shows an example of a standard document for
  • the standard document consists of a plurality of sections and sub ⁇
  • standard document consists of a two-dimensional table 300 with three
  • the first column of the table contains known information for possible
  • the second column of the table contains logical rules or expressions
  • Variables may be inserted in the second column to
  • Boolean variable i.e. either true or false
  • the further information may also be information
  • Logical rules or expressions may be constructed from one or more
  • variable represented by the variable are generated at a corresponding point in the
  • caret symbol " ⁇ " is used to indicate at which corresponding point in the
  • information-capturing documents input means are to be generated to capture
  • the third column of the table contains user guidance relating to the
  • the rows of the table are arranged so that the user guidance column of
  • one row relates to the information contained in the first column and/or the
  • the user guidance or logical rule relates to the whole of the
  • the pointers are denoted by a table
  • Standard documents may be created in a modular fashion by using, at
  • part of a main table i.e. a number of rows of a three
  • modules may be created from one or more standard modules. Furthermore, modules
  • Modules may themselves be created from one or more further modules. Modules may
  • This table may be used define, for specified
  • variables for example value ranges, or lists of selectable values
  • variables may be defined to hold text
  • the data-entry items may be specified as a text input line or box, a radio button, a number input line, a
  • GUI one or more options, a tick box, a scrollable menu list, and other such GUI
  • the Question table may also specify control information to determine
  • passwords may be specified
  • Question table may specify those variables, which represent the required
  • server program will not generate a customised document until information has been captured for those variables. However, to promote generation of
  • the default status of a variable is that it is not required - i.e. it will be
  • the standard document may also include instructions specifying the contents
  • the sending instructions are delimited by a pair of main process instructions
  • the instructions may specify that two or more different versions of information-capturing documents are sent to two or more different specified
  • the information-capturing documents must be specified so as to capture

Abstract

A method of using one or more data processing means to generate a customised document (such as a customised contract) from a standard document (such as a word processing document) containing one or more items of known information (such as alternative standard clauses) and one or more logical rules for determining, on the basis of further information to be supplied or captured (such as specific requirements for the customised contract), the use made of one or more of said items of known information when generating said customised document according to Figure (4b).

Description

A METHOD OF AND APPARATUS FOR GENERATING
DOCUMENTS
Field
The present invention relates to a method of and apparatus for
generating documents. More particularly, but not exclusively, the present
invention relates to a method of and apparatus for generating customised
documents from standard documents. More particularly, but not exclusively,
the invention relates to a method of and apparatus for generating customised
documents from a knowledge-base using further information captured from
one or more further sources of information.
Background
Many businesses or organisations produce large quantities of
documents on a regular basis. Often, these documents are lengthy and require
considerable skill or expertise to create. In many cases, it is desirable to
produce new documents using pre-prepared standard documents as a basis.
For example, legal documents are commonly created from precedents or
standard form documents by simply inserting new information where
appropriate or by adapting existing information. In some cases, by using
standard documents originally created by an expert, it is possible to create
customised documents without need of an expert. Many benefits come with the removal of the need for experts to
produce new documents from scratch. Methods of generating customised
documents from standard documents are generally more efficient in terms of
time, cost, and quality of result. Furthermore, standardisation of documents is
desirable, both in itself and to simplify further dealing with documents once
generated. However, methods of generating customised documents from
standard documents have their own difficulties. There is the need to create and
maintain the standard documents. There is also the need to provide training
and guidance for non-experts using those standard documents to produce
customised documents. Often, the skills required to create or maintain the
standard documents are different to the skills required to create or maintain
guidance or training materials. Furthermore, with the use of information
technology to automate or partially automate document generation there is the
need for further skill in developing and maintaining the information
technology solutions to document generation problems. Furthermore, where
customised documents are created from standard documents and the means
exists to modify the customised document before it becomes "final" (for
example, suitable for publication or signature on behalf of contracting
parties), there is a risk of a document being produced that contains unintended
or unauthorised modifications.
Many methods of automating or partially automating document
generation are known. A simple method is to use word processing software on a computer. For example, a standard form document contained in a word
processing file may be customised by typing in additional information,
deleting existing information, and/or cutting and pasting existing information.
Also, word processing software packages often contain facilities for
generating standard templates such as fax cover sheets, letters, or proposals.
Specific templates may be created for particular use. Furthermore, word
processing software often includes facilities for generating standard text or
formatting within documents using a macro programming language as well as
facilities for inserting information captured from external databases into a
document.
One problem with using word processing software to generate
customised documents from standard documents is that it is hard to ensure
that customised documents are produced accurately and consistently. Such
methods of document generation require final verification of the document
because the mode of information input is largely unrestricted and errors or
omissions can easily occur. Furthermore, because word processing software
packages are not specialised to the requirements of automated document
generation, some desirable features are not provided, for example, user
guidance on how to customise the standard documents.
More sophisticated methods of automated document generation are
known. Commonly, a computer program, constituting an expert system, is
developed and generates a customised document by asking an end-user a series of guided questions in accordance with a predefined set of rules. An
example of such a system is MasterDraft 3.0 from First Draft Legal System,
Inc. details of which are available from the following web-site -
http://www.masterdraft.com/. One problem with automated document
generation systems in general is that the knowledge-based expertise is
generally hidden from the user and may become out of date fairly quickly.
Therefore, users are reliant on the developer of the computer program for
regular updates of the knowledge-based components of the system. Users are
also reliant on the developer for quality assurance of the documents generated.
Another problem inherent in known methods of automated document
generation is that at the point when a document is to be generated, the
information required to generate a customised document often comes from
more than one person or source of information. Furthermore, required
information may not be available at once, but may need to be provided over a
period of time. An expert who prepares a document is normally able to obtain
all the required information, by reason of being in communication with the
people who can provide that information. This is often achieved by
questioning which is dependent on the expert's skill in determining the precise
information required.
One particular activity in which large quantities of documents are
generated is the activity of contract tendering. Briefly, a buyer who wishes to
select a suitable supplier from whom to purchase goods or services specifies its requirements in a document called an invitation to tender which is
distributed or advertised to selected suppliers. Suppliers who wish to be
considered by the buyer respond by submitting tender documents to the buyer
which reviews and compares the tenders received and selects one or more
winning suppliers. Often, reports are created comparing the various tenders
received to assist in the selection process, and the buyer may also introduce a
process of more or less formal nature that requires each tender to be scored
and then a cross-correlation of scores for all tenders must be prepared.
Contracts are then created on the basis of the requirements set out by the
buyer and the responses of the winning supplier or suppliers. The winning
and losing suppliers are then notified of the outcome of their tenders. It can
be seen that the tendering process involves creation of substantial
documentation. Conventional methods of carrying out the tendering process
are generally manual, time-consuming, error-prone and involve substantial
effort from personnel.
It is known to use one or more computer systems to produce
documents in a distributed fashion. For example, a number of authors may
work on a single document produced using word processing software on a single computer. Alternatively, the document may be distributed via
removable storage means or over a communications network to one or more
computers running compatible word processing software. As mentioned
above, such methods of document generation require verification of all of the
document before it can be treated as "final" because the mode of information
input is largely unrestricted and errors or omissions can easily occur.
It is known to restrict or control the input of information into
documents. For example, many word processing software packages have the
facility to lock portions of text whilst leaving other portions unlocked for
amendment of information. Also, many word processing software packages
have the facility to include fields which may be completed by the author in a
partially restricted way, for example with text only or numeric information
only. Another example of computer programs which can control or restrict
the input of information is browser applications for browsing documents of
the Hypertext Mark-up Language (HTML) format or Extended Mark-up
Language (XML). HTML is the document format used in the World Wide
Web (WWW), which forms part of the global communications network for
computers known as the Internet. HTML forms, or Web pages, are generally
transmitted over the Internet using the Hypertext Transfer Protocol (HTTP)
and Transmission Control Protocol/Internet Protocol (TCP/IP). HTML is a
format that allows portions of a document containing text or graphics to be
locked and uneditable to an end-user browsing the document, whilst providing various means for inputting information such as push buttons, free-form text
entry boxes, tick boxes, pull-down menu list boxes, radio buttons, and other
graphical user interface (GUI) means for inputting information in a controlled
manner. Such HTML documents are often called HTML forms. XML is a
more recent format which may be used in the WWW in future.
It is also known to capture information using browser applications.
For example, many Internet transactions are executed by a first party, using a
computer connected to the Internet, sending a standard HTML form to a
second party, also using a computer connected to the Internet, who enters
information as specified in the HTML form using a browser application.
When finished, the second party returns the entered information to the first
party, often by means of a "Submit" push button which uses an embedded
Internet address automatically to transmit the information back to the first
party over the Internet. The first party then performs some task in response to
the captured information. For example, the HTML form may be the front end
page of a search engine, the captured information may be search criteria, and
the task performed by the first party may be to transmit to the second party the
results of performing an Internet search using the search criteria.
Summary of Invention
According to a first aspect of the present invention there is provided a
method of using one or more data processing means to generate a customised
document (such as a customised contract) from a standard document (such as a word processing document) containing one or more items of known
information (such as alternative standard clauses) and one or more logical
rules for determining, on the basis of further information to be supplied or
captured (such as specific requirements for the customised contract), the use
made of one or more of said items of known information when generating
said customised document.
Preferably, the method comprises the steps of using one or more data
processing means to i) generate one or more information-capturing documents
(such as Web forms) for capturing at least part of said further information,
said information-capturing documents being generated on the basis of said
standard document; ii) capture at least part of said further information using
said information-capturing documents; and iii) generate said customised
document on the basis of said captured further information and said standard
document.
According to a second aspect of the present invention there is provided
a method of using one or more data processing means to generate a
customised document from a standard document stored in the form of data on
data storage means, said standard document comprising:
i) data representing one or more units of known information for
possible inclusion in said customised document;
ii) data representing one or more logical rule units, each of which
determine, on the basis of information not contained in said standard document ('further information'), the use made of one
or more of said known information units when generating said
customised document ('determined known information units');
and
iii) data representing said further information,
said standard document data being in a first document presentation format in
which each of said logical rule units and said determined known information
units are associated with each other when said standard document is presented
to a user,
said method comprising the steps of:
a) processing said standard document data to generate data
representing one or more documents for capturing at least part
of said further information ('information-capturing
documents'), said information-capturing document comprising
means for inputting information by a user and said
information-capturing document data being in a second
document presentation format different to said first document
presentation format;
b) processing said information-capturing document data to
generate said one or more information-capturing documents for
presentation, in said second document presentation format, to
one or more users and to capture, using said means for inputting information, data representing at least part of said
further information from said one or more users; and
c) processing said standard document data and said captured
further information data to generate said customised document.
Preferably, said standard document further comprises data
representing one or more user guidance units relating to one or more of said
known information units and logical rule units ('related units'), and said first
document presentation format is such that each of said user guidance units and
said related units are associated with each other when said standard document
file is presented to a user.
One advantage of the present invention is that by including in the
standard document all the known units, all the logical rule units and all the
user guidance units, if any, in a manner where related units are associated with
each other when presented to a user, it is possible to verify completely the
standard document. For example, if the standard document is to be used for
generating legal contracts, the known information units may each contain a
single clause for possible inclusion in the customised document. All possible
clauses will be contained and viewable in the standard document.
Furthermore, all the logical rules and user guidance will be contained,
viewable and associated with their corresponding clauses in the standard
document. Thus, the accuracy of all the clauses, their logical rules and the user guidance may easily be verified by suitably skilled personnel, for
example by knowledge experts, and training / guidance experts, by simply
viewing the standard document.
Also preferably, said units of said standard document are presented to
a user, in said first document presentation format, as a two-dimensional table
with one or more rows and three columns: a first of said columns comprising
only said known information units, a second of said columns comprising only
said logical rule units, and the third of said columns comprising only said user
guidance units, if any.
Also preferably, the standard document comprises a further column of
labelling units uniquely identifying each row of said table which permits
addition of labelling units uniquely identifying added rows at interstices such
that rows may be retraced even if reordered.
A further or alternate advantage of the present invention is that the
tabular format used for the standard document is clear and the different types
of unit contained in it are easily identified. Further, by separating known
information units, logical rule units and user guidance units, into different
columns in the standard document the different types of units may easily be
edited independently of each other. Thus, units of a different type may be
independently created and maintained by people with different skills, for
example - knowledge experts, and training / guidance experts respectively. Also preferably, steps a) and c) are performed using first data
processing means, and step b) comprises the sub-steps of:
i) transmitting data representing one or more of said information-
capturing documents from said first data processing means to
one or more further data processing means using
communications means,
ii) processing said transmitted data using said one or more further
data processing means to generate said one or more
information-capturing documents for presentation, in said
second document presentation format, to one or more users and
to capture, using said means for inputting information, data
representing at least part of said further information from said
one or more users; and
iii) transmitting said captured further information data from said
one or more further data processing means to said first data
processing means using communication means.
A further or alternate advantage of the present invention is that by
transmitting data representing one or more information-capturing documents,
capturing the further information using one or more further data processing
means and transmitting the captured further information data to first data
processing means for generating the customised document, it is possible to capture the further information from more than one source and over a period
of time.
Also preferably, said standard document further comprises data
representing instructions for performing, using data processing means, at least
part of steps a), b), and c) and said information-capturing documents
generated using said further data processing means comprise data representing
instructions for performing, using data processing means, sub-step b) iii).
A further or alternate advantage of the present invention is that by
including in the standard document instructions for automatically performing
at least part of steps a), b), and c) and by including in the information-
capturing documents data representing instructions for automatically
performing sub-step b) iii), it is also possible to arrange the process of
capturing the further information, from one or more sources of information
over a period of time, and generating the customised document in a
predetermined and automated, or partially automated, fashion.
Also preferably, one or more of said information-capturing documents
generated further comprise data representing one or more of said units of said
standard document and, in said second document presentation format, each of
said means for inputting particular further information and said units
comprising data representing said particular further information are associated
with each other when said information-capturing documents are presented to a
user. Further, in said second document presentation format, each of said logical rule units, if any, and said determined known information units, if any,
are associated with each other when said information-capturing documents are
presented to a user. Further, in said second document presentation format,
each of said user guidance units, if any, and said related units, if any, are
associated with each other when said information-capturing documents are
presented to a user.
Also preferably, in second document presentation format, said units
and said means for inputting information are presented to a user as a two-
dimensional table comprising one or more rows and one to four columns, with
known information units, if any, logical rule units, if any, and user guidance
units, if any, contained in separate columns and said means for inputting
information contained in one of said separate columns or in a further column.
A further or alternate advantage of the present invention is that by
including some or all of the units of the standard document in the information-
capturing documents, and by presenting those units in said second document
presentation format, there is continuity of representation between the standard
document and the information-capturing documents. Thus, those inputting
information into the information-capturing documents may be provided with
user guidance as well as the context of the document or document part for
which they are required to supply information (i.e. the known information
units) just at the time that they are required to input the information. For
example, in the case of legal contract generation, the information-capturing document may show questions for capturing the further information alongside
the relevant clause of the contract and user guidance on how to answer those
questions and/or on the meaning or relevance of the clause.
Also preferably, one or more of said known information units in said
standard document comprise formatted text and those known information
units included in said information-capturing documents and said generated
customised document comprises identical text formatted at least partially
identically.
Also preferably, further information data, captured using a particular
information-capturing document, is uniquely associated with the particular
standard document, or particular version of a standard document, from which
said particular information-capturing document was generated, and is not used
to generate a customised document in combination with data representing a
different standard document or a different version of the particular standard
document.
Also preferably, said information-capturing document data comprises
data for controlling, restricting or validating, according to predetermined
rules, the information captured from a user using one or more of said means
for inputting information presented in one or more of said information-
capturing documents. Further, said units comprised in said information-
capturing documents and said generated customised document are uneditable
by a user. It is a further or alternate advantage of the present invention that by:
i) including in the information-capturing documents means for
capturing information in a controlled, restricted or validated way, and/or by
ii) said units comprised in said information-capturing documents and
said generated customised document being uneditable by a user, and/or by
iii) verifying that further information, captured using a particular
information-capturing document, is uniquely associated with the particular
standard document, or particular version of a standard document, from which
said particular information-capturing document was generated, and is not used
to generate a customised document in combination with data representing a
different standard document or a different version of the particular standard
document,
the quality and accuracy of the information captured and of the customised
document generated using the information is assured. All the instructions and
means required to capture the further information as accurately as possible,
including means for controlling, restricting or validating user input as well as
user guidance, are contained in the standard document. Furthermore, the
customised document is only generated from a standard document and
captured further information if the further information was captured using an
information-capturing document generated from the standard document. Thus,
if the standard document is error-free, then the customised document will be
generated accurately using the further information. The only possibility of error, which error will nonetheless not be such as to prevent the generation of
a customised document, is human error when inputting the further information
required, for example typographical errors.
Also preferably, said standard document data is in a standard word-
processing format, said information-capturing document data is in a standard
browsing format and data representing said generated customised document is
in a standard browsing format, a standard printing format or a standard word-
processing format.
A further or alternate advantage of the present invention is that by
creating the standard document in a standard format suitable for word
processing, there is provided a standard and well-known user interface for
creating and maintaining the standard document. Further, by generating
information-capturing documents in a format suitable for browsing using
browsing applications, there is provided a standard and well-known interface
for capturing the further information required to generate the customised
document. Further, by generating said customised document in a standard
browsing format, a standard printing format or a standard word-processing
format, customised documents may be viewed or printed using existing
information technology hardware and software. Thus, there is a reduced
danger of technology lock-in since non-standard software, hardware and
specialised user training are not required. Further, the information-capturing
documents and customised documents are in a format easily distributed between individuals and organisations using communications means such as
intranets or the Internet.
According to a third aspect of the present invention there is provided a
method of generating a customised document using one or more data
processing means comprising the steps of:
a) creating a standard document, said standard document
comprising:
i) known information for possible inclusion in said
customised document,
ii) instructions for capturing further information, and
iii) instructions for generating said customised document
using said known information and said further
information,
b) on the basis of said instructions for capturing further
information, generating one or more information-capturing
documents,
c) capturing said further information using said one or more
information-capturing documents, and
d) on the basis of said instructions for generating said customised
document, generating said customised document using said
known information and said captured further information. According to a fourth aspect of the present invention there is provided
a method of using one or more data processing means to carry out at least part
of a tendering process, said method comprising the steps of:
a) presenting a first user with one or more information-capturing
documents;
b) capturing information from said first user using said one or
more information-capturing documents;
c) generating a second information-capturing document for
capturing information required to generate a tender on the basis of said
information captured from said first user;
d) presenting a second user with said second information-
capturing document;
e) capturing said information required to generate a tender
document from said second user using said second information-capturing
document;
f) generating a first tender document on the basis of said
information captured from said second user.
Preferably, the method comprises the further step, performed after step
c) and before step d), of generating a notification document for notifying the
second user of an invitation to tender, said notification document being
generated on the basis of the information captured from the first user and comprising data representing the location of the second information-capturing
document.
Also preferably, the method comprises the following further step,
which is performed after step f):
g) generating a contract document on the basis of said
information captured from said second user.
Also preferably, the method comprises the following further steps
performed after step b):
cc) generating a third information-capturing document for
capturing information required to generate a tender on the basis of said
information captured from said first user;
dd) presenting a third user with said third information-capturing
document;
ee) capturing said information required to generate a tender from
said third user using said third information-capturing document;
ff) generating a second tender document on the basis of said
information captured from said third user;
said method further comprising the following step performed after
steps f) and ff):
gg) generating a first report document on the basis of said first and
second tender documents or on the basis of information captured from said
first, second or third users. Also preferably, the first report document provides scores comparing
the information captured from the second and third users or the overall tenders
of the second and third users. Also preferably, a second report document is
generated comprising information on the stage in the tendering process
reached by the second or third users.
Advantages of the present invention in the field of contract tendering
include the speed at which the documents for use in the tendering process may
be generated, the removal of substantial effort on the part of personnel in
administering the tendering process, the reduction or removal of the risks of
errors occurring in the documentation, the facilitation of comprehensive or
otherwise unfeasibly burdensome scoring processes for the tenders including
the automated generation of a scoring report for some or all tenders, and the
facilitation of automatic progress reporting on the stages reached in the
tendering process, thereby assisting further in the administration of the
process.
Preferably, if generated, any of the one or more information-capturing
documents, the second information-capturing document, and the third
information-capturing document, is or are generated using the method of
generating information-capturing documents according to any of the first,
second and third aspects of the present invention. Also preferably, if
generated, any of the first and second tender documents, the notification document, the first and second report documents, and the contract document,
is or are generated using the method of any of the first, second and third
aspects of the present invention. Accordingly, further advantages of the
present invention in the field of contract tendering are as described above in
respect of the second aspect of the present invention.
Figure 6a to 6e (5 pages) show a first example of an information-
capturing document generated according to the present invention;
Figure 7a to 7f (6 pages) show a second example of an information-
capturing document generated according to the present invention;
Figure 8a to 8e (5 pages) show an example of a customised document
generated according to the present invention;
Figure 9 shows the process of translating a standard document using
the arrangement of data processing means and communication means of
Figure 2;
Figure 10 shows the process of generating a customised document
using the arrangement of data processing means and communication means of
Figure 2 according to a first mode of use of the present invention;
Figure 1 1 shows the process of generating a customised document
using the arrangement of data processing means and communication means of
Figure 2 according to a second mode of use of the present invention;
Figure 12 shows the process of generating a customised document
using the arrangement of data processing means and communication means of
Figure 2 according to a third mode of use of the present invention; and
Figure 13 shows the process of generating a customised document
using the arrangement of data processing means and communication means of
Figure 2 according to a fourth mode of use of the present invention. Further aspects of the present invention are set out in the
accompanying claims.
Brief Description of the Drawings
Embodiments of the present invention will now be described, by way
of example only, with reference to the accompanying drawings in which:
Figure la shows a possible arrangement of data processing means and
communication means for implementing the present invention;
Figure lb shows an alternative possible arrangement of data
processing means and communication means for implementing the present
invention;
Figure 2 shows a further alternative possible arrangement of data
processing means and communication means for implementing the present
invention;
Figure 3 shows the functional components of a translator program
according to the present invention;
Figure 4a shows the client server architecture used to implement a
document generation program according to the present invention;
Figure 4b is a flow diagram showing the process followed by a
document generation program according to the present invention;
Figures 5a to 51 (12 pages) show an example of a standard document
created according to the present invention; Figure 14 shows a first information-capturing document generated in a
particular implementation of the present invention in the field of contract
tendering;
Figure 15 shows the information-capturing document of Figure 14
with data entered;
Figure 16a to 16c shows a second information-capturing document
generated in a particular implementation of the present invention in the field
of contract tendering;
Figure 17a to 17c shows the information-capturing document of
Figure 16a to 16c with data entered;
Figure 18a to 18c shows a customised document generated according
to a particular implementation of the present invention in the field of contract
tendering with data entered;
Figure 19 shows a third information-capturing document according to
the particular implementation of the present invention in the field of contract
tendering with data entered;
Figure 20 shows the information-capturing document of Figure 19
with data entered;
Figure 21 shows an e-mail generated according to the particular
implementation of the present invention in the field of contract tendering; Figure 22a to 22b shows a fourth information-capturing document
generated according to the particular implementation of the present invention
in the field of contract tendering;
Figure 23a to 23b shows the information-capturing document of
Figure 22a to 22b with data entered;
Figure 24a to 24b shows a second customised document generated
according to the particular implementation with data entered;
Figure 25a to 25e shows a fourth customised document generated
according to the particular implementation generated according to the
particular implementation of the present invention in the field of contract
tendering.
Detailed Description of Embodiments of the Present Invention
The present invention is implemented using one or more data
processing means. Where more than one data processing means are used, they
are connected together using communication means. Client/server architecture
is used. One of the data processing means functions as a server and the other
data processing means function as clients. If the present invention is
implemented using one data processing means, the single data processing
means functions as both server and client. Figures la, lb and 2 show typical
arrangements of data processing means and communication means for
implementing the present invention.
Figure la shows a server computer 10 connected to two local client
computers 30 and 32 by means of a local area network (LAN) 20. Each
computer 10, 30 and 32 runs an operating system program such as Microsoft
NT and network programs such as Novell Netware . The server computer
10 also runs a Web server application such as Microsoft Internet Information
Server . Each of the local computers 30 and 32 also run a browsing
application such as Microsoft Internet Explorer . Server computer 10 and
local computers 30 and 32 communicate with each other using Transmission
Control Protocol/Internet Protocol (TCP/IP) and HTTP. Together, server
computer 10, local computers 30 and 32, and LAN 20 form an intranet.
Figure lb shows server computer 10 connected to four client
computers 31, 33, 35 and 37, which may be local or remote, by means of connections to the Internet 22. Each computer 10, 31, 33, 35 and 37 runs an
operating system program such as Microsoft NT and network programs
such as Novell Netware™. The server computer 10 also runs a Web server
application such as Microsoft Internet Information Server and is arranged to
accept and respond to client requests from the Internet 22. Each of the
computers 31, 33, 35 and 37 also run a browsing application such as
Microsoft Internet Explorer . Server computer 10 and computers 31, 33, 35
and 37 communicate with each other using Transmission Control
Protocol/Internet Protocol (TCP/IP) and HTTP.
Figure 2 shows a server computer 10 connected to two local client
computers 30 and 32 using a LAN 20 and also connected to two remote client
computers 34 and 36 through the Internet 22. Each computer 10, 30 and 32
runs an operating system program such as Microsoft NT and network
programs such as Novell Netware . Server computer 10 also runs a Web
serving application such as Microsoft Internet Information Server . Each of
client computers 30, 32, 34 and 36 also run a browsing application such as
Microsoft Internet Explorer . Proxy servers and firewalls (not shown) may
be used to protect the intranet from unauthorised access from computers
connected to the Internet 22. Server computer 10, local computers 30 and 32
and remote computer 34 and 36 communicate with each other using TCP/IP
and HTTP. Henceforth in this document, the arrangement of computer systems
and communication means as described above with reference to Figure 2,
being the most general of the arrangements described above, will be used to
describe embodiments of the present invention.
One or more of the computer systems 10, 30, 32, 34 and 36 runs a
word processing application such as Microsoft Word . Microsoft Word is
used to create and maintain standard documents and may be used to view the
customised documents generated. As will be described below in greater
detail, the standard document consists of known information, and logical rules
for determining, on the basis of further information to be captured, how to use
items of known information when generating the customised document. The
standard document may also contain user guidance. Standard documents must
conform to a standard structure described below in greater detail.
Furthermore, one or more of computer systems 10, 30, 32, 34 and 36
runs a translator program, described in detail below, for converting document
files in the Microsoft Word format into a format suitable for processing by
a document generation program.
Further, server computer 10 also runs the document generation
program, mentioned above and described in greater detail below, which is
used to generate information-capturing documents, capture at least part of the
further information and generate the customised document. Description of Translator Program
Next, the functioning of the translator program will be described in
detail. The main function of the translator program is to convert standard
documents in Microsoft Word format into a format suitable for processing
by the document generation program. This format is either Prolog source
code stored in an ASCII (American Standard Code for Information
Interchange) file format or a compiled object file of the Prolog source code.
Prolog is a standard programming language whose syntax is defined by the
International Standards Organisation (ISO). Prolog is a language useful for
developing rule-based applications or systems.
The functioning of the translator program will now be described with
reference to Figure 3. A standard document 40, created and maintained using
Microsoft Word , must conform to a standard structure described in detail
below. Using a representation of this structure, translator program 90 is able
to create an Prolog source code image of the information contained in
standard document 40.
Translator program 90 comprises three main components a parsing
component 92; a verifying component 94; and a code generating component
96. Parsing component 92 uses the object linking and embedding (OLE)
capabilities of Microsoft Word to interrogate a standard document 40
supplied to it. In doing this, parsing component 92 acts as a master process
and invokes Microsoft Word as a slave process. Parsing component 92 uses a representation of the standard structure of all standard documents to
extract the various parts of the standard document 40. The data resulting from
this process is then sent to the verifying component 94.
The verifying component 94 recognises common items in the data
supplied by the parsing component, such as repeated variable names
representing items of further information to be captured, and associates them
together. Verifying component 94 also checks for errors and inconsistencies
in the parsed data. Errors might arise, for example, if there are inconsistencies
in the logical rules of the standard document, or mismatched use of variables.
Each error is identified and logged to a reporting file. If there are no errors
detected by verifying component 94, the result is passed to the code
generating component 96.
The code generating component 96 takes the parsed and verified data
obtained by interrogating the standard document and generates, according to
the known syntax, a Prolog source code program file 41, suitable for
processing by the document generation program. The Prolog source code of
document 41 is thus an image of the information contained in the standard
document 40 which has merely been translated into a format suitable for
execution.
Whilst performing its main function of generating an image, the
translator program also stores versions of each of the known information units
of the standard document 40 (for example, formatted text for possible inclusion in the customised document) in Rich Text Format (which is given
the file extension RTF) within source code program 42. These RTF versions
are used later by the document generation program when generating the
customised document in RTF format. The translator program achieves this by
interrogating the standard document 40 using the OLE capabilities of
Microsoft Word , in particular the capability to obtain RTF translations of
portions of a document in Microsoft Word format.
Description of Document Generation Program
Next, the functioning of the document generation program will be
described. The purpose of the document generation program is to generate
information-capturing documents, capture at least part of the further
information and generate customised documents on the instructions of a user.
To do this the user must specify a standard document which has been
translated using the translator program described above. The document
generation program is run as a server program and is instructed to perform
tasks by users of client browser applications, such as the browser application
Microsoft Internet Explorer .
Figure 4a shows the client/server architecture used to implement the
document generation program. Document generation program 108 is
composed of a Prolog server program 104, described below, with a Common
Gateway Interface (CGI) script 106 providing the interface between a Web
server program 102, such as Microsoft Internet Information Server , and the Prolog server program 104. Client computer 100 runs a browsing application,
such as Microsoft Internet Explorer , and is connected to server computer 10
through communication means. A user of client computer 100 instructs
document generation program 108 to perform a task by passing a uniform
resource locator (URL) request to the Web server program 102 of server
computer 10 at step 110.
The URL request may be made by the user of client computer 100
typing a request in to the address field of the browser application or clicking
on a button in a Web page displayed by the browser application which has
been set up automatically to perform the URL request. The URL request will
generally contain the network address of server computer 10, followed by the
directory and file name of the CGI script 106 and then various instructions
and/or data in the form of a query string to be passed to Prolog server program
104 for execution. The Web server application 102 receives the URL request
from client computer 100 and passes the instructions and/or data to the Prolog
server program 104 at step 112 through the CGI script interface 106.
With reference to Figure 4a, is to be understood that client computer
100 may be a computer with direct access to server computer 10 via an
intranet or the Internet, as described above with reference to computers 30, 31,
32, 33, 35 and 37 of Figures la and lb, or it may be a computer with no
direct access to server computer 10, as described above with reference to
computers 34 and 36 of Figure 2. In the latter case, to enable a remote computer 100 to pass a URL request to server computer 10, the URL request
is sent in the form of an e-mail to a predetermined e-mail address of a router
computer (not shown) directly connected to server computer 10 which
demultiplexes the e-mail and automatically forwards the encapsulated URL
request to server computer 10 for processing. The router computer acts as a
proxy client to server computer 10 and a proxy server to client computer 100.
From the point of view of client computer 100 and server computer 10 the
client/server request-response transaction remains essentially the same in both
cases. The router computer runs an operating system, such as Unix , and a
router program arranged to demultiplex e-mails and forward encapsulated
URL requests as described above.
Alternatively, where client computer 100 has direct access to server
computer 10, but the information-capturing document is forwarded from
client computer 100 to a further client computer (not shown) which does not
have direct access to server computer 10, the URL request from the further
client computer is sent in the form of an e-mail to a predetermined e-mail
address of a router computer (not shown) directly connected to server
computer 10. The router computer demultiplexes the e-mail received to
extract the URL request and the e-mail address of client computer 100 (which
is contained in the e-mail from the further computer) and automatically
forwards to client computer 100 an e-mail informing the user of receipt of the
response. The e-mail sent to client computer 100 further contains HTML code, activated by a push button for example, for automatically passing the
URL request to server computer 10 for processing. When this URL request is
passed to server computer 10, client computer 100 becomes the requesting
client and server computer 10 will send its response to client computer 100
rather than the further computer. From the point of view of server computer
10 the client/server request-response transaction remains essentially the same
as if the further information was captured using client computer 100. The
router computer runs an operating system, such as Unix , and a router
program arranged to demultiplex received e-mails, extract URL requests and
forward to client computer 100 e-mails containing HTML code for passing the
URL requests to server computer 10 as described above.
The Prolog server program 104 is implemented using Logic
Programming Associates' ProWeb Server . The ProWeb Server is a
program for developing and implementing Prolog applications which is
capable of generating HTML and JavaScript . A detailed description of the
ProWeb Server program is found in the ProWeb User's Manual available
from Logic Programming Associates Ltd., Studio 4, RVPB Trinity Road,
London SW18 3SX, UK incorporated herein by reference.
The ProWeb Server program is used to compile or execute the
Prolog source code program 42, generated by the translator program, using the
instructions and/or data passed from the user of client computer 100. The CGI script 106 may be regarded as a wrapper encapsulating Prolog server program
104.
Prolog server program 104 executes the specified Prolog source code
program 42 on the basis of the user instructions and/or data contained in the
URL request, and generates one or more Web pages in the form of HTML
code and JavaScript in response. ProWeb Server uses incremental
compilation techniques to compile relevant sections of the Prolog source code
for execution as required.
Depending on the user's instruction and/or data, and any instructions
contained in the Prolog source code program 42, the response generated by
Prolog server program 104 will either be one or more Web pages constituting
information-capturing documents or a Web page constituting a generated
customised document. Also, depending on the user's instruction and/or data,
and any instructions contained in the Prolog source code program 42, the Web
page or pages generated by server program 106 will be sent to client computer
100 or to one or more further computers, connected to server computer 10 by
communication means.
Where a computer, to which a Web page is to be sent, has direct access
to server computer 10, the response is sent as a Web page to the IP address of
the specified computer. Where, however, the computer has no direct access,
the Web page response generated by server 10 is encapsulated in an e-mail
and sent out to a specified e-mail address corresponding to the remote computer. Where no network or e-mail address is specified for a further
computer, the Web page will be sent to the address of the client computer
which initiated the client/server request-response transaction.
It will be described in detail below how document generation program
108 may generate responses, such as information-capturing documents, for
distributing to and capturing further information from one or more further
computers. However, for the purpose of describing the operation of document
generation program 108 with reference to Figures 4a and 4b, it will presently
be assumed that only one client computer, namely client computer 100, is
involved in the client/server request-response transaction.
To generate a new customised document, the user of client computer
100 instructs document generation program 108 by passing a URL request
specifying a Prolog source code file 42 corresponding to a particular standard
document. Document generation program 108 initiates a session with the user
of client computer 100. In generating a response to the user request, document
generation program 108 accesses and incrementally compiles the Prolog
source code file 42. Using the URL instructions and the Prolog source code
program 42, document generation program 108 generates a Web form
information-capturing document which is passed to the Web server
application 102 via the CGI script interface 106 at step 114. At step 116, the
server computer 10 sends the Web form information-capturing document to
client computer 100. The Web form information-capturing documents generated by
document generation program 108 use the standard data-entry features of
HTML described above to capture information from end-users browsing the
Web form. When parts of the standard document included in an information-
capturing document contain variables or other data representing further
information to be captured, then the information-capturing document
generated automatically includes appropriate data-entry items for inputting the
required information corresponding to the variables, according to any
specifications contained in the standard document, or, in default, according to
the context of the variable in the standard document. JavaScript is
embedded in the information-capturing documents to control, restrict or
validate the information captured from a user. For example, JavaScript code
may be used to check whether the information entered by a user fulfils
specified criteria set out in the standard document and described in greater
detail below. If the criteria are not fulfilled, error messages may be displayed
and the user will be prevented from sending the invalid further information
back to server computer 10.
Furthermore, standard "submit" features of HTML are used to
generate code for automatically sending the captured information back to
server computer 10 which is activated by a push button in the Web form
information-capturing document (e.g. a "Submit" button). In the case of an
embodiment of the present invention in which all client computers have direct access to server computer 10, as described above with reference to Figures la
and lb, the "Submit" button is arranged to pass a URL request to server
computer 10 with the captured information and any other user instructions in
the form of a query string.
In the case of an embodiment of the present invention in which some
client computers may have direct access to server computer 10, but some may
not, as described with reference to Figure 2, the "Submit" button is arranged
to encapsulate a URL request within an e-mail and send the e-mail to the
router computer described above. In the latter case, the "Submit" button may
alternatively be arranged to determine whether client computer 100 is has
direct access to server computer 10 or not and then select whether to send the
captured information and any other user instructions to server computer 10 in
the form of a direct URL request or a URL request embedded in an e-mail
accordingly.
Furthermore, standard "mail to" features of HTML may be used to
generate code for forwarding the information-capturing document to a further
computer for capturing further information from a further user. The code
would be activated by a push button in the Web form information-capturing
document (e.g. a "Mail To" button). It is optional to include a "Mail To"
button and corresponding code in the information-capturing document. The
option is specified in the instructions contained in the standard document. The
information-capturing document is forwarded as an attachment to an e-mail sent to the e-mail address of the further user. The code may have a specified
e-mail address (if one is specified in the standard document) or may query the
user of client computer 100 for a forwarding e-mail address for the further
user. The information-capturing document forwarded to the further computer
will be identical to the information-capturing document first sent to client
computer 100. Thus, it will contain push buttons for submitting captured
information to server computer 10 and for forwarding the information-
capturing document to a further computer as described above.
Once the response has been sent to client computer 100, the
client/server request-response transaction is complete. However, the
client/server session is not necessarily complete. A session is complete when
one or more client/server transactions are completed which together result in
the generation of a final customised document delivered to the client computer
100 or some other specified computer or printing device. In between
transactions, document generation program 108 caches the state of the session
to data storage means such as the hard disk of server computer 10. A unique
session identifier is used to identify transaction requests received with
previously cached sessions.
Further, document generation program 108 generates and maintains a
historical database of all client/server request-response transactions using
Microsoft Access . One use of the historical data is for exporting to an
external document management system which may record details of all the stages in generating each particular customised document including
amendment and version details. Another use of the historical data is to
provide the ability for an end-user to return to an earlier stage in the
generation of a customised document and restart the process from that point.
On receiving the Web form information-capturing document, the user
of client computer 100 may enter some or all of the further information using
data-entry items provided and send the information to document generation
program 108 by clicking on the "Submit" button. If the captured data is
sufficient for document generation program 108 to generate a customised
document on the basis of the Prolog source code file 42 corresponding to the
standard document, and if the standard document contains no other
instructions for document generation program 108 to perform, then the
customised document will be generated and a Web page, containing the
customised document in HTML format and/or links for downloading the
customised document in other formats, will be sent to client computer 100.
The session with the user will then be complete. However, it is not necessary
for the user to input all of the required data at once. If the captured data is not
sufficient for document generation program 108 to generate a customised
document (i.e. not all the further information required to generate the
customised document has been captured), then a further Web form
information-capturing document for capturing the further information required will be generated. The process of capturing the further information required
will then continue as above.
As described below in greater detail, the standard document may
specify whether items of further information to be captured, for example
variables, are required before a customised document can be generated. By
default, items of further information are not required and the document
generation program will generate a customised document on the basis of the
standard document and partial further information, or even no further
information, as best it can. For example, where further information
representing a text or numeric variable is not required and has not been
captured, the document generation program will leave blanks in the generated
customised document at corresponding positions. Where, however, items of
further information are specified in the standard document as being required,
then no customised document will be generated until the further information
has been captured by further information-capturing documents.
Prior to generating a customised document, document generation
program 108 checks that the further information was captured using one or
more information-capturing documents generated from Prolog source code
program 42 and not from some other Prolog source code program. This is
achieved by assigning unique identifiers to all Prolog source code programs
and including the unique identifier of a particular Prolog source code program
in all information-capturing documents generated from it. If the further information was captured using one or more information-capturing documents
generated from some other Prolog source code program then no customised
document will be generated. This is to prevent customised documents being
generated from different standard documents or from different versions of a
standard document, parts of which may be incompatible or out of date.
As mentioned above, the customised document generated by the
document generation program may be sent to client computer 100 in HTML
format. Additionally, or alternatively, a Web page containing links for
downloading the customised document may be sent. Such a Web page
contains embedded HTML code for sending a request to server computer 10,
either as a URL request or an e-mail encapsulated URL request, to send the
generated customised document back to client computer 100 in formats other
than HTML. Other formats maybe Microsoft Word (which is designated
by the file extension DOC), RTF or Adobe Acrobat format (which is
designated by the file extension PDF). PDF format is preferred for the
customised document because it provides a format that may be viewed and
printed using any computer and printer system for which versions of the
Adobe Acrobat Reader are available and installed. Further, it renders a
printed document which is page for page identical with the viewed document
which can also be completely locked and therefore unalterable by an end-user.
The document files in formats other than HTML are sent using the File Transfer Protocol (FTP) with Multi-purpose Internet Mail Extension (MIME)
headers to indicate the format of the document file to the browser application.
Figure 4b is a flow diagram showing the process followed by
document generation program 108 where server computer 10 interacts with
client computer 100 in a session as described above. At step 200 server
computer 10 waits for an instruction from client computer 100 to generate a
new customised document. On receiving such an instruction, server computer
10 generates, at step 210, a first information-capturing document and sends it
to client computer 100. An end-user of client computer 100 enters
information and sends it to server computer 10 using the information-
capturing document. At step 220 server computer waits for a response from
client computer 100. When a response has been received, server 10
determines, at step 230, whether there are any further instructions to generate
further information-capturing documents. These further instructions may be
contained in the standard document as described in greater detail below, or in
the response sent by client computer 100. If there are such instructions, server
computer 10 proceeds to generate a further information-capturing document
and sends it to client computer 100 at step 210. If not, server computer 10
proceeds to step 240 where it determines whether all the information required
to generate the customised document (as specified in the standard document)
has been received from client computer 100. If not, server computer 10
proceeds to generate a further information-capturing document at step 210 for capturing the further required information and sends it to client computer 100.
If all the required further information has been received, the process continues
to step 250 where server computer 10 generates the customised document and
sends a Web Page to client computer 100.
Description of Standard Documents
Next, the structure and contents of an example standard document and
two example information-capturing documents will be described in detail.
Figure 5 (spanning 12 pages) shows an example of a standard document for
use in generating customised insurance policy documents. The standard
document was created using the Microsoft Word word processing software
package. The features and capabilities of Microsoft Word are described in
documents available at Microsoft's website (http://www.microsoft.com
/office/word/) incorporated herein by reference. The standard document is an
ordinary Microsoft Word document file which conforms to a predetermined
standard structure.
The standard document consists of a plurality of sections and sub¬
sections, the start of which are indicated by section or sub-section headings
respectively which are formatted in a heading style. The main part of the
standard document consists of a two-dimensional table 300 with three
columns and a plurality of rows delimited by a pair of textual items
"DOC_TABLE" 302 (followed by a document name such as "ABC Policy
Document 2") and "END DOC" 304. This table is used to contain the known information for possible inclusion in a customised document, the logical rules
for determining the use made of the known information, any user guidance or
references to user guidance, and variables representing further information to
be captured.
The first column of the table contains known information for possible
inclusion in the customised document, for example formatted text. The text
may also include variables which are denoted by having double square
brackets surrounding them, for example "[[The Insured]]" 306. The insertion
of variables in certain positions in the standard document is used to create
data-entry items for capturing information in corresponding positions in the
information-capturing documents. Variables are used to indicate that further
information may be captured to generate the customised document using the
standard document. Variables may be inserted in either the first or second
columns of the standard document (see below). When inserted in the first
column, they indicate that the information captured will be used in
substitution for the variable name if the known information unit is selected for
inclusion in the customised document.
The second column of the table contains logical rules or expressions
for determining how to use the known information of the first column. This
will normally depend on further information to be captured before generating
the customised document. Variables may be inserted in the second column to
indicate that further information may be captured to determine whether one or more corresponding known information units are to be selected for inclusion
in the customised document. For example "Buildings" 308, which in this
example is a Boolean variable (i.e. either true or false) represents whether or
not buildings are included in the sums insured according to the insurance
policy document. The further information may also be information
represented by a variable already referred to in the first column of the table.
Variables inserted in the second column do not need to be denoted by having
double square brackets surrounding them.
Logical rules or expressions may be constructed from one or more
variables, using Prolog statements containing logical and mathematical
operators (such as AND, OR, IF, THEN, ELSE, NOT, +, -, x, ÷, =, ∑ etc.),
text and numbers. Valid logical rules are Boolean. For example, "Buildings
OR Machinery OR Stock" 310 is true if at least one of the Boolean variables
"Buildings", "Machinery" and "Stock" is true. The state of the expression
(i.e. true or false) is used to determine whether or not to include, in the
customised document, the information contained in one or more rows of the
first column. For example, the state of the logical expression "Buildings OR
Machinery OR Stock" which is next to the section headed "Sums Insured"
312 is used to determine whether or not the entire section headed "Sums
Insured" (spanning two pages) is to be included in the customised document.
The further logical expressions within the section (i.e. "ΛBuildings" 314;
"ΛMachinery" 316; "ΛStock AND Stock Level>=250000" 318; and "Stock AND Stock Level<250000" 320) are used for further determining whether or
not to include the sub-sections (i.e. "Buildings" 324; "Machinery" 326;
"Stock (Expensive)" 328; and "Stock (Inexpensive)" 330 respectively).
When a variable occurs only once in the standard document at a
particular point, data-entry items for capturing the further information
represented by the variable are generated at a corresponding point in the
information-capturing documents. Where, however, a variable occurs at more
than one point in the standard document, and therefore there may be more
than one corresponding point in any information-capturing document, the
caret symbol "Λ" is used to indicate at which corresponding point in the
information-capturing documents input means are to be generated to capture
the further information.
The third column of the table contains user guidance relating to the
information contained in the first column, the logical rules of the second
column and/or how to input the further information required. For example, the
user guidance "This section will only be included if at least ONE sum-insured
is chosen" 322 describes how the logical expression "Buildings OR
Machinery OR Stock" 310 determines whether or not to include the section
"Sums Insured" 312 in the customised document. The third column may also
contain text references to other user guidance such as book or journal
references or embedded HTML code or JavaScript containing, for example,
links to other Web pages. The rows of the table are arranged so that the user guidance column of
one row relates to the information contained in the first column and/or the
logical rules of the second column in the same row. Similarly, the logical rule
or expression of one row is used to determine whether or not to include, in the
customised document, the information contained in the first column of the
same row. Further, where the user guidance or logical rule are located on a
row where the first column contains a section heading or sub-section heading
(denoted by the use of RTF heading levels in the known information units in
the first column), the user guidance or logical rule relates to the whole of the
section or subsection respectively (that is, for all the rows below in the table
until the row that contains an RTF heading at an equal or higher level).
Microsoft Wordτ currently does not allow tables to be embedded in
tables. Therefore, it is not possible directly to include a table in the known
information contained in a the first column of the main table in the standard
document. However, pointers to further tables may be used in the known
information to get around this problem. The pointers are denoted by a table
name surrounded by quotation marks with a hash symbol in front and further
surrounding double square brackets, for example "[[# "ABC Address Table
2"]]" 332. Pointers points to further tables in the standard document which are
delimited by a pair of textual items "DOC_" 334 (followed by the table name)
and "END DOC" 336. For example, the table pointed to by the above
example is delimited by the pair of textual items "DOC " ABC Address Table 2" " and "END_DOC". In this way, tables may be incorporated in the known
information in the standard document, and thus in the generated customised
document.
Standard documents may be created in a modular fashion by using, at
the start of a standard document file, the "INCLUDE" command followed by
the file name of a further document file, also in Microsoft Word format, to
be incorporated. The contents of this further file may be a main table in three
column form as above, part of a main table (i.e. a number of rows of a three
column table), or objects such as picture files and OLE objects. The contents
of further files may be inserted in a standard document file at a particular
point by use of a pointer as described above. In this way, standard documents
may be created from one or more standard modules. Furthermore, modules
may themselves be created from one or more further modules. Modules may
be nested in this way to any degree.
The standard document of Figure 5 also contains a further table,
labelled "Question Table" 340, specifying further characteristics of the
variables used in the main table. This table may be used define, for specified
variables, the type of data-entry items used, the format of values they may
hold, restrictions or rules for validity concerning the input of information to
be held by variables (for example value ranges, or lists of selectable values),
and default values. For example, the variables may be defined to hold text,
numbers, currencies, dates or Boolean values. The data-entry items may be specified as a text input line or box, a radio button, a number input line, a
currency input line, a date input line, a time input line, a pop up menu with
one or more options, a tick box, a scrollable menu list, and other such GUI
data-entry items. Various dimensions (i.e. various amounts of space) may be
specified for inputting the information.
The Question table may also specify control information to determine
whether to allow input of information for a particular variable in a particular
information-capturing document. For example, it may be specified that a
data-entry item will only be provided in the first (or the first n) information-
capturing documents generated, in which case end-users receiving the second
(or (n+l)'th) information-capturing document or further information-
capturing documents will not be provided with a data-entry item for inputting
information for that variable. Alternatively, passwords may be specified
without which input of information for a particular information-capturing
document may not be carried out. In this way, the input of further information
may be restricted to only some of the users receiving some of the information-
capturing documents.
Furthermore, as mentioned above, some further information may be
required to be captured before a customised document can be generated. The
Question table may specify those variables, which represent the required
further information, as being required variables. The document generation
server program will not generate a customised document until information has been captured for those variables. However, to promote generation of
customised documents where not all the further information has been
captured, the default status of a variable is that it is not required - i.e. it will be
possible to generate a customised document even if the information
represented by that variable has not been captured.
As well as the main table and optional further tables described above,
the standard document may also include instructions specifying the contents
and appearance of one or more different versions of information-capturing
documents to be generated, and instructions for distributing the information-
capturing documents to one or more users for capturing the further
information required according to a predetermined work flow.
The instructions for controlling the distribution of information-
capturing documents specify the version of the information-capturing
document to be sent and an order for sending those documents in sequence.
The sending instructions are delimited by a pair of main process instructions
"SUB mainO" 350 and "END SUB" 352. For example, the information-
capturing document named "Client Data Form 1" may be sent by the
instruction "SEND_PAGE "Client Data Form 1" " 354. A network or e-mail
address for sending the information-capturing documents may be specified in
these instructions. If not, the information-capturing documents will be sent to
the client computer that initiated a session as described above. Alternatively,
the instructions may specify that two or more different versions of information-capturing documents are sent to two or more different specified
network or e-mail addresses in parallel. In this case, the different versions of
the information-capturing documents must be specified so as to capture
mutually exclusive further information so as to prevent data conflict. The
instructions are written in a programming language such as Visual Basic
Script .
The different versions of information-capturing documents are
themselves defined by sections of HTML code and/or JavaScript . The
HTML code and/or JavaScript serves to define the contents of the
information-capturing documents as well as their appearance. Standard
HTML code for controlling common aspects of all the information-capturing
documents such as titles, headers, colour schemes, graphic images, and tables
may be specified in general page holder sections. The "PAGE Header" 360
and "PAGE Footer" 362 instructions may be used to demarcate these general
page holder sections.
Further sections of HTML code and/or JavaScript are used to define
the contents and appearance of particular information-capturing documents
and are demarcated by an instruction of the form "PAGE" followed by the
name given to the particular information-capturing document. For example,
the contents and appearance of the information-capturing document named
"Client Data Form 1 " are defined in a section of HTML code demarcated by
the instruction "PAGE "Client Data Form 1" " 364. The HTML code and/or JavaScript™ may be used to specify which, if any, of the plurality of units of
the standard document are to be included in the information-capturing
document.
It is also possible to omit from a standard document instructions for
generating different versions of the information-capturing documents, and/or
instructions for distributing the documents according to a work flow. Where
any of such instructions are omitted, a default set of instructions is used by
document generation program 108. For example, where a standard document
consists solely of the main three column table as described above, an
information-capturing document comprising the first (known information) and
third (user guidance) columns and all the rows of the main table plus
appropriate data-entry items will be generated using default dimensions and
GUI data-entry items, and sent to the client computer which initiated the
session, using default HTML page holders.
Description of Information-Capturing Documents
Next, the structure and contents of two example information-
capturing documents according to the present invention will be described in
detail. Figures 6 (spanning 5 pages) and 7 (spanning 6 pages) show examples
of two versions of information-capturing documents for use in generating
customised insurance policy documents generated in accordance with the
information contained in the example standard document of Figure 5. Figure
6 shows the information-capturing document generated from the section of HTML code in the standard document of Figure 5 following the instruction
"PAGE "Client Data Form 1" ". Similarly, Figure 7 shows the information-
capturing document generated from the section of HTML code in the standard
document of Figure 5 following the instruction "PAGE "Client Data Form
2" ".
Figure 6 shows an information-capturing document comprising a
"Submit" button 400 and a table with three columns 402. The first column,
headed "Clause Text" 404, contains all the known information units of the
standard document of Figure 5 arranged in rows as in the table in the standard
document. The second column 406, headed "Question", contains the names
of the variables representing the further information to be captured for each
respective row, section or subsection, and the third column 408, headed
"Value" contains the respective data-entry items for inputting the further
information. For example, on the first page of Figure 6, the cell 410 of the
first column and fifth row contains the text "Herein "The Insured" is defined
to be "[[The Insured]]'' ". Correspondingly, the cells of the second and third
columns of the same row contain the variable name "The Insured" 412 and a
text box 414 for inputting the further information.
Figure 7 also shows an information-capturing document with a
"Submit" button 500 and a table with three columns. The first column 502,
headed "Logic", contains the logical rule units of the standard document and
the third column 506, headed "Guidance", contains the user guidance units. The second column 504, headed "Clause Input", contains all the known
information units of the standard document together with data-entry items for
inputting the further information. For example, on the third page of Figure 7,
the cell 510 of the second column and seventh row contains the subsection
heading "Earthquake (Europe / Asia)". Data-entry items for inputting the
further information in the form of two tick boxes 514 and 516 and a pull¬
down list box 512 are provided. These correspond to the variables contained
in the logical rule of the first column "Earthquake AND Buildings AND
Region = Europe OR Region = Asia", i.e. the variables "Region" 512,
"Earthquake" 514 and "Buildings" 516. Because the variables "Buildings"
and "Region" occur at other points in the information-capturing document, the
tick box and pull down list generated for them are generated at other points in
the information-capturing document and are not repeated at cell 510.
Description of Customised Documents
Next, an example of a customised insurance policy document
generated using the standard document of Figure 5 and the information-
capturing documents of Figures 6 and 7 will be described. Figure 8 (spanning
5 pages) shows the customised document which has been generated in HTML
format. Unlike the standard document or information-capturing documents,
the customised document does not contain the tabular representation of known
information, logical rules, user guidance, and/or data-entry items for inputting
information. Instead, the customised document contains those units of known information selected according to the logical rules on the basis of captured
further information completed with further captured information. Both the
text and the formatting of the known information units and captured
information are represented in the customised document.
Modes of Use
Next, modes of using the translator program and document generation
program 108 of the present invention will be described with reference to
Figures 9 to 13. Figures 9 to 13 show the flow of programs, documents and
information in the arrangement of computer systems and communication
means as described above with reference to Figure 2.
Figure 9 shows how a standard document in Microsoft Word format
40 may be supplied by a user to client computer 30. The process of translating
standard document 40 into Prolog source code program 42 is carried out using
either client computer 30 or server computer 10. In the former case, the Prolog
source code program 42 is then sent to server computer 10. In the latter case,
the standard document 40 is first sent to server computer 10. Prolog source
code program 42 is stored in data storage means of server computer 10. The
standard document 40 may have been created or maintained using client
computer 30. Alternatively, it may have been created or maintained using
another computer and then supplied to client computer 30.
Figure 10 shows how document generation program 108 and Prolog
source code program 42 are used, by a user of client computer 30, to generate a customised document according to a first mode of use of the present
invention. In this first mode, no distribution instructions have been included in
the standard document nor have any instructions been included for generating
different versions of information-capturing documents. The default response
of document generation program 108 running on server computer 10 to a user
request is to generate an information-capturing document for capturing the
further information and to send it to the client computer that made the request.
A user of client computer 30 initiates a session with document
generation program 108 of server computer 10 at step 50 by passing a URL
request to server computer 10 specifying the file name of Prolog source code
program 42. In response to this URL request, and on the basis of Prolog
source code program 42, document generation program 108 generates an
information-capturing document 44 which is sent from server computer 10 to
client computer 30 at step 52. The user of client computer 30 may then enter
some or all of the further information into information-capturing document 44
using a browser application. The user of client computer 30 then clicks on a
"Submit" button in the information-capturing document and the captured
further information is sent to server computer 10 at step 54. If all of the
further information specified as being required further information has been
sent, document generation program 108 will generate the customised
document 48 and send a Web page to client computer 30 at step 56. If further
information is required, document generation program 108 will generate a further information-capturing document for capturing the further required
information and send it to client computer 30. Thus, the process of steps 52
and 54 may be repeated until document generation program 108 has captured
all the required information it needs to generate customised document 48.
Figure 11 shows how document generation program 108 and the
Prolog source code program 42 are used, by a user of client computer 30, to
generate a customised document according to a second mode of use of the
present invention. In this second mode, instructions have been included in the
standard document for sending two information-capturing documents to a
client computer in sequence in response to a client request, a first information-
capturing document for capturing information from the user of the requesting
client computer, and a second information-capturing document for capturing
information from a second user of an unspecified further computer.
Instructions may also have been included defining the contents and
appearance of the two information-capturing documents.
A user of client computer 30 initiates a session with document
generation program 108 of server computer 10 at step 60 by passing a URL
request to server computer 10 specifying the file name of Prolog source code
program 42. In response to this URL request, and on the basis of Prolog
source code program 42, document generation program 108 generates the first
information-capturing document 44 which is sent from server computer 10 to
client computer 30 at step 61. The user of client computer 30 may then enter some or all of the further information into information-capturing document 44
using a browser application. The user of client computer 30 then clicks on a
"Submit" button in the information-capturing document and the captured
further information is sent to server computer 10 at step 62. Document
generation program 108 will then generate the second information-capturing
document 45 and send it to client computer 30 at step 63.
The user of client computer 30, knowing the e-mail address of the
second user - i.e. the user of the unspecified further computer - who may
provide further information, then clicks on a "Mail To" button in the second
information-capturing document 45 to send, at step 64, the second
information-capturing document 45 to the unspecified further computer as an
e-mail attachment, for example, to computer 34. The user of client computer
30 is prompted for the e-mail address of the second user. Once having
received information-capturing document 45, the second user then enters
some or all further information using a browser application. The second user
then clicks on a "Submit" button in information-capturing document 45 and
the captured further information is sent to server computer 10 at step 65.
If all of the further information specified as being required further
information has been sent, document generation program 108 will generate
customised document 48 and send a Web page to client computer 30 at step
66. If further information is required, document generation program 108 will
generate a further information-capturing document for capturing the further required information and send it to client computer 30. Thus, the process of
one or more of steps 61 to 65 may be repeated until document generation
program 108 has captured all the required information it needs to generate the
customised document 48.
Figure 12 shows how document generation program 108 and the
Prolog source code program 42 are used, by a user of client computer 30, to
generate a customised document according to a third mode of use of the
present invention. In this third mode, instructions have been included in the
standard document for sending three information-capturing documents to a
client computer in response to a client request, a first information-capturing
document for capturing information from the user of the requesting client
computer, and second and third information-capturing documents for
capturing information from the users of two further computers. Instructions
have also been included defining the contents of the second and third
information-capturing documents such that they each capture mutually
exclusive further information. Instructions may also have been included
defining the appearance of the three information-capturing documents.
A user of client computer 30 initiates a session with document
generation program 108 of server computer 10 at step 70 by passing a URL
request to server computer 10 specifying the file name of Prolog source code
program 42. In response to this URL request, and on the basis of Prolog
source code program 42, document generation program 108 generates the first information-capturing document 44 which is sent from server computer 10 to
client computer 30 at step 71. The user of client computer 30 my then enter
some or all of the further information into information-capturing document 44
using the browser application. The user of client computer 30 then clicks on a
"Submit" button in the information-capturing document and the information is
sent to server computer 10 at step 72.
Document generation program 108 then generates the second and third
information-capturing documents 45 and 46 for capturing further information
and sends them to client computer 30 at step 73. The user of client computer
30 then clicks on a "Mail To" button in each of the two information-capturing
documents, to send them to computers 36 and 32 as e-mail attachments at
steps 74 and 75 respectively. The user of client computer 30 may or may not
be required to specify the e-mail or network addresses of computers 36 and 32
depending on whether or not they have already been specified in the
instructions contained in the standard document. Once having received
information-capturing documents 45 and 46, the users of computers 32 and 36
may then enter some or all of the further information using browser
applications. The users of computers 32 and 36 then click on "Submit"
buttons in information-capturing documents 45 and 46 and the captured
further information is sent to server computer 10 at steps 76 and 77
respectively. This process of capturing information from the users of
computers 32 and 36 takes place in parallel. Document generation program 108 waits until it has received captured information from both computers 32
and 36 before generating a response to send to client computer 30. If all of the
required information has been received, document generation program 108
generates customised document 48 and sends a Web page to client computer
30 at step 78. If further information is required, document generation
program 108 generates a further information-capturing document for
capturing the further required information and sends it to client computer 30.
Thus, the process of capturing required information may be repeated until
document generation program 108 has captured all the required information it
needs to generate the customised document 48.
Figure 13 shows how document generation program 108 and the
Prolog source code program 42 are used, by a user of client computer 30, to
generate a customised document according to a fourth mode of use of the
present invention. In this fourth mode, instructions have been included in the
standard document for sending, in response to a client request, three
information-capturing documents to three computers, the network or e-mail
addresses of which have been specified, for capturing information from the
users of those computers. Instructions have also been included for defining the
contents of the three information-capturing documents such that they each
capture mutually exclusive further information. Instructions may also have
been included defining the appearance of the three information-capturing
documents. A user of client computer 32 initiates a session with document
generation program 108 of server computer 10 at step 80 by passing a URL
request to server computer 10 specifying the file name of Prolog source code
program 42. In response to this URL request, and on the basis of Prolog
source code program 42, document generation program 108 generates the
three information-capturing documents 44, 45 and 46 which are sent from
server computer 10 to computers 30, 34 and 36 at steps 81, 82 and 83
respectively. The user of client computer 32 is not required to specify the
network or e-mail addresses of computers 30, 34 and 36 because they have
already been specified in the instructions contained in the standard document.
Once having received information-capturing documents 44, 45 and 46,
the users of computers 30, 34 and 36 may then enter some or all of the further
information using browser applications. The users of computers 30, 34 and
36 then click on "Submit" buttons in information-capturing documents 44, 45
and 46 and the captured further information is sent to server computer 10 at
steps 84, 85 and 86 respectively. This process of capturing information from
the users of computers 30, 34 and 36 takes place in parallel. Document
generation program 108 waits until it has received captured further
information from all three computers 30, 34 and 36 before generating a
response to send to client computer 32. If all of the required further
information has been received, document generation program 108 will
generate customised document 48 and send a Web page to client computer 32 at step 87. If further information is required, document generation program
108 will generate a further information-capturing document for capturing the
further required information and send it to client computer 32. Thus, the
process of capturing required information may be repeated until document
generation program 108 has captured all the required information it needs to
generate the customised document 48.
It will be apparent to the ordinarily skilled person that further
embodiments of the present invention are possible.
In one further embodiment, the translator program is used as described
above to generate Prolog source code documents from standard documents,
and document generation program 108 is used to generate customised
documents from standard documents and further information as described
above. However, document generation program 108 is not used to generate
information-capturing documents for capturing the further information.
Instead, further information for generating a customised document is supplied
to the server computer running document generation program 108 by sending
URL requests to the server computer (or URL requests embedded in an e-mail
sent to a router connected to the server computer as described above). The
URL requests may be generated manually or by a further computer program
arranged for that purpose.
In a further embodiment of the present invention the two-dimensional
table of the first document presentation format comprises one or more rows and three main columns: a first of said columns comprising only said known
information units, a second of said columns comprising only said logical rule
units, and the third of said columns comprising only said user guidance units,
if any, as described above. However, each main column may comprise one or
more sub-columns containing alternate known information units, logical rule
units or user guidance units, if any, as appropriate; said sub-columns being
arranged with corresponding alternate cells side by side. For example, in a
standard document for generating customised contracts, there may be two or
more known information sub-columns, each containing equivalent clauses for
possible inclusion the customised document, but in two or more different
languages. In another example, there may be two or more user guidance sub-
columns, each containing user guidance intended for two or more different
types of end-user - i.e. for end-users of different levels of skill or knowledge
or one for clients and one for employees. Which sub-columns are used when
generating the information-capturing documents and when generating the
customised document may be determined by program instructions contained
in the standard document and/or by user selection. Data specifying which
sub-columns to use may be sent with the URL request initiating a session, or
captured using information-capturing documents as described above.
Alternatively, all sub-columns may be used when generating information-
capturing documents and customised documents. Thus, in the case of the
second example given above, an end-user browsing an information-capturing document may be presented with two or more columns of different user
guidance. Also, in the case of the first example given above, two or more
customised documents may be generated in different languages.
In a further alternate embodiment of the present invention, the two-
dimensional table of the first document presentation format is dispensed with.
Instead, logic rules and user guidance items are embedded within paragraphs
or sections of ordinarily formatted text. These items are denoted by
surrounding square brackets, i.e. '[[ .... ]]' and determine the use made of /
relate to the paragraph or section in which they are embedded according to
their formatting. If the embedded items are of normal paragraph formatting,
they determine the use made of / relate to the paragraph in which they are
embedded. If the embedded items are of heading formatting of a certain level,
they determine the use made of / relate to the section headed by that heading
level in which they are embedded - i.e. they determine the use made of/ relate
to the following part of the document until a second heading of the same or
higher level is encountered.
The type of item embedded (i.e. logical rule or user guidance) is
denoted by a leading character within the double square brackets - '!'
indicates a logical rule will follow and '%' indicates that user guidance will
follow. For example, '[[! STOCK LEVEL >= 250000 ]]', and '[[% This
section is compulsory. ]]'. Variables are embedded with double square
brackets in the same way, but without a leading character, for example '[[ THE INSURED ]]'. In addition, '=' indicates that a calculation will follow,
for example '[[= FINISH DATE - START DATE + 1]]'. As with
embodiments described above, the logical rules may be composed of full
Prolog logic statements.
In a further alternate embodiment of the present invention, the known
information units of the two-dimensional table of the first document
presentation format may further include embedded items, as described above
in the preceding alternate embodiment, such as logical rules. Furthermore,
items may be embedded in the known information units where one or more of
the main columns (i.e. known information units, logical rule units and user
guidance units) comprises sub-columns containing alternate units.
Furthermore it will be apparent that a variety of further first and
second document presentation formats (i.e. standard document formats and
information-capturing document formats) may be used to implement the
present invention and customised documents may be generated in various
formats.
It will be apparent that various word processing applications may be
used in place of Microsoft Word , various browsing applications may be
used in place of Microsoft Internet Explorer , various browsing formats may
be used in place of HTML (such as XML) and various operating systems,
network programs and Web sever programs may be used in place of Microsoft NT , Novell Netware , and Microsoft Internet Information Server
respectively.
Furthermore, various programming languages or interpretable/
executable formats may be used for the translations of standard documents in
place of Prolog, and various server programs may be used to process the
translated programs in place of the ProWeb Server accordingly.
In a first variant of the embodiments described above, the translator
program and Microsoft Word is run on one of the client computers 30, 32,
34 and 36. For example, client computer 30 runs the translator program and
Microsoft Word . In this case, a creator or maintainer of a standard
document would first translate the Microsoft Word document file using the
translator program on client computer 30 before sending the translated
document file to server computer 10 for processing by document generation
program 108. In a second variant, server computer 10 runs the translator
program and Microsoft Word as well as document generation program
108. In this case, a creator or maintainer of a standard document using, for
example, Microsoft Word™ on client computer 30, first sends the Microsoft
Wordτ document file to server computer 10 where it is then translated using
the translator program. In a third variant, the translator program forms part of
document generation program 108. In this case, a creator or maintainer of a
standard document using, for example, Microsoft Word on client computer 30, first sends the Microsoft Word document file to server computer 10
where it is then translated using the translator component of document
generation program 108.
Furthermore, it will be appreciated that one data processing means or
various arrangements of two or more data processing means, connected by
various communication means, may be used to implement the present
invention. The arrangements of data processing means and communication
means described with reference to Figures 1, 2, 9, 10, 11, 12 and 13 are
merely illustrative.
Furthermore, it will be appreciated that various other modes of using
the present invention are possible. The modes of use described with reference
to Figures 10, 11, 12 and 13 are merely illustrative of possible modes of use.
Description of a Particular Implementation of
the Invention in the Field of Contract Tendering
Contract tendering is widely used by parties wishing to select between
a number of potential candidates who offer similar services or products. For
example, a first party, hereafter called the Buyer, creates a document
specifying its requirements and distributes this document, hereafter described
as an Invitation To Tender (ITT), to a number of potential candidates,
hereafter described as Suppliers. The ITT sets out a number of points which
require a response from each of the Suppliers. Each of the Suppliers who
wishes to tender for the contract provides responses to these points according
to the type of service or product it can provide. The document which sets out
a Suppliers' response to the ITT is called a Tender. Each Supplier who
responds to the ITT sends its Tender to the Buyer, usually by a particular date
which is the deadline for receiving tenders. Once the deadline has passed, the
Buyer considers all the Tenders it has received from the Suppliers and selects
one or possibly more of them to provide the service or product required. The
selection process is largely based on the information provided in the Tenders.
However, other information about the Suppliers not provided by the Suppliers
themselves may also influence the Buyers selection. For each winning
Supplier a contract is normally drawn up reflecting the information provided
in the Tender, and is executed by the Buyer and Supplier to form a contract for the provision of the services or product as required. The tendering process
is then complete.
The present invention is particularly suitable for use in the tendering
process and provides a means of automating, or partially automating, some or
all of the stages involved as well as facilitating otherwise unfeasibly
burdensome tasks to assist the administration of the process. This particular
implementation of the present invention will now be described with reference
to figures 14 to 25. By way of a brief overview, the present invention may be
used by the Buyer to generate an ITT, to advertise or distribute the ITT to one
or more Suppliers, to capture responses from those Suppliers, to generate a
Tender for each responding Supplier, to generate report documents comparing
the Suppliers' Tenders or information provided by Suppliers, to generate
report documents setting out the stages reached in the tendering process, to
generate contract documents between the Buyer and a selected Supplier or
Suppliers, and to notify the Suppliers who responded of the outcome of their
Tenders including, for the winning or shortlisted Suppliers, sending the
contracts for execution, and receiving back the executed contracts.
It will be understood that the processes of generating standard
documents, information-capturing documents and customised documents, as
described above in the general description of the present invention, are used in
this particular implementation for generating the various documents or
notifications listed above. Client/server architecture over an intranet or the Internet is used as described above. Furthermore, the advantages inherent in
the present invention as described above are also advantages inherent in this
particular implementation, in particular, the advantages of controlling,
restricting, and/or validating data input, data presentation, including the
provision of user guidance at the time of data entry, data capture from one or
more sources or users in series or in parallel, and standardisation of user
interfaces - i.e., the use of standard word processing, e-mail and web browser
application.
Figures 14-18 show the steps taken by the Buyer to generate the ITT.
A representative of the Buyer, hereafter called the User accesses the server
system of the present invention from a client browser system. On selecting an
option to generate a new ITT, the User is presented with an information-
capturing Web page such as shown in figure 14. Table 600 is automatically
generated by the server system and shows a reference number assigned to the
new ITT, in this case 100000009, and a key-code which may be used for
security purposes and which will be described in greater detail below. Table
602 is initially blank and provides data entry fields - 604, 606 and 608 - for
the User to enter the title, description and number of response fields
respectively for the new ITT to be generated. Push button 610 is provided for
the User to click when he or she has finished entering data into the data entry
items 604, 606 and 608. Figure 15 shows the same Web page as Figure 14 after the User has
entered the general information required concerning the new ITT. For
example, the ITT is given the title "The Dandy ISA" and is a project to
develop an Internet-based product which allows individuals to create and
maintain their own personal ISA accounts. In particular, the user has entered
"7" as the number of response fields required in the ITT. When the User has
finished he or she clicks on the "Submit" push button 610 and the data entered
is sent to the server system as described in detail above. In response, the
server system generates a further information-capturing Web page as shown in
Figure 16 which comprises 16a, 16b and 16c. Tables 600 and 602, containing
the reference information and general information for the new ITT, are
presented as before, save that table 602 no longer provides data entry items
but merely the data previously entered by the User in an uneditable form. The
Web page further presents seven input fields for entering response
information. The number of tables 612 generated corresponds to the number
of response fields specified by the User in the previous Web page. Each table
612 contains data entry items 614, 616, 618 and 620 which are, respectively,
for entering field reference information, a field title, a field description and the
type or style of data entry item to be used by the one or more suppliers when
responding.
Figure 17, comprising 17a, 17b and 17c, shows the same Web page as
Figure 16 after the User has entered specific information concerning the response fields. For example, Field # 1, the User has entered "DANDY-01"
as the field reference and "Proposer Name" as the title of the field, and
"Please enter the name of the person responsible for this Tender" as the field
description. Furthermore, the data-entry style has been selected to be an edit
line. For other fields, different information has been provided. The
information entered by the User is used to generate the ITT and, in particular,
the title, description and style information entered, will determine the question
name, user guidance and type of data entry item provided in the ITT.
Although not shown in Figures 16 and 17, the Web pages can be used
to capture further information such as whether responses to particular fields
are optional or mandatory, logical rules for controlling, restricting or
validating data input using the specified data entry item corresponding to a
particular field and logical rules linking the data input to a particular field to
the mandatory or optional nature of one or more other fields and/or to logical
rules for controlling, restricting or validating the data entered to one or more
other particular fields, such as have been described above in detail.
Furthermore, certain fields may be selected for special treatment when it
comes to generating a report document comparing the tenders of a number of
Suppliers. Also, points or weightings may be accorded to various responses
to various fields for use in scoring the information provided or the overall
Tenders when generating the same report. Furthermore, although not shown in Figures 14 to 17, new ITTs may
be generated on the basis of pre-existing templates containing standard
response fields. For example, the ITT may be for a project which comes up
for tender periodically and requires responses from tenderers to standard
queries. A template information-capturing document may be generated
specifying standard response fields and may be repeatedly used as the basis
for creating a new ITT by adding new response fields or amending or deleting
standard response fields as required.
When the User has finished entering the specific information
concerning each of the fields, he or she clicks on push button 622 and the
information entered is sent to the server system as described above. At this
point, a customised document is generated which is the specification of the
ITT. This document is generated in Microsoft Word (TM) RTF format and
may be stored electronically, forwarded electronically and printed. The
specification document is shown at Figure 18 comprising 18a, 18b and 18c.
In response to the submission of the required information for
generating the ITT, the server system also generates an information-capturing
Web page such as shown in Figure 23 and described in greater detail below.
This information capturing Web page constitutes the ITT as presented to the
Suppliers and allows them to provide their responses electronically. This
information-capturing Web page, or a hyperlink URL linking to it, may be
posted on a website accessible to the Supplier or Suppliers together with further information concerning the project for tender if required.
Alternatively, conventional media, such as printed publications, may be used
to advertise the ITT together with the URL of the information-capturing Web
page.
Alternatively, the Buyer may send the ITT directly to selected
Suppliers by means of a conventional letter or e-mail. However, before the
ITT may be sent to the Suppliers, the Buyer must provide the system with
details of the Suppliers. On selecting an option to provide Supplier details, the
User is presented with an information-capturing Web page such as shown in
Figure 19. This Web page provides three data entry items, 630, 632 and 634,
for input of the Supplier's company name, address and a contact name
respectively. Once this information has been input by the User, he or she may
click on push button 636 to submit the data to the server system. Figure 20
shows the same Web page after the User has entered the details of a particular
supplier, namely ACME SOFTWARE PLC. The process of entering Supplier
details may be repeated any number of times to provide details for any
number of Suppliers. Also, further information may be entered by the User
during the process, such as the e-mail address of Supplier contact person and
other information which may be relevant to the Supplier. In particular, points
or weighting information for assessing the Supplier's Tender based upon past
experience or references from third parties may be entered. The User may then select an option to generate a conventional printed
letter or an e-mail for each of the Suppliers. For example, an e-mail may be
generated for ACME SOFTWARE PLC as shown in Figure 21. The e-mail
consists of a standard letter inviting the Supplier to tender for a project.
Details of the project are provided in Table 640, including the project title,
description, a reference unique to the Supplier and ITT project and a key code
similarly unique to the Supplier and the ITT project and further described in
detail below. The e-mail also contains the URL 642 corresponding to the
information-capturing Web page generated for that particular Supplier. URL
642 is embedded in the e-mail as a hyperlink which the Supplier may simply
click on to access the ITT information-capturing Web page.
When a Supplier accesses the information-capturing Web page, using
a client browser application as described above, the server system generates a
copy of the original information-capturing document for that particular
Supplier, referenced by an identifier unique to the Supplier and reference
number of the ITT itself. Thus, ITTs and responses thereto from Suppliers are
uniquely identified for each Supplier and for each ITT. The Supplier-specific
ITT and responses received by the server system are stored in the historical
database of the server system.
Figure 22, comprising 22a and 22b, shows the ITT information-
capturing Web page generated for ACME SOFTWARE PLC. The Supplier
may access the Web page using a conventional client browser such as Microsoft Internet Explorer 4, just as the Buyer would do. The information-
capturing Web page sets out the general details concerning the ITT project, as
well as the particular responses required of the supplier as specified by the
Buyer. For example, at 650 the general details of the ITT project are set out,
and at 652, 654 and 656 the title, description and a data entry item
corresponding to field #1 are set out. A representative of the Supplier may
enter information into the information-capturing Web page using the data
entry boxes provided. For example, box 656 is a free form text entry box.
Other data entry items may control, restrict or validate data entered by the
Supplier in accordance with the type of data entry item or in accordance with
logical rules entered by the Buyer at the stage of specifying the ITT as
described above. Such means of controlling, restricting or validating the data
input may be implemented using, as described above, Java (TM) or Java
Script (TM) which would not be visible to the Supplier.
Figure 23, comprising 23a and 23b, shows the information-capturing
Web page after a representative of the Supplier has entered the required
information. When complete, the representative of the Supplier may click on
push button 658 to submit the information to the server system. In response,
the server system generates a Tender document for the particular Supplier and
ITT project. This document may be generated in Microsoft Word (TM) RTF
format and an example of such a document is shown at Figure 24, comprising
24a and 24b. This document may be stored electronically, forwarded electronically and printed. The Tender document sets out the general details
of the ITT project as well as the particular requests and responses provided by
the Supplier. The Supplier's input data and, optionally, the Tender document
is stored at the server system and also may be sent to the Supplier, to provide
a record by, e-mail attachment.
As Suppliers access the server system and input their responses, a
report or notification by e-mail may be sent at predetermined points by the
server system to the User, or another specified representative of the Buyer,
informing him or her of particular events or the stage in the tendering process
which the Supplier has reached - for example, first successful access by
Supplier; ITT partially completed; all mandatory fields completed; all fields
completed; Tender made final and released to the Buyer, draft contract
generated and sent to Supplier for evaluation, and accepted contract received
from Supplier. Thus, the Buyer may track the progress of the tendering
process for each Supplier. Alternatively, an option may be selected to generate
a report on the progress of a number of Suppliers' Tenders at a point in time
or automatically on the occurrence of predetermined events. This report
would specify particular events that have occurred in the tendering process
and the stage reached by each of a set of Suppliers who may include all the
Suppliers sent the ITT directly and all those who have responded to the ITT
by accessing the server system, or a selected subset of these. For example, if
public or other competitive tendering rules apply to the tender, time limits are set for the receipt of tenders. If the time limit had passed without receipt of
any responses, a report could automatically be generated on the occurrence of
this event which would notify the User, or another specified representative of
the Buyer, of the failure of the process and would prompt the Buyer to re-
advertise or re-notify the ITT.
Once the deadline for response has passed and at least Tender
received, or once all the Tenders have been received, the Buyer may select an
option to generate a report on the basis of the information provided by the
Suppliers. Alternatively, the report may be generated automatically on the
expiry of the time limit, and sent to the User, or another specified
representative of the Buyer. An example of such a report is shown at Figure
25, comprising 25a, 25b, 25c, 25d and 25e. In short, the report sets out the
general ITT project information as well as the particular requirements and
responses of the various suppliers side by side. For example, the ITT project
details are set out in table 664, the requirements for response field #1 are set
out in table 666 and the responses of the various Suppliers to response field #1
are set out in table 668. Furthermore, document provides a table 660 for the
Buyer to substitute a more meaningful and possibly shorter code for
identifying the particular suppliers. Also, the document provides a tick box
662 for the Buyer to select the option of having spaces added after each field
for adding comments or further queries, for the purpose of one or more
persons reviewing many Tenders. If information is entered into either of Table 660 or 662, and the "Reset" push button 674 is clicked on, then the
Server regenerates the document in the format required. Input box 670 is
provided for the Buyer to select a winning Supplier or two or more shortlisted
Suppliers for whom to generate contracts for agreement. On clicking on the
"Submit" push button 672, a standard contract is generated as described
above, on the basis of the information provided by that particular Supplier and
further information pre-stored by the Buyer, for example in a standard
document as described above. Furthermore, in a variant of the present
embodiment, notification documents, such as e-mails or conventional letters,
may be generated for winning or losing Suppliers or both, notifying them of
the outcome of their Tenders. Generated contracts may be sent to the winning
Supplier or Suppliers by way of email attachment or as an enclosure in a
conventional letter. E-mail notification documents may be sent to the
Suppliers automatically.
Reports more complex than a simple side-by-side comparison of
Supplier responses may be generated by the server system. For example,
Suppliers' Tenders may be scored according to their responses and according
to any points or weighting assigned to various possible responses and/or
according to other information such as past expereince or references from
third parties. Furthermore, Suppliers may be characterised as having met
certain requirements or, as not having met those requirements. Furthermore, other means of presenting the numerical information provided by the
Suppliers may be used such as line or bar graphs, pie charts and other
graphical representations. Alternatively, the winning Supplier or Suppliers
may be selected wholly automatically on the basis of the scoring system, and
presented to the User.
Because the information provided by the Buyer and by Suppliers in
the tendering process may be confidential, and particularly because the
Supplier may want to consider the responses to the ITT over time and may not
wish the Buyer to have access to these partial responses until the whole
Tender is complete, a security system is built into the process. The key codes
set out in table 600 is used by representatives of the Buyer to access the ITT
specification documents whilst they are being generated and to access the
responses or reports on the responses of the Suppliers when they have been
received. A further key-code as set out in table 640 is provided for each
supplier to the ITT. This may be used by the Supplier when accessing the
server system to release another two key-codes - one for allowing access to
the server system for inputting some, or all of the information required in the
ITT, the other for releasing the Tender, once all the required information has
been input, to the Buyer. This approach provides a secure system in which
the Supplier may submit partial responses to the server system without
providing any information to the Buyer until the Tender is complete. For further security, known methods of providing secure
communications between client and server systems may be used, such as
virtual private data network technology. Furthermore, data passing between
the client and server systems may be encrypted using known methods.
Furthermore, it will be appreciated that submission of a Tender may
have a legally binding effect on the Supplier, and that acceptance of a contract
by the Supplier will need to evidenced in a non-repudiatable manner.
Accordingly, it may be necessary for evidential purposes for a representative
of the Supplier to sign a printed paper copy of the Tender and subsequent
contract and physically mail it to the Buyer. Alternatively, known techniques
of digitally signing electronic documents may be used to provide a
mechanism where the supplier digitally signs the Tender, or contract, upon
releasing or sending it to the Buyer.
It will be appreciated that the particular implementation relating to
contract tendering described above may be implemented using the general
system of generating customised documents of the present invention. Further,
for better understanding, it may be noted that the particular implementation
requires that the server system has the ability to make copies of generated
information-capturing documents and generate new documents based on the
information contained in and/or captured when generating previous
customised documents. Thus, the Buyer need only specify one ITT and the
required number of copies are generated for each Supplier accessing the server system. Also, the report on Tenders received is generated on the basis of
information captured using a number of information-capturing documents
and, possibly, the documents containing the Supplier details. Furthermore,
the ITT, and the contract which may be generated for winning or shortlisted
Suppliers, may be generated on the basis of pre-existing standard form
documents.

Claims

CLAIMS:
1. A method of using one or more data processing means to generate a
customised document from a standard document stored in the form of data on
data storage means, said standard document comprising:
i) data representing one or more units of known information for
possible inclusion in said customised document;
ii) data representing one or more logical rule units, each of which
determine, on the basis of information not contained in said
standard document ('further information'), the use made of one
or more of said known information units when generating said
customised document ('determined known information units');
and
iii) data representing said further information,
said standard document data being in a first document presentation format in
which each of said logical rule units and said determined known information
units are associated with each other when said standard document is presented
to a user.
2. A method according to claim 1, said method comprising the steps of
using one or more data processing means to: a) process said standard document data to generate data
representing one or more documents for capturing at least part
of said further information ('information-capturing
documents'), said information-capturing document comprising
means for inputting at least part of said further information by
a user and said information-capturing document data being in a
second document presentation format different to said first
document presentation format;
b) process said information-capturing document data to generate
said one or more information-capturing documents for
presentation, in said second document presentation format, to
one or more users and to capture, using said means for
inputting information, data representing at least part of said
further information from said one or more users; and
c) process said standard document data and said captured further
information data to generate said customised document.
3. A method according to any preceding claim wherein said
standard document further comprises data representing instructions for
performing, using one or more data processing means, at least part of steps a),
b), and c).
4. A method according to any preceding claim wherein steps a)
and c) are performed using first data processing means, and step b) comprises
the sub-steps of:
i) transmitting data representing one or more of said information-
capturing documents from said first data processing means to
one or more further data processing means using
communications means,
ii) processing said transmitted data using said one or more further
data processing means to generate said one or more
information-capturing documents for presentation, in said
second document presentation format, to one or more users and
to capture, using said means for inputting information, data
representing at least part of said further information from said
one or more users; and
iii) transmitting said captured further information data from said
one or more further data processing means to said first data
processing means using communication means.
5. A method according to claim 4 wherein said information-
capturing documents generated using said further data processing means
comprise data representing instructions for performing sub-step b) iii).
6. A method according to claims 4 or 5 wherein said information-
capturing documents generated using said further data processing means
comprise data representing instructions for transmitting data representing said
information-capturing document from said further data processing means to a
second further data processing means using communications means
7. A method according to any preceding claim wherein said
standard document further comprises data representing one or more user
guidance units relating to one or more of said known information units and
logical rule units ('related units'), and said first document presentation format
is such that each of said user guidance units and said related units are
associated with each other when said standard document file is presented to a
user.
8. A method according to any preceding claim wherein said units
of said standard document are presented to a user, in said first document
presentation format, as a two-dimensional table with one or more rows and
three columns: a first of said columns comprising only said known
information units, a second of said columns comprising only said logical rule
units, and the third of said columns comprising only said user guidance units,
if any.
9. A method according to claim 8 wherein one or more of said
columns of said two-dimensional table comprise one or more sub-columns
comprising alternative known information units, alternative logical rule unit
or alternative user guidance units respectively, said alternate units being
arranged side by side in said columns.
10. A method according to any preceding claim wherein said
information-capturing document data comprises data for controlling,
restricting or validating, according to predetermined rules, the information
captured from a user using one or more of said means for inputting
information presented in one or more of said information-capturing
documents.
11. A method according to claim 10 wherein at least part of said
data for controlling, restricting or validating the information captured from a
user is generated on the basis of said standard document.
12. A method according to any preceding claim wherein one or
more of said information-capturing documents generated further comprise
data representing one or more of said units of said standard document and, in
said second document presentation format, each of said means for inputting particular further information and said units comprising data representing said
particular further information are associated with each other when said
information-capturing documents are presented to a user.
13. A method according to claim 12 wherein said units comprised
in said information-capturing documents are uneditable using said
information-capturing documents.
14. A method according to claim 12 or 13 wherein, in said second
document presentation format, each of said logical rule units, if any, and said
determined known information units, if any, are associated with each other
when said information-capturing documents are presented to a user.
15. A method according to any of claims 12 to 14 when dependent
on claim 7 wherein, in said second document presentation format, each of
said user guidance units, if any, and said related units, if any, are associated
with each other when said information-capturing documents are presented to a
user.
16. A method according to claim 14 or 15 wherein, in second
document presentation format, said units and said means for inputting
information are presented to a user as a two-dimensional table with one or more rows and one to four columns, with known information units, if any,
logical rule units, if any, and user guidance units, if any, contained in separate
columns and said means for inputting information contained in one of said
separate columns or in a further column.
17. A method according to claim 7 or any preceding claim
dependent on claim 7 wherein one or more of said user guidance units
comprises one or more references to further user guidance.
18. A method according to claim 17 wherein said references to
further user guidance comprise an embedded uniform resource locator.
19. A method according to any preceding claim wherein said
generated customised document is uneditable by a user.
20. A method according to any preceding claim wherein one or
more of said known information units in said standard document comprise
formatted text and those known information units included in said
information-capturing documents and said generated customised document
comprises identical text formatted at least partially identically.
21. A method according to any preceding claim wherein captured
further information data, captured using a particular information-capturing
document, is uniquely associated with the particular standard document, or
particular version of a standard document, from which said particular
information-capturing document was generated, and is not used to generate a
customised document in combination with data representing a different
standard document or a different version of the particular standard document.
22. A method according to any preceding claim wherein said
standard document data is in a standard word-processing format.
23. A method according to any preceding claim wherein said
information-capturing document data is in a standard browsing format.
24. A method according to any preceding claim wherein said
standard document further comprises a further column of labelling units
uniquely identifying each row of said table which permits addition of
labelling units uniquely identifying added rows at interstices such that rows
may be retraced even if reordered.
25. A method of creating, using data processing means, a standard
document for carrying out the method of any preceding claim.
26. A method of generating, using data processing means, one or
more information-capturing documents for carrying out the method of any of
claims 1 to 24.
27. A method of presenting one or more information-capturing
documents to one or more users and capturing information, using data
processing means, for carrying out the method of any of claims 1 to 24.
28. A method of generating a customised document using one or
more data processing means comprising the steps of:
a) creating a standard document, said standard document
comprising:
i) known information for possible inclusion in said
customised document,
ii) instructions for capturing further information, and
iii) instructions for generating said customised document
using said known information and said further
information,
b) on the basis of said instructions for capturing further
information, generating one or more information-capturing
documents, c) capturing said further information using said one or more
information-capturing documents, and
d) on the basis of said instructions for generating said customised
document, generating said customised document using said
known information and said captured further information.
29. A method of using one or more data processing means to generate a
customised document from a standard document, said standard document
comprising one or more items of known information and one or more logical
rules for determining, on the basis of further information to be supplied or
captured, the use made of one or more of said items of known information
when generating said customised document.
30. A method according to claim 29 comprising the steps of using
one or more data processing means to:
i) generate one or more information-capturing documents for capturing
at least part of said further information, said information-capturing documents
being generated on the basis of said standard document;
ii) capture at least part of said further information using said
information-capturing documents; and
iii) generate said customised document on the basis of said captured
further information and said standard document.
31. A method according to any preceding claim wherein the
customised document is a specification of an invitation to tender.
32. A method according to any of claims 1 to 30 wherein the
customised document is a document inviting a party to tender.
33. A method according to any of claims 1 to 30 wherein the
customised document is a tender.
34. A method according to any of claims 1 to 30 wherein the
customised document is a report based on one or more responses to invitations
to tender or one or more tenders.
35. A method of using one or more data processing means to carry
out at least part of a tendering process, said method comprising the steps of:
a) presenting a first user with one or more information-capturing
documents;
b) capturing information from said first user using said one or
more information-capturing documents;
c) generating a second information-capturing document for
capturing information required to generate a tender on the basis of said
information captured from said first user; d) presenting a second user with said second information-
capturing document;
e) capturing said information required to generate a tender
document from said second user using said second information-capturing
document;
f) generating a first tender document on the basis of said
information captured from said second user.
36. A method according to claim 35, comprising the further step,
performed after step c) and before step d), of generating a notification
document for notifying the second user of an invitation to tender, said
notification document being generated on the basis of the information
captured from the first user and comprising data representing the location of
the second information-capturing document.
37. A method according to claim 36, wherein the notification
document is an e-mail for sending to the second user.
38. A method according to claim 36, wherein the notification
document is web page for posting to a website accessible to said second user.
39. A method according to any of claims 36 to 38, wherein the
data representing the location of said second information-capturing document
is a uniform resource locator.
40. A method according to any of claims 35 to 39, comprising the
following further step, which is performed after step f):
g) generating a contract document on the basis of said
information captured from said second user.
41. A method according to any of claims 35 to 40, comprising the
following further steps performed after step b):
cc) generating a third information-capturing document for
capturing information required to generate a tender on the basis of said
information captured from said first user;
dd) presenting a third user with said third information-capturing
document;
ee) capturing said information required to generate a tender from
said third user using said third information-capturing document;
ff) generating a second tender document on the basis of said
information captured from said third user;
said method further comprising the following step performed after
steps f) and ff): gg) generating a first report document on the basis of said first and
second tender documents or on the basis of information captured from said
first, second or third users.
42. A method according to claim 41, wherein the first report
document is generated automatically on the occurrence of a predetermined
event in the tendering process.
43. A method according to any of claims 41 to 42, wherein the first
report document presents information captured from the second and third
users in response to corresponding requests in said second and third
information-capturing documents, such that said corresponding information is
associated when said report document is presented to a user.
44. A method according to any of claims 41 to 43, wherein the first
report document presents numerical information captured from the first,
second or third users in a graphical format.
45. A method according to any of claims 41 to 44, wherein the first
report document provides scores comparing the information captured from the
second and third users.
46. A method according to any of claims 41 to 45, wherein the first
report document provides scores comparing the tenders of the second and
third users.
47. A method according to any of claims 35 to 46, wherein a
second report document is generated comprising information on the stage in
the tendering process reached by the second or third user.
48. A method according to claim 47, wherein the second report
document is generated automatically on the occurrence of an event in the
tendering process.
49. A method according to claim 47 or claim 48, wherein the event
in the tendering process is one selected from the following group: notification
document generated; second information-capturing document presented to
second user; information captured from the second user; all required
information captured from second user; first tender document generated,
contract document generated; time for response to invitation to tender expired.
50. A method according to any of claims 35 to 49, wherein a
password is used by the second user to access the second information-
capturing document at step e).
51. A method according to any of claims 35 to 50 wherein a
password is used by the second user to release the information entered by said
second user prior to proceeding to step f).
52. A method according to any of claims 35 to 51 wherein the one
or more information-capturing documents and the second information-
capturing document comprise data in a standard browsing format.
53. A method according to any of claims 35 to 52, wherein steps
a), aa), b), bb), d), dd), e), and ee), if performed, are performed using browser
application software.
54. A method according to any of claims 35 to 53, wherein steps
c), cc), f), ff), g) and gg), if performed, are performed using web server
application software.
55. A method according to any one of claims 35 to 54, wherein, if
generated, any of the one or more information-capturing documents, the
second information-capturing document, and the third information-capturing
document, is or are generated using the method of generating information-
capturing documents according to any of claims 2 to 24, 28 and 30.
56. A method according to any one of claims 35 to 55, wherein, if
generated, any of the first and second tender documents, the notification
document, the first and second report documents, and the contract document,
is or are generated using the method of any of claims 1 to 24, and 28 to 30.
57. A computer program or computer programs for performing the
method of any preceding claim.
58. A computer program or computer programs according to claim
55 held on a data carrier.
59. Apparatus for performing the method of any of claims 1 to 56.
PCT/GB2000/002672 1999-07-12 2000-07-12 A method of and apparatus for generating documents WO2001004772A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU61671/00A AU6167100A (en) 1999-07-12 2000-07-12 A method of and apparatus for generating documents

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9916318.0 1999-07-12
GB9916318A GB2355817A (en) 1999-07-12 1999-07-12 Generating customised documents

Publications (2)

Publication Number Publication Date
WO2001004772A2 true WO2001004772A2 (en) 2001-01-18
WO2001004772A3 WO2001004772A3 (en) 2002-05-02

Family

ID=10857103

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2000/002672 WO2001004772A2 (en) 1999-07-12 2000-07-12 A method of and apparatus for generating documents

Country Status (3)

Country Link
AU (1) AU6167100A (en)
GB (1) GB2355817A (en)
WO (1) WO2001004772A2 (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2820527A1 (en) * 2001-02-07 2002-08-09 Generer Com Method for creating documents, especially legal documents, using templates downloaded from an Internet server, personalized with individual data and uploaded back to the server for final document creation
GB2380016A (en) * 2001-09-21 2003-03-26 Hewlett Packard Co Generating a contract
EP1329817A1 (en) * 2002-01-21 2003-07-23 Business Integrity Limited Document generation system and method
GB2405728A (en) * 2003-09-03 2005-03-09 Business Integrity Ltd Punctuation of automated documents
WO2005088445A1 (en) * 2004-03-10 2005-09-22 Business Integrity Limited Script generation
GB2434679A (en) * 2006-01-30 2007-08-01 Business Integrity Ltd Graphical representation of mark-up language in document generation system master document
US7363579B2 (en) * 2003-09-03 2008-04-22 Business Integrity Limited Mark-up of automated documents
US7472343B2 (en) 2002-05-10 2008-12-30 Business Integrity Limited Systems, methods and computer programs for analysis, clarification, reporting on and generation of master documents for use in automated document generation
US7757160B2 (en) * 2006-01-30 2010-07-13 Business Integrity Limited Debugging of master documents
US8234563B1 (en) * 2006-09-15 2012-07-31 Business Integrity Limited Editing of customised documents
AU2007200386B2 (en) * 2006-01-30 2012-09-20 Thomson Reuters Enterprise Centre Gmbh Debugging of master documents
CN110309261A (en) * 2019-05-15 2019-10-08 国网浙江浙电招标咨询有限公司 A kind of electronic bidding book generates online and signature method and e-bidding system
US11113451B2 (en) 2007-01-30 2021-09-07 Thomson Reuters Enterprise Centre Gmbh Representation of mark-up of master documents
US11250526B2 (en) 2017-07-21 2022-02-15 Leap, Llc Dynamic content generator

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5272623A (en) * 1990-11-07 1993-12-21 The United States Of America As Represented By The Secretary Of The Navy Software programming method for forming Government contracting documents
US5313394A (en) * 1990-12-11 1994-05-17 Barbara Clapp Document assembly customization system for modifying a source instrument including text and decisional commands
US5704029A (en) * 1994-05-23 1997-12-30 Wright Strategies, Inc. System and method for completing an electronic form

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4967368A (en) * 1985-08-16 1990-10-30 Wang Laboratories, Inc. Expert system with knowledge base having term definition hierarchy
US5148366A (en) * 1989-10-16 1992-09-15 Medical Documenting Systems, Inc. Computer-assisted documentation system for enhancing or replacing the process of dictating and transcribing
CA2056865C (en) * 1990-12-11 1999-01-05 Barbara Clapp Interactive computerized document assembly system
US5640577A (en) * 1991-12-30 1997-06-17 Davox Corporation Data processing system with automated at least partial forms completion
US5446653A (en) * 1993-05-10 1995-08-29 Aetna Casualty And Surety Company Rule based document generation system
IL110811A0 (en) * 1993-09-07 1994-11-11 Jetform Corp Electronic forms generation system and method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5272623A (en) * 1990-11-07 1993-12-21 The United States Of America As Represented By The Secretary Of The Navy Software programming method for forming Government contracting documents
US5313394A (en) * 1990-12-11 1994-05-17 Barbara Clapp Document assembly customization system for modifying a source instrument including text and decisional commands
US5704029A (en) * 1994-05-23 1997-12-30 Wright Strategies, Inc. System and method for completing an electronic form

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2820527A1 (en) * 2001-02-07 2002-08-09 Generer Com Method for creating documents, especially legal documents, using templates downloaded from an Internet server, personalized with individual data and uploaded back to the server for final document creation
GB2380016A (en) * 2001-09-21 2003-03-26 Hewlett Packard Co Generating a contract
EP1306772A1 (en) * 2001-09-21 2003-05-02 Hewlett-Packard Company Apparatus and methods for generating a contract
US7028047B2 (en) 2001-09-21 2006-04-11 Hewlett-Packard Development Company, L.P. Apparatus and methods for generating a contract
AU2003202014B2 (en) * 2002-01-21 2007-08-02 Thomson Reuters Enterprise Centre Gmbh Document generation system and method
EP1329817A1 (en) * 2002-01-21 2003-07-23 Business Integrity Limited Document generation system and method
WO2003061474A1 (en) * 2002-01-21 2003-07-31 Business Integrity Limited Document generation system and method
GB2401464A (en) * 2002-01-21 2004-11-10 Business Integrity Ltd Document generation system and method
US9122667B2 (en) 2002-01-21 2015-09-01 Business Integrity Limited Partially customized document generation
US7472343B2 (en) 2002-05-10 2008-12-30 Business Integrity Limited Systems, methods and computer programs for analysis, clarification, reporting on and generation of master documents for use in automated document generation
US7363579B2 (en) * 2003-09-03 2008-04-22 Business Integrity Limited Mark-up of automated documents
GB2405728A (en) * 2003-09-03 2005-03-09 Business Integrity Ltd Punctuation of automated documents
US8788929B2 (en) 2004-03-10 2014-07-22 Business Integrity Limited Script generation
GB2426611A (en) * 2004-03-10 2006-11-29 Business Integrity Ltd Script generation
WO2005088445A1 (en) * 2004-03-10 2005-09-22 Business Integrity Limited Script generation
AU2007200383B2 (en) * 2006-01-30 2012-11-01 Thomson Reuters Enterprise Centre Gmbh Representation of mark-up of master documents
AU2007200386B2 (en) * 2006-01-30 2012-09-20 Thomson Reuters Enterprise Centre Gmbh Debugging of master documents
GB2434679A (en) * 2006-01-30 2007-08-01 Business Integrity Ltd Graphical representation of mark-up language in document generation system master document
US7757160B2 (en) * 2006-01-30 2010-07-13 Business Integrity Limited Debugging of master documents
US8234563B1 (en) * 2006-09-15 2012-07-31 Business Integrity Limited Editing of customised documents
US11113451B2 (en) 2007-01-30 2021-09-07 Thomson Reuters Enterprise Centre Gmbh Representation of mark-up of master documents
US11250526B2 (en) 2017-07-21 2022-02-15 Leap, Llc Dynamic content generator
CN110309261A (en) * 2019-05-15 2019-10-08 国网浙江浙电招标咨询有限公司 A kind of electronic bidding book generates online and signature method and e-bidding system
CN110309261B (en) * 2019-05-15 2023-07-14 国网浙江浙电招标咨询有限公司 Electronic bidding book online generation and signature method and electronic bidding system

Also Published As

Publication number Publication date
GB9916318D0 (en) 1999-09-15
GB2355817A (en) 2001-05-02
AU6167100A (en) 2001-01-30
WO2001004772A3 (en) 2002-05-02

Similar Documents

Publication Publication Date Title
US7000179B2 (en) Method and apparatus for programmatic learned routing in an electronic form system
TW468106B (en) Navigating network resources based on metadata
US7496632B2 (en) Method and system for distributing a public information release authorization (PIRA) form over an intranet
US7028223B1 (en) System and method for testing of web services
US6721747B2 (en) Method and apparatus for an information server
US6744447B2 (en) Method and system for compiling and using placebot agents for automatically accessing, processing, and managing the data in a place
CN110325961A (en) Software application exploitation based on electrical form
US20070022155A1 (en) Method and system for integrating enterprise software applications with desktop software applications
US20030140053A1 (en) Document generation
US20050268222A1 (en) Method of creating, processing and storing HTML documents
US20050154699A1 (en) Method and apparatus for an improved security system mechanism in a business applications management system platform
CA2647588A1 (en) Systems and methods of transforming data for web communities and web applications
US20040060005A1 (en) Systems, methods and computer programs for analysis, clarification, reporting on and generation of master documents for use in automated document generation
US9854109B2 (en) Document output processing
WO2001004772A2 (en) A method of and apparatus for generating documents
Connolly et al. The Evolution of Web Documents: The Ascent of XML.
US20080222074A1 (en) Method or corresponding system employing templates for creating an organizational structure of knowledge
US7058582B2 (en) Method for performing programming by plain text requests
US20090013262A1 (en) Systems and methods for providing document collaboration using a front and back framework
US7584250B1 (en) Method and system for distributing an invention disclosure over an intranet
US7380201B2 (en) Checking missing transaction values in generated document
Saint-Andre Guidelines for Authors of XMPP Extension Protocols
Lu et al. Extensible information brokers
Jennings Microsoft Access 2010 in depth
Aitken Powering Office 2003 with XML

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase in:

Ref country code: JP