# Patent

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

## Abstract

A system and a method for efficiently drafting a legal document using an authenticated clause table are described. 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. 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 and the preferences for the individual parties and specified monetary amount and is presented on the user interface following successful authentication. A clause selection is authenticated against the authorizations for a given user and the preferences for the individual 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
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 11.



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 in 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 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 facilitating complex document drafting with authenticated clause selection, comprising:
a database comprising a table of individual clauses for use in a complex document with each individual clause including provisions and terms relating to conditions affecting one or more third parties;
a list of user authorizations stored into the database to control individual clause modification and usage by users;
a list of clause preferences stored into the database to specify content and structure of the complex document for the third party; and
a document drafting system comprising:
a record naming at least one third party in the complex document; and
a clause selection module authenticating individual clause selection by a user for the at least one third party named in the record comprising:
an individual clause selection module selecting an individual clause from the individual clauses table;
a user comparison module comparing the individual clause against the user authorizations list for the user and precluding the modification or usage of the individual clause where the user lacks a user authorization; and
an individual clause comparison module comparing the individual clause against the clause preferences list for the at least one third party and including and structuring the conditions affecting the at least one third party provided in the provisions and terms of the individual clause in the complex document.

2. A system according to claim 1, further comprising:
an index indexing the individual clauses into a topical ordering based on the subject matter addressed therein; and
the clause selection module selecting each individual clause from the topical ordering.

3. A system according to claim 1, further comprising:
table of annotations stored into the database with each annotation providing an explanatory description of at least one linked individual clause; and
the clause selection module presenting each annotation upon the selection of the at least one linked individual clause from the individual clauses table.

4. A system according to claim 1, further comprising:
a table of standard outlines stored into the database with each standard outline creating an organizational framework into which the individual clauses can be inserted in a structured order;
a list of standard outline authorizations stored into the database to control outline modification and usage by users;
a list of standard outline preferences stored into the database for the third parties; and
a standard outline selection module authenticating each standard outline selection by the user for the at least one third party, comprising:
an individual outline selection module selecting a standard outline from the standard outlines table;
an outline comparison module comparing the standard outline against the standard outline authorizations list for the user and precluding the modification or usage of the standard outline where the user lacks a standard outline authorization; and
a standard outline preferences comparison module comparing the standard outline against the standard outline preferences list for the and including the organizational framework of the standard outline in the complex document.

5. A system according to claim 1, further comprising:
a table of non-standard outlines stored into the database with each non-standard outline creating an organizational framework into which the individual clauses can be inserted;
a list of non-standard outline authorizations stored into the database to control outline modification and usage by users;
a non-standard outline selection module authenticating each non-standard outline selection by the user for the at least one third party, comprising:
an individual outline selection module selecting a non-standard outline from the non-standard outlines table;
an outline comparison module comparing the non-standard outline against the non-standard outline authorizations list for the user and precluding the modification or usage of the non-standard outline where the user lacks a non-standard outline authorization.

6. A system according to claim 1, further comprising:
a table of topics stored into the database with each topic providing a description of a topic relating to an aspect of document drafting; and
a learn module presenting each topic upon selection.

7. A system according to claim 1, further comprising:
a journal recording each selection of an individual clause from the 3 individual clauses table that results in a final document.

8. A system according to claim 1, wherein at least one of the list of user authorizations and the list of clause preferences further comprises pricing information, the system further comprising:
the clause selection module filtering each selection of an individual clause from the individual clauses table against pricing information.

9. A method for facilitating complex document drafting with authenticated clause selection, comprising:
maintaining a database comprising a table of individual clauses for use in a complex document with each individual clause including provisions and terms relating to conditions affecting one or more third parties;
storing a list of user authorizations into the database to control individual clause modification and usage by users;
storing a list of clause preferences into the database to specify content and structure of the complex document for the third party; and
generating the complex document, comprising:
naming at least one third party in the complex document; and
authenticating each individual clause selection by a user for the at least one third party, comprising:
selecting an individual clause from the individual clauses table;
comparing the individual clause against the user authorizations list for the user and precluding the modification or usage of the individual clause where the user lacks a user authorization; and
comparing the individual clause against the clause preferences list for the at least one third party and including and structuring the conditions affecting the at least one third party provided in the provisions and terms of the individual clause in the complex document.

10. A method according to claim 9, further comprising:
indexing the individual clauses into a topical ordering based on the subject matter addressed therein; and
selecting each individual clause from the topical ordering.

11. A method according to claim 9, further comprising:
storing a table of annotations into the database with each annotation providing an explanatory description of at least one linked individual clause; and
presenting each annotation upon the selection of the at least one linked individual clause from the individual clauses table.

