Richard Schilling wrote:
>With the recent discussion on writing Java clients, I thought I would
>mention that in the upcomming release of OpenEMed (www.openemed.net),
>written completely in Java, we'll be releasing a client for GT.M.  This
>makes OpenEMed a client of the GT.M platform.  And of course, our next
>step after that is to work on getting OpenEMed to read the VistA data
>set directly.
>
>Once we have OpenEMed integrated into the VistA platform, we'll be able
>to make VistA a federated service on the network a-la the Java platform.
>
>Whether or not we use the higher level fileman functionality to read the
>VistA global space is yet to be determined, but so far I've accomplished
>what many seem to be asking for - a simple Java client that does
>straight reading/writing of the MUMPS global space.

Very interesting. On the surface this sounds similar to some of Steve Zeck's 
initial work
in making a Perl interface to GT.M. In the first level he defined a Perl module 
for
implementing MUMPS data objects. These data objects represent MUMPS globals and 
have
methods corresponding to all of the standard functions for working with MUMPS 
data. In the
second level he has begun defining higher level objects that correspond to the 
data
records from the fileman defined data structures.

I think there is quite a bit of common work to be done in analyzing the 
functionality and
devising a high level interface to it regardless of your approach and 
technology. For
instance, a listing of what data elements are involved in different reports, 
interfaces,
and data entry forms, how those relate to functional areas and menus, and how 
they map to
data elements from other systems.

>I found quite a bit of difficulty in working with the RPC broker code
>due to the aforementioned reverse engineering problem.  And, all of the
>source code distributed with the existing Delphi components has been
>unnecessarily complicated for what we've needed to do so far.

Documentation and discussion of the difficulties and complications and other 
substantial
findings could be helpful to others considering reverse engineering or 
re-engineering with
other languages or approaches.

>The GT.M
>server side code I've written is pretty well self-documented, and can be
>downloaded from the OpenEMed CVS repository now (look in
>src/tools/gov/lanl/Database/GTM for OEMEDSRV.m).

I looked at it a little. I think I found some minor errors where you are 
converting search
filter operators to MUMPS in function convertOperator
http://cvs.sourceforge.net/viewcvs.py/openmed/OpenEMed/src/tools/gov/lanl/Database/GTMSearchFilter.java?rev=1.4&view=auto

">=" (greater_than_or_equal_to) is not a standard MUMPS operator (at least in 
GT.M 4.4).
The equivalent is "'<" (not_less_than)

"<=" (less_than_or_equal_to) is not MUMPS. The equivalent is "'>" 
(not_greater_than)

An equivalent for "in" might be "[" (contains), except with the operand order 
reversed.

How far have you gotten in generating MUMPS search conditions?

>Richard Schilling
>Cognition Group, Inc.
>Seattle, WA
>

---------------------------------------
Jim Self
Systems Architect, Lead Developer
VMTH Computer Services, UC Davis
(http://www.vmth.ucdavis.edu/us/jaself)


-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
Hardhats-members mailing list
Hardhats-members@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hardhats-members

Reply via email to