Arden syntax
Lua error in package.lua at line 80: module 'strict' not found.
Arden syntax for medical logic modules is a language used for representing and sharing medical knowledge.[1] It is used to generate alerts, interpretations, screen and manage messages. Clinical and scientific knowledge is represented by using this extensively recognized standard in an executable format which can be used by Clinical decision support systems.[2] A vital task of syntax is to share medical knowledge base across many institutions. Arden syntax version 2.0 was published by HL7 in 1999, which is responsible for developing all the latest versions. Arden syntax version 2.9 is the current version.[2] The Knowledge base of Arden syntax consists of a set of rules called Medical Logic Modules, each of which comprises enough logic to make a single medical decision.[1] Medical logic modules are written in Arden syntax, and are called by a program - an event monitor - when the condition they are written to help with occurs. Arden syntax was formerly a standard under ASTM, which was published in the year 1992 and is now part of Health Level Seven International.[2]
Contents
Rationale
The Rationale behind the design of the Syntax is to offer potential users help in deciding if the standard is appropriate for their purposes. It offers users and implementors knowledge of how parts of the standard were designed to be used. It also provides authors of other standards an insight that might be helpful in their own attempts in future designing of new languages.[3]
History
The name, "Arden Syntax", was adopted from Arden House, located about 90 minutes north of Manhattan in Orange County, New York. Originally purchased by Edward Henry (E. H.) Harriman in 1885, the estate was given to Columbia University by his son W. Averell Harriman in 1950 following its use by the Navy in World War II. The house and grounds became a National Historic Landmark in 1966, and it is now a conference center. During the five-year IBM/CPMC R&D program, conferences and working sessions were hosted and led by CPMC at Arden House and attended by medical informaticians from several leading universities and hospitals, IBM personnel, and others directly or indirectly involved in the program. The "Arden Syntax" name was chosen in recognition of important milestones achieved at Arden House in the development and refinement of the syntax and its implementation.[4]
Structure of Arden syntax
The unit of representation in the Arden syntax is the Medical Logic Module (MLM).[5] A Medical logic Module is composed of four categories, namely maintenance, library, knowledge and resources, with appropriate slots.[2] Arden Syntax is an instance of a Knowledge Resource-Centric Knowledge Integration Architecture, where the knowledge resources command the delivery mechanisms of clinical decision support system.[6]
Maintenance Category
This category contains metadata about the MLM. The maintenance category consists of slots that indicate maintenance information unrelated to the medical knowledge in the module.[7] The first slot is the title which gives a brief description of the module followed by a file name, a distinct identifier used to specify the MLM. The third slot is the version which specifies the version used. It also maintains a track of updates to the MLMs. A version slot is followed by institution and author slots that specify where the MLM is written and the person who wrote it.[1] The sixth slot is the specialist slot that names the person in the institution liable for validating and installing the MLM in the institution. This slot is always meant to be blank when transferring information from one institution to another.[8] This slot is followed by date and validation slots which show the date at which MLM was last updated. The validation level is set by the specialist, it indicates that the MLM is only used for testing.[1] These slots are used for knowledge base maintenance and change control.[9]
Library Category
This category contains five slots called purpose, explanation, keywords, citations and links. The purpose slot explains what a particular MLM is used for, whereas the explanation slot illustrates how an MLM works. Terms that can be used to search through a knowledge base of MLM is supplied by a keyword slot. The citation and link slots are optional. References to literature that support MLM’s medical behaviour are included in the citation slot. Institution specific links to other sources of information such as electronic textbooks and educational modules are contained in the links slot.[1]
Knowledge Category
This category contains the actual medical knowledge of the MLM. It consists of type, data, priority, evoke, logic and action slots. The way in which MLM is used is known by type slot. Terms used in the rest of the MLM are defined by the data slot. Its goal is to separate those parts of the MLM that are specific to an institution from the more generic parts of the MLM. The order in which the MLM must be invoked are indicated by the priority, which can be a number from 1 (Last) to 99(first). It is a rarely used optional slot. An MLM can be activated by an event, or by a direct call from an MLM or an application programme which is specified by the evoke slot.[1] A real medical condition or rule to test for is contained in the logic slot which may include compound calculations.[8] The action slot creates a message that is sent to the health care provider, such as sending an alert to the destination, evoking other MLMs and returning values. The urgency slot is an optional; it can be a number from 1 to 99 which indicates the importance of an MLMs action or message.[1]
Resources Category
To be added
Functions of Arden Syntax
- When a clinically important situation such as a medication interaction or dangerous laboratory result arises, the provider is warned by an alert message.[1]
- An interpretation is a nonemergency message designed to supply a provider with supportive information such as an interpretation of liver function tests.
- A Screen is a message sent to clinical research when patients meeting certain characteristics either for a clinical trial or quality assurance concern are admitted to the hospital.[1]
- Management messages are used for administrative purposes such as managing bed assignments, same day admissions and discharges from the hospital.
Testing
Arden syntax is tested for reliability and imprecision using tools lex and Yacc. when used together creates a compiler or interpreter. Source file is split into tokens by lex and the hierarchical structure of the programme is found by Yacc. These tools reduce ambiguities in the syntax.[8]
Implementation
Several developers have used yacc-based compilers or similar tools to translate the MLMs to an intermediate form which is executed later. Other developers use Prolog for both parsing and interpretation and optimising MLMs by converting them to single-assignment declarative form.[3]
Advantages
- It is a part of the Health Level Seven International [1] standards organization and is well known by many healthcare providers.
- It allows easy encoding of several important medical concepts.[10]
- It is more appropriate for practical implementation of Clinical decision support system.
- Every data element and event has date/time stamp that is clinically significant. The time functions help users specify data and time in MLMs.
- The code is written in a way close to natural language, easily readable with several syntactic feature, such as flexible list handling that can be filtered with ease.[2]
- Easier to handle patient data created at different times by two components, namely the value and the primary time.
- Developers are encouraged to document and annotate MLMs for producing large metadata by the standard, which is vital for making large collections of MLMs manageable.[2]
Limitations
- Problems related to adoption of Arden syntax are the curly braces problem and the compiler problem, which may be resolved in the future by the introduction of XML-based techniques like Virtual Medical Record (vMR).[9]
- Since it is divided into various categories, it allows usage of various operators and statements at the same time, leading to inconsistencies.
- Standard might be written in two separate documents, one for users to develop Arden syntax MLMs and the other for developers of Arden syntax compilers.[2]
Uses of Arden Syntax
Arden syntax is used in computerized care plans for the management of patients following Coronary artery bypass surgery[11]
The Regenstrief Institute, Inc. uses Arden Syntax MLMs in its CARE system to deliver reminders or hints to clinicians regarding patient treatment recommendations (e.g. the next clinic appointment, based on rules applied to the digitized notes and pertinent patient data stored in the system). Regenstrief Institute is an international non-profit medical research organization"recognized for its role in improving quality of care, increasing efficiency of healthcare delivery, preventing medical errors and enhancing patient safety"[12] as well as Health Services Researchers. Additionally, LDS hospital in Salt Lake City (HELP System...) has contributed much to this standard as well as body of knowledge. Indiana University's section of Children's Health Services Research within the School of Medicine extensively uses Arden Syntax MLMs to control clinical decision support within the CHICA (Child Health Improvement through Computer Automation) pediatric clinical decision support system, an ambulatory CDS that has been running within Indianapolis area health systems for 11 years.[13]
Fuzzy Arden Syntax
The main aim of fuzzy Arden syntax is to provide easy method in processing of uncertain data which routinely appears in medicine. New concepts are incorporated into Arden Syntax by fuzzy Arden syntax in order to assist in processing information that may not be completely defined.[14] For example a fuzzy logic has been used in knowledge base in Moni–ICU system at clinical institute of hospital hygiene of the Vienna general hospital. It is a system that detects and constantly checks Hospital-acquired infections.[2] Use of fuzzy logic in knowledge base provide physicians with more precise information on the degree of the presence of nosocomial infections, that aids to recognize borderline cases and allows former detection of an infection onset and its decline.[2]
Applications
Arden Syntax and its first applications were conceived and developed as the primary deliverables of a multimillion-dollar joint research and development (R&D) program between Columbia Presbyterian Medical Center (CPMC) in New York City and IBM Health Industry Marketing in Atlanta, Georgia from 1989-1993. IBM provided program funding, S/370 mainframe hardware, software, peripheral equipment, and other materials for the work, and program management oversight of the collaborative effort.
At Columbia-Presbyterian Medical center, 40 Arden syntax MLMs have been implemented in which eighteen of those are clinical MLMs, including four interpretations and fourteen alerts. For example, a user is alerted by three MLMs to the presence of hypokalemia and digoxin use that might lead to cardiac dysrhythmia. One MLM is activated by storage of a pharmacy order by digoxin,a second MLM is activated by the storage of a blood potassium result and the third activated by the storage of blood digoxin level. Twelve are research MLM examples, which include the ability to identify patients with abnormal cervical pathology, etc. that notify the researcher of the details of the patient's medical record and their inpatient location to enrol the patient in a study, and the remaining ten are administrative MLMs. Arden syntax is implemented at LDS hospital, Salt Lake City, Utah, using the HELP system.[8]
A medical decision support system at Linkoping University, Linkoping, Sweden comprises a clinical data base, Medical database dictionary, and a knowledge base component. Syntax for the knowledge base is Arden syntax.[15] Samwald et al. group developed many Clinical decision support system using Arden syntax standard ranging from a few to several dozens of MLMs. These systems are Hepaxpert,[16] Thyrexpert,[17] Toxopert[18] and RHEUMexpert.[19] The Hepaxpert system helps in interpretation of Hepatitis A, B and C serology test results, whereas the Thyrexpert system helps in interpretation of thyroid hormone test results. The Toxopert system helps in interpretation of time sequences of toxoplasmosis serology test results. Differential diagnosis decision support in rheumatology is offered by RHEUMexpert.[2]
IBM's artificial intelligence product, KnowledgeTool, provided the original basis for MLM syntax representation and processing, as enhanced and applied by CPMC researchers Drs. James J. Cimino, George Hripcsak, Steve Johnson, Carol Friedman, and others at CPMC, under the leadership of Dr. Paul D. Clayton. In a related effort under the same program, another prototype implementation of the syntax was developed by Peter Ludemann using Quintus Prolog. IBM program management and AI technology services were provided by Terry Rankin, Pete Smith, and Eddie Sanders.
Arden Syntax Example
maintenance:
title: To check the diastolic blood pressure of the patient;;
mlmname: Hypotension;;
arden: version 2.7;;
version: 1.00;;
institution: Latrobe University Bundoora;;
author: Lakshmi Devineni;;
specialist: ;;
date: 2013-06-02;;
validation: testing;;
library:
purpose: check if the diastolic blood pressure of the patient is within limits;;
explanation: This MLM is an example for reading data and writing a message;;
keywords: hypotension; categorization;;
citations: ;;
links: http://en.wikipedia.org/wiki/Hypotension;;
knowledge:
type: data_driven;;
data:
/* read the diastolic blood pressure */
diastolic_blood_pressure := read last
{diastolic blood pressure}; /* the value in braces is specific to your
runtime environment */
/* If the height is lower than height_threshold, output a message */
diastolic_pressure_threshold := 60;
stdout_dest := destination
{stdout};
;;
evoke: null_event;;
logic:
if (diastolic_blood_pressure is not number) then
conclude false;
endif;
if (diastolic_blood_pressure >= diastolic_pressure_threshold) then
conclude true;
else
conclude false;
endif;
;;
action:
write "Your Diastolic Blood Pressure is too low (hypotension)"
at stdout_dest;
;;
resources:
default: de
;;
language: en
'msg' : "The normal range from 60 to 90";
;;
language: de
'msg' : "Der Normalbereich von 60 bis 90";
;;
end:
See also
- Electronic health record
- Clinical decision support system
- Compiler
- Virtual Medical Record (vMR)
- Health Level Seven International
- Lex and Yacc [2]
References
- ↑ 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 3.0 3.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Arden house
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 8.0 8.1 8.2 8.3 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 9.0 9.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ http://systems.medexter.com/Thyrexpert/index.php?stateRequest=system[dead link]
- ↑ http://systems.medexter.com/Toxopert/InterpretationFuzzy/index.php[dead link]
- ↑ http://systems.medexter.com/RheumaDiff/index.php?stateRequest=scientificdevelopment[dead link]