Ian,

An object database would be the straightforward answer to persistence since 
the dabase schema is essentially the class model of your application.

We have used Matisse (www.matisse.com) which is a very solid database engine 
that doesn't get in the way of your application logic.  It has bindings for 
C++, Java, and dotNET as well as Eiffle (Tom Beale has an excellent open 
source library Ostore).  Matisse has a very small footprint and almost no 
admininstratio costs - in a case that I am familiar with it has been running 
for 6 years without any DBA support!
If you are interested in other developments, you may want to take a look at 
db4o (www.db4o.com) which is a small DLL for Java or .NET that you provide a 
reference to and then use from within your application.  It is still 
evolving but has an increasing number of users around the world.

Kind regards,

Ogi Pishev
Ocean Informatics



----- Original Message ----- 
From: "Ian McNicoll MMS" <[email protected]>
To: <openehr-technical at openehr.org>
Sent: Friday, January 20, 2006 3:19 AM
Subject: Re: Pesistence Issues was: difficulties starting an implementation


> Hi Tim,
>
>> The research for this thesis directly addresses the issues described
>> above.  I will be happy to share the thesis and subsequent papers as
>> soon as the thesis has been marked (2-3 months?). In short, I would 
>> suggest that you not let marketing efforts by major
>> companies color your perception of how to persist data.
>
> Point taken?
>> If you ask the
>> question; "Why do I want to persist data?". Begin with that answer to
>> engineer a solution you will (I believe) find an optimal solution.
>>
> I am very,very intruiged. Any 'sneak peek' of any of your work or ideas 
> would be very welcome (privately of course if you prefer).
>
> If I could demonstrate to a skeptical audience that we have a solution 
> such as OpenEHR to model complex clinical concepts and a way of persisting 
> it (or not needing to????!!!), I would be a happy chap and my meeting 
> tomorrow would go a whole lot easier!
>
> To answer your question 'why do we need to persist data?', I increasingly 
> feel that we should adopt a document based model of persistence as the 
> main requirement is speed of access and accessibility to the clinician in 
> document style. However both clinician and 'secondary data users' have 
> legitimate though lesser need to analyse and view data in the manner of 
> bulk SQL queries, for audit, recall purposes etc. My own preference would 
> be to persist the document 'serially' with embedded hyperlinks to 
> 'traditional' row-based items. I have not yet got to grips with how this 
> might be expressed using OpenEHR.
>
> Rong's comments are interesting. I think he is on the right track by 
> splitting persistence splitting between normalised tables and serialised 
> data but correctly identifies that it can be difficult to query such data 
> effectively. I know that one of the aims of Archetypes is to incorporate 
> querying capability but I am a little hazy as to how this might work, or 
> is it simply an XPath/XQuery like mechanism?
>
> Regards,
> Ian
> 



Reply via email to