Arden syntax

From Wikipedia, the free encyclopedia

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 (MLMs), 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.10 is the current version.

History[edit]

Arden Syntax and its first applications were conceived and developed as the primary deliverables of a multimillion-dollar joint research and development program between Columbia Presbyterian Medical Center and IBM Health Industry Marketing in Atlanta, Georgia, between 1989 and 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.

The name "Arden" comes from the location of the IBM/CPMC conferences and working sessions, Arden House, in Orange County, New York, in recognition of important milestones achieved there in the development and refinement of the syntax and its implementation. (Originally purchased by Edward Henry Harriman in 1885, the estate was given to Columbia University by his son W. Averell Harriman in 1950 following its use by the U.S. Navy in World War II. The house and grounds became a National Historic Landmark in 1966, and it is now a conference center.)[3]

At Columbia-Presbyterian Medical center, 40 Arden syntax MLMs have been implemented in which 18 of those are clinical MLMs, including 4 interpretations and 14 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 enroll the patient in a study, and the remaining ten are administrative MLMs.

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 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.

Uses[edit]

Arden syntax is used 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.

Its advantages include:

  • It is a part of the Health Level Seven International standards organization
  • It allows easy encoding of several important medical concepts.[4]
  • The code is written in a way close to natural language and readable, with several syntactic features such as flexible list handling that can be filtered.[2]
  • 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]

Real-world examples[edit]

Arden syntax is used in computerized care plans for the management of patients following coronary artery bypass surgery[5]

The Regenstrief Institute, 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",[6] 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). Additionally, LDS hospital in Salt Lake City 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.[7] Arden syntax is implemented at LDS hospital, Salt Lake City, Utah, using the HELP system.[8]

A medical decision support system at Linkoping University comprises a clinical database, medical database dictionary, and a knowledge base component. Syntax for the knowledge base is Arden syntax.[9] 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,[10] Thyrexpert,[11] Toxopert[12] and RHEUMexpert.[13] The Hepaxpert system helps in interpretation of hepatitis 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]

Features[edit]

Rationale[edit]

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.[14]

Fuzzy Arden syntax[edit]

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]

Limitations[edit]

  • 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).[16]
  • 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]

Technical implementation[edit]

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.[14] The open source compiler Arden2ByteCode translates MLMs to Java Bytecode that is executable on the Java Virtual Machine.[17] The accompanying plugin for Eclipse called Arden4Eclipse supports MLM developers with an integrated development environment (IDE).

Testing[edit]

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]

Example[edit]

maintenance:
 title: To check the diastolic blood pressure of the patient;;
 mlmname: Hypotension;;
 arden: version 2.7;;
 version: 1.00;;
 institution: La Trobe 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:

Structure[edit]

The unit of representation in the Arden syntax is the Medical Logic Module (MLM).[18] 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.[19]

Maintenance[edit]

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.[20] 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.[16]

Library[edit]

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[edit]

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]

See also[edit]

References[edit]

  1. ^ a b c d e f g h i Hripcsak, George (1994). "Writing Arden Syntax medical logic modules". Computers in Biology and Medicine. 24 (5): 331–63. doi:10.1016/0010-4825(94)90002-7. PMID 7705066.
  2. ^ a b c d e f g h i j 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. doi:10.1016/j.jbi.2012.02.001. PMID 22342733.
  3. ^ Arden house
  4. ^ 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. doi:10.3414/ME09-02-0005. PMID 20011809. S2CID 16854405.
  5. ^ 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. doi:10.1016/0010-4825(94)90010-8. PMID 7705074.
  6. ^ "Regenstrief Institute".
  7. ^ Anand, Vibha; Carroll, Aaron E.; Biondich, Paul G.; Dugan, Tamara M.; Downs, Stephen M. (2018). "Pediatric decision support using adapted Arden Syntax". Artificial Intelligence in Medicine. 92: 15–23. doi:10.1016/j.artmed.2015.09.006. hdl:1805/14229. PMC 4818208. PMID 26547523.
  8. ^ a b c d Pryor, T. Allan; Hripcsak, George (1993). "The arden syntax for medical logic modules". International Journal of Clinical Monitoring and Computing. 10 (4): 215–24. doi:10.1007/BF01133012. PMC 2245504. PMID 8270835.
  9. ^ 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.
  10. ^ "Providing solutions for clinical decision support". Medexter. Archived from the original on 2015-02-19. Retrieved 2015-02-18.
  11. ^ "Thyrexpert". Medexter Healthcare. Archived from the original on 2013-10-15. Retrieved May 19, 2013.
  12. ^ "Toxopert". Medexter Healthcare. Archived from the original on 2013-10-15. Retrieved May 19, 2013.
  13. ^ "Rheumexpert". Medexter Healthcare. Archived from the original on 2013-10-15. Retrieved May 19, 2013.
  14. ^ a b Hripcsak, George; Ludemann, Peter; Pryor, T. Allan; Wigertz, Ove B.; Clayton, Paul D. (August 1994). "Rationale for the Arden Syntax". Computers and Biomedical Research. 27 (4): 291–324. doi:10.1006/cbmr.1994.1023. PMID 7956129.
  15. ^ Vetterlein, Thomas; Mandl H; Adlassnig K (2010). "Fuzzy arden syntax: A fuzzy programming language for medicine". Artificial Intelligence in Medicine. 49 (1): 1–10. doi:10.1016/j.artmed.2010.01.003. PMID 20167457.
  16. ^ a b 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. doi:10.1016/j.ijmedinf.2008.01.001. PMID 18321775.
  17. ^ Gietzelt M, Goltz U, Grunwald D, Lochau M, Marschollek M, Song B, Wolf KH (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. doi:10.1016/j.cmpb.2011.11.003. PMID 22206864.
  18. ^ Greenes, Robert (2007). Clinical Decision support The Road Ahead. p. 293. ISBN 978-0-12-369377-8.
  19. ^ 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. PMC 2213469. PMID 17213489.
  20. ^ Fehre, Karsten (February 17, 2012). "How to write Arden Syntax MLMs – An introduction" (PDF). Medexter. Archived from the original (PDF) on 2014-05-14.