Christian Heller wrote: >Hi Thomas, > > > >>well, that is one design approach, but it is not the one that we use in >>openEHR. In openEHR, the archetypes are seen as part of the "ontology of >>information" (distinct from ontologies of the "real world" like >>snomed-ct etc). We use them extensively in their own right. We don't >> >> > >I thought archetypes are the place to store expert/domain knowledge >and the reference information model provided the structure that >instances of archetypes have at runtime, in memory? > >
Hi Christian, archetypes store a certain kind of domain knowledge only, see next point.. >What is the difference between the "ontology of information" and the >"ontologies of the real world"? Could you give a short example for each? >(What you say sounds like medical domain knowledge were solely stored >in terminologies like snomed.) > > In an ontology of information we might define (say, with an archetype) a structured model of "systemic arterial blood pressure measurement". This is a model of the information captured during the measuring of BP in the usual way; it would include systolic, diastolic, and a way to record patient position, cuff size and instrument type. In an ontology of reality, we might define "blood pressure" as a concept; in this ontology, the model expresses things like BP being a specialisation of a pressure in a vessel (blood in a blood vessel); with 5 identified phases etc etc etc. This model is likely to be a) quite complex, and b) the details found in the archetype model might be there, but will be buried in a large model which shows what blood pressure really is. Archetypes in general are models of information and belong to an ontology of information; "ontologies of the real world" on the other hand describe kinds or categories of actual reality - the same information as would be found in a medical, biochemistry and anatomy textbook. > > >>repeat all the archetype defnition informatoin in the actual data >>because a) it would double the size of the data, while making it harder >> >> > >True, the size of knowledge models would be larger if all constraints >were stored in each of them, but they would be much more flexible and >independent of types. This is the deal: More flexibility and less >dependencies or traditional type-based programming. If you make your >knowledge models dependent on their corresponding knowledge template, >then what you do is another form of type-based programming. As is known >from scripting languages, typeless programming is much more flexible. > > well, typeless programming is one approach to software programming. Personally I don't believe in it, and neither do many others. I realise of course that there are some who do, so I am not going to claim to have the absolute truth on this issue. But just consider this: almost everyone who writes in a typeless language ends up using variable names like intSectionCount and boolPersistenceFlag etc - where the intended types are built into the variable names. I can't say I have felt any lack of flexibility in using typed systems - I think flexibility or lack of is really a result of good or bad design. The kind of design we use - based on archetypes as an entirely separate level of modelling is extremely flexible, but the underlying object model is still type-based. > > >>to compute with; b) the persistent form of the data is not necessarily >>the desired persistence form of the archetypes (in fact, it certainly >> >> > >Why shouldn't the archetype structure be the ideal way to make domain >data persistent, too? If the archetype structure were general enough >to represent any kind of knowledge, why shouldn't it be possible to >make data persistent in this general structure? > > We are not trying to make the archetypes so general - they have a very defined purpose, and it does not include trying to represent the same sort of information as snomed or Galen - i.e. models of reality. >That for the past decades most of the world is using relational databases >doesn't mean that for the next thousand years we have to continue to do so. >I am convinced that there are better ways to store knowledge. >Object-orientation is just one step, but not sufficient. > > well, I agree there. Archetypes are constraint models, which I consider an advance on object-orientation. > >What we need, in my opinion, is some kind of universal runtime type >(knowledge structure/ schema), which is able to represent any kind of >knowledge. Then the difference between knowledge templates (archetypes) >and knowledge models (their instances) vanishes, because runtime models >are represented in a general way, similar to their templates. > > well, maybe this could happen in the future, I don't know. But we are already so far ahead of the standard way of computing that it has become imperative to put a stake in the sand and work with the approach we have created so far. - thomas - If you have any questions about using this list, please send a message to d.lloyd at openehr.org

