openEHR
openEHR is an open specification for storing and querying clinical data in a vendor-neutral repository. A stable reference model defines the basic structures, archetypes define clinical concepts such as a laboratory result, templates combine archetypes into forms, and the Archetype Query Language (AQL) retrieves the data. The non-profit openEHR International maintains it.
Key takeaways
- An open specification for clinical data storage, maintained by the non-profit openEHR International
- Multi-level modelling: a stable reference model, with archetypes and templates above it
- Archetypes are shared and reused; templates are local forms built from archetypes
- AQL queries data by archetype paths, independent of the database underneath
- Data sits in a clinical data repository (CDR), separate from any one application
What openEHR means
openEHR splits clinical data modelling into levels. The reference model is a small, stable object model with generic structures such as Composition, Section and Observation, plus data types. Software and databases are built once against it, and clinical meaning is added above it in archetypes and templates that modellers can change without changing the software.
An archetype is a set of constraints on the reference model for one clinical concept, such as a laboratory result. Archetypes are designed for wide reuse and shared through the Clinical Knowledge Manager. A template is local: it assembles archetypes into what one screen form or report needs, such as a discharge summary or an antenatal exam, and validates data on entry.
Data stored this way lives in a clinical data repository (CDR) and is queried with AQL by archetype paths rather than table names. FHIR is designed for exchange between systems, and the two can be combined. Agnotic Technologies covers that choice on our FHIR vs openEHR comparison.
When does a builder meet openEHR?
Usually in one of three places: a health system or national program that has standardized on openEHR and wants new apps to read and write its CDR; a product that must store many clinical forms that change often; or a data platform that has to keep clinical meaning stable across several front ends.
In each case the work is less about the database and more about modelling: choosing existing archetypes from the Clinical Knowledge Manager, building templates for the forms and writing AQL for the reports and APIs the product needs.
Which layers make up openEHR?
| Layer | What it does | Example |
|---|---|---|
| Reference model | Defines the stable, generic structures and data types all data is built from | Composition, Section and Observation classes, quantity and coded text types |
| Archetype | Constrains the reference model to define one clinical concept for wide reuse | openEHR-EHR-OBSERVATION.laboratory.v1 for a laboratory result |
| Template | Combines and narrows archetypes for one local form, report or message | A discharge summary or antenatal exam form |
| AQL | Queries stored data using archetype paths, independent of how it is stored | All glucose results for one patient in the past year |
| Clinical data repository (CDR) | Stores and versions the data, and serves AQL queries and APIs to applications | A shared patient record used by several apps in one health system |
Facts and primary sources
openEHR's architecture overview describes a multi-level approach in which a stable reference model is the first level, with archetypes defining reusable clinical content above it.
Source: openEHR architecture overviewopenEHR expresses all archetypes in the Archetype Definition Language (ADL), which its specification describes as the basis of ISO standard 13606-2.
Source: openEHR architecture overviewThe openEHR AQL specification describes the Archetype Query Language as a declarative query language for searching and retrieving the data found in archetype-based repositories.
Source: openEHR AQL specificationThe openEHR Clinical Knowledge Manager is used to develop, manage, review and publish clinical data models, including openEHR archetypes and templates.
Source: openEHR Clinical Knowledge Manager
Explore this on Agnotic
Where openEHR shows up in how we build.