Hi Dave,
  Excellent points!  Since federated systems are exactly what I am interested in 
implementing, I will do my best to address some of the issues below.
---
On Sat, 11 Nov 2000 22:49:49   David Forslund wrote:
>How does one create a federated system with Zope so that a medical record 
>could be created
>from multiple repositories working together?  

Inter-node communications can go through CORBA / XML-RPC / SOAP / HTTP etc. This is 
not different from any other application server or system.

> Especially, if each does it a little differently?

Now, you know very well there is no magic bullet for this (except CORBA?).  The 
solution must include some type of metadata standard.  This has nothing to do with 
whether the implementation is done with Eiffel, Zope, C++, etc.

>Zope seems to be a deployment platform but hardly a system development environment.

Not sure what you mean by that.  If I can *develop* an application using Zope, then I 
think it qualifies as a "development" environment.  It may not be the *preferred* 
development environment for all possible applications (for example- it is probably not 
suitable for developing the next version of Quake), but that does not say much.

>It should be possible to drop a GEHR kernel into Zope and have it provide services 
>for it.

Do you mean like an ORB?

>If I have a Java application, how do I use Zope as an application server 
>for that application?

Zope does not have a built-in JVM and thus does not run Java.  Thus, server-side Java 
is not supported.  However, it can serve Java Applets just fine.

>How do I accommodate "legacy" systems with Zope?

Depends on what "dialect" your legacy system speaks.  If it speaks SQL, then a 
database adapter will work.

>How do I discover where my medical records are with Zope?

Hopefully with a PIDS - perhaps like the one your AMIA paper describes. :-)

I am really looking forward to implementing it!!!

>Is my communication protocol forced to go through http with Zope?

No.  XML-RPC, HTTP, and FTP are supported natively.  I think there may be CORBA 
capabilities too.  It seems pretty easy to extend - I think it has great potential.  

>I don't see how one can write an application in DTML.  

Tim Cook's FreePM and my OIO are both examples of applications written in Zope.  
FreePM uses ZClass and OIO uses 100% DTML.  You can download a copy of each from 
sourceforge and see for yourself.

>Especially one that 
>might
>need to communicate cooperatively with a number of other heterogeneous
>applications to create a medical record for a patient.

I think the keyword here is "heterogeneous".  Currently, OIO exports
metadata in XML format.  This means compatible systems are defined by
their ability to use that metadata.  Data interchange is easy among
compatible systems since metadata is transportable.  This is really no different from 
any other data interchange schemes.  Two systems that wish to communicate must have at 
least one shared metadata format.  It could be TCP/IP, CORBA, ASCII, OIO-forms, etc.

>I believe we are past the days of building new standalone applications, but 
>need
>to build to a specification that allows one to do collaborative 
>healthcare.  

I agree 100%.  That is why I chose to use Zope and hope to work with you and OpenEMed 
to interchange metadata and data.

>The Gnutella or Napster models are closer to what is needed for healthcare.  

Can't agree with you more.  I think your PIDS design is basically a peer-to-peer 
system.  Are you going to the O'Reilley P2P conference?
The GEHR model also takes mobile patients into consideration.

>People move around and get treated in many places.   They all shouldn't have to be 
>running the identical software for them to interoperate.  They need standard
>interfaces to be implemented.

Right.  I hope OpenEMed/OIO will contribute to providing that standard interface.

>I need to understand the object-model in 
>Zope, since
>it appears not to be particularly object oriented (It does use SQL, which 
>isn't particularly
>object oriented, for example).

The SQL is used to link to external data sources only.  Internally, Zope is composed 
of objects with inheritance (called acquisition for some reason), properties, methods. 
:-)  The entire code tree is a big object.

Andrew
---
Andrew P. Ho, M.D.
OIO: Open Infrastructure for Outcomes
www.TxOutcome.Org
Assistant Clinical Professor
Department of Psychiatry, Harbor-UCLA Medical Center
University of California, Los Angeles


Join 18 million Eudora users by signing up for a free Eudora Web-Mail account at 
http://www.eudoramail.com

Reply via email to