The Holy Grail

There is much talk about the “Holy Grail” in document assembly.  As those who have seen “Monty Python and the Holy Grail” or more serious students of the Arthurian Romance (as opposed to those who have read “The DaVinci Code”, the Holy Grail is a “chalice” or “cup” which held the blood of the real Christ, was kept as a holy relic by the church for centuries and then was lost to history.  During the middle ages, knights went on quests to “find” and “recover” the Grail.  The Grail was never found.  But the “search for the Grail” filled up thousands of pages of literature, and the hunt for the Grail kept thousands of knights diverted in a quest that kept them from seeking to overthrow corrupt monarchies.

In the world of document assembly, one vendor has claimed to have achieved “the Holy Grail”.  The technology will not be available till late in 2007.  When it is, we will review it.  The question is not whether the Grail can be found, but whether it will be the “solution”.

In a recent newsletter, Exari claims to have achieved the Holy Grail in Document Assembly

The Holy Grail: A Document Assembly System That Reuses Negotiated Clauses
There’s a favorite question that people love to ask when they’re pondering whether document assembly will work for them. It usually goes something like this:

“That’s great, I answer all the questions, the system spits out a great first draft, I send it off to the other side, and their lawyers mess around with the fine print of clauses 11 and 23. Now, can I shove that document back into the document assembly system and change a few of my previous answers?”

http://exari.blogspot.com/2006/11/holy-grail-of-document-assembly-is.html

Looking into the Myth

This article inspired me to look into The Holy Grail and its application to the world of document assembly.  As a youth, I was entranced by the Grail myth.  I knew all the players: Percival, Gawain, Lancelot.  And so, when a document assembly vendor claimed to have achieved the grail, I thought I should take a look.

In the wikipedia encyclopedia, the Holy Grail was:

….  the dish, plate, or cup used by Jesus at the Last Supper, said to possess miraculous powers. The connection of Joseph of Arimathea with the Grail legend dates from Robert de Boron’s Joseph d’Arimathie (late 12th century) in which Joseph receives the Grail from an apparition of Jesus and sends it with his followers to Great Britain; building upon this theme, later writers recounted how Joseph used the Grail to catch Christ’s blood while interring him and that in Britain he founded a line of guardians to keep it safe. The quest for the Holy Grail makes up an important segment of the Arthurian cycle, appearing first in works by Chrétien de Troyes.

http://en.wikipedia.org/wiki/Holy_Grail

In the literature of Chrétien de Troyes, a book called The Arthurian Romances, and other literature, the Grail was a “physical object”.  It is not that the Grail was illusive (it was certainly) and well hidden behind the walls of a fortress (it was), or that riddles needed to be solved and quests achieved. All these were true.  However, the ultimate criteria for “achieving the Grail” was “purity”.  Sir Lancelot, perhaps the greatest knight of all Chistendom, could never achieve the Grail.  For despite his strength, despite his intelligence and ingenuity, and despite his great experience and wisdom, Sir Lancelot lacked a pure heart.  He was (of course) an adulterer, sleeping with the Queen.  And so while Sir Lancelot could come within the presence of The Grail, he could not actually see or achieve the Grail.

What the Grail means today

In some ways, what Exari claims to have achieved parallels the Grail myth.  They have claimed to have built a tool that will effectively import “negotiated changes” back into a template.  When I asked to see the Grail (oh… I was not worthy), I was told to come back in a few months when it went into beta—Not quite yet.  Was this an announcement of a technology like Microsoft, before it existed?  I had a client who was intrigued in building a web-based contract management system and wanted it now. I was on my quest.

But the more serious question is whether the eXari Grail will offer the miraculous curative powers of the real Holy Grail.  This made me ponder.  If you take a “bad form” and automate it, will the Grail of document assembly save you.  Or, will it more likely allow you to continue reusing a poorly automated template well beyond its natural life.  Will the “Grail” be used to prop up a corrupt Monarchy that should long ago have crumbled of its own weight.  Will the “lack of purity” … or poor quality of the automated template mean that you will “not achieve” the bliss that comes from possessing the grail.

When lawyers fail to look at contract automation as an iterative process of regular updates and redesign of forms, such systems fail to meet their full potential.  In fact, it is the “lack of the Grail” that has been the biggest stimulus to effective authoring of templates.  By forcing the template designed to “anticipate” the negotiable issues and build rules, it creates better contracts, better systems, more power.  Yes, I am sure my clients would love to have their own “Grail”.  But in the end, I have a concern that it will diminish their impetus to put the proper resources into automation.  It will allow them to go back to the bad old days of word by word negotiation.

Further Details from Exari:

But there’s good news. The holy grail is coming. When Exari V5 ships in the first half of 2007, a big part of this problem will be solved.

In simple terms, any document produced from Exari which then goes through a process of negotiations (typically in Word) will be able to be “round-tripped” back into Exari in a way that preserves any negotiated changes to the text of particular clauses. This means you’ll be able to save the answers given during document assembly, as well as the edits made during negotiations, and re-use them against the same template, or even against an updated version of that template. So it doesn’t matter that the template has changed since last year. You simply load it all up and what’s relevant will be used, and the rest will be ignored.

Adding Spacing to Dialog Elements

When working with Dialog Elements, particularly Horizontal Lines, you may wish to add a line (or vertical space) before the dialog element.  You COULD add a separate dialog element for the spacing. But that adds to your scripting and dialog management.  Instead, you should add a <.pm> Code before and after the Prompt for the Dialog Element.

  • Create the Dialog Element
  • Set to Horizontal Line
  • Choose Alignment:  Left/Center/Right
  • In the Prompt, Right-click and add a Paragraph Marker
  • Type your prompt
  • At the end, Right-click and add another Paragraph Marker

Optional, you can add formatting around the prompt to control things like Bold and Italics.

TechnoFeature: HotDocs Transformed — A Review of HotDocs 2006

AS IT APPEARED IN TECHNOLAWYER:

Buying a new pair of shoes is fairly simple — you pick out styles you like, try them on, and go with the pair that fits and looks best. But picking out shoes and picking out a document assembly program are two entirely different animals. In this article, technology consultant and HotDocs expert Seth Rowland takes the guesswork out of your search and arms you with all you need to know about the newest edition of LexisNexis’ popular document assembly software — HotDocs 2006. Seth gives you the lowdown on the pros and cons as well as his wish list for future editions. Whether you’re new to document assembly or an experienced coder, we think you’ll find Seth’s exhaustive review helpful in your evaluation process. This article contains 2,753 words.

INTRODUCTION: HOTDOCS AND ME

For the past eleven years I have dedicated my consulting practice to bringing “document assembly” to lawyers. As a “recovered lawyer” (University of Pennsylvania Law School ‘88 and veteran of Cravath, Swaine & Moore and Kramer Levin LLP), I see document assembly as central to the survival of the practice of law. As law becomes perceived as a commodity service, only by embedding knowledge in expert systems and practice automation can the lawyers of today deliver competitive high-quality legal services.

In the past decade, I have implemented document assembly solutions on a range of different document automation platforms. I have worked with HotDocs since version 4.2, serving at various times as a HotDocs Reseller, a HotDocs Consultant, a HotDocs Partner and now as a HotDocs Certified Independent Consultant (“CIC”). I have participated in several beta programs for HotDocs and posted hundreds of support e-mails to the HotDocs list since 2001. Members of my staff and I have logged several thousands of hours working with HotDocs and teaching others to use it. I can safely say that I know the product pretty well.

TEST LAB EQUIPMENT

In reviewing HotDocs 2006, I have tested it on an older Compaq Presario X1000 (1.5 Mhz Pentium M with 512 MB RAM) and a newer Dell Dimension 4600 (2.66 Mhz Pentium IV with 2 GB of RAM). Both systems run Windows XP, Service Pack 2, with Microsoft Word 2003.

WordPerfect users should note that LexisNexis continues to support WordPerfect templates. However, some of the new features (like Markup View) are only available for templates developed in Microsoft Word. Unfortunately for users of Mac OS X, no Macintosh version exists at present, although with the newer Macs running on Intel, you can dual boot into Windows XP and run HotDocs.

To check for compatibility issues between HotDocs 2005 templates and HotDocs 2006 templates, I installed Altiris Software Virtualization Solution (available from www.altiris.com). With Altiris, I could install each version as a separate application layer. This enabled me to switch between the two versions without rebooting.

TRANSFORMATION OF HOTDOCS

Starting with HotDocs 6 and culminating in HotDocs 2006, LexisNexis has completely rewritten the HotDocs engine. HotDocs has shifted from a powerful dialog-box based template-filler, into a true interview-driven application.

In HotDocs 5, the assembler would parse a template sequentially, and present a series of dialog-boxes, as needed, to complete the assembly. With HotDocs 6, the dialog-boxes were merged into a single interview with the ability to navigate from one dialog to another through an interview tree. This change began the shift from a template-driven system into a scripted interview-based application.

Over time, the developers added features to the interview. Via tabs, you could see a blank questionnaire and a fully completed questionnaire. In HotDocs 2005, they added a dynamic document preview. As the answers in the interview changed, the text in the preview changed. Variable text was marked in blue with hotlinks to actual questions. You could now use a comparison tool to visually compare the text under different scenarios.

With the inclusion of the HotDocs database connection (and its enhancement), as well as the Time Matters connector, HotDocs entered the world of workflow, giving it the ability to easily pull in data locked in company and law firm databases.

HotDocs 2006 represents the culmination of this evolutionary process: easier, faster, more powerful, more flexible, and with a richer user experience. LexisNexis has also addressed the need for lawyers to better understand the templates through markup tools and coloring that hides the complexity of the systems.

PROS OF HOTDOCS 2006

Below you’ll find just a few of the new features available with the latest release of HotDocs.

The Error Is Your Fault — And Now You Know Why

Perhaps the best new feature of HotDocs 2006 is that “IT WORKS.” Stability issues plagued a number of the new features that emerged in HotDocs 6, but these have now been ironed out. HotDocs 2006 doesn’t crash; it gives you an error message and takes you to the text of the template or the portion of the script that has caused the error. Most “crashes” result from template developer error (sorry folks, it is sometimes your fault). The problem was lack of information in a complex multi-template system; i.e. identifying the location of the error. The system will now halt the assembly and take you directly to the error.

In the template development environment, you can click a button to “Test Assemble” the document. In this Test Mode, you can use the Document Preview tab to test for errors under different scenarios and then use the editor to right-click on an offending variable or dialog to edit the script or text.

You Would Be Foolish Not to Use These Tools

Haven’t you realized that “real” template developers use toolbars? Seriously, template development is complex with myriad opportunities to make mistakes. In recognition of this, you now have a range of tools on the Word toolbar to assist in spotting potential errors in coding and adding codes:

• Markup View/Developer View

This feature enables the developer to hide all the “blue code” in a template and present it to the knowledge specialist with a simplified markup. Green square brackets denote the borders of conditional text. Blue italic text in square brackets denotes fields — very much like standard word merge-text fields. In this manner, you can edit the text of the template without the distracting conditional logic. And then, with a single click, you can convert the template back to developer view with all the HotDocs codes revealed. Making templates more readable is always a good thing.

• HotDocs Outliner

Have you ever wanted to know which questions were ONLY asked if the Borrower was a corporation, or some other special criteria? With the HotDocs Outliner, you have a visual tree of all HotDocs variables in a template. If they appear in conditional text, the outliner will show all the parent conditions which determine the relevance of that particular variable. This feature really works; but you need to be in Developer View (see above) to use it.

• Apply Colors -> Nested

In HotDocs 2005, the concept of colors for conditional logic was introduced, along with the ability to number rules. In HotDocs 2006, this feature has been refined with the addition of a nested color schema. This means that by visual references (green is top level), you can tell all the parent conditions for a particular block of text. In plain English, you can now know “why” that darn paragraph did not show up in the template … or the converse. As part of this feature, HotDocs will throw an error if there is a missing END IF or an extra END IF and bring you to that point in the template to fix it. HotDocs also has a “sequential” coloring scheme. While the colors are pretty, this feature is only marginally helpful in diagnosing errors in template design.

• Other Refinements to Toolbar Buttons

Match Fields and Label Fields are useful tools. The first enables you to click on a conditional expression and find the matching END IF (or converse). The Label Fields formalizes what has been known by developers for years — that you can provide documentation inside a HotDocs fillpoint which does not affect the automation by using a “//” followed by the comment. Label Fields now enables you to control the visibility of those comments as well as supply a sequential identifier for each block of conditional text.

Bake the Cake and Eat It Too with Span Tags

How often have you wanted to change a section of an automated document, while preserving the automation so that you could reassemble the document? With the addition of a SPAN instruction, developers can now control document editing by marking sections of a template as a SPAN. This enables users to edit that section of text at the Document Preview tab of the assembly window. You can then save changes made during assembly to the answer file so that you can reassemble the same document later and have your changes reapplied. Used judiciously, this is a great feature. It moves the editing process into the Document Interview. For some users it may appear counter-intuitive: to edit an automated document, you need to “assemble” it, click on “preview” and then make your changes. This is not yet the “holy grail” of document assembly, but it gets closer.

The Razzle-Dazzle of Dialog Elements

HotDocs now provides a new Dialog Element component that enables you to add additional text, hyperlinks, buttons, graphics, lines, and spacing to dialogs more easily. HotDocs has gotten rid of the ugly undeclared component known as “additional text.” What used to be done by special scripting of “additional text” now is done much more logically with this new component. You should really care about this because it makes the “user” experience so much simpler.

What the Heck Are “Dot Codes”?

HotDocs 2006 introduces a new feature called dot codes, which enables you to 1) format text results derived from computation scripts, 2) insert special characters in plain text and template text, 3) format variable prompts and additional text, and 4) punctuate non-repeated lists of answers. This stuff is “cool.” If I had the last item, the punctuation codes, I would be much poorer today, for I have charged clients thousands of dollars to implement proper punctuation in automated agreements.

