Dear all,

as some at least have noticed from previous posts, there is the 
intention to move toward what we call 'source form' or 'differential' 
archetypes, whereby archetypes contain only changes with respect to a 
specialisation parent archetype. This move has no effect on the majority 
of archetypes (since they are top-level archetypes) but specialised 
archetypes are changed from being 'flat-form' archetypes (where 
inherited, unchanged elements are repeated in the descendant) to 
differential form, where they contain only new or redefined elements 
with respect to the parent archetype. Doing this makes specialised 
archetypes sustainable to maintain.

So far in the reference parser, we have implemented a fair bit of the 
specialisatoin semantics, and are generating .adls (source form) files 
from the existing .adl files. However, clearly in the future the aim is 
to be authoring from the outset in .adls form. The Archetype Editor has 
not had this capability added, but there are places where we want to do 
this anyway.

As a result, we have the situation where for some time both .adl and 
.adls files will be the authored form of an archetype, and therefore, 
both .adls and .ald files may be generated - the former from current 
.adl files, and the latter from de novo authoring in .adls (or an XML 
equivalent).

My proposal is to add a single flag to the .adl grammar that indicates 
whether an archetype, in either format, is 'generated', meaning was it 
machine generated from the other form. If this flag is  not set, it 
means that the file is the original authored form of an archetype. The 
actual form of the flag would be in the first line, in the bracketed 
part after the 'archetype' keyword. For example, in the archetype at 
http://svn.openehr.org/knowledge/archetypes/dev/adl/openehr/ehr/entry/observation/openEHR-EHR-OBSERVATION.ecg.v1draft.html
 
the first line is:

archetype (adl_version=1.4)

my proposal would be that if it were generated, it would be as follows:

archetype (adl_version=1.4; generated)

in a similar manner to the 'controlled' indicator defined in section 
8.3.2 of the ADL 1.4 specification 
(http://www.openehr.org/releases/1.0.1/architecture/am/adl.pdf). The 
equivalent change would be made in the openEHR archetype XSD to allow 
XML archetypes to include this flag.

This allows tools to know which form can safely be discarded, allowing 
bugs and development to continue on the tools themselves. To move 
forward on this, we would need the agreement of all archetype toolbuilders.

all feedback welcome.




Reply via email to