Fileman and Lab Agile Project (FLAP)

Mission Statement:

To deliver fresh, new versions of the VISTA File Manager and Lab packages to VA, IHS, and other VISTA adopters, and to renew and revitalize the VISTA software lifecycle with agile projects within OSEHRA.



Git Repository


Project Background:

The Department of Veterans Affairs (VA) has contributed the Veterans Health Information Systems and Technology Architecture (VistA) codebase to OSEHRA (Open Source Electronic Health Record Agent), the custodial agent that serves as the central governing body of a new open source community. VA’s adoption of open source practices enables, among other benefits, not only the sharing of VA-developed software with the community, but the sharing of community-developed software with VA. VA is implementing the internal processes required to ingest, integrate, test, and deploy software drawn from OSEHRA; doing so makes it possible for VA and the community to converge on common VistA code wherever possible and beneficial. This project served by this contract takes a significant step in converging core VistA software and enabling VA to benefit from the most current VistA enhancements.

Scope of Work:

The Contractor shall enhance the data structure management capabilities of VistA Fileman, refactor VistA Lab, and support VA in the process of deploying the improved Fileman and Lab software. The Contractor shall bring the features of the “MSC Fileman” software into the version of Fileman residing with OSEHRA and shall refactor the Lab package to move appropriate functions to the Fileman package. Working with OSEHRA and the open source community, the Contractor shall ensure that all software is incorporated into OSEHRA’s open source VistA codebase. The Contractor shall assist OSEHRA in certifying the software and shall assist VA in the process of obtaining, integrating, testing, and deploying the new Fileman and Lab packages.

Group Email:

Back in the Saddle

After a year of working to provide market research for VA's emerging Fileman Evolution projects - especially after OSEHRA's December sprint to upgrade MSC Fileman 22.2 in support of VA's test-plan contract with Leidos, and the January VISTA Community Meeting in Sacramento - my health finally collapsed for six weeks of February and March. I returned to the office just in time to watch VA's next Fileman 22.2E testing contract sail over the plate before I could respond to it, much to my dismay and disappointment.

MSC Fileman 22.2 Patches

One of the characteristics of the final stage of packaging a new version for a VISTA application is that we must paradoxically freeze development without freezing development.

We must freeze development because the distribution sent to the world has to be a specific, tested version of the software. Getting to that point requires constraining development toward satisfying the results of testing, not introducing new disruption late in the packaging process, when there won't be sufficient time to test it. In this pro-testing era, most people get this issue pretty well.

FLAP Phase Two Prep Status Update: Name Change and KIDS Bug

With prep for and recovery from the VISTA Community Meeting in Sacramento, it's a good time to jump back into our series of blog posts about FLAP Phase Two Prep, which has continued through this period.

On 5 January we delivered a preview RSA file of MSC Fileman 22.2V3 to VA so their MSC Fileman 22.2 intake contract with Leidos could shift to the refreshed codebase. Since then I've been working on verification, cleanup, and packaging to prepare to distribute MSC Fileman 22.2 to the rest of the community.

About the FLAP Phase Two Prep Sprint

Yesterday, we completed the monthlong, intensive sprint to update our first release of Fileman 22.2 from March 2013 to produce MSC Fileman 22.2. We in this case consisted of Don Creaven, Zach Gonzales, George Timson, Sidney Tarason, David Whitten, OSEHRA Product Manager Mike Henderson, and me, with FLAP documenter Kathy Ice working in parallel on the manuals (see below) and FLAP system manager David Wicksell working hard to keep our servers accessible during this period of trials and tribulations. The focus of this update was on:

FLAP and Fileman's Architectural Role

To say that File Manager is VISTA's database management system is a gross understatement, so gross that it is more misleading than helpful.

Traditional database systems run side by side with the applications, offering data-related services (like creating, reading, updating, and deleting records - the services with the unattractive acronym CRUD - along with many, many other such services). In other words, most DBMSes have a peer-to-peer relationship with the applications that use them to manage their data.

FLAP and Fileman Code Convergence

One of the two top strategic goals for FLAP Phase One (which ran from October 2012 through March 2013) was code convergence, to create a shared, common Fileman codebase that all VISTA dialects could run, to maximize our ability to exchange data and software with one another, to ensure that innovations anywhere became innovations everywhere as quickly as possible, and to reduce the amount of reinventing the wheel we had to do.

The main VISTA dialects we aimed at converging for Phase One were:



3) WorldVistA EHR

4) vxVistA, and

