VA RFI

21 views
Skip to first unread message

Tom Munnecke

unread,
Feb 22, 2011, 2:07:53 AM2/22/11
to hardhats
I have been asked by a number of folks to comment on the VA's RFI regarding open source development:


I notice that the report describes VistA as "Custom and Proprietary" several times - the same phrase that Glenn Tullman (CEO of Allscripts) used during the Senate hearing I spoke at last October.  He suggested that his software was "open" because it ran on Microsoft.

This is getting bizzare, for software that is freely available under FOIA to be called "proprietary" and software that is Microsoft-dependent to be called "open." 

Anyone have any background on this?

Gregory Woodhouse

unread,
Feb 22, 2011, 11:12:24 AM2/22/11
to hard...@googlegroups.com
I suspect this will continue until the interfaces used by VISTA (Broker, VistaLink, perhaps even global structure and APIs) are published as open standards. There seems to be this idea that you can just put the code out there and that's enough, but it isn't. People that want to build tools that integrate with VISTA need to have stable interfaces that aren't liable to change with the next patch, and they need to know what those interfaces are. I'm sorry to be so blunt about it, but it's high time we stop complaining and get about the business of developing a set of open standards people can rely upon.

Scott Warnick

unread,
Feb 22, 2011, 11:51:58 AM2/22/11
to hard...@googlegroups.com
Hi Greg,
 
Since our team has a pressing need for exactly what you are proposing, I am wondering what we can do to help things along.
 
One promising approach which I know you had a hand is HL7. VDEF is already working and it could be extended to publish a full external interface that centralized applications could use. I think that's a better and safer approach than requiring every application that wants to interact with VistA use the internal interfaces like VistaLink, the RPC broker and (especially) direct modification of the VistA database. I am hoping you will speak publicly on what it would take to extend VDEF to handle two-way message traffice from other HL7 domains, e.g. ordering, consults, etc. 
 
Our project is charged with discovering, documenting and publishing the external iand internal nterfaces for a key part of VistA. We would like nothing more than to contribute some of that work back to the community. I will have to discuss some things with our PM but be assured that we will give back as much as we can given the constraints of our contract. 
 
You are right in saying that making VistA truly open will take more than making the source code available. Besides learning how to read vintage MUMPS you have to acquire an idea of the overall architecture so you can know how the system comes together, how the major interfaces functions work and (surely not least) which code to read, in what order and where to look to find it.
 
Thanks for voicing publicly what many have been saying privately. I look forward to hearing back from you soon and I look forward to working with you in the near future.
Scott
 
 

From: gregwo...@me.com
Subject: Re: [Hardhats] VA RFI
Date: Tue, 22 Feb 2011 08:12:24 -0800
To: hard...@googlegroups.com

Gregory Woodhouse

unread,
Feb 22, 2011, 8:51:21 PM2/22/11
to hard...@googlegroups.com
Some years ago, I did something like this. My approach was to create an object (an XML document  in this case) to represent the structure of the HL7 message that associated a data binding with each (possibly repeating) element. The data binding could be as simple as a fixed value, or it could be a (sub)file and field together with an IENS that would generally need to be computed at run time. The tool would also perform necessary conversions such as date formatting. I only implemented one type of interaction: a stored procedure query with continuation pointers in the response, but other types of interactions could easily be accommodated. These templates can be interpreted at run time, and this is what I actually did, although I wanted to write a compiler that would produce M code to handle each specific interface.

Sent from my iPad
Reply all
Reply to author
Forward
0 new messages