ADL/AOM 1.5 (major) progress update

I have been working for some years on the side on the long overdue Archetype Definition Language (ADL) 1.5 and Archetype Object Model (AOM) 1.5 specifications (dev page). I have made some major progress just recently, of the ‘nice’ kind, where the specification simplifies, becomes more generic, and the formalism becomes more powerful (you know it’s the right change when you think, ‘ah if only I had done it this way years ago’. Such is the nature of R&D).


One of the advantages of taking a long time to do something complicated is that you get more time to reflect on it, mull over the modelling, and make it cleaner and clearer. Another is the ability to gather requirements from more stakeholders. In this case, those requirements have lately (last 2 years) come from the CIMI forum. The actual explicit new requirements are minor and number only one or two. The main effect of CIMI has been to force me to get the specification and tooling working in a more bullet-proof manner for non-openEHR Reference Models and archetype modelling styles.

This week I reached the point where a new version of the specification removes all special ‘domain types’ that were designed to cater for common reference model types like Quantity, Ordinal and Code phrase. These types are as common as ever of course, but they have now been implemented using a much more powerful and type-independent tuple mechanism. This particular change is explained on the ‘power syntax’ wiki page. The new draft of the specification is here. The ADL specification will be updated in the next few days.

Implementing this change has led to the simplification of the AOM models, viewable here. 95% of the changes have been implemented in the ADL Workbench, of which a new release will appear imminently.

How does this matter in the real world?

As an engineer I am not in the habit of wasting time on things that don’t affect the real world and make it better. My aim is to make the AOM, its abstract syntax form ADL, and all the derived XML and JSON etc formats, the primary formalism in e-health for representing domain specific content (and maybe one day other industries – since it’s generic). This is a big claim, but over the last 15 years, I have become familiar with pretty well all published attempts to do this in health and outside of it, and the current formalism is now the strongest I know of for this job. Some more work is needed to make it more widely digestible by implementers, but not much.

When widely implemented, the ADL / AOM 1.5 formalism can deliver something very powerful:

  • fine-grained universal and local re-use: being able to refine models across specialties and geographies
  • support for universal health querying: being able to query any data point the same way, regardless of the data set
  • standardised interface between information and terminology
  • support standardised libraries of integration mappings

Over time this means we can build out the already substantial archetype template libraries to cover most of medicine, and from those, quickly build code, screen forms, message definitions, document schemas and queries that will all interoperate, even though the data sets will always be specific to the use case. In other words a query for systolic blood pressure will work universally, for all systems implementing the models (via whatever intermediate form).

If used properly, this would lead, over the next decade, to a significant reduction in the cost of system integration in health – usually the highest cost component of any deployment.

Some openEHR vendors have already started on ADL/AOM 1.5 implementation, and I expect this to accelerate in the next couple of years.

Where to next?

The work on terminology binding still needs to be finalised, which will be done with CIMI and IHTSDO members’ help. We still need to refine some details to do with namespacing and version identification, but the design of this is now more or less complete.

An exciting development on the horizon is a merger of archetypes as a theory and Referent Tracking, as described by Werner Ceusters and Barry Smith, see particularly this 2010 paper. Referent Tracking can mean a lot of things, but practically it provides a way to properly model ‘sources of truth’ such as medication lists, problem lists and so on. I’ll post about this in the future, since I believe its time has come…


It’s been very useful working with the CIMI group, and obtaining critique, insight from discussion and so on. Dr Stan Huff’s Intermountain Health group has been particularly important, since they have a whole formalism of their own and tool stack to go with it, which has been a key reference point. Others have pushed for unreasonably powerful semantics, and being an unreasonable person myself, I have mostly obliged by making various adjustments to the specification. Working with CIMI test archetypes has also broken the ADL 1.5 compiler a few times, and consequently fixed some holes.

Also involved with CIMI, and the openEHR community is the Valencia Polytechnic University Biomedical Information research group, who have been constructively critical over the years, and built their own archetype tool to back their arguments up – their input has also been very useful and has informed the latest work (even if they don’t agree with it πŸ˜‰

Lastly my Ocean Informatics colleagues have been most helpful, particularly Dr Ian McNicoll, one of those geek-docs who has a good handle on technical representation and clinical information semantics.

Undoubtedly I haven’t mentioned everyone who has provided input and critique, but consider yourself thanked!

About wolandscat

I work on semantic architectures for interoperability of information systems. Much of my time is spent studying biomedical knowledge using methods from philosophy, particularly ontology and epistemology.
This entry was posted in Health Informatics, openehr, standards and tagged , , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s