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.