SOME AREAS OF CONTINUING WEAKNESS

Speeding Up Complex Interviews

With so much now riding on the interview that needs to be rendered dynamically, certain aspects of HotDocs has slowed down. There are pauses when you exit a question before the screen refreshes that can last a second or two as HotDocs crunches through the implications of each change. HotDocs has provided a solution, a button to “turn off dynamic interview.” This will substantially speed the performance since HotDocs will not refresh the interview tree until you exit the dialog.

Answer File and Document Management

HotDocs has historically been built around single template assembly off a shared client or matter answer file. If you don’t have a document management system (“DMS”) like Hummingbird, iManage, Worldox, or Time Matters, you will have to manage documents with Windows Explorer. This works fine when producing one document at a time. However, when you use a single interview to produce 20 documents (e.g. a loan package), HotDocs does not give you control (in the Interview script) to define the name and location of the answer file based on questions in the interview or to provide an output folder and location for the documents being assembled. A clunky workaround for the ASSEMBLE command exists, but more explicit control in scripting would go a long way in giving HotDocs workflow functionality.

Autosave an Answer File

The HotDocs API (Application Programming Interface) is very powerful. In the hands of an experienced database programmer, miracles can happen. However, most template developers are not experienced programmers; they generally come from the ranks of lawyers, paralegals, and legal secretaries and are self-trained. I would love it if some of the functions of the API could be incorporated as functions in the component manager — in particular, the ability to force a “SaveAs” which incorporates a HotDocs Variable into an Interview Script.

