Does Anybody Know of a Way to Use Doxygen with MUMPS/VistA?

Hey all,

As far as I know, one either has to manually generate documentation for M code, or go and read the comments within VistA. I was wondering if anybody had used an automatic documentation generation tool successfully with VistA to generate docs from the code comments. Doxygen is an extensible cross platform tool that works like Javadoc for Java and much better than Sandcastle with C#, and I was thinking it would be cool to be able to use Doxygen on VistA as well -- though I'm not sure what that would look like.

Any thoughts?






We have something similar: Visual Cross-Reference Documentation

Jason Li's picture



Hi Van,

Not sure if you are familiar with OSEHRA automate generated Visual Cross-Reference Documentation 

It does provide some of the functionalities that are similar to Doxgen for other language like C++/Java.

We also tried to hookup Doxgen with M code at first, but late decide to take another approach due to the following reasons.

1.     It is not a trivial task to develop a plugin for Doxgen to parse M code.

2.     Majority of M code in VistA-FOIA repository do not conform a coding standard that comments in the code can be either directly parsed by Doxgen or feed to Doxgen after some sort of conversion.

3.     VA already developed M code parsing tool: XINDEX.

4.     Extract dependencies information from VistA FileMan.

Our current approach is to 

1.     Utilize XINDEX to parse all the routines in the repository to generate the output files.

2.     Utilize FileMan reporting tool to generate All FileMan Schema Files

3.     A set of python scripts will then parse both XINDEX result and FileMan Schema Results to generate the Visual Cross-Reference document.

The source code is openly available at;a=summary

Python scripts are under Dox/PythonScripts directory.

Detailed instruction on how to generate the documentation can also be found at

Any suggestion/recommendations on the further improvement of this tool would be appreciated.


- Jason


Perfect - Thanks

Van Curtis's picture

This is a great start. I'll have to absorb a little bit, but will definitely pass on to others for awareness. If we come up with ideas, I'll be happy to bring them back to the table.





Some useful links

Jason Li's picture


I am looking forward to hearing some feedbacks from you.

- Jason.

This is the link on latest update:

Also a link to some discussion this tool.