Grahame Grieve wrote: > hi Tom > > We are speaking about data integrity issues at different > levels. Of course the reference model assures data integrity > at that level; I was speaking of data integrity at the of > data aquisition - calibration, methodology, attribution, these > kind of things. > > Grahame > > ah - 'data quality' in other words - i.e. markers / meta-data relating to the data capture from the source, not the integrity of the data as represented on the openEHR system?
So far I would see such things as being catered for using compositions of archetypes - we currently have a lot of Cluster and Structure archetypes for this purpose. In all Entry archetypes (Observation etc), there is a 'protocol' attribute. It would be easy to create an item under protocol in those Entry archetypes that need it for 'data quality', which is a slot taking a subset of Cluster or Structure archetypes which report on data quality / capture. We already do a lot of re-use of this kind with archetypes. I would be very hesitant to introduce the equivalent of multiple inheritance, because the true nature of inheritance is a notion of substitutability, or IS-A-ness. Using inheritance as a way of doing a mixin as can be done in software can be confusing. It is interesting that even the Eiffel language, which has the smoothest and cleanest implementation of multiple inheritance (which Eiffel developrs use ubiquitously in application development), has evlved its semantics to distinguish 'conforming inheritance' and 'non-conforming inheritance'. The latter does not confer substitutability. In the archetype space, 'substitutability' really translates to: can I use a parent archetype to process the data creating using child archetypes? The answer should (in my view) only be yes when the parent is ontologically a precursor of the children, e.g. the laboratory archetype is an ontological parent of laboratory-lipids. I think it would be hard to push the idea that some archetype containing no constraints apart from some data_quality items was an ontological parent of laboratory-lipids or any other archetype. If we were to go more towards using software constructs in archetypes, I think I would be more interested in genericity (i.e. template types) rather than multiple inheritance. - thomas