More Sophisticated Event Management

When a programmer talks about events, she is not talking about parties. HotDocs supports only two types of events: a global on change and a local on click. The on change happens when you change a variable. Every time you change a variable, it is checked against all scripts in the system. If there is a match, that script fires and things happen in your interview. By contrast, the on click event happens ONLY when you click a button. It would be better to have a middle ground, where you can tie an event directly to a single variable and have it fired “on exit” from that variable.

Rationalizing Complex Dialogs with SubTabs and More Variables in a Row

Computer monitors provide only so much screen “real estate.” For dialogs with lots of variables, the screen fills up with questions (and the infernal scrollbar emerges). This happens because HotDocs only enables you to put three variables in a row. This made sense when we had VGA screens with 640 x 480 resolution. But I run two 19-inch LCD panels with 1280 x 1024 resolution and my three variables in a row dialogs look ridiculous. The ability to layout additional variables would go a long way in making the dialogs more user-friendly. HotDocs could add a new dialog element called a “SubTab”. By default, all variables in a dialog would be on the primary tab. However, once you inserted a SubTab, all variables that followed would reside on the SubTab. Tabs would have titles and run across the top of the dialog. So rather than scrolling (to see what you can see), you could click on the tab button.

WISH LIST FOR THE NEXT VERSION