Documenting the Fileman Remote Procedures

While loading all the Database Integration Agreements (DBIAs) into the Technical Manual, I noticed the DBIAs that the Fileman Delphi Components use to subscribe to Fileman's remote procedures - to be able to call them. It occurred to me that I did not know where the Fileman remote procedures themselves were documented, which is odd, since they're such an important linkage between Fileman on the server and any client applications.

Documenting Integration Agreements

Yesterday and today I'm focusing on the Fileman 22.2 Technical Manual. Sam has already done most of the work to update this manual with complete lists of all the new software elements George Timson and the rest of the team created, and Kathy Ice has already overhauled the formatting to put it into our document templates and styles.

Creating VISTA Patches

To summarize the previous post in executive fashion, this week FLAP phase one is delivering three products:

1) the final code and documentation for File Manager version 22.2;

2) the start of development on File Manager version 22.3, in the form of a 22.3 development environment and git codebase; and

3) the start of patching File Manager version 22.2, in the form of (a) a Forum system configured to allow release of FM22.2 patches and (b) the release of the first patch to FM22.2.

Therefore, this week, as that third deliverable, we're delivering DI*22.2*1 SEQ #1.

The VISTA Lifecycle After a Release

This is the final week of FLAP phase one, which focused on the development, documentation, testing, certification, and release of a new version of VISTA's File Manager package. We're wrapping up this round of documentation and testing, and we're wrapping up the code itself for a tidy release with the 22.2 version on the second lines of routines instead of 22.2T2.

But with VISTA, a code release is not any kind of ending. Instead, it is a transformation in the software lifecycle, a split into two parallel paths of development.

Fileman 22.3 code check-in...

Dear Developers, After consulting with Rick, from now on, the dev environment will host the 22.3 code. There will be a lot of code check-ins dealing with code for extensible data types as well as fixes for bugs that we fixed but never committed. The 22.2 code will live unchanged in the v22p2 instance. I hope nothing major breaks; if it does, let me know and I will take a look. Sam

Proposed changes for new Fileman Copy/Merge API

Included are my proposed changes to have a Copy/Transfer/Merge API Changes are made to DIT, DIT3 as outlined below 1. A new entry point TRNMRGEX^DIT is added. This was done so as to not break anything else. But I would expect that changes could be added to existing TRNMRG^DIT and TRNMRGEX could be removed. 2. Documentation is added to code. I don't know if this will cause a code size over run. 3. I changed expected syntax of TO IEN to match that used in UPDATE^DIE, namely "+1," when wanting to copy record into a new record. Internally,
No questions have been added to this group.

VISTA Architecture and FLAP

Here are the documents I used in the presentation I just gave to the OSEHRA Architecture Working Group about the FLAP project. I hope the participants enjoyed the presentation as much as I enjoyed giving it.

The emerging HTML versions of the Fileman 22.2 manuals - including the Release Notes, which I showed today - can be found here:

If you have any questions about this material, please do not hesitate to ask.

Fileman 22.2 Advanced User Manual

Here is the Fileman 22.2 Advanced User Manual. For this manual, the Programmers Manaul, and the Technical Manual, we were unable to do a complete re-write as we did with the Getting Started Manual. The Advanced User Manual has a few new sections, and the remaining information has been updated with Fileman's 22.2 features.


We are proud to announce that following Beta Testing we are releasing the final version of Fileman 22.2.

This version will be showing up on the git repository ( as the file VA-FILEMAN-22P2.RSA.

Attached to this message is a zipped up version of that file.

Thank you to all the folks who have participated in this project.

Sam Habiel
Fileman worker bee
VISTA Expertise Network

Fileman 22.2 Security Manual FINAL (probably)

Here is the final version of the Fileman 22.2 Security and Privacy Manual. I think. We've gone over it, and I think I've incorporated all the feedback I received, so I'm tentatively calling this one final. 

Of course, our deadline isn't until Friday, so if changes are still needed, there's still time to make them.

Fileman 22.3 pre-Alpha Software...

With Fileman 22.2 phase of FLAP coming to a close, we are releasing the source code of the future Fileman 22.3 as an RSA file (attached).

The changes from the to be released version of 22.2 are as follows:

* Extensible Data Types code

* Enhancements to the Fileman Delphi Components routines done by EHS in Jordan

* Bug fixes (all bugs found in Fileman 22.0)

- Modify File Attributes crash when performing a certain sequence of actions.

- Transfer/Merge bug affecting extract fields used as identifiers or keys.

No wikis have been added to this group.