12. A method according to claim 9, further comprising:
storing a table of standard outlines into the database with each standard outline creating an organizational framework into which the individual clauses can be inserted in a structured order;
storing a list of standard outline authorizations into the database to control outline modification and usage by users;
storing a list of standard outline preferences into the database for the third parties; and
authenticating each standard outline selection by the user for the at least one third party, comprising:
selecting a standard outline from the standard outlines table;
comparing the standard outline against the standard outline authorizations list for the user and precluding the modification or usage of the standard outline where the user lacks a standard outline authorization; and
comparing the standard outline against the standard outline preferences list for the and including the organizational framework of the standard outline in the complex document.

13. A method according to claim 9, further comprising:
storing a table of non-standard outlines into the database with each non-standard outline creating an organizational framework into which the individual clauses can be inserted;
storing a list of non-standard outline authorizations into the database to control outline modification and usage by users;
authenticating each non-standard outline selection by the user for the at least one third party, comprising:
selecting a non-standard outline from the non-standard outlines table; and
comparing the non-standard outline against the non-standard outline authorizations list for the user and precluding the modification or usage of the non-standard outline where the user lacks a non-standard outline authorization.

14. A method according to claim 9, further comprising:
storing a table of topics into the database with each topic providing a description of a topic relating to an aspect of document drafting; and
presenting each topic upon selection.

15. A method according to claim 9, further comprising:
recording each selection of an individual clause from the individual clauses table that results in a final document into a journal.

16. A method according to claim 9, wherein at least one of the list of user authorizations and the list of clause preferences further comprises pricing information, further comprising:
filtering each selection of an individual clause from the individual clauses table against pricing information.

17. A computer-readable storage medium holding code for performing the method of claim 9.

18. A system for efficiently drafting a legal document using an authenticated clause table, comprising:
a table of clauses for use in a legal document compiled into a shareable database, each clause relating to conditions affecting one or more individual third parties and including user authorizations to control user access and clause preferences to specify content and structure provisions and terms for a specific subject matter;
a searchable clauses table index of the clauses table formed using a topical ordering based on the specific subject matter included in the provisions and terms of each clause; and
a clause selection interface including document drafting controls, comprising:
a record naming at least one third party in the legal document;
a clause index panel presenting the clauses table index and selecting a clause from the topical ordering by a user for the at least one third party; and
a clause panel authenticating the clause selection against the user authorizations for the user and specifying content and structure from the clause preferences for the at least one third party and displaying the clause following successful authentication.

19. A system according to claim 18, further comprising:
a table of outlines compiled into the shareable database, each outline creating an organizational framework into which the clauses can be inserted to form the legal document and including outline authorizations to control access and outline preferences for the third parties;
a searchable outlines table index of the outlines table formed using a topical ordering based on a subject matter of each outline; and
an outline selection interface including document drafting controls, comprising:
an outline index panel presenting the outlines table index and selecting an outline from the topical ordering by a user for the at least one third party; and
an outline panel authenticating the outline selection against the outline authorizations for the user and the outline preferences for the at least one third party and displaying the outline following successful authentication.

20. A system according to claim 19, further comprising:
a hierarchical tree display of at least one of the outlines table index and the clauses table index, each such hierarchical tree display comprising:
a general topic listing comprising one or more of general index entries from the at least one of the outlines table index and the clauses table index; and
a specific topic listing comprising one or more of specific index entries from the at least one of the outlines table index and the clauses table index.

21. A system according to claim 19, further comprising:
an annotation associated with each clause from the clauses table and with each outline from the outlines table, the annotation providing an explanatory description of at least one of the associated clause and the associated outline; and
an annotation panel presenting each annotation upon the selection of at least one of the associated clause and the associated outline.

22. A system according to claim 21, further comprising:
a hyperlink to a data source external to the shareable database incorporated into one or more of the annotations, the external data source providing a further explanatory explanation of an aspect of the annotation; and
a browser window presenting each external data source upon the selection of the hyperlink from the one or more of the annotations.

23. A system according to claim 19, further comprising:
a journal recording each selection of at least one of the selected clause and the selected outline usage.

24. A system according to claim 18, further comprising:
a table of topics compiled into the shareable database, each topic providing a description of a topic relating to an aspect of document drafting and including topic authorizations to control access and topic preferences for the third parties;
a searchable topics table index of the topics table formed using a topical ordering based on a subject matter of each topic; and
a topic selection interface including topic viewing controls, comprising:
a topics index panel presenting the topics table index and selecting a topic from the topical ordering by a user for the at least one third party; and
an annotation panel authenticating the topic selection against the topic authorizations for the user and the topic preferences for the at least one third party and displaying the topic following successful authentication.

25. A method for efficiently drafting a legal document using an authenticated clause table, comprising:
compiling a table of clauses for use in a legal document into a shareable database, each clause relating to conditions affecting one or more individual third parties and including user authorizations to control user access and clause preferences to specify content and structure provisions and terms for a specific subject matter;
forming a searchable clauses table index of the clauses table using a topical ordering based on the specific subject matter included in the provisions and terms of each clause; and
exporting a clause selection interface including document drafting controls, comprising:
naming at least one third party in the legal document;
presenting the clauses table index and selecting a clause from the topical ordering by a user for the at least one third party;
authenticating the clause selection against the user authorizations for the user and specifying content and structure from the clause preferences for the at least one third party; and
displaying the clause following successful authentication.