Developers always want “more.” So I’ve compiled a speculative wish list for LexisNexis to consider.

Component File Plugins

HotDocs enables the developer to use “pointed component files.” In so doing, the developer can avoid “rebuilding” dialogs and variables for each template. With HotDocs 2006, the “pointing component file” can have a single computation component that contains a special interview script that calls on the master component file. This is the first step to making HotDocs more modular. Ideally, you’d have a master component file that at runtime can pull in elements from multiple other component files. This would enable you to develop special-purpose CMP files that function essentially like plug-ins to extend the power of the program.

Custom Functions

HotDocs has a powerful scripting language, with a number of special functions for text, number, and data manipulation. There are times, however, when there is no function available for the task at hand. The current approach is to create repetitive computations. So if a special format is required for fractional shares, a new computation script is created for “each” variable that needs to be converted into a fractional share. With a function, you can pass an argument to it, e.g. and then reuse that computation for handling other variables.

Style Sheets and Library Level Customizations

With HotDocs 2006 you can change the appearance of the HotDocs interview, selecting colors, font type, and font size. This approach works much like a Web-based cascading style sheet, enabling the same interview to be rendered differently depending on the settings in the styler. If the style settings could be stored at the HotDocs Library or the Component File level, content providers (and office managers) could provide a distinctive look and feel for each form-set (e.g. Red is for Real Estate and Blue is for Corporate).

