Caution: Github repository may have been updated since submission

Export citation:


  • Views: 831
  • Aggregate Downloads: 50



Enhanced XINDEX for analysis of all M code stored in Data Dictionaries supported by KIDS
Revision: XT*7.3*10003
Please use this identifier to cite or link to this publication:

It has been found that XINDEX doesn't run or report on all VistA components that can be contained within a KIDS build. This creates errors of omission when trying to find other code references or compliance with the SAC.

What's New
The XINDEX code here is based on the latest VA code which was relased in patch XT*7.3*140 obtained from

The changes made here can be dividied into enhancements for XINDEX for it to be able to find and index all M code in VistA; Fileman Templates Pointer Analysis; and other enhancements to XINDEX, mostly bug fixes.

The authors will be referenced by their initials. Here is a list of all of them:

Christopher Edwards; CJE (main author)
Sam Habiel; SMH (secondary author; corresponding author for questions)
Joe Snyder; JS (contributor)
David Whitten; DHW (contributor)
John McCormack; JM (contributor)
George Timson; GFT (contributor)

More information can be found in the README.rst on the github page of the project.
Revision Version
Submitted By
Submission Date
XT*7.3*10003Samuel Habiel07-31-2019Level 4Bug fixes for the previous (XT*7.3*10001) release.

- XINDEX routine name printer when collecting routines still assumed that routines were 8 characters or less long. Now they are assumed to be 16 or less.
- XINDX10 check for contents for data in M fields previously only identified M fields as those with K in the field specifier. Now the input transform is checked as well; and the field is considered an M field if the input transform contains a call to ^DIM.
- XINDX9 always uppercased labels in remote routines. Non-VistA routines could have lowercase labels, so this falsely resulted in XINDEX claiming that the labels didn't exist when the lowercase labels actually existed. This is now fixed.
T4Samuel Habiel03-13-2018Level 3This revision includes the following changes based on user feedback. Developer for all is Sam Habiel.

* XINDEX data if data can be determined to be M code or a routine/tag pair.
* Lowercase ISVs are now recognized as valid code
* Cosmetic: user feedback when selecting files
* Implement XINDEX for all KIDS Build components (omitted from previous build)
* Dialogs changed from |dialog to |dlg: Suppresses spurious first and second line warnings on dialog entries.
* Code to parse array names did not deal with the fact that they can contain spaces. Now fixed.
* Cache Objectscript which is not valid M code will now cause a standard error in XINDEX for non-Kernel/non-Fileman packages. Kernel and Fileman are exempt and are allowed to use vendor specific features.
1Samuel Habiel02-23-2018Level 3

Reviews (Phase: Complete)

Peer review by Joe Snyder:

Topic Completed
Compliant - Product Build Checklist
Compliant - Installation and Post-Installation
Functional - Before Patch Installation
Functional - Installation and Post-Installation
Safe - Installation and Post-Installation

Final review by Joe Snyder:

Topic Level Comments
Name/Number Space
Open Source License
Code Review
Test Installation
Regression Testing
Functional Testing



Powered by Midas