licence: String - short text and URL pointing to licence under which this artefact is available

ip_acknowledgements: Map<String, String> - keyed list of 3rd party IP acknowledgements, each consisting of a single word key, and a short text and URL pointing to the online text describing how the IP available for this artefact.

New Clients/Suppliers top-level tab showing client (user) archetypes containing use_archetype references to the current archetype, and supplier archetypes, i.e. archetypes for which the current archetype has a use_archetype reference.

The GUI is now docking-based, allowing greater flexibility in placement of visual components. Visually, multiple archetypes can now be loaded simultaneously, and docked side-by-side for visual comparison. This visual layout is the same model used in most modern tabbed editing and browsing tools. Underneath, the tool now properly supports multiple open archetypes and templates.

A new archetype tool is created either using ctrl-T (as for most web browsers) or from the new context (right click) menu available on an archetype or template in the explorer tol on the left.

The language choice combo, and flat/differential view button are therefore now on each individual archetype tool, rather than being tool-wide.

The status, error and statistics tools are now docked along the bottom and popup on left-click, in the manner typical of most programming IDEs.

The profile chooser has moved to the top-left, in the place typically used to select 'projects' in most IDEs

The 'test' tool is now shown as a docked component minimised on the right hand side, where it used to be. However, now it is a normal dockable component, so can be arranged in the same screen space as the other components, or even popped out into its own independent window, e.g. to be displayed on a separate screen.

The docking tool layout is currently remembered over sessions by being saved in its own file. Because of the inherent complexity of docking and interaction with the operating system, the layout can occasionally disappear or seem non-sensical, usually due to a problem with the file. A 'reset visual layout' option is available from the View menu to correct this.

New Reference Model Browser:

A new tool on the left hand side of the main screen allows multiple Reference Models to be browsed and explored. Clicking on any class causes the class to be displyed in the Class Tool, in a new tab.

Classes from different RMs can be viewed side-by-side using different class tools and docking system to arrange the panes.

Enhanced search bar:

The address bar now supports searching for classes as well as archetpes, depending on which of the RM browser or Archetype Catalog is active.

Archetype definition visualisation enhanced:

It is now possible to include a set of RM-specific icons for visualising the definition tree. These icons have to be located in the install area icons/<rm_name> directory, e.g. icons/openehr. Viewing with these icons or the generic ones is now an option available from the option dialog and also from the definition node tree.

Left-clicking on a class node in the explorer on the left populates the 'class tool' (now just another tool, tabbed with the archetype tools) with the compositional 'closure' of the chosen class. This is visualised as a tree of alternating type nodes and property nodes, in a similar to the node visualisation of an archetype.

Some of the class nodes are abstract, or even if concrete, have subtypes defined. Right-clicking on these nodes in the class tool, brings up a context menu containing the subtypes defined in the reference model, and selecting one causes re-population of that node in the tree downward with the chosen type.

As with the archetype tool, right clicking on a class node allows a new tool to be created instead of populating the existing one. Class tools can also be delted from the docking container.

ADL/XML serialisation version now choosable in main GUI window, rather than only in the options. This option changes the format of ADL and XML output to conform to the chosen ADL release (1.4 or 1.5)

Serialisation: dADL and rule-driven XML added:

Empty items are no longer populated, e.g. 'contributors'.

Added dADL (the openEHR object serialisation syntax, identical in aim to JSON) serialisation, where an archetype object (AOM) structure can be serialised to a pure dADL structure. A special set of P_XXX classes were added to simplify some fields, e.g. occurrences etc to Strings, since otherwise they take up many lines of dADL. The use of this feature is for post-parsed archetypes to be stored in a pure object format for fast retrieval later, bypassing the main compiler.

Added proof-of-concept XML serialisation, also based on the P_XXX classes, as well as a rule file which enables control over XML what object properties are output as XML attributes, and other options. This XML is not currently synchronsed to either the published ADL 1.4 XSD, or any ADL 1.5 XSD.

Compiler

Archetype validation is now 3 phases, where the last phase operates on the flattened archetype.

Added regression testing facility so that any archetype can now include in its description section an expected compilation result,
such as 'PASS', 'FAIL', or a validity code e.g. 'VSONIL'. This enables all the current test archetypes
(found here) to be used by any compiler
in any language in the same way. The ADL Workbench now has a button which turns on this facility on the test page.
See Test tool page for details;

Fixed bugs that prevented constraint bindings being read in correctly, and also errors being correctly reported from the parsing of the archetype ontology;

