How To “Think” Document Assembly

What’s in a name? The key to HotDocs is the’variable’. The variable is the fundamental element of HotDocs. The variable’s definition is stored in a file external to the template called a component file. That definition, may include a ‘script’ which contains a string of references to other variables and instructions. Inside the templates, variables are used to input text. Also in IF STATEMENTS, variables can be combined in a mini-script to determine whether to include or exclude the enclosed text. Advanced developers have discovered that ‘variables’ in templates can also be used to SET values and run other strings as well.

Goals of any schema

  • Understood by Attorney
  • Usable by Programmer
  • Transferable across templates



Dialog Naming

  • DIALOG + VarName + VarType
  • Function + VarName + VarType
  • Function + DIALOG + VarName + VarType
  • Text = TXT or TE
  • Multi Choice = MC
  • Number = NU or NUM
  • Memo = MEM
  • True/False = TF
  • Computed = CO
  • Leading Caps
  • Dialog = DLG (Optional)
  • Repeat = RPT (Optional)

To “think HotDocs”, you need to look at a textual problem and identify a solution. A few samples are given below:

Block of Alternative Text

For example, your master document has a series of alternative mortgage provisions. You need to first identify the standard provision. Then, you need to evaluate the alternative provisions:

  • Do they add language?
  • Do they remove language?
  • Is the language mandatory in certain circumstances?
  • Is the criteria a simple question?
  • Is the criteria a complex question determined by information asked elsewhere?
  • Are there any other ‘codependent’ provisions.

Filling in a Blank

The master document contains a series of ‘blanks’ that need to be filled in during assembly. This is just the beginning:

  • What type of data goes into the blank?
  • Any special formatting requirements?
  • Any special constraints (e.g. must be a state, or must be a number less than 100, or must be a valid date)
  • What happens if the question isn’t answered?
  • What if the user doesn’t know the answer?
  • Does this value ‘derive’ from some other variable?

When a number is not a number

It is a misnomer that all numbers are the same. For HotDocs, a number is an integer or decimal that has a ‘value’ and can be converted to text. Under this definition, a zip code is NOT a number even though it consists of numbers. Similarly, a telephone number is NOT a number; nor is a Social Security Number. HotDocs will format numbers with commas … but it will not convert text.

Formatting an Optional Paragraph

Master documents are often contracts which has special outline numbering requirements, internal cross-references and indexes. Any HotDocs solution must carefully address the ‘formatting’ of the resulting document.

  • Have heading paragraph styles been defined in the template?
  • Is there an ‘outline’ numbering scheme?
  • Where have you located the and codes?
  • Do you want to use internal cross-references?
  • Do you want to use fixed references?

Extracting Data from a Collection

Sometimes you need to gather information about a collection, whether details about individual parties to an agreement, or a description of assets etc. HotDocs handles this information as a ‘REPEAT’. However, sometimes you need to pull out details about a ‘particular’ item in the collection. If you just use the variable without special care, you run the risk of ‘trashing’ the data about other items in the collection. Special consideration includes:

  • Is the variable used inside a ‘repeat’?
  • Are you ‘indexing’ the variable?
  • Do you need a ‘filter’?