Yuriy
This sounds a big project
the easiest architecture is a just one central dataserver - a patients
record is held once and all the clinics network to the center
mapping globals (not replication) is a thought but again it depends on
the size of the system
Patient("A",123) is held on clinic A server
Patient("B",123) is held on clinic B server
etc
But I do not know if this is possible or advisable
if you have 100 cliincs each clinic will have to have 99 mappings -
what happens if the network goes down to one of the 99 - will this
blow up the whole thing
also indices are a problem
searching for a surname "cooper" say - at any clinic would have to
traverse all servers - what about the netwok latency/availability
=======
The docs in ECP state that the prime use is for scalabiity and high
availability - it looks like it's not especially for what you
want/need
see
http://127.0.0.1:1972/csp/docbook/DocBook.UI.Page.cls?KEY=GDDM_intro
It could work in a well connected small setup but I do not think that
it would scale and am not sure how robust it would be
you may also want to look at the presentation
"Data Synchronization in Intermittently Connected Applications"
http://www.intersystems.com/devcon2004/sessionschedule.html#m6
this is in Cache 5.1 - it's not out in the wild yet
=======
you could also look at a more loosly distributed app
Each clinic holds it's own patient data only
there is a central server that maintains an *index* of where the data
is
Patient A has a record at clinic 1
Patient B has a record at clinics 1,3,5
etc
the central index is updated by each clinic
If you are at clinic 6 and patient B comes along (first time)
Clinic 6 talks to the central index and sees that there is data at
1,3,5 - Clinic 6 server then makes a SOAP/Web Services call to each of
1,3,5 to be able to view the data
data is then copied/inserted into clinic 6's database and an entry
made at the central index to say that Patient B now has records at
1,3,5,6
In this sceanario if the network is down then it does not stop Clinic
6 being able to work locally and when the network is up clinic 6
updates the central index to say that there is data on patient B is
also held at clinic 6
=======
It all depends on the network - but if you have a strong/fast/robust
network then why not just have everything kept centrally
Peter