EXPERIENCE WITH TECH SUPPORT

Technical Support for HotDocs falls into two categories: (1) application support, and (2) template development support. LexisNexis provides very effective application support: installation assistance, compatibility issues, support for links to word processors and document management systems. If the program won’t load, or the PDF writer won’t work, LexisNexis support technicians will work with you until it does.

However, LexisNexis draws the line at template development support. Any issues regarding the proper design or functioning of templates, development of interviews, formatting, etc. is handled either through paid consulting services offered by LexisNexis; through a searchable and extensive HotDocs knowledgebase; or through the HotDocs Listserver.

The HotDocs List (with over a thousand registered members) is a unique place for freewheeling discussion of ideas, problems, and best-practices. Unlike other lists, HotDocs developers (both those working for LexisNexis and those working independently) actively monitor this list and review and respond to posts by users. Many discussions started on-list move to off-list calls and exchanges and real solutions. The response time for posts can be measured in minutes, whether it is from a developer or a fellow user with a similar issue.

CONCLUSION

If you take your law practice seriously and plan to stay in the law business over the next decade, you should seriously look into document assembly, and more specifically HotDocs. It is a truly great product that can dramatically enhance your productivity and profitability. Buying the software, however, is only the first step. Like my membership at New York Health and Racket Club, merely paying dues doesn’t make you healthy and fit.

Copyright 2006 Seth Rowland, Esq. All rights reserved.

ABOUT THE AUTHOR

Recovered attorney Seth Rowland was named TechnoLawyer Consultant of the Year in 2002 for his contributions to TechnoLawyer on the subject of document assembly and law practice automation, and more importantly, his service to law firms around the country. He is a nationally known technologist whose company has helped many law firms and content providers build document assembly applications for both internal use and for resale. Please feel free to visit his blog for the latest on document assembly or the video tours page to see what such a system can look like. Basha Systems currently offers document assembly consulting services in HotDocs, DealBuilder, and Perfectus.

Contact Seth:
E: sgr@bashasys.com
T: (914) 827-9173

The Yin and Yang of Document Assembly

I gave the following presentation in Sydney, Australia at a conference sponsored by Simon Lewis on the future of Document Assembly.  In this conference I spoke about the opportunities and barriers to entry for document assembly in the legal marketplace.

A word on who I am.

  • A lawyer … like you and the people you work for with impeccable academic credentials
  • A programmer … like some of you with NO academic credentials
  • An evangelist who seeks nothing less than to turn the current legal profession UPSIDE DOWN and bring to the practice of law 19th Century business principles:
  • Define the Product
  • Figure a way to SELL the Product
  • Mass Produce the product

THESIS: Document Assembly is not a “product” or a piece of “custom software”, but rather part of a process that transforms the practice of law.

  • It is an evolutionary and enabling process that builds on existing best practices and manual processes.
  • The goal of a well built system is not people replacement, but enablement, the enabling of your current staff to reach new heights of productivity
  • The goal is the ability to bring on new staff as productive members of the team shortly after hire.
  • The Yin is your existing staff and manual processes.
  • The Yang is the software and the custom solution.
  • Together, they create a wholistic solution that will bring your law practice to the new levels of profitability.

