A Medical Logic Module written for one system will not run on another until you rewrite the part inside the curly braces. The Arden community calls this the curly braces problem, and after fifteen years of standardisation it is still the reason encoded clinical knowledge does not pass from one institution to another.
Context
The idea behind Arden Syntax is as old as it is sensible: take the clinical rules โ a drug-allergy interaction alert, a vaccination reminder, a threshold on a lab result โ out of the chartโs application code and write them in a form readable by the people who own that knowledge, namely clinical staff. The standard grew out of a 1989 meeting at the Arden House in New York State, with Columbia-Presbyterian, Stanford, Regenstrief and other centres; that is where the name comes from.
The unit of encoding is the Medical Logic Module (MLM): a text file split into slots. The maintenance part holds the metadata (title, author, version, validation, institution); library gathers the citations and clinical explanation; the knowledge block carries the substance. Inside knowledge sit data (where the values come from), evoke (what fires the module: a new report, an admission, a time-based deadline), logic (the condition, in imperative syntax with assignments and if/then) and action (what happens when the logic concludes true: a message, a write to the chart, a call to another MLM).
Arden Syntax 1.0 became an ASTM standard in 1992 (E1460), moved under HL7 in 1998, and version 2.5 was approved by ANSI in 2005: that is the current reference release.
Anatomy of a module
An MLM takes this shape:
maintenance:
title: Potassium-sparing diuretic with K supplement;;
mlmname: potassium_warning;;
arden: Version 2.5;;
version: 1.02;;
institution: Example Hospital;;
author: Jane Smith, MD;;
data:
let potassium_sparing be read last
{select medication where class = 'K-sparing diuretic'};
let potassium_suppl be read last
{select medication where class = 'K supplement'};
;;
evoke:
medication_order;;
logic:
if exist(potassium_sparing) and exist(potassium_suppl) then
conclude true;
endif;
;;
action:
write "Warning: potassium-sparing diuretic together with "
|| "potassium supplement - check serum K.";;
The logic and action are part of the standard in full: copy the module into another institution and the rule it expresses is the same. The trouble lives in data, in the two queries closed between { and }.
The critical point
What sits between the curly braces the standard does not specify. Arden defines the grammar of the language but deliberately leaves blank how a value is retrieved from the local system: the chart query, the read from the laboratory, the declaration of the evoke event, even the destination of the output. Everything inside the braces is written in a local dialect, against the data schema and vocabulary of that one precise installation.
The consequence is immediate. An MLM carries its clinical logic with it โ that part does travel โ but not the data binding, which has to be rewritten at every adoption. Whoever takes the potassium_warning module from another institution reuses the reasoning and throws the two read statements away, because the medication table, the class codes and the query API are different. The promise of sharing clinical knowledge as a common good holds at the level of logic and breaks at the level of data.
In practice this pushes Arden towards closed, vertically integrated settings โ the historical sites such as Columbia, Regenstrief, Intermountain โ where a single group controls both the MLMs and the underlying data schema, and rewriting the binding is no obstacle because there is only one binding to write.
GELLO
Work on a successor begins at HL7 early in the decade under the name GELLO (Guideline Expression Language, Object-Oriented), approved as an HL7/ANSI standard in 2005. Its design differs by construction on three points.
GELLO is an expressions-only language, declarative, derived from OCL (Object Constraint Language) by the Object Management Group. It describes no workflow and no side effects: it evaluates conditions and computes values, nothing more. Flow logic lives elsewhere โ usually in the guideline model that hosts it, such as GLIF3, for which GELLO is the expression language.
Above all, GELLO does not query an arbitrary local schema: it reads against the RIM (Reference Information Model) of HL7 version 3. Here lies the attempt to close the curly braces problem at the root. If expressions navigate a shared class model instead of proprietary tables, then an expression written once evaluates anywhere that model is adopted. The data binding stops being opaque text between braces and becomes typed navigation over a standard model.
Limits
GELLO moves the problem more than it dissolves it. The portability of the binding now depends on adoption of the HL7 v3 RIM, and the RIM is a complex model, far from the schemas commercial charts run on in 2006. In place of a local per-dataslot dialect there is now a single canonical model, itself costly to implement: a conceptual step forward that moves the cost rather than removing it.
There is also, as of today, no mature open-source reference engine for GELLO, and no authoring environment usable by clinicians who do not program. For Arden the situation is symmetric: experimental academic tools exist to run MLMs, but no production-ready free runtime. The result: the CDS actually in service leans largely on the proprietary engines of the chart vendors, with rules written in in-house Java or XML, sometimes in Arden-like dialects, and with cross-system transportability that stays low.
It is worth keeping the two planes apart. Arden and GELLO are languages for representing clinical knowledge, and on that plane they remain valid whatever execution architecture prevails. The other question stays open: how and where a chart system gets the data to hand to that logic. As long as that question has a different answer at every installation, an MLM will stay portable only halfway.
https://www.hl7.org/implement/standards/product_brief.cfm?product_id=236 https://pubmed.ncbi.nlm.nih.gov/15360796/ https://www.openclinical.org/gmm_ardensyntax.html https://www.openclinical.org/gmm_gello.html https://www.omg.org/spec/OCL/ https://www.noze.it/en/insights/arden-syntax-gello-cds/
Cover image: Large stone Renaissance-revival mansion set among wooded hills, with a symmetrical facade and tall chimneys: Arden House on theโฆ โ photo by Peter Bond, CC BY-SA 2.0 โ https://commons.wikimedia.org/wiki/File:Arden_House_1.jpg