improve validation of languages, now minimally enforce IETF language-tag format (RFC 5646 - this
is the one that defines strings like "en" and "en-GB". This class contains functions for exact matching, validation and matching a language subtag e.g.
"en" to a full tag e.g. "en" or "en-GB", "en-AU" etc);

fixed a bug in the 2nd pass validator that was sometimes preventing subtrees in specialised archetypes from being correctly validated against
their correspondents in parent archetypes

Fix node map rendering problem where multiple value attributes with existence = 1 not showing up in red but pink.
Existence is now taken into account for this rendering.

Added profile chooser combo box to archetype explorer on main page;

Archetype id search facility added to id control on main page. This allows any id substring to be matched to available archetypes,
generating a picklist for the user. E.g. the user could enter 'exam' and the list will show all archetypes containing this string;

Improved validation for VSONIR cases; comparison of ranges for existence, occurrences and cardinality comparison in
specialised archetype validation no longer treats equal ranges as a legal redefinition (since in terms of constraint logic,
only strictly narrower ranges are valid redefinitions);

moved error database to files under $app_install/error_db;

Addition and refactoring of code base to create new applications:

GUI Dadl testing app;

ADL compiler app simulating app, designed to show within the Eiffel environment what kind of calls an application (possibly written
in another language) would make to use the compiler;

ADL compiler C lib-generating, which generates the compiler as a pure C library in both static and dynamic link forms, with all GUI removed.
This can be directly inked in with applications written in C, C++, Java, via JNI, or any .Net language.

Example application written in C using the statically linked form of the above library, to illustrate its use.

Release notes now displayed in default browser at installation time;

Updates to help pages, including Mac installer and regression test facility.

validity error: the archetype semantics are not valid when validated against parent
archetypes and the reference model - shown in orange

validity warning: the semantics are valid, but there are redundant elements or other small
issues to correct - shown in yellow

passed - shown in green

improved error reporting.

it now uses the reference model (RM) to validate all archetypes. The reference model is
currently expressed in a custom meta-model format which is much simpler than UML 2 based meta-models, e.g.
XMI (why?). The
meta-model can be found here. Both the
location of this file, and its design may change in the future, and its current format should not be taken as
normative for openEHR.

RM attributes are now shown in the node map visualisation (differential form, flattened form). In the
differential view, only attributes defined on the concrete class mentioned in the archetype are shown; in the
flat view, all inherited attributes are shown.

A new test has been added to the test page that allows original ADL fles to be overwritten
with the result of the flattening operation on archetypes. THIS IS EXPERIMENTAL and should be used with care
- it will really overwrite ADL files, so be sure to use it in a version-controlled context, such as SVN
(where you can conveniently then see diffs of the files). For this reason, both the 'Save ADL' and
'Save ADLS' tests now require checkboxes to be checked before they will operate. The intention of the
new 'Save ADL' operation is to experiment with removal of some kinds of errors from legacy ADL
fles.

The Archetype workbench now functions as a compiler over the entire archteype
'directory' (the merged result of the reference and work repositories). With a single command
(F7; build repository), all archetypes are compiled, and an error report built up which can be perused at
any time. Slot relationships between archetypes are now shown, as are statistics for the
repositories.

user history of archetypes visited;

The workbench now works using two kinds of files: differential 'source' files
(.adls extension) and flat files (.adl extension). Previously, .adl files were treated as the source of
all archetypes. There are now two kinds of files:

.adls file: this will become the
'source' file type for all archetypes.

.adl file: this will become the file type
for the 'flat' view of an archetype. In the future, .adl files will no longer be
stored, but will be generated on the fly.

for existing archetype repositories consisting of .adl files, the .adl file will be treated
as the initial source. A .adls file will be generated once only for each .adl file, and from then on, the
.adls file will be used as the source.

interim release Subversion 63 - 14/May/2006 ADL - 1.4 compliance

all ISO date/time constraint patterns now include the 'T' where appropriate, but parser
tolerates a space for the moment, and silently substitutes a 'T' on output

ISO8601 duration constraint patterns now possible. See basic_types archetype in test archetypes
area for examples property attribute value in C_QUANTITY dADL sections now upgraded to CODE_PHRASE as
defined by openEHR Archetype profile spec.

Existing archetypes with old form of property = <"xxxxx"> still parse but are
silently converted to property = <[openehr:xxxx]> (note spaces converted to '_' as
well)

clear_xxx routines added to ARCHETYPE_DESCRIPTION and ARCHETYPE_DESCRIPTION_ITEM to allow all
list attributes (e.g. author, keywords, details, other_details etc) to be cleared in one go.

implemented 'adl_version' and 'controlled' markers in ADL files. Existing ADL
files opened and saved with the ADL workbench or other tool using this parser will have the latest
ADL version written into them.

added functions to ARCHETYPE_ONTOLOGY to remove terms and constraints completely.

added a function to ARCHETYPE to generate list of unused term and constraint codes, and to delete
them from the ontology.

bug fixes:

string values in dADL sections that wrap to start of next line now parse properly

all ISO date/time values in dADL and cADL now parse with proper 'P' and 'T'
characters; if no 'T' present in value, it parses fine (for now) but a 'T' is
included on output.

interim release Subversion 47 - 02/Apr/2006

bug fixes

fixed bug where Save on archetype opened from explorer tree had wrong directory removed leading
whitespace in dADL text fields

interim subversion release 4 - 12 Oct 2005

more efficient implementation of DT_OBJECT_CONVERTER, which now checks far fewer types when comparing generic types

bugfixes

better structure of code with respect to use of SHARED_ADL_INTERFACE, which slved .Net DLL crash problem.

interim release Subversion revision 3 - 23 July 2005

changes:

library package structure significantly improved. Note that this will mean that .Net users will see that many classes are in a new namespace. The main change is that the am package is now populated as described in the Archetype Object Model (AOM) documentation.

codes for an_operator argument given in openEHR AOM specification - the new classes OPERATOR_KIND and OPERATOR_TYPES are added. To make a call to one of the above functions, an OPERATOR_KIND object needs to be created using the c# syntax which has the effect of doing OPERATOR_KIND.make(integer value) or OPERATOR_KIND.make_from_string(string value)

bugs:

some bugs remain in the java wrapping; compiles ok, but runtime errors at assertion building. - More functions need to be wrapped for ARCHETYPE_DESCRIPTION, adding invariants to ARCHETYPE etc.

release 'arch_desc' BitKeeper cset 1.56 19/June/2005

enhancements

implemented ARCHETYPE_DESCRIPTION class, parsing, and GUI view. Upgraded all test archetypes. - added new class DT_OBJECT_CONVERTER, which performs generic DT_ <-> object structure conversion. This
enables the archetype description and any other dADL content to be converted automatically into objects, rather than requiring hand-built routines.

interim release BitKeeper cset 1.50 01/June/2005

enhancements

News facility added: a news window will pop up the first time the workbench is used with a new version.

interim release BitKeeper cset 1.49 30/May/2005

enhancements

DT structures (the internal representation of dADL sections) are all generically generated from
objects and are used to generate objects. This means that C_QUANTITYs, the description section and so on
of an archetype are all handled by the one piece of code now. The ontology section is slightly more
complex, since its current modelling does not correspond strictly to the object types used in the class
ARCHETYPE_ONTOLOGY. This will change in the future.

interim release BitKeeper cset 1.46 - 05 May 2005

interim release BitKeeper cset 1.39 25/Feb/2005

C_QUANTITY now allows magnitude to be absent in inline dADL, meaning open magnitude, with unit still
constrained - support dADL2 style syntax, including nested generics - change paths to include anonymous
nodes - bug fixes - an error whereby archetypes with include and exclude lists sent the parser into an
infinite loop is fixed. - empty C_DOMAIN_TYPE sections now parse, e.g. {C_QUANTITY <>} - embedded
C_DOMAIN_TYPE sections with sibling non-C_DOMAIN_TYPE sections now parse properly

interim release cset 1.38 - 19 Jan 2005

changes

complete JNI wrapping for ADL parser. Many fixes in parser. See http://www.deepthought.com.au for
documentation on JNI wrapping for Eiffel / C. - it is now recommended that users download the BitKeeper
repository for this project, since it contains the proper java directory structure. - this directory
still contains the correct DLL, but will be replaced in the near future by a proper distribution
server.

interim release BitKeeper cset 1.32 - 29 July 2004

interim release BitKeeper cset 1.27 - 19 September 2004

enhancements

finished inline dADL support for C_DOMAIN_TYPE subtypes; correctly serialises now; use of parantheses
corrected - file names for serialisations other than ADL now replace the '.adl' extension at the
end rather than just appending '.html', '.xml' or whatever..:wq - bug fixes - fix crash
if icon not available (black square now shows, plus message indicating which icon missing).

interim release BitKeeper cset 1.25 - 05 May 2004

changes

Renaming and re-arrangement of all classes and some attributes, as follows:

CADL classes

CADL_ITEM -> ARCHETYPE_CONSTRAINT

CADL_OBJECT_ITEM -> C_OBJECT

type_name -> rm_type_name

CADL_NODE removed

CADL_REL_NODE -> C_ATTRIBUTE

attr_name -> rm_attr_name

CADL_CARDINALITY -> CARDINALITY

CADL_OBJECT_NODE_REF -> ARCHETYPE_INTERNAL_REF

CADL_OBJECT_NODE with is_archetype_ref = True -> ARCHETYPE_SLOT

CADL_OBJECT_NODE with is_archetype_ref = False -> C_COMPLEX_OBJECT

CADL_OBJECT_TERM_REF with is_reference = True -> CONSTRAINT_REF

CADL_OBJECT_TERM_REF with is_reference = False -> C_CODED_TERM

CADL_OBJECT_SIMPLE -> C_PRIMITIVE_OBJECT

C_SIMPLE -> C_PRIMITIVE

ADL_ASSERTION -> ASSERTION

DADL classes

DADL_ITEM -> DT_ITEM

DADL_NODE removed

DADL_OBJECT_ITEM -> DT_OBJECT_ITEM

type_name -> rm_type_name

DADL_REL_NODE -> DT_ATTRIBUTE_NODE

attr_name -> rm_attr_name

DADL_OBJECT_NODE -> DT_COMPLEX_OBJECT_NODE

DADL_OBJECT_LEAF -> DT_OBJECT_LEAF

DADL_OBJECT_QUERY -> DT_OBJECT_QUERY

DADL_OBJECT_SIMPLE -> DT_PRIMITIVE_OBJECT

DADL_OBJECT_SIMPLE_LIST -> DT_PRIMITIVE_OBJECT_LIST

DADL_OBJECT_SIMPLE_INTERVAL -> DT_PRIMITIVE_OBJECT_INTERVAL

DotNet classes

DOTNET_CADL_TREE_ITERATOR -> DOTNET_ARCHETYPE_ITERATOR

interim release BitKeeper cset 1.27 - 19 September 2004

enhancements

finished inline dADL support for C_DOMAIN_TYPE subtypes; correctly serialises now; use of
parantheses corrected - file names for serialisations other than ADL now replace the '.adl'
extension at the end rather than just appending '.html', '.xml' or whatever. - bug
fixes - fix workbench crash if icon not available (black square now shows, plus message indicating
which icon missing).

interim release BitKeeper cset 1.23 - 09 September 2004

GUI fixes:

added option dialog; tool now asks for editor and repository path if no .cfg file found on
startup, and writes settings to .cfg file in startup directory - specialisated archetypes have a
differnt icon in archetype explorer - specialised archetype parent archetype id now shown in GUI -
general GUI size & widget cleanup - Bug fixes: - unused parent codes in specialised archetypes no
longer generate warnings - Enhancements: - ASSERTION-building factory routines exposed in interface -
ontology sections all now save in sorted order of keys - ADL_INTERFACE has an attribute called
openehr_version which contains the automatically version information from the software repository -
useful for reporting bugs, using in 'about' window.

interim release BitKeeper cset 1.3.1.30 - 29 July 2004

added archetype explorer control on left side of tool - fixed error where empty term definition text
caused crash - corrected validation of found use_node paths - corrected error where sibling object nodes
with same code caused crash.

interim release BitKeeper cset 1.3.1.22 - 05 May 2004

re-engineered object models as described in draft ADL 1.2 manual (See openEHR website). This
doesn't affect standalong applications but does affect the DLLs. - added ADL keywords
"allow_archetype", to replace "use_archetype", and "include" and
"exclude" to define allowed and excluded sets of archetypes in an archetype slot. - slightly
imprved visual display in GUI tool with a new icon for 1:N attributes.

"mar2004" Release - 31 Mar 2004 (BitKeeper cset 1.3.1.13)

separated out .Net DLL into its own toolkit - ADL language 1.1; ADL language manual 1.1 - VB.net
sources updated - implements new interval syntax using "||". - implementation of clinical ADL
types CODED_TEXT and ORDINAL conforming to syntax defined in version 1.1 of manual. - initial
experimental XML output for OWL as save option in ADL workbench. THis will be rewritten next version! -
many small bugs and limitations of DLLs fixed, allowing more powerful interrogation of the Archetype
ontology in memory from any .net language, or any application natively using the Eiffel backend (i.e. any
C/C++ app, or Java via JNI).