Prerequisites to Selling Document Assembly in the Organization – Requires agreement on the Following

  • Law is NOT about Hours, but Deliverables
  • The DELIVERABLE can be accurately described
  • The CURRENT cost of achieving that deliverable can be quantified (albeit in a range)
  • The Time from Retainer to DELIVERABLE is a separate quantifiable factor
  • The case load maximum capacity of your existing talent is a FACTOR.

Document Assembly can do it

  • I have not yet met a document I could not Automate.
  • The more complex the document the GREATER the return on the investment in automation.
  • You know the story about the Ginzu knife: it slices … it dices … it chops … it even opens Beer cans …
  • A well implemented process can do and handle ANY ANTICIPATED legal or factual issue.

Can Your Firm Afford a Document-Assembly Empowered Business Process?

  • I am not talking about CASH … cost in the traditional sense.  I am talking about STRESS on the organization of a process that can be sped up by a factor of 10 to 100
  • This stuff is Crack Cocaine … Once started, there is no going back.  You take away document assembly, and your staff will QUIT.
  • Every aspect of the BUSINESS process is up for evaluation for potential automation.
  • Document assembly means paralegals and secretaries are doing FIRST RATE legal work and calling in the attorney for Closings and Court Appearances.
  • With Document Assembly you can ELIMINATE the Middleman … that supervisor layer that serves as an quality control and process bottleneck on getting the work done.
  • With Document Assembly you can RETAIN staff.  The work is exciting and the pace is fast.
  • With Document Assembly you can scrap those plans to go on a HIRING SPREE.  Your current staff can handle the work.
  • Document Assembly enabled processes adhere to Moore’s law … each year, you can double the amount of the work with the same Staff.

The typical questions and some not so typical answers

  • What will it ACTUALLY COST? How long is a piece of string …. as long as it needs to be.
  • How long will it TAKE?  How does one move a mountain?  …. One rock at a time.
  • Will you constantly need to REVISE the system?  Will you stop practicing law?  No … so why should a document assembly process ever be finalized.
  • Are all document assembly platforms the SAME?  … Oh … you must be snorting coke.  Document Assembly programs, unlike people, are not ALL created Equal and endowed by their creators with certain inalienable functions.  Some are simply more capable than others.
  • Does it REALLY matter which document assembly program I start with?  NOT REALLY.  So long as you start, and follow a clearly defined and documented process.

Convert Time Matters Date to a HotDocs Date

Dates in Time Matters display as Dates on the Matter form. But, they are actually stored as Numbers. When you bring them into HotDocs via the Database Connection or Active Integration, you get a number, and not a date. This solution is courtesy of Bart Earle.  Dates are stored as the number of Days from December 28, 1800. The solution is to create a computation that takes that number and converts it into a date that can be used and formatted by HotDocs.

Create a compuation variable such as Convert Date CO. The formula gets the number of days from December 28, 1800 and subtracts that from the number from the TM database.

TODAY + (TMBaseDateNU – (DAYS FROM (DATE OF(28,12,1800),TODAY))) DAYS

The result will be negative if TMBaseDateNU references a date in the past. It then adds that result to TODAY, in effect counting backward or forward from TODAY to figure out the date.

The Case for Document Automation

Darryl Mountain (Ontago, Inc.) recently submitted a scholarly piece to the International Journal of Law and Information Technology, titled “Disrupting conventional law firm business models using document assembly”.  In this piece, Mountain looks at document assembly software programs: dealbuilder, ghostfill, and hotdocs (to name a few) in the context of how they are, and will be shaping the practice of law—worldwide. To users of document automation, his conclusions will not be surprising.  However, to those on the fence, or to those trying to convinces others to get off the fence, this should be good reading.  CLICK to read article

For other articles on document assembly, please CLICK HERE.

Ghostfill Create a progress bar

There are times where you wish to give the users information that progress is being made during an assembly, or some indication of where they are.  GhostFill has a progress bar utility. It can be invoked and then controlled by a script. That script is up to you.

%[x = dialogs.Utils.CreateProgressBar]
%[x.title = “This is my Title”]
%[x.show]

