I agree that there is (and can be) no such thing as a "generic miracle parser", but I don't think that it what is being called for. There is no "generic miracle parser" for context free languages, either, but there are still tools such as yacc/bison that vastly simplify the process of constructing parsers from a given grammar. Certainly, there are trade-offs, too. The Earley parser has a theoretical performance of O(n^3), but is able to parse arbitrary CFGs. Shift-reduce parsers are limited to LR(k) (usually LR(1)) grammars, but are much more efficient (especially when sentences may be very long). In the area of XML, SAX and DOM are very generic tools (but considerably much more powerful than what VistA HL7 provides today), but tools such as XML data binding and various SOAP implementation provide much richer functionality.

I suppose that I'm saying is that there is a trade-off here. At one extreme, thee are so-called Turing complete languages that are very expressive, but that expressiveness comes at a cost in terms of complexity. More narrowly constrained processing rules can be implemented as well, often allowing a much higher degree of automation than is supported by the VistA HL7 package. The reason that we have regular expressions and finite automata at one extreme, recursive descent parsers, shift-reduce parsers, Earley or CYK parsers, and finally full featured programming languages, is that each offers a trade-off between expressiveness/flexibility on the one hand, and ease of use on the other.

===
Gregory Woodhouse
[EMAIL PROTECTED]

"The most profound technologies are those that disappear."
--Mark Weiser



On Sep 12, 2005, at 4:29 PM, Clemens, John wrote:

Vista's HL7 package supports both inbound and outbound messaging just
fine. There is no such thing as a 'generic miracle parser' for inbound
data. If you know your message structure coming in and you know your
local application and database it is trivial to parse the message and
store the data where you want it. All HL7 interfaces work pretty much
that way whether you are Vista or a commercial vendor. You can leverage many of the existing interfaces developed within the VA for storing lab,
pharmacy, ADT, etc or you can use them as a basis for a customized
interface. If messages strictly adhere to the standard, you would pretty much know what to expect in every message, but ONLY you would know where you want to store your data. It is simpler than XML to implement, though
version three help keep things simple.
I apologize if I've misunderstood some of the previous comments but I am
a strong supporter of HL7 and the Vista implementation. Some of the
newer features however can only be found in the patch documentation and
I don't know what the rules are for sharing that information (if any).

Best,


John Clemens
San Francisco VA Medical Center
Tu-Wed-Thu: 415.221.4810 x4540
Mon,Fri: 650.464.7585 (personal cell)




-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Hardhats-members mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/hardhats-members

Reply via email to