# Patent

## Title
System and method for efficiently drafting a legal document using an authenticated clause table

## Abstract

A table of clauses is compiled into a shareable database. Each clause relates to parties potentially affected by a use of the clause in a legal document. Each clause also includes authorizations controlling access and preferences specifying provisions and terms for a specific subject matter. A searchable index is formed using a topical ordering based on the specific subject matter included. A clause selection interface is exported and includes document drafting controls. The clauses table index is authenticated against the authorizations for a given user, preferences for the individual parties, and specified monetary amount and is presented following successful authentication. A clause selection is authenticated against the authorizations for a given user and the preferences for the parties. An individual clause from the clauses table is displayed on the user interface upon the selection by the given user following successful authentication.

## Background
CROSS-REFERENCE TO RELATED APPLICATION
This patent application is a continuation of commonly-assigned U.S. patent application Ser. No. 09/724,837, filed Nov. 28, 2000, now U.S. Pat. No. 7,080,076, issued Jul. 18, 2006, the priority date of which is claimed and the disclosure of which is incorporated by reference.


FIELD OF THE INVENTION
The present invention relates in general to automated legal document drafting and, in particular, to a system and method for efficiently drafting a legal document using an authenticated clause table.
BACKGROUND OF THE INVENTION
Complex document drafting involves substantially more thought and effort than merely filling in blank lines. Rather, the process involves writing individual terms and clauses with highly particularized and often legal meanings. Those terms and clauses are then assembled into structured documents.
Generally, such structured documents are in the form of legally binding contracts. Contracts, unlike ordinary documents, have a legal effect on the rights of the signing parties and possibly third parties. Consequently, contracts, as well as any other type of legal document affecting individual rights, can be drafted only by experienced professionals.
Drafting competent documents is difficult, especially where the documents have a significant legal impact. Moreover, document draftsmanship depends in large part on the knowledge and experience of the writer. A capable draftsperson will take into account numerous factors in crafting a document, including, for instance, the nature and scope of the subject matter, the characteristics and relative positions of the parties, customary practices in the field, required language, language used in prior dealings, enforceability of terms and conditions, and jurisdictional and choice of law considerations, to name a few.
Document drafting is not easily taught and can be a time consuming process for a novice writer. The structure of and individual clauses from previously drafted documents can be followed to save time and learn by example. However, every document requires individualized analysis and planning. In addition, old documents, taken in isolation, lack the insight and wisdom imparted by their author during the drafting process.
In a legal setting, teams of attorneys often cooperatively service the document drafting needs of a single client for cost and time efficiency. Some clients require standardized language and consistency becomes a concern. Individual work products can reflect variations in style, skill, and experience level. A sense of consistency, and possibly legal effect, can be lost due to these variations. Moreover, maintaining control over the countless variations in work product poses a major challenge to the attorney responsible to the client.
In the prior art, templates combined with word processing programs provide limited automated document drafting capabilities. Templates enable users to create a table of shareable skeletal boilerplates. Each template can be populated with clauses and specific content based on user selections and pre-defined merge codes, thereby allowing a moderate level of customizability. Nevertheless, document templates provide virtually no writer education and operate at a document level with limited clause and term customizability. Moreover, templates do not provide integrated means for accessing external resource materials.
Similarly, many prior art document generation programs automatically draft documents based on user inputs. An example is the Complete Legal Collection 2001 product, licensed by Parsons Software, a division of Mattel Interactive, Inc., Fremont, Calif. Although able to create customized documents, such programs are typically bundled with a table of generic contract templates that draw on commonly encountered problems. These types of programs draft documents using a generic question and answer format and often fail to fully address the specific needs of a given situation or set of parties. Additionally, the clause or terminology tables are static. These tables cannot store party-specific clauses or to be controlled by an author responsible for ensuring consistency and proper application.
Finally, a prior art contract negotiation and generation system and method is described in U.S. Pat. No. 6,067,531 ('531) to Hoyt et al. A shareable contract database stores contracts with multiple contract components. Several different classes of users can access the contracts, based on their class membership and subject to contract status codes. A contract can be generated for a customer with the user's company participating as a contracting party. The users access the contract components via an applet executing on a client system. The applet facilitates user input and assists in the standardization of legal phrasing and contract negotiation. However, the '531 device does not filter the contracts based on contracting parties. Nor does the '531 device include fine-grained authorization and preference controls to restrict access to individual contract clauses and terms based on the identity of the user or one or more of the parties. Moreover, as the user is itself a party to the contract, contracting terms are inherently pre-disposed to one party's contracting position and ethical “walls” cannot be created to shield individual users from viewing contracts relating to conflicted parties. Finally, the applet is a “zero-footprint” application that must be downloaded onto the client system prior to execution and requires a client-based interpreter.
Therefore, there is a need for an automated approach to drafting complex documents, particularly contracts, capable of imparting expert knowledge to the drafting process independent of the user. Preferably, such an approach would provide a fine-grained authenticated table for storing and retrieving customizable outlines, clauses and terms based on the user and parties. The authentication would ensure control over content and promote consistency in presentation and usage. Such an approach would also be coupled to a comprehensive system of annotations for educational and reference resources.
SUMMARY OF THE INVENTION
The present invention provides an automated system and method for drafting complex documents, particularly contracts, using an authenticated collection of clauses, outlines, and drafting-related resources. Tables of clauses, standard and non-standard document outlines, and topic lessons are maintained in a database. Indices of the tables are generated. A list of authorizations controlling modification and access to the tables is created. A list of preferences for document content and structure is also created. Clauses, outlines, and topic lessons are selected from the tables filtered by the authorizations and populated based on the preferences of the parties potentially affected by the document and the monetary value of the agreement. Selections of clauses and outlines can be tracked in a journal for auditing and follow up.
An embodiment of the present invention is a system and method for facilitating complex document drafting with authenticated clause selection. A database including a table of individual clauses is maintained. Each individual clause includes provisions and terms relating to one or more potentially affected parties. A list of authorizations is stored into the database. Each authorization controls clause modification and usage by users for each individual clause. A list of preferences is stored into the database. Each preference, and potentially the specified monetary amount of the transaction, influences clause selection for each individual party. Each selection of an individual clause from the individual clauses table is authenticated against the authorizations list for a given user and the preferences list for the given user and the potentially affected parties.
A further embodiment of the present invention is a system and method for efficiently drafting a legal document using an authenticated clause table. A table of clauses is compiled into a shareable database. Each clause relates to one or more individual parties potentially affected by a use of the clause in a legal document. Each clause also includes authorizations controlling access and preferences specifying provisions and terms for a specific subject matter, and potentially also authorizations or preferences related to the specified dollar (or monetary) price for a service or item identified in the legal document. A searchable index of the clauses table is formed using a topical ordering based on the specific subject matter included in the provisions and terms of each clause. A clause selection interface is exported and includes document drafting controls. The clauses table index is authenticated against the authorizations for a given user. The preferences based on the individual parties and/or specified dollar amount are presented on the user interface following authentication. A clause selection is authenticated against the authorizations for a given user and the preferences for the individual parties and specified dollar amount. An individual clause from the clauses table is displayed on the user interface upon the selection by the given user following successful authentication.
A further embodiment of the present invention is an automated system and method for drafting a contract with authenticated content selection. A database shareable by a plurality of users is maintained. A table of contract clauses is compiled into the shareable database. Each contract clause relates to one or more parties potentially affected by a use of the contract clause and the specified monetary amount of a service or item identified in the contract. Each contract clause also includes annotations explaining the content thereof. A table of contract outlines is also compiled into the shareable database. Each outline creates an organizational framework into which the clauses can be inserted to form the contract and includes annotations explaining the content thereof. A set of searchable indices of the contract clauses table and the contract outlines table is formed using a topical ordering. A list of authorizations is stored. Each authorization controls contract clause and contract outline modification and usage by users. A list of preferences is also stored. Each preference influences contract clause and contract outline selection for each potentially affected party and, optionally, the specified monetary value of the contract. Each selection of at least one of a contract clause from the contract clauses table and a contract outline from the contract outlines table is authenticated against the authorizations list for a given user and the preferences list for the given user and the potentially affected parties and, optionally, the specified monetary value.
The present invention promotes efficient document drafting for all skill levels. Annotations and links to educational and reference resources enable users to learn and utilize source materials integral to the drafting process.
Moreover, the table promotes uniformity of treatment and protections by ensuring that each document is consistent with other documents generated using the invention. As well, a practice group, including a law practice, can adopt a consistent “look and feel” to their work products by controlling the content of the table.
Still other embodiments of the present invention will become readily apparent to those skilled in the art from the following detailed description, wherein is described embodiments of the invention by way of illustrating the best mode contemplated for carrying out the invention. As will be realized, the invention is capable of other and different embodiments and its several details are capable of modifications in various obvious respects, all without departing from the spirit and the scope of the present invention. Accordingly, the drawings and detailed description are to be regarded as illustrative in nature and not as restrictive.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram showing a networked computing environment, including a system for efficiently drafting a legal document using an authenticated clause table, in accordance with the present invention.
FIG. 2 is a detail block diagram showing the system for efficiently drafting a legal document of FIG. 1.
FIG. 3 is a functional block diagram showing the structure of the database of FIG. 1.
FIG. 4 is a screen shot showing, by way of example, a menu-driven clause selection module with annotations and hyperlinks.
FIG. 5 is a screen shot showing, by way of example, a menu-driven outline selection module with annotations.
FIG. 6 is a screen shot showing, by way of example, a menu-driven learning module with annotations and hyperlinks.
FIG. 7 is a block diagram showing the software modules of the system for efficiently drafting a legal document of FIG. 1.
FIG. 8 is a flow diagram showing a method for efficiently drafting a legal document using an authenticated clause table in accordance with the present invention.
FIG. 9 is a flow diagram showing a routine for selecting a clause for use in the method of FIG. 8.
FIG. 10 is a flow diagram showing a routine for selecting a standard outline for use in the method of FIG. 8.
FIG. 11 is a flow diagram showing a routine for selecting a non-standard outline for use in the method of FIG. 8.
FIG. 12 is a flow diagram showing a routine for selecting a topic for use in the method of FIG. 8.
FIG. 13 is a flow diagram showing a routine for processing clauses for use in the routines of FIGS. 10 and 1 1.



DETAILED DESCRIPTION
FIG. 1 is a block diagram showing a networked computing environment 10, including a system for efficiently drafting a legal document using an authenticated clause table, in accordance with the present invention. The system 10 consists of a local server 11 operating on a host computer system.
The local server 11 executes a legal document drafting system 17 (LDDS), as further described below with reference to FIG. 2. The local server 11 provides access to a shareable database 19 maintained on an attached storage device 18 to a plurality of clients 12. The database could be distributed or structured in any similar shareable fashion.
Each client 12 executes a browser 20 which provides a user interface into the LDDS 17 and local application functionality. Other forms of user interface, including dedicated application programs, are feasible. The clients 11 are interconnected to the local server 11 via an intranetwork 13 that is itself interconnected to the internetwork 15 via a router 16 or similar device. The internetwork includes public internetworks, such as the Internet, that allows interconnection to hosts and users worldwide
The LDDS 17 provides an automated approach to drafting complex documents, particularly contracts and similar forms of legal document. The LDDS 17 references a set of authenticated tables in the database 19, as further described below with reference to FIG. 3, storing customizable outlines, clauses and terms, and educational and reference topics. These tables are indexed for efficient, fine-grained retrieval and access to individual data items is controlled and subject to user and party authentication and preferences.
Annotations can be associated with the outlines, clauses and terms. As well, the annotations can include hyperlinks to local and external reference resources. The local reference resources are retrieved via the local server 11 from a local information data collection (DC) 22 maintained on the local storage 18. Similarly, the external reference resources are retrieved via a remote server 14 that provides access to a remote information data collection 23 maintained on a remote storage 21. The remote server 14 is interconnected to the LDDS 17 via the internetwork 15. The topics and annotations associated with the outlines, clauses and terms enable the LDDS 17 to impart expert knowledge to the document drafting process independent of the skill and experience level of the user. Other types of clients, network topologies and configurations, and forms of interconnection are feasible.
The individual computer systems, including the local server 11, remote server 14, and clients 12, are general purpose, programmed digital computing devices consisting of a central processing unit (CPU), random access memory (RAM), non-volatile secondary storage, such as a hard drive or CD ROM drive, network interfaces, and peripheral devices, including user interfacing means, such as a keyboard and display. Program code, including software programs, and data are loaded into the RAM for execution and processing by the CPU and results are generated for display, output, transmittal, or storage.
FIG. 2 is a detail block diagram showing the system for efficiently drafting a legal document 17 of FIG. 1. The LDDS 17 executes on the local server 11 as an active server page (ASP) application. The LDDS 17 is browser-based and is retrieved as part of a set of interactive Web pages (not shown) by browsers 20 (shown in FIG. 1) executing on requesting clients 12. To support the LDDS 17, the local server 11 executes a Web server 31, active server page (ASP) server 32, search server 33, and structured query language (SQL) database server 34.
The Web server 31 serves the Web pages defining the LDDS 17 to the browsers 20. The Web pages are written as scripts in an interpretable, tag-delimited language, such as the Hypertext Markup Language (HTML), which is used in the described embodiment, and the Extensible Markup Language (XML), although other interpretable tag-delimited languages could be used. Upon receipt, the browsers 20 interpret the script to display the requested content.
The LDDS 17 is functionally defined at execution time as a series of active server pages interpreted by the ASP server 32. Like a browser 20, the ASP server 32 interprets executable scripts, known as Active Server Pages, embedded within the Web pages. In the described embodiment, the Active Server Page technology, licensed by Microsoft Corporation, Redmond, Wash., is used whereby compiled VBScript COM objects are encapsulated within ASP wrappers. Executable objects are preferably utilized for processing efficiency. Upon execution, the Active Server Pages are converted into ordinary Web pages, typically written in HTML or XML. The Active Server Pages are written as VBScripts, which are described in A. K. Weissinger, “ASP in a Nutshell, A Desktop Quick Reference,” chs. 1-3, O'Reilly & Assocs. (1999), the disclosure of which is incorporated by reference.
In addition, the tables of outlines, clauses and terms are maintained in the database 19 via the SQL database server 34. For efficiency, the tables are indexed and accessed via the search server 33 which works in conjunction with the SQL database server 34. In the described embodiment, the SQL database server 34 and database 19 form a relational database management system RDBMS, such as the Oracle 8i product, licensed by Oracle Corporation, Redwood Shores, Calif. The search server is implemented using the Microsoft Search Services product, but could also be logically integrated as part of the RDBMS.
FIG. 3 is a functional block diagram showing the structure of the database 19 of FIG. 1. The database 19 is relationally organized into a logical set of tables, lists, and indices which are related through table links. There are four logical tables: clause table 40, outline table 41, annotations 42, and learn topics 44. In the described embodiment, the logical tables are maintained in a single, hierarchically structured table with parent/child relationships formed via a cross-reference table (not shown). The structured table stores the indices to the clauses, outlines, annotations, learn topics, and options within the outlines. Unlike traditional table generation performed through join operations, this schema allows multiple layers of relationships. However, other organizational schemas and data structures are also possible.
The clause table 40 contains a collection of paragraphs and sentences which each define provisions and terms relating to one or more parties potentially affected by a use of the clause in a legal document. The clauses could also present legally neutral language, such as standard definitions and explanations. The clauses include pre-defined fields into which the individual parties can be automatically inserted, as well as blank fields into which customized language can be added.
The outline table 41 contains a collection of two types of outlines. Standard outlines create an organizational framework into which the clauses from the clauses table 40 can be inserted in a structured order to form a legal document or similar writing. Non-standard outlines similarly create an organizational framework but are free format and do not impose a structured order. The outlines can include sections of standard “boilerplate” language. As well, the outlines are populated with clauses selected from the clauses table 40 and can include optional sections in which the writer is prompted to chose between different heading areas.
The annotations 42 provide explanatory descriptions of individual clauses, outlines, and outline subsections. The clauses in the clause table 40 form associations 47 with annotations, as appropriate. Similarly, the outlines in the outline table 41 form associations 48 with annotations, as appropriate. The annotations are automatically displayed upon the selection of a clause or outline. Each annotation can include an embedded hyperlink referencing information stored locally in the local information data collection 22 (shown in FIG. 1) or remotely in the remote information data collection 23. The hyperlinks allow the annotation to be augmented with a more detailed explanation or educational or reference materials.
The learn topics 44 provide a topical description of the clauses and outlines, as well as other topics relating to complex document drafting. The topics in the learn topics 44 form associations 51 with annotations, clauses, and outlines, as appropriate. In addition, each topic can include an embedded hyperlink referencing a data source local or external to the database 19.
To improve efficiency of retrieval and ease of use, the tables 40-42 and learn topics 44 are indexed by indices 43. Each index forms an association 50 with the learn topics, annotations, clauses, and outlines, preferably using a topical ordering based on the subject matter addressed by the learn topic, annotation, clause, or outline.
A list of authorizations list 46 control the modification and use of the various component tables and indices based on the identity of the user or parties to the contract and, optionally, on the price of a service or item identified in the contract. The authorizations list 46 forms an association with the learn topics, indices, annotations, clauses, and outlines. Only authorized users, such as the client responsible attorney in a law firm setting, are allowed to modify the associated component tables or indices. Similarly, only authorized users are allowed to use the associated tables or indices. If pricing information is included in the authorizations list 46, clause and outline selections are filtered based on their associated permissible dollar or monetary value. The authorizations list 46 provides affirmative control and creates a means for promoting uniform and consistent document drafting. As well, this list prevents unauthorized or unintentional use of the component tables and indices, thereby enabling the creation of “ethical walls” in a law firm setting.
Preferably, the use of the individual clauses and outlines in completed legal documents is tracked by a journal 45. Both the clause table 40 and outline table 41 form an association 49 with the journal 45 which records each clause and outline use upon the generation of a completed complex document. The journal 45 creates an audit trail that can later be useful for notifying clients of factors that might later impact the complex documents to which they are a party.
Other database types, structures, schemas, and organizations are possible.
FIG. 4 is a screen shot showing, by way of example, a menu-driven clause selection module 60 with annotations 68 and hyperlinks 74a-b. This module is used to select individual clauses. The clause selection module 60 exports a user interface with document drafting controls. The clause selection module 60 presents a topic heading 61 and a topic listing, divided into general topics 62 and specific topics 63 from which a user can select a particular clause.
The remainder of the clause selection module 60 includes a title panel 64, clause panel 65, and an annotation panel 66. The title panel 64 identifies the clause title 69 and indicates the author and revision date 70. The selected clause (without any associated annotation) can be inserted directly into a document via a word processing program interface 71. In the described embodiment, a selected clause is inserted into a document created using the Word program, licensed by Microsoft Corporation, Redmond, Wash., although other word processing programs could also be used.
Each selected clause 67 is displayed is the clause panel 65 upon successful authentication. Prior to display, the LDDS 17 determines whether the user is authorized to use the selected clause 67 based on the authorizations list 46 (shown in FIG. 3). Similarly, the LDDS 17 filters the topic listing to those clauses preferred by the one or more of the parties potentially affected by the clause. The clause 67 optionally includes the names of one or more of the potentially affected parties 72a-b and blank fields 73 into which further data can later be added.
Finally, the annotations panel 66 displays the annotation 68 associated with the selected clause 67. The annotation 68 can include one or more hyperlinks 74a-b linking the annotation to local or external data sources.
FIG. 5 is a screen shot showing, by way of example, a menu-driven outline selection module 80 with annotations 89. This module is used to select standard outlines for generating a complete document. The outline selection module 80 also exports a user interface with document drafting controls and presents a topic heading 81 and a topic listing. The topic listing is divided into general topics 82, specific topics 83, and optional topics 84. Individual clauses are selected to populate the various specific and optional topic sections.
Like the clause selection module 60, the remainder of the outline selection module 80 includes a title panel 85, outline panel 86, and an annotation panel 87. The title panel 85 identifies the outline title 90 and indicates the author and revision date 91. The selected outline can be inserted directly into a document via a word processing program interface 92.
Each selected outline 88 is displayed in the outline panel 86 upon successful authentication. Prior to display, the LDDS 17 determines whether the user is authorized to use the selected outline 88 based on the authorizations list 46 (shown in FIG. 3). Similarly, the LDDS 17 filters the topic listing to those outlines preferred by the one or more of the parties potentially affected by the outline. The outline 88 optionally includes the names of one or more of the potentially affected parties 93 and blank fields 94 into which further data can later be added.
Finally, the annotations panel 87 displays the annotation 89 associated with the selected outline 88. The annotation 89 can include one or more hyperlinks linking the annotation to local or external data sources.
FIG. 6 is a screen shot showing, by way of example, a menu-driven learning module 100 with annotations 106 and hyperlinks 109. This module is used to view topics relating to various aspects of complex document drafting. The learning module 100 exports a user interface with topic viewing controls. The learning module 100 presents a topic heading 101 and a topic listing, divided into general topics 102 and specific topics 103 from which a user can select a particular topic for review.
The remainder of the learning module 100 includes a title panel 104 and topic panel 105. The title panel 104 identifies the topic title 107 and indicates the author and revision date 108.
Each selected topic 106 is displayed is the topic panel 105 upon successful authentication. Prior to display, the LDDS 17 determines whether the user is authorized to review the selected topic 106 based on the authorizations list 46 (shown in FIG. 3). The selected topic 106 can include one or more hyperlinks 109 linking the annotation to local or external data sources.
FIG. 7 is a block diagram showing the software modules 120 of the system for efficiently drafting a legal document 17 of FIG. 1. Each module is a computer program, procedure or module written as source code in a conventional programming language, such as the Visual Basic programming language, and is presented for execution by the CPU as object or byte code, as is known in the art. The various implementations of the source code and object and byte codes can be held on a computer-readable storage medium or embodied on a transmission medium in a carrier wave. The system 17 operates in accordance with a sequence of process steps, as further described below beginning with reference to FIG. 8.
The LDDS 17 includes seven main modules: clause selection 121, outline selection 122, non-standard selection 123, learn 124, search 125, harvester 126 and database (DB) maintenance 127. Upon proper user authentication, the clause selection module 121 presents a topic listing using an index from the indices 43 and enables a user to select a clause from the clause table 40 based on the authorizations list 46 and preferences 128 in effect. Like the authorizations list 46, the preferences 128 can optionally include pricing information pertaining to goods or services identified in the contract. The clause selection module 121 references the indices 43, annotations 42, and preferences 128 and records the final selection of a clause into the journal 45 based on the authorizations list 46 and preferences 128, including any optional pricing information.
Similarly, the outline selection module 122 and non-standard outline module 123 both present a topic listing using an index from the indices 43 and enable a user to select an outline from the outline table 41 based on the authorizations list 46 and preferences 128 (outline selection module 122 only) in effect, including any optional pricing information. The outline selection module 122 and non-standard outline module 123 reference the indices 43, annotations 42, and preferences 128 and record the final selection of an outline into the journal 45 based on the authorizations list 46 and preferences 128, including any optional pricing information.
The learn module 124 presents a topic listing using an index from the indices 43 and displays a topic from the learn topics 44 based on the authorizations list 46 and preferences 128 in effect.
The remaining modules are primarily support tools provided to assist a user in using the LDDS 17. The search module 125 allows a user to search the clause table 40, outline table 41, annotations 42, indices 43, and learn topics 44. The harvester 126 allows an authorized user, based on the authorizations list 46 in effect, to insert new clauses, outlines, and annotations obtained from other sources into their respective tables. Finally, the database (DB) maintenance module 127 allows an authorized user, again based on the authorizations list 46 in effect, to manually maintain the various tables, indices, and lists.
Other modules are also possible. For instance, a pricing selection module could be incorporated to present an index of prices and to enable a user to select specified prices by dollar or monetary value for services or items identified in the document (or of the document itself).
FIG. 8 is a flow diagram showing a method for efficiently drafting a legal document 140 using an authenticated clause table in accordance with the present invention. The method 140 operates in two phases: initialization (blocks 141-142) and processing (blocks 143-154). During initialization, the user logs into the LDDS 17 (block 141) identifies the parties potentially effected by the complex document to be drafted, and provides other ministerial information. The authorizations list 46 and preferences 128 are initialized (block 142) based on the user-provided identification information.
Processing (blocks 143-154) occurs in an iterative loop or similar control structure. During each iteration, user requests are processed and an appropriate routine is called based on the request type. A clause selection routine is called (block 145), as further described below with reference to FIG. 9, if a clause is requested (block 144). A outline selection routine is called (block 147), as further described below with reference to FIG. 10, if a standard outline is requested (block 146). A non-standard outline selection routine is called (block 149), as further described below with reference to FIG. 11, if a non-standard outline is requested (block 148). A learn topic routine is called (block 151), as further described below with reference to FIG. 12, if a lesson is requested (block 150). Finally, a search routine is called (block 153) if a search is requested (block 153). Processing continues until the program is terminated.
FIG. 9 is a flow diagram showing a routine for selecting a clause 160 for use in the method of FIG. 8. The purpose of this routine is to present a set of clause selection menus, clauses and annotations. Using the indices 43, a general menu of clauses is presented (block 161), filtered based on the authorizations list 46 for the user and populated with values based on the preferences 128 for the given user and the potentially affected parties. The authorizations list 46 and preferences 128 can optionally include pricing information which further filter the general clauses menu. Upon user input, a specific submenu of particular clause types, using the indices 43, is presented (block 162), again filtered based on authorizations list 46 and preferences 128 and any optional pricing information. Upon user input, a clause is retrieved from the clause table 40 and presented (block 163). The clause is populated with pre-defined values, such as names of potentially affected parties and similar information, based on the preferences 128 and any optional pricing information. If associated, an annotation is retrieved from the annotations 42 (block 164), subject to the authorizations list 46 for the user, and any hyperlink selections are processed (block 165). Finally, if the clause is selected for use in the actual complex document (block 166), the clause selection is recorded in the journal 45 (block 167). Clause selection continues until no further clauses are selected (block 168), after which the routine returns.
FIG. 10 is a flow diagram showing a routine for selecting a standard outline 180 for use in the method of FIG. 8. The purpose of this routine is to present a set of standard outline selection menus, standard outlines and annotations. As with clauses, using the indices 43, a general menu of outlines is presented (block 181), filtered based on the authorizations list 46 for the user and populated with values based on the preferences 128 for the given user and the potentially affected parties. The authorizations list 46 and preferences 128 can optionally include pricing information which further filter the general clauses menu. Upon user input, a specific submenu of particular outline types, using the indices 43, is presented (block 182), again filtered based on authorizations list 46 and preferences 128 and any optional pricing information. Upon user input, a outline is retrieved from the outline table 40 and presented (block 183). The outline is populated with pre-defined values, such as names of potentially affected parties and similar information, based on the preferences 128 and any optional pricing information. If associated, an annotation is retrieved from the annotations 42 (block 184) and any hyperlink selections are processed (block 185). If the outline is selected for use in the actual complex document (block 186), the outline selection is recorded in the journal 45 (block 187) and clause selections are processed (block 188), as further described below with reference to FIG. 13. Outline selection continues until no further outlines are selected (block 189), after which the routine returns.
FIG. 11 is a flow diagram showing a routine for selecting a non-standard outline 200 for use in the method of FIG. 8. The purpose of this routine is to present a set of non-standard outline selection menus, non-standard outlines and annotations. The primary difference between selections of standard versus non-standard outlines is the use of the preferences 128 and specific types of outlines in standard outline selections. Non-standard outline selection is free format and primarily consists of a bare skeleton outline that can be populated with clauses in an unstructured fashion. Using the indices 43, a general menu of non-standard outlines is presented (block 201), filtered based on authorizations list 46 which can optionally include pricing information. If associated, an annotation is retrieved from the annotations 42 (block 202) and any hyperlink selections are processed (block 203). If the outline is selected for use in the actual complex document (block 204), the outline selection is recorded in the journal 45 (block 215) and clause selections are processed (block 216), as further described below with reference to FIG. 13. Non-standard outline selection continues until no further outlines are selected (block 217), after which the routine returns.
FIG. 12 is a flow diagram showing a routine for selecting a topic for use in the method of FIG. 8. The purpose of this routine is to present information relating to some aspect of complex document drafting. Using the indices 43, a general menu of topics is presented (block 221), filtered based on the authorizations list 46 for the user and populated with values based on the preferences 128 for the given user and the potentially affected parties and any optional pricing information. If associated, an annotation is retrieved from the annotations 42 (block 222) and any hyperlink selections are processed (block 223). Upon user input, a specific submenu of particular topic types, using the indices 43, is presented (block 224), again filtered based on authorizations list 46 and preferences 128, including any optional pricing information. Upon user input, a specific topic is retrieved from the learn topics 44 and presented (block 225). If associated, an annotation is retrieved from the annotations 42 (block 226) and any hyperlink selections are processed (block 227). Topic selection continues until no further topics are selected (block 228), after which the routine returns.
FIG. 13 is a flow diagram showing a routine for processing clauses 240 for use in the routines of FIGS. 10 and 11. The purpose of this routine is to populate an outline with clauses. The routine consists of a pair of nested iterative loops. During each iteration of the outer iterative loop (blocks 241-247), individual clauses are selected (block 246) or sets of clause options are processed (blocks 243-245). During each iteration of the inner iterative loop (blocks 243-245), clause options sets are processed (block 244). Other forms of flow control could be used in lieu of iterative loops and recursion.
For each clause specified in an outline (block 241), if the clause does not include a set of optional clauses (block 242), individual clauses are selected (block 246), as further described above with reference to FIG. 9. Otherwise, for each option (block 243), the clause is processed by recursively invoking the present routine (block 244). Iterative processing of options continues until all options have been processed (block 245). Similarly, iterative processing of clauses continues until all clauses have been processed (block 247), after which the routine returns.
While the invention has been particularly shown and described as referenced to the embodiments thereof, those skilled in the art will understand that the foregoing and other changes in form and detail may be made therein without departing from the spirit and scope of the invention.

## Claims

1. A system for drafting a complex document, comprising:
a record naming at least one third party in a complex document;
a clause selection module selecting, by a user, one or more clauses from a clause table stored in a database, wherein each clause includes provisions and terms relating to conditions affecting the at least one third party;
a user comparison module comparing the one or more selected clauses against a user authorization list stored in the database and precluding only those selected clauses from use for which the user is not authorized;
a clause comparison module otherwise comparing the one or more selected clauses against a clause preference list stored in the database for the at least one third party, precluding only those selected clauses from use that are not preferred and structuring the conditions affecting the at least one third party provided in the provisions and terms of the one or more selected clauses in the complex document; and
a processor to execute the modules.

2. The system according to claim 1, further comprising:
an annotation module associating annotations stored in a database with clauses from the clause table, wherein each annotation provides an explanatory description of each associated clause; and
the clause selection module presenting the associated annotation for each of the one or more selected clauses upon selection.

3. The system according to claim 2, wherein the annotations contain hyperlinks to reference sources.

4. The system according to claim 3, wherein the reference sources are stored in one of a local database and a remote database.

5. The system according to claim 1, further comprising:
a search server indexing the clause table to provide efficient retrieval of the one or more selected clauses upon selection by the user.

6. The system according to claim 1, further comprising:
a word processing program interface inserting the one or more selected clauses into the complex document.

7. The system according to claim 1, further comprising:
an annotation panel displaying annotations stored in a database, wherein each annotation is associated with one of the one or more selected clauses and provides an explanatory description of of that selected clause.

8. The system according to claim 7, wherein the annotations contain hyperlinks to reference sources stored in one of a local database and a remote database.

9. A method for drafting a complex document, comprising:
naming at least one third party in a complex document;
selecting, by a user, one or more clauses from a clause table stored in a database, wherein each clause includes provisions and terms relating to conditions affecting the at least one third party;
comparing the one or more selected clauses against a user authorization list stored in the database;
precluding only those selected clauses from use for which the user is not authorized;
otherwise comparing the one or more selected clauses against a clause preference list stored in the database for the at least one third party;
precluding only those selected clauses from use that are not preferred;
structuring the conditions affecting the at least one third party provided in the provisions and terms of the one or more selected clauses in the complex document; and
storing the complex document.

10. The method according to claim 9, further comprising:
associating annotations stored in a database with clauses from the clause table, wherein each annotation provides an explanatory description of each associated clause; and
presenting the associated annotation for each of the one or more selected clauses upon selection.

11. The method according to claim 10, wherein the annotations contain hyperlinks to reference sources.

12. The method according to claim 11, wherein the reference sources are stored in one of a local database and a remote database.

13. The method according to claim 9, further comprising:
indexing the clause table to provide efficient retrieval of the one or more selected clauses upon selection by the user.

14. A method for drafting a complex document using an authenticated clause table, comprising:
naming at least one third party in a complex document;
providing a clause selection interface, comprising:
displaying a clause topics listing; and
receiving a clause selection from the clause topics listing by a user;

authenticating use of the clause selection, comprising:
comparing the clause selection against a user authorization list stored in a database for the at least one third party;
comparing the clause selection against a clause preference list stored in the database for the at least one third party; and
structuring conditions affecting the at least one third party provided in the provisions and terms of the clause selection in the complex document, wherein the clause selection is precluded from use when at least one of the clause selection is not authorized by the user authorization list and the clause selection is not preferred and, wherein the clause selection is presented via the clause selection interface upon successful authentication; and

storing the complex document.

15. The method according to claim 14, further comprising:
inserting the clause selection into the complex document.

16. The method according to claim 14, wherein the clause selection interface is presented as a Web page via a Web browser.

17. The method according to claim 16, wherein the Web page is written in an interpretable tag-delimited language.

18. The method according to claim 17, wherein the language is one of Hypertext Markup Language and Extensible Markup Language.

19. The method according to claim 14, further comprising:
displaying an annotation stored in a database associated with the clause selection, wherein each annotation provides an explanatory description of each associated clause selection.

20. The method according to claim 19, wherein the annotations contain hyperlinks to reference sources stored in one of a local database and a remote database.