%[x.progress =0.1]
%[x.progress =0.2]
%[x.progress =0.3]
%[x.progress =0.4]
%[x.progress =0.5]
%[x.progress =0.6]
%[x.progress =0.7]
%[x.progress =0.8]
%[x.progress =0.9]
%[x.progress =1]
%[x.hide]

This code illustrates how to create and control the progress bar. It is up to you to create the rules for each of the progress codes. It could be a clock timer, or it could be just some condition.

Filtered ADDing to MC Variables

Quite often, you’ll want to dynamically create the options of a multiple choice variable from a repeating dialog (or other source).  This HotDocs snippet will detail how you can do that.  The concept is simple – if you ADD an option to the MC variable, you also accumulate the ADDed value in a text string, so that you can test against that string later.  Then, each iteration, you test whether the current value you may wish to add already exists in the text string and if it does, you do NOT ADD it.  If it does NOT exist, you ADD it to the MC variable, and also to the text string.

In this example, we are repeating through a list of generic party names (essentially a database on the fly in HotDocs, using a REPEAT dialog), and adding names to a multiple choice variable for possible Guarantors.  Testing TE is the text variable that will store each unique value as it is ADDed to the multiple choice variable.  Party Name CO is a computation that assembles the full name of a given party, much like you’d see anywhere else in a HotDocs system.  On this note – it is quite often easier to build a computation specifically to use in this scenario, so that you can do all your error checking & string building there, leaving your ADD instructions simple and clean (even if you are only joining two unconditional vars together, it LOOKS cleaner).  Guarantor Select MC is the multiple choice variable that we are building on the fly.

//clear & clean our values
CLEAR Guarantor Select MC
SET Testing TE TO “”
//lets go
REPEAT Party RPT
IF Testing TE CONTAINS “«Party Name CO»”
//do nothing
ELSE
ADD “«Party Name CO»” TO Guarantor Select MC
SET Testing TE TO Testing TE + “ «Party Name CO»”
END IF
END REPEAT

You could also use a HotDocs Filter to do this however, this approach is “safer” for one reason…as soon as you filter a repeated dialog in HotDocs, the system var counter is altered.  If I wanted to use my new multiple choice variable as a lookup to Party RPT in this example, my ADD line would look something like this:

ADD “«COUNTER:009»|«Party Name CO»” TO Guarantor Select MC

This would mean that the option is the COUNTER value (meaning index) of the dialog that it came from, while the prompt is the party’s name.  If you are using filter, and the filter actually strips out an iteration from Party RPT, the COUNTER will be WRONG.  Yes, wrong!  No, this is not a bug in HotDocs, it is intentional as COUNTER with a FILTERed dialog will reflect the filtered answers rather than the “complete” answers.  To explain a little more clearly, lets take a look at a repeating dialog answer set that contains a duplicate entry:

1 Jack Jones
2 John James
3 Jack Jones
4 Michael Davis

Using filters and the above ADD code, you would get a list that looks like this:

(1) Jack Jones
(2) John James
(3) Michael Davis

Michael’s index in Party RPT is actually 4, but because the 2nd occurrence of Jack Jones got stripped out, HotDocs changed his COUNTER value to 3 (because this is his index in the FILTERed answer set).  This means you cannot use your MC variable to index Party RPT later, because Michael’s entry will actually index incorrectly.  If however we use IF statements instead of a FILTER, we would get:

(1) Jack Jones
(2) John James
(4) Michael Davis

No filters means that COUNTER is once again a reliable indexing tool.  This minor difference may not make any difference to many HotDocs developers out there.  But if you are populating dynamic lists and starting to toss around (or centralize!) data, be aware – FILTERing repeats can be problematic.  The rule is simple: if you intend to use a COUNTER in your ADD statement, dont use filters.  If you must use filters, you must use a manual COUNTER that you define, control & increment yourself.  Bear in mind that this can lead to endless loops and irritating code, so I try to avoid it where possible (which I get away with most of the time).

Half-Pregnant Document Assembly Systems

In a recent TechnoRelease, entitled “TR: Document Assembly: Let’s Be Frank.”, Roy Lasris, President of Innovative Software Products of Virginia, the developer of Pathagoras, wrote the following

Seth Rowland, a well recognized document assembly guru and multiple TechnoLawyer Contributor of the Year outlines in an article published in the September 27, 2005 TechnoFeature 13 discreet steps needed to implement an effective interview driven document assembly system. Seth implores those who are considering document assembly to find the time to implement all steps. Failure to do so will result in less than an optimal system.