26. A method according to claim 25, further comprising:
compiling a table of outlines into the shareable database, each outline creating an organizational framework into which the clauses can be inserted to form the legal document and including outline authorizations to control access and outline preferences for the third parties;
forming a searchable outlines table index of the outlines table using a topical ordering based on a subject matter of each outline; and
exporting a outline selection interface including document drafting controls, comprising:
presenting the outlines table index and selecting an outline from the topical ordering by a user for the at least one third party;
authenticating the outline selection against the outline authorizations for the user and the outline preferences for the at least one third party; and

displaying the outline following successful authentication.

27. A method according to claim 26, further comprising:
building a hierarchical tree display of at least one of the outlines table index and the clauses table index, each such hierarchical tree display comprising:
a general topic listing comprising one or more of general index entries from the at least one of the outlines table index and the clauses table index; and
a specific topic listing comprising one or more of specific index entries from the at least one of the outlines table index and the clauses table index.

28. A method according to claim 26, further comprising:
associating an annotation with each clause from the clauses table and with each outline from the outlines table, the annotation providing an explanatory description of at least one of the associated clause and the associated outline; and
presenting each annotation upon the selection of at least one of the associated clause and the associated outline.

29. A method according to claim 28, further comprising:
incorporating a hyperlink to a data source external to the shareable database into one or more of the annotations, the external data source providing a further explanatory explanation of an aspect of the annotation; and
presenting each external data source upon the selection of the hyperlink from the one or more of the annotations.

30. A method according to claim 26, further comprising:
recording each selection of at least one of the selected clause and the selected outline usage in a journal.

31. A method according to claim 25, further comprising:
compiling a table of topics into the shareable database, each topic providing a description of a topic relating to an aspect of document drafting and including topic authorizations to control access and topic preferences for the third parties;
forming a searchable topics table index of the topics table using a topical ordering based on a subject matter of each topic; and
exporting a topic selection interface including topic viewing controls, comprising:
presenting the topics table index and selecting a topic from the topical ordering by a user for the at least one third party;
authenticating the topic selection against the topic authorizations for the user and the topic preferences for the at least one third party; and
displaying the topic following successful authentication.

32. A computer-readable storage medium holding code for performing the method of claim 25.

33. An automated system for drafting a contract with authenticated content selection, comprising:
a database shareable by a plurality of users, comprising:
a table of contract clauses for use in a contract, each contract clause relating to conditions affecting one or more third parties and including annotations explaining the content thereof;
a table of contract outlines, each outline creating an organizational framework into which the contract clauses can be inserted to form the contract and including annotations explaining the content thereof;

a set of searchable indices of the contract clauses table and the contract outlines table using a topical ordering;
a list of user authorizations to control contract clause and contract outline modification and usage by users;
a list of clause preferences to specify content and structure of the complex document for the third party; and
a contract drafting system, comprising:
a record naming at least one third party in the contract; and
a contract drafting module authenticating each contract clause and contract outline selection by a user for the at least one third party named in the record, comprising:
a contract clause selection module selecting a contract clause from the contract outlines table;
a contract outline selection module selecting a contract outline from the contract outlines table;
a user comparison module comparing the contract clause and the contract outline against the user authorizations list for the user and precluding the modification or usage of the individual clause where the user lacks a user authorization; and
a clause preference comparison module comparing the contract clause and the contract outline against the clause preferences list for the at least one third party and including and structuring the conditions affecting the at least one third party provided in the provisions and terms of the contract clause and the organizational framework of the contract outline in the complex document.

34. An automated method for drafting a contract with authenticated content selection, comprising:
maintaining a database shareable by a plurality of users, comprising:
compiling a table of contract clauses for use in a contract, each contract clause relating to conditions affecting one or more third parties and including annotations explaining the content thereof;
compiling a table of contract outlines, each outline creating an organizational framework into which the contract clauses can be inserted to form the contract and including annotations explaining the content thereof;

forming a set of searchable indices of the contract clauses table and the contract outlines table using a topical ordering;
storing a list of user authorizations to control contract clause and contract outline modification and usage by users;
storing a list of clause preferences to specify content and structure of the complex document for the third party; and
generating the contract, comprising:
naming at least one third party in the contract; and
authenticating each contract clause and contract outline selection by a user for the at least one third party, comprising:
selecting a contract clause from the contract clauses table;
selecting a contract outline from the contract outlines table; and
comparing the contract clause and the contract outline against the user authorizations list for the user and precluding the modification or usage of the individual clause where the user lacks a user authorization; and
comparing the contract clause and the contract outline against the clause preferences list for the at least one third party and including and structuring the conditions affecting the at least one third party provided in the provisions and terms of the contract clause and the organizational framework of the contract outline in the complex document.