*******************************************************
TreeAge Pro 2007 Release 1.6 Notes
29 November 2007
*******************************************************
Release 1.6 -- 29 November 2007:
* Autosave -- Fix time check to detect a useful -autosave file.
* Probability sum error -- When roll back failed due to probabilities not
summing to 1.0, error message was suppressed.
* TreeAgeProLib/ApplicationObj.TopDocClose -- Ensure that calling TopDocClose
does not hang.
* TreeAgeProLib/MonteParams -- When running trials-only simulation on a TreeObj
containing both 1st-order and 2nd-order sampling distributions, defaults to
sampling only 1st-order distributions (same default behavior as simulation
carried out normally, from TreeAge Pro's Analysis menu).
Release 1.5 -- 14 September 2007:
* Parser messages -- Disabled some extra parser syntax error messages.
Release 1.4 -- 7 September 2007:
* Distributions list -- In trees with no distributions, list dialog buttons were
not being disabled. Fixed.
Release 1.3 -- 30 August 2007:
* Stored analyses -- Re-enabled stored 1-way sensitivity analyses (broken in
release 1.0).
* Analysis > Net Benefit -- Now works correctly with downstream/embedded decisions,
which are optimized (as during rollback) using interval values of WTP.
* User() function -- Fixed problem with User("myfunc";x;y...) calls to user-defined
Python functions failing in some models when tree variables passed as function
arguments.
* Debugging simulations -- Better handling of aborted simulations when detailed
calculation debugging preference turned on. Was causing error when tree subsequently
closed.
* Multithreaded simulations -- Fixed problems causing multi-threaded simulations
to sometimes fail with models using the Tree() function, user-defined Python
functions, or recursive variable definitions. Also, enable ESC key to skip long
simulation pre-optimization step.
* Parallel trials -- Simulations would stop if parallel trials option was checked
(from the prior simulation) but not currently enabled because wrong type of node
selected; a warning is now presented. Additionally, fixed a minor memory leak occurring
when the Calculate extra payoffs settings was also on.
* Dirichlet distribution -- During fast, multi-threaded simulations on multiprocessor
computers, if Dirichlet distribution was not being sampled (e.g., expected values used
during a 1st-order-only simulation), it was possible for threads to conflict, causing
probability errors. Fixed.
* Weibull distribution -- Enable sampling when shape parameter (was called "k") < 0.
Also fix expected value calculation.
* Distribution parameter approximation -- Distributions created using the option to
approximate parameters from statistics -- the gamma, beta (real number form), or
lognormal -- will wrap complex, multi-part expressions entered by the user within
parentheses. (Not needed if simple expression entered.)
Release 1.2 -- 18 June 2007:
* Tracker variables -- When turning tracker property on/off in Variable Properties,
was not resorting variables list for Variable Definitions window. Fixed.
Release 1.1 -- 13 June 2007:
* TreeAgeProLib/Excel module (Note: For Excel macros to use new methods, you may
need to remove VBA reference to TreeAgeProLib, save and close project, reopen and
add reference back.)
>> TreeObj -- GetTable(name) handles numeric "name", to allow getting a TableObj
without knowing table name, just by order in list. Also, better handling of
CostEff analysis method (e.g., suppresses dialogs).
>> TextReportObj -- ExportToExcel("cell", i, j) method added, allowing fast
export of report to an Excel cell; if i and j are non-zero, they specify a
range of rows/iterations to export. Also, GetRowsLong() method added,
because GetRows() returns only "short" value, up to 32k.
>> ApplicationObj -- TopDocSaveAs() works for saving a tree (*.tre) as a new
package (*.pkg) file.
* Inverted effectiveness -- Cost-effectiveness net benefit graphs now work correctly
when tree preferences using inverted incremental effectiveness setting (e.g. 2-way
graph).
[Healthcare module]
* Monte Carlo -- Improved stability. No longer stops/aborts at start of simulation
if ESC key pressed sometime prior to simulation. In multithreaded simulations,
models using the _trial or _sample counter (or a simulation seed) will have
completed iterations added to the report sorted by iteration (rather than simply
appended in order of batch completion). Full pre-optimization no longer required
for multi-threaded simulations (e.g., if memory limits will not allow full
optimization). Global()/GlobalN() functions not calculated during pre-optimization.
* Undo -- Undoing a variable definition change was resetting text of definition
correctly, but was resetting value to -1 temporarily until tree was closed, or
definition updated again.
* Sensitivity analysis -- Line graphs no longer report thresholds at every interval
when lines are stacked on top of each other (as opposed to crossing/intersecting).
* Excel exports -- Better support for higher row and column limits in Excel 2007.
[Excel module]
* Extra payoffs -- In two-dimensional simulation, extra payoffs were not being
recorded in simulation output. Fixed.
* Distribution graph -- GRAPH > Statistics report now adds 10th, 90th percentiles.
* Properties grid -- Grid navigation using keyboard works. Use Tab, Enter, or Arrow
key to move from label column into editing column on the right, and Tab or Enter to
save change. (When editing node name field, use CTRL+ENTER to save the changes).
Also, fixed problems occurring when changing node selection while editing a property.
* Node outline - Variables ending in underscores no longer converted to bindings.
Node outline pane's show/hide preference saved with tree.
* Tree() function -- More stable in multi-threaded simulations, and "sub" tree calls
to variables defined in the "master" tree will also be evaluated in the master (e.g.,
using distributions in the master).
* Tracker variables -- Tracker property can be turned on/off in Variable Properties.
* Rollback columns -- Avoid crash when a custom-type column uses a deleted variable.
* Rollback (TRB) files -- Clones saved as regular nodes, to store all calculations.
* Autosave -- No prompts during background autosave.
* Python() function -- Simple Python("expression") syntax working.
* TreeAgeScript -- SetNodeVar() works to define trackers. Also, quotes can be
"escaped" using a "\\q" sequence, e.g. Script("!SetNodeVar(testPy, Python(\\q100\\q))")
* Other interface changes -- CTRL+F1 hides ALL extra panes. Categories button in
variable Properties. Node Comment window's help note removed.
*******************************************************
Original Release 1.0 -- 2 March 2007:
* Add COM library (TreeAgeProLib) to TreeAge Pro's Excel/COM module, for scripting:
> ApplicationObj -- used to open or connect to trees, graphs, and other documents
> TreeObj -- used to change and analyze tree documents
> MonteOutput -- used to output graphs/reports from simulations
> GraphObj -- used to output and manipulate graph documents
> TextReportObj -- used to manipulate text reports
> TableObj -- used to update/output table data
> and much more...
(NOTE: Old DataATLLib.CurrentTree object is no longer available, its functions
handled by TreeAgeProLib.TreeObj and TreeAgeProLib.ApplicationObj objects in the
v2007 library.)
* User-defined functions -- Custom functions can be quickly written in the
straightforward but powerful Python language. Previously, using Python scripts in
TreeAge was not easy. Now, Python functions can simply be written in a regular
variable definition, for example:
def DiscVal(val,yrs,rate=.05):
denom = (1+rate)**yrs;
return val/denom;
Your custom Python functions can access tree variables and functions, Python's
powerful built-in functions and objects, as well as the vast array of custom and
third-party Python scripts and modules. (See -- http://docs.python.org and
http://www.treeage.com/support/Python.html)
* Documents View -- The TreeAge Pro window includes a floating window
showing a "tree" depicting all open documents, as well as other active windows open
for editing variables, tables, and other formulas/expressions. Clicking on a
"node" in the Document View will bring up the selected window. The Documents View
window can be resized, and closed/reopened (from the Window menu).
* Node Outline pane -- The tree window adds a new dockable, hideable pane which
displays the currently selected node in text/outline format. The Node Outline pane
has its own new button on the TreeAge Pro tool bar. The text outline of a single
selected node can be modified, and then the node can be updated with the click of
a button. (The syntax for the node outline is the same as the tree outline
available in previous versions. To see examples of syntax, simply open a tree and
display the Node Outline pane, from the Display menu.)
* C/E sensitivity analysis -- In cost-effectiveness models, 2-way, 3-way, and
threshold analysis sensitivity analysis now can use Net Benefits calculations,
making cost-effectiveness thresholds easy to identify. Also, a new Net Benefits
command under the Analysis menu generates a line graph showing how each strategy's
Net Benefits change as the willingness-to-pay increases. [Healthcare]
* Formula editor -- Display > Font... button works, allowing default font used for
variables editing window to be changed to an easier-to-read size, for example.
Also now works to edit probabilities for multiple selected nodes, as well as non-
calculation fields (e.g., node labels and text boxes).
* Statistics -- Statistical reporting much faster on very long lists of numbers
(i.e., millions)
* Simulations -- Virtual memory requirements of very long simulations (or long runs
on trees with many outputs) handled better. Under Windows XP for example, running
more than 1.3 million iterations on a tree with 100 output columns (e.g., C/E for 5
strategies, with 18 trackers) previously would exceed virtual memory allowed to a
program (~1.5GB). A new user-specified threshold memory size setting (default=500MB)
is used to swap outputs to temporary files (requires sufficient space on TEMP folder
drive).
* Distributions -- Approximations for Beta, Gamma, and Lognormal are easier to use
and modify.
* Influence diagrams -- New preferences allow user to control style of border around
either noteboxes or arc information notes. Also, arcs between incomplete nodes (e.g.,
no alternatives) can be displayed as gray dashed lines, like structure-only arcs.
* Excel reports -- Allows larger matrix/table exports to Excel 2007 (e.g., 1m x 64k),
for example simulation and Markov details reports.
* Import/Export values to Excel -- The updated Excel module also includes changes to
the Export Variables (from TreeAge) command as well as the Excel add-in's commands
for adding/updating variables from the spreadsheet. Exporting a variable to Excel now
includes extra information, allowing variables to be renamed from the spreadsheet.
Also, when a non-root node is selected in the tree, exporting a variable to Excel
includes its node-specific definition (as well as a default definition, if any). New
TreeAge menu commands in Excel enable worksheets already including variables and
tables to be "refreshed," in order to retrieve newer/modified versions from the tree.
[Excel module]
* Variables Report -- The Values > Reports > Variables... command now includes
new options. For example, node-specific reporting can be done on variables in the
tree using options for filtering out undefined variables in the currently selected
path.
* Variable definitions -- New option in the Define Variable window to enter a
narrative description of the variable definition (as opposed to a general comment
or description of the variable). This definition narrative information can be
included in the Variables Report.
* Variables display -- Improved the "wrap" option to avoid expanding the width of
variable boxes that do not require wrapping. Also, turned off display of extra
lines in user-defined Python function definitions (unless "wrap" option is turned
on).
* Formula editor -- Works to edit probabilities on multiple selected nodes. Also
works to edit non-calculation fields (e.g., node labels, text boxes).
* Docked Finder dialog -- The Options > Find/Replace tool can be docked (like the
Properties grid, etc.) Regular Find/Replace dialog is still available, too.
* Tables -- Global table file folder can be changed within TreeAge Pro. Go to
Variables and Table dialog, and click on the Backup/Move button. Changing the table
files location here sets a preference which overrides any TABLE.DIR text file
settings. Use the Reset button to revert (deletes the preference setting).
* Enabled GIF graphic outputs.
* Debug pane -- New preference to limit lines of output in debug pane will speed
up its operation, especially during simulations.
* Right-click menu -- Change Node Type options added.
* GlobalN() function -- New function with similar functionality to Global(), but
used to create multiple, separate matrices for different uses. The additional
first parameter should be an integer (1 or higher), identifying which matrix to
create/use. Matrices limited to a total of 10e8 cells (e.g., 4x5000x5000).
* Global() function -- Changed to use a single matrix during multi-threading
Monte Carlo simulations (as in all other analyses), rather than a separate matrix
for each thread/processor. Size limited to 10e8 cells (e.g., 10000x10000).
* Command() function -- Added Command("Excel";"ExportGlobalMatrix";WorkbookFile;
SheetName;CellName;LabelText) syntax for exporting the global matrix to a new sheet.
Like all string functions, Command() arguments can use concatenation, as in:
Command(...; "sheet_" + varX + "_n_" + varY; ...)
Added Command("Excel";"ExportGlobalMatrixN";MatrixNum; ... ) syntax also, for
exporting a numbered GlobalN matrix to a worksheet.
[Excel module]
* PathProb() function -- Now takes optional arguments specifying a path to a node.
For example, "PathProb(2;3)" will return the path probability of 3rd branch of the
2nd branch of the root node.
* CTRL + Number -- Jumping to branches by number works with numeric keypad.
* Updated Functions Helper
* More suppressable dialogs
* Custom payoff names -- Allow longer names (25 characters).
************************************************************************