I thank him for that quote. He then continued:

As a busy attorney, you may have neither the time nor the inclination to invest that kind of energy without having a guaranteed outcome. As academically accurate as he may be, Seth’s approach is simply contrary to (1) human nature and (2) the nature of most law offices. If you cannot or will not find the time to do it, then you won’t do it.

It is there that I disagree, both with his interpretation of my article, and his conclusion that real a substantial time investment in document assembly will not be rewarded by substantial multiples in profits for any law firm that makes such an investment.

Where Investment Counts

The same law firm that will calmly make a decision to to hire a $150,000 associate will agonize over a $30,000 automation project.  In the first year, the $150,000 associate will bring in a net profit of $50,000 to $100,000.  In the second year, the net profit will be about the same, for another $150,000.  The return on investment is a whopping 30-60%.  That’s if you are lucky.  Once that associate is well trained, he will want more money, or he may decide to bolt to another firm, taking his expertise (and maybe your client) with him.

By contrast, a $30,000 investment in a document assembly system, will allow your existing staff to do the same work as that $150,000 associate and maybe several other expensive associates.  The amount of money made each year on this initial investment of $30,000 would be equal to the profit on the expensive associate, for much less outlay.  The $50,000 to $100,000 would represent a 180% to 300% return on investment.  In the second year, even assuming maintenance costs, keeping the forms current of $10,000 per year, the profit would jump to 500% to 1000% on the annual investment. And even better, the “document assembly” system will not threaten to leave the firm or ever take your clients.

So why does this matter

This ROI will not happen with a simple clause based system which relies on constant and repeat judgment by an expensive associate to administer.  It will NOT happen with Pathagoras.  Pathagoras is a start.  It will happen with a carefully analyzed and scripted system that evaluates the whole document automation process, extracts the fundamentals and then scripts the whole process. When you are thinking of document assemby, be aware you get out of system what you put in.

To those users of Pathagoras, I offer this advice.  You have started down the right path.  You have started making the investment.  But you should not be wedded to your software choice.  Once you have organized your forms and information, identified all the key clauses that are worth re-using, you will be ready to take the next step.

Lessons from Mrs. Frisby – Nibble before you Bite

Mrs. Frisby came into our life last week … She is a “fancy rat”.  Her presence as a pet in the household has forced a re-examination of my prejudices as I have put this creature, who normally skulks around in the dark (avoiding rat poison) under close observation.  I have observed rat behaviour that has lessons for document assembly …

Nibble before you Bite

A rat does not see very well … That should not surprise you since rats are nocturnal, where the sense of sight is not particularly useful.  Rather rats smell, use their whiskers, and use their teeth. Mrs. Frisby, in the morning samples my fingers with her teeth, before you she climbs onto my hand.  When she discovers it is flesh and blood (and not rat food), she climbs on board.  At first, I was concerned with this biting behavior.  But she does not bit down … rather, her teeth come into contact with my skin, and then the bit withdraws.

So … what does this matter

In looking at document assembly systems, my most successful projects have been those that started out as a nibble.  The nibble before the bite means that the user (1) understands the work involved, and (2) has not put too much time and capital at risk before ensuring that there will be a success.  The nibble also allows time to develop an understanding of the document assembly system’s method of markup.

So what is the big deal about Pathagoras

Document assembly systems are complex and require a lot of work, despite what some responders have said to my article regarding the Pathagoras system.  Would you want to hire a lawyer who went and grabbed a bunch of miscellaneous paragraphs, each time he put together an agreement for you … or would you prefer a lawyer who planned out several contingencies, and choose the options most appropriate to your situation.  Don’t get me wrong, something is better than nothing.  But don’t kid yourself that you are going to build a system that will save you “tens of hours” on a project by using Pathagoras.

Because the “hard coding decisions” are avoided in a clause based assembly system, the time you save in development is lost EACH TIME you do an assembly, because the user is (1) required to have a higher degree of knowledge of the system, and (2) the user will have to continually “repick” the appropriate clauses, and (3) because the clauses exist in isolation, out of the contractual context, changes in one clause, that need to be reflected in another portion of the agreement, simply don’t get made because the “distance” between the clauses, and the memory of the “unwritten” and “uncoded” rule rests with the trusted author.