Arden syntax
Arden syntax is a markup language used for representing and sharing medical knowledge.[1] This clinical and scientific knowledge language is used in an executable format by clinical decision support systems[2] to generate alerts, interpretations, and to screen and manage messages to clinicians. This syntax is used to share medical knowledge within and across many health service institutions.[2] Rule sets, called Medical Logic Modules, comprise 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, published in 1992, and is now part of Health Level Seven International.[2] Arden syntax version 2.0 was published by HL7 in 1999. Arden syntax version 2.9 is the current version.
Rationale
The syntax offers potential users help 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 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 that, when used together, create 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] The open source compiler Arden2ByteCode translates MLMs to Java Bytecode that is executable on the Java Virtual Machine.[10] The accompanying plugin for Eclipse called Arden4Eclipse supports MLM developers with the power of a full-fledged integrated development environment (IDE).
Advantages
- It is a part of the Health Level Seven International standards organization and is well known by many healthcare providers.
- It allows easy encoding of several important medical concepts.[11]
- 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 and easily readable, with several syntactic features 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[12]
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"[13] 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.[14]
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.[15] 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.[16] 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,[17] Thyrexpert,[18] Toxopert[19] and RHEUMexpert.[20] 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
References
- 1 2 3 4 5 6 7 8 9 Hripcsak, George (1994). "Writing Arden Syntax medical logic modules". Computers in Biology and Medicine. 24 (5): 331–63. PMID 7705066. doi:10.1016/0010-4825(94)90002-7.
- 1 2 3 4 5 6 7 8 9 10 Samwald, Matthias; Fehre, Karsten; De Bruin, Jeroen; Adlassnig, Klaus-Peter (2012). "The Arden Syntax standard for clinical decision support: Experiences and directions". Journal of Biomedical Informatics. 45 (4): 711–8. PMID 22342733. doi:10.1016/j.jbi.2012.02.001.
- 1 2 Hripcsak, George; Ludemann, Peter; Pryor, T.Allan; Wigertz, Ove B.; Clayton, Paul D. (1994). "Rationale for the Arden Syntax". Computers and Biomedical Research. 27 (4): 291–324. PMID 7956129. doi:10.1006/cbmr.1994.1023.
- ↑ Arden house
- ↑ Greenes, Robert (2007). Clinical Decision support The Road Ahead. p. 293. ISBN 978-0-12-369377-8.
- ↑ Kawamoto, K; Lobach, D (2007). "Proposal for Fulfilling Strategic Objectives of the U.S. Roadmap for National Action on Decision Support through a Service-oriented Architecture Leveraging HL7 Services". Journal of the American Medical Informatics Association. 14 (2): 146–155. doi:10.1197/jamia.m2298.
- ↑ Fehre, Karsten (February 17, 2012). "How to write Arden Syntax MLMs – An introduction" (PDF). Medexter. Archived from the original (PDF) on May 14, 2014.
- 1 2 3 4 Pryor, T. Allan; Hripcsak, George (1993). "The arden syntax for medical logic modules". International Journal of Clinical Monitoring and Computing. 10 (4): 215–24. PMID 8270835. doi:10.1007/BF01133012.
- 1 2 Kim, Sukil; Haug, Peter J.; Rocha, Roberto A.; Choi, Inyoung (2008). "Modeling the Arden Syntax for medical decisions in XML". International Journal of Medical Informatics. 77 (10): 650–6. PMID 18321775. doi:10.1016/j.ijmedinf.2008.01.001.
- ↑ Gietzelt M, Goltz U, Grunwald D, Lochau M, Marschollek M, Song B, Wolf K (2012). "Arden2ByteCode: a one-pass Arden Syntax compiler for service-oriented decision support systems based on the OSGi platform". Comput Methods Programs Biomed. 106 (2): 114–25. PMID 22206864. doi:10.1016/j.cmpb.2011.11.003. Retrieved 2017-01-20.
- ↑ Song, B.; Wolf, K.-H.; Gietzelt, M.; Al Scharaa, O.; Tegtbur, U.; Haux, R.; Marschollek, M. (2009). "Decision Support for Teletraining of COPD Patients". Methods of Information in Medicine. 49 (1): 96–102. PMID 20011809. doi:10.3414/ME09-02-0005.
- ↑ Starren, J.B.; Hripcsak, G.; Jordan, D.; Allen, B.; Weissman, C.; Clayton, P.D. (1994). "Encoding a post-operative coronary artery bypass surgery care plan in the Arden Syntax". Computers in Biology and Medicine. 24 (5): 411–7. PMID 7705074. doi:10.1016/0010-4825(94)90010-8.
- ↑ "Regenstrief Institute".
- ↑ "Pediatric decision support using adapted Arden Syntax". Artificial Intelligence in Medicine. doi:10.1016/j.artmed.2015.09.006.
- ↑ Vetterlein, Thomas; Mandl H; Adlassnig K (2010). "Fuzzy arden syntax: A fuzzy programming language for medicine". Artificial Intelligence in Medicine. 49 (1): 1–10. PMID 20167457. doi:10.1016/j.artmed.2010.01.003.
- ↑ Jenders, RA; Hripcsak, G; Sideli, RV; Dumouchel, W; Zhang, H; Cimino, JJ; Johnson, SB; Sherman, EH; Clayton, PD (1995). "Medical decision support: Experience with implementing the Arden Syntax at the Columbia-Presbyterian Medical Center". Proceedings of the Annual Symposium on Computer Application in Medical Care: 169–73. PMC 2579077 . PMID 8563259.
- ↑ "Providing solutions for clinical decision support". Medexter. Archived from the original on 2015-02-19. Retrieved 2015-02-18.
- ↑ https://web.archive.org/web/20131015201218/http://systems.medexter.com/Thyrexpert/index.php?stateRequest=system. Archived from the original on October 15, 2013. Retrieved May 19, 2013. Missing or empty
|title=
(help) - ↑ https://web.archive.org/web/20131015201304/http://systems.medexter.com/Toxopert/InterpretationFuzzy/index.php. Archived from the original on October 15, 2013. Retrieved May 19, 2013. Missing or empty
|title=
(help) - ↑ https://web.archive.org/web/20131015201237/http://systems.medexter.com/RheumaDiff/index.php?stateRequest=scientificdevelopment. Archived from the original on October 15, 2013. Retrieved May 19, 2013. Missing or empty
|title=
(help)