Term: Arden Syntax

Description: The Arden Syntax is a standardized language used to represent and share clinical knowledge through Medical Logic Modules (MLMs). The Arden Syntax was introduced in 1989 and was first adopted in 1992 by ASTM. Version 2.0 was adopted in 1999 by both its current sponsor , HL7, and ANSI. Health Level Seven, HL7, is a volunteer, non-profit organization involved in development of international health care standards. Currently, Arden Syntax Version 2.1 is the accepted standard. Since MLMs are not easily used in conjunction with one another, most MLMs are developed by individual vendors within their own workplace.

Furthermore, it is important to note that The Arden Syntax is not a full-featured programming language. MLMs are meant to be written and maintained by clinicians with limited or no programming background. The code shown below is a standard MLM program, notice the three categories -- Maintenance, Library, and Knowledge -- these represent the general structure of The Arden Syntax.

Applications: The Arden Syntax is a limited-feature programming language used in the Medical Field as a Decision Support System for clinicians.

Web Resources:

OpenClinical - Arden Syntax

PubMedCentral - Arden Syntax

HL7 - Arden Syntax

Wikipedia - Arden Syntax

Related Terminology:

Medical Logic Module (MLM)

Decision Support System (DSS)







Syntax Example:

CT study with contrast in patient with renal failure;;filename:
ASTM E31.15; SMS;;author:
Harm Scherpbier, M.D.;;specialist:
Issue alert when physician orders CT study with contrast in patient with renal failure;;explanation:
If physician orders CT scan with contrast, this rule retrieves most recent serum creatinine. If the value is less than 1 week old, and more than 1.5, the system issues an alert to the physician to consider the possibility that his patient has renal failure, and to use other contrast dyes.;;keywords:
last_creat := read last {"Creatinine level"};
last_BUN := read last {"BUN level"};
last_creat is null and last_BUN is nullthen
alert_text := "No recent serum creatinine available. Consider patient's kidney function before ordering contrast studies.";
conclude true;elseif
last_creat > 1.5 or last_BUN > 30then
alert_text := "Consider impaired kidney function when ordering contrast studies for this patient.";
conclude true;else
conclude false;endif;
write alert_text || "\nLast creatinine: " || last_creat || " on: " || time of last_creat || "\nLast BUN: " || last_BUN || " on: " || time of last_BUN;