openEHR SDK

Tools

The Problem

Developers building openEHR-based applications in Java or Groovy need to work with the openEHR Reference Model and operational templates at code level: parsing XML and JSON documents, validating compositions against templates, extracting values from archetype paths, and generating synthetic test data. Without a library, every team implements this logic from scratch — inconsistently, incompletely, and at significant cost.

The openEHR specification is thorough, but turning it into working code is non-trivial. The Reference Model alone covers dozens of classes and a precise type system. Operational templates add another layer. Most teams building JVM applications against an openEHR CDR end up writing brittle one-off parsers rather than a correct general-purpose implementation.

Why We Built It

CaboLabs built the openEHR SDK to support internal projects where we needed a reliable, reusable JVM library for openEHR data processing. The SDK underpins several CaboLabs products, including test tooling for EHRServer and the conformance verification framework. It has also been used directly in consulting projects where the client's technology stack was Java or Groovy.

Rather than keeping this work internal, we released it as open source so that the broader openEHR community could benefit from a shared implementation rather than each team starting from zero. The SDK is written in Groovy, which compiles to the JVM and is fully interoperable with Java projects.

The SDK is the kind of library that makes other tools possible — the composition validator, the test data generator, the document parsers. If you are building something on the JVM that touches openEHR, this is the layer you want between your application code and the raw specification.

Key Capabilities

What the SDK provides for JVM-based openEHR development.

Full Reference Model implementation

Complete Groovy implementation of the openEHR Reference Model classes, type system, and constraints — JVM-compatible and usable from Java without modification.

Template Model implementation

Represents operational templates in code, enabling programmatic access to template structure, constraints, and archetype paths without custom parsing logic.

XML and JSON parsers and serializers

Read and write openEHR compositions in both canonical XML and JSON formats. Handles serialization of all Reference Model types correctly.

Composition validation

Validate a composition document against an operational template, producing structured validation results that identify constraint violations at the archetype path level.

Test data generation

Generate valid composition instances from an operational template with randomly populated data. Useful for conformance testing, development, and load testing CDR implementations.

Archetype and template path utilities

Navigate and resolve archetype paths within compositions and templates, making it straightforward to extract specific data elements without low-level XML/JSON traversal.

Do you have any questions?

Let us know how we can help you.

Company CaboLabs Health Informatics
Address Juan Paullier 995, Montevideo, Uruguay
Phone +598 99 043 145