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? 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.) > 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. > 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? 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. > isn't...) and c) we want to make the data comprehensible to systems and > users not using archetypes. I don't see any reason why data should not be as well understandable as archetypes shall be. I don't say you should give up archetypes; they are important to serve as initial knowledge template. > >You have to put all constraints into the runtime (reference) model, > >so that the model does not have to refer to its original template anymore! > > again, that is a valid desing approach, but we don't use it; we find it > is much clearer to have separated data and archetypes. 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. Christian - If you have any questions about using this list, please send a message to d.lloyd at openehr.org