Appendix

Acknowledgements

Primary Author

  • Thomas Beale, Ocean Informatics UK; openEHR Foundation Management Board

Contributors

This specification and its sibling Archetype Definition Language specification have benefited from wide formal and informal input from the openEHR and wider health informatics community. The openEHR Foundation would like to recognise the following people and institutions.

  • Koray Atalag, MD, PhD, Sen. Researcher, National Institute for Health Innovation (NIHI), New Zealand

  • Linda Bird PhD, IHTSDO

  • Diego Boscá, IBIME, Technical University Valencia, VeraTech for Health, Spain

  • Rong Chen MD, PhD, Cambio Healthcare Systems, Sweden

  • Borut Fabjan, Program Manager, Marand, Slovenia

  • Sebastian Garde PhD, Ocean Informatics UK

  • Peter Gummer, Ocean Informatics

  • Sam Heard MD, Ocean Informatics

  • Stan Huff MD, Intermountain Healthcare, UT, USA

  • David Ingram PhD, Emeritus Professor of Health Informatics, UCL

  • Dipak Kalra MD, PhD, Professor Health Informatics, CHIME, UCL, president Eurorec

  • Shinji Kobayashi PhD, Kyoto University EHR research unit

  • Bostjan Lah, Architect, Marand, Slovenia

  • David Lloyd, CHIME, UCL (ret)

  • Ian McNicoll MD, Ocean Informatics UK

  • David Moner, IBIME, Technical University Valencia, VeraTech for Health, Spain

  • Pablo Pazos Gutierrez, Tarmac IT, CaboLabs, Uruguay

  • Harold Solbrig, Mayo Clinic, Rochester, USA

  • Erik Sundvall PhD, Linkoping University, Sweden

  • Alessandro Torrisi, Code24, The Netherlands.

Supporters

The work reported in this paper has been funded by the following organisations:

  • UCL (University College London) - Centre for Health Informatics and Multiprofessional Education (CHIME);

  • Ocean Informatics.

Special thanks to Prof David Ingram, founding Director of CHIME, UCL, who provided a vision and collegial working environment ever since the days of GEHR (1992).

Trademarks

  • 'openEHR' is a trademark of the openEHR Foundation

  • 'Java' is a registered trademark of Oracle Corporation

  • 'Microsoft' is a trademark of the Microsoft Corporation == Tools

Various tools exist for creating and processing archetypes. The ADL Workbench is a reference compiler, visualiser and editor. The openEHR tools can be downloaded from the website . Source projects can be found at the openEHR Github project.

Changes from Previous Versions

Release 1.5 to 2.0 (Document version 2.1.2 - )

The changes in release 2 of the ADL/AOM formalism are designed to make the formalism more computable with respect to terminology, and enable more rigorous validation and flattening operations.

The changes are as follows.

  • Introduction of new internal coding scheme, consisting of id-codes, at-codes and ac-codes;

  • Replace string archetype identifier with multi-part, namespaced identifier;

  • Addition of explicit value-sets in terminology section, replacing in-line value sets in the definition section;

  • Renaming archetype ontology section to terminology;

  • Expression of all external term bindings as URIs following IHTSDO format;

  • Introduction of 'tuple' constraints to replace openEHR custom constrainer types for covarying attributes within Quantity, Ordinal structures;

  • Re-engineering of all primitive constrainer types, i.e. C_STRING , C_DATE etc;

  • Removal of the openEHR Archetype Profile specification.

Release 1.4 to 1.5 (Document version 2.0 to 2.1.1)

The changes in release 1.5 are made to better facilitate the representation of specialised archetypes. The key semantic capability for specialised archetypes is to be able to support a differential representation, i.e. to express a specialised archetype only in terms of the changed or new elements in its defnition, rather than including a copy of unchanged elements. Doing the latter is clearly unsustainable in terms of change management.

The changes are as follows.

  • Full specialisation support: the addition of an attribute to the C_ATTRIBUTE class, allowing the inclusion of a path that enables specialised archetype redefinitions deep within a structure;

  • Addition of node-level annotations;

  • Structural simplification of archetype ontology section;

  • The name of the invariant section has been changed to rules, to better reflect its purpose.

  • A template is now just an archetype.

Release 0.6 to 1.4

Changes made from Release 1.3 to 1.4:

  • added a new attribute adl_version : String to the ARCHETYPE class;

  • changed name of ARCHETYPE . concept_code attribute to concept .

Amendment Record

Issue Details Raiser, Implementer Completed

R E L E A S E     2.0.6

2.0.6

SPECBASE-4Change order of type parameters in Hash<V,K> type to Hash<K,V>.

D Boscá

13 Apr 2016

Correct ASSERTION.variables association to refer to VARIABLE_DECLARATION.
Add RULE_ELEMENT class table to specification (reported in SPECPR-160)
Correct CARDINALITY.is_set documentation (reported in SPECPR-147).
Add missing type of String to ARCHETYPE_TERM.CODE. (reported in SPECPR-162).

B Verhees

05 Apr 2016

2.0.5

Make AUTHORED_RESOURCE.uid and AUTHORED_ARCHETYPE.build_uid UUIDs rather than any kind of UID.

T Beale

18 Jan 2016

Add P_ serialisation model and template sections.

T Beale

31 Aug 2015

2.0.0

Refactor ARCHETYPE and ARCHETYPE_TERMINOLOGY models, in order to simplify: remove differential and flat forms of classes.
Split ARCHETYPE into two classes, with AUTHORED_ARCHETYPE as a new class that inherits from AUTHORED_RESOURCE .

T Beale

04 Jan 2015

Remove VDSSR , VSUNC ; add VDSSID , VARXID . Replace +u (unstable) version modifier with semver.org standard -alpha. Remove overview material to new Archetypes: Technical Overview specification.

T Beale,
I McNicoll,
S Garde

12 Nov 2014

Remove ARCHETYPE.provenance_id attribute.

H Solbrig,
T Beale

08 Oct 2014

Correct spelling of licence to international English; rename ARCHETYPE.urn to provenance_id.

S Garde,
I McNicoll

29 Sep 2014

Modified C_ARCHETYPE_ROOT to have an id-code in all cases.
Add error VSONPO , VSONPT: specialised archetype object node prohibited occurrences validity.
Added support for constraints on enumerated types.

CIMI,
P Langford,
T Beale

18 Jul 2014

Convert ARCHETYPE.uid to urn: URN.
Rename ARCHETYPE.commit_number to build_count .

I McNicoll,
S Garde,
T Beale

04 Jun 2014

Make VACMCL a warning WACMCL .

D Moner

07 Apr 2014

Renamed ARCHETYPE_INTERNAL_REF to C_OBJECT_PROXY .
SPECAM-9. Renamed ontology section to terminology and simplified.
Remove CONSTRAINT_REF, C_REFERENCE_OBJECT types;
SPECAM-2. Introduce new archetype structured identification system;
SPECAM-28. Add IHTSDO standard terminology URIs to ADL and AOM.

T Beale
H Solbrig

09 Mar 2014

Detailed Technical Review.

H Solbrig

21 Nov 2013

Remove C_DOMAIN_TYPE ;
SPECAM-27. Merge C_PRIMITIVE_OBJECT and C_PRIMITIVE;
Add support for tuple constraints, replacing ADL 1.4 special Ordinal and Quantity constrainer types;
Add new primitive type C_TERMINOLOGY_CODE .
Added VSONIF, removed VSONCI (dup of VSONI).

H Solbrig
T Beale

20 Aug 2013

SPECAM-22. Limit assumed_value to C_PRIMITIVE_OBJECT.

T Beale,
R Chen

14 Jan 2013

SPECAM-32. Remove C_SINGLE_ATTRIBUTE and C_MULTIPLE_ATTRIBUTE classes.

T Beale,
S Garde,
S Kobayashi,
D Moner,
T Beale

15 Dec 2011

SPECAM-26. Add any_allowed function to ARCHETYPE_SLOT.

T Beale

18 Aug 2010

SPECAM-8. Add specialisation semantics to ADL and AOM. Add various attributes and functions to ARCHETYPE_CONSTRAINT descendant classes.

  • move C_PRIMITIVE.assumed_value to attribute slot in UML

  • rename C_DEFINED_OBJECT.default_value function to prototype_value

  • correct assumed_value definition to be like prototype_value; remove its entry from all of the C_PRIMITIVE subtypes

  • convert BOOLEAN flag representation of patterns to functions and add a String data member for the pattern value, thus matching the XSDs and ADL

  • add ARCHETYPE.is_template attribute.

  • add ARCHETYPE.is_component attribute.

  • allow computed as well as stored attributes.

  • make ONTOLOGY.terminologies_available computed.

T Beale

10 Dec 2009

SPECAM-1. Change Date, Time etc classes in AOM to ISO8601_DATE , ISO8601_TIME etc from Support IM.

T Beale

20 Jul 2009

SPECAM-10. Convert Interval<Integer> to MULTIPLICITY_INTERVAL to simplify specification and implementation.

T Beale

SPECAM-5. Archetype slot regular expressions should cover whole identifier. Added C_STRING.is_pattern .

A Flinton

SPECAM-7. Make existence, occurrences and cardinality optional in AOM.

S Heard

SPECAM-16. Add validity rules to ARCHETYPE_TERMINOLOGY .
SPECAM-11. ARCHETYPE_CONSTRAINT adjustments.
SPECAM-17. Add template object model to AM.

  • Add is_exhaustive attribute to ARCHETYPE_SLOT .

  • Add is_template attribute to ARCHETYPE .

  • Add terminology_extracts to ARCHETYPE_TERMINOLOGY .

T Beale

R E L E A S E     1.0.2

2.0.2

SPEC-257. Correct minor typos and clarify text. Correct reversed definitions of is_bag and is_set in CARDINALITY class.

C Ma,
R Chen,
T Cook

20 Nov 2008

SPEC-251. Allow both pattern and interval constraint on Duration in Archetypes. Add pattern attribute to C_DURATION class.

S Heard

R E L E A S E     1.0.1

2.0.1

SPEC-200. Correct Release 1.0 typographical errors. Table for missed class ASSERTION_VARIABLE added. Assumed_value assertions corrected; standard_representation function corrected. Added missed adl_version , concept rename from SPEC-153.

D Lloyd,
P Pazos,
R Chen,
C Ma

20 Mar 2007

SPEC-216: Allow mixture of W, D etc in ISO8601 Duration (deviation from standard).

S Heard

SPEC-219: Use constants instead of literals to refer to terminology in RM.

R Chen

SPEC-232. Relax validity invariant on CONSTRAINT_REF .

R Chen

SPEC-233: Define semantics for occurrences on ARCHETYPE_INTERNAL_REF .

K Atalag

SPEC-234: Correct functional semantics of AOM constraint model package.

T Beale

SPEC-245: Allow term bindings to paths in archetypes.

S Heard

R E L E A S E     1.0

2.0

SPEC-153. Synchronise ADL and AOM attribute naming. SPEC-178. Add Template Object Model to AM. Text changes only. SPEC-167. Add AUTHORED_RESOURCE class. Remove description package to resource package in Common IM.

T Beale

10 Nov 2005

R E L E A S E     0.96

0.6

SPEC-134. Correct numerous documentation errors in AOM. Including cut and paste error in TRANSLATION_DETAILS class in Archetype package. Corrected hyperlinks in Section 2.3.

D Lloyd

20 Jun 2005

SPEC-142. Update ADL grammar to support assumed values. Changed C_PRIMITIVE and C_DOMAIN_TYPE .

S Heard,
T Beale

SPEC-146: Alterations to am.archetype.description from CEN MetaKnow

D Kalra

SPEC-138. Archetype-level assertions.

T Beale

SPEC-157. Fix names of OPERATOR_KIND class attributes

T Beale

R E L E A S E     0.95

0.5.1

Corrected documentation error - return type of ARCHETYPE_CONSTRAINT . has_path
add optionality markers to Primitive types UML diagram.
Removed erroneous aggregation marker from ARCHETYPE_ONTOLOGY . parent_archetype and ARCHETYPE_DESCRIPTION . parent_archetype .

D Lloyd

20 Jan 2005

0.5

SPEC-110. Update ADL document and create AOM document.
Includes detailed input and review from:

  • DSTC

  • CHIME, Uuniversity College London

  • Ocean Informatics

Initial Writing. Taken from ADL document 1.2draft B.

T Beale
A Goodchild
Z Tun
T Austin
D Kalra
N Lea
D Lloyd
S Heard
T Beale

10 Nov 2004