Arden2ByteCode: A one-pass Arden Syntax compiler for service-oriented decision support systems based on the OSGi platform
Highlights
► We present Arden2ByteCode a newly developed open source compiler for the Arden Syntax. ► Direct one-pass translation to Java Bytecode provides fast compilation and execution. ► Execution on Java virtual machines eases integration in service oriented architecture. ► Evaluation results show good coverage of the Arden Syntax standard. ► Arden2ByteCode's permissive open source license allows a variety of usages.
Introduction
Recently sensor enhanced health information systems have been proposed as one among many measures to alleviate the effects of demographic change [1]. Utilizing repeatedly or continuously performed measurements by sensor systems detailed information of an individual's state of health can be produced [2]. The information hidden in the gathered data could empower each individual to live a healthier life [3], to detect developing diseases earlier [4], and to effectively manage chronic diseases [5]. Giving back the patient more responsibility for his own health is expected to have a positive impact on health care costs.
One limiting factor is the patient's lack of knowledge to interpret measurements in the context of their personal health to make informed decisions. Therefore, they need to be assisted. Personalized decision support systems could help to bridge this gap.
The goal of our research was to develop components for decision support systems (DSSs) that can be seamlessly integrated into sensor enhanced health information systems. The knowledge should be represented in an easy-to-understand, transportable, and preferably standardized form to support individualization of decision support.
Section snippets
Background
To archive a high level of knowledge abstraction and ease the sharing of knowledge the Arden Syntax for Medical Logic Modules (MLMs) has been chosen to represent health-related knowledge. Arden Syntax is well established as a way to represent medical knowledge. It has been standardized by Health Level 7 (HL7) [6] and incorporates a number of concepts, making it easy to express rules in the medical domain in a manner close to natural language. The promise is that experts from the domain are able
Design considerations
In the GAL research project software development is based on the OSGi platform [29]. OSGi is a service-based dynamic component model for the Java programming language and a widely known universal middleware for embedded devices. Services within the context of OSGi are interfaces which summarize the functionality of a certain piece of software. So called bundles implement these interfaces, wrap these implementations in jar-files and register the interfaces to the OSGi registry. Bundles can also
Description of Arden2ByteCode
In this section, we give a detailed presentation of our Arden2ByteCode compiler framework including a general survey of the compiler architecture as well as in-depth discussions of selected translation patterns, and technical issues concerning runtime integration.
Status report
We evaluated the developed Arden2ByteCode compiler in two steps. Firstly, the ability of the compiler to translate an independent set of MLMs has been assessed and the compilation times were measured. Secondly, the execution time of one of our published sets of MLMs and corresponding data is measured and we compared the results with a previously conducted study. This section is subdivided accordingly.
All evaluations were performed on the same laptop computer with an Intel Pentium M processor,
Lessons learned
During our work on the Arden2ByteCode compiler implementation, we obtained deep insights into the subtleties and various corner cases of the Arden Syntax specification.
The language components supported by our compiler implementation were, first of all, selected as required by the MLMs used in the DSS under consideration. That is, all major features of Arden Syntax version 2.1 and, additionally the object-oriented innovations of version 2.5 are covered in full by Arden2ByteCode. However, we
Future plans
The implementation of the remaining, not yet implemented Arden Syntax features is an obvious objective. Event-driven MLM invocations and calling other MLMs as sub-routines are features that will be needed by more complicated knowledge bases. Concrete syntax tree to abstract syntax tree transformations and corresponding standard optimization techniques, e.g., constant folding of ArdenValue may help to further increase execution performance of compiled MLMs. In addition, inference of static type
Acknowledgements
The Lower Saxony research network “Design of Environments for Ageing” (http://www.altersgerechte-lebenswelten.de) acknowledges the support of the Lower Saxony Ministry of Science and Culture through the “Niedersächsisches Vorab” grant programme (grant ZN 2420). Besides financing the funding source was not involved into the research.
References (33)
- et al.
Rationale for the arden syntax
Comput. Biomed. Res.
(1994) - et al.
Fuzzy arden syntax: a fuzzy programming language for medicine
Artif. Intell. Med.
(2010) - et al.
Pre-compiling medical logic modules into C++ in building medical decision support systems
Comput. Meth. Prog. Biomed.
(1993) - et al.
Incorporation of the arden syntax within the reimplementation of a closed-loop decision support system
Comput. Biomed. Res.
(1996) - et al.
A C++ framework for developing medical logic modules and an arden syntax compiler
Comput. Biol. Med.
(1994) Mid-term report on the arden syntax in a clinical event monitor
Comput. Biol. Med.
(1994)The use of medical logic modules at LDS hospital
Comput. Biol. Med.
(1994)Recent progress in sensor-enhanced health information systems—slowly but sustainably
Inform. Health Soc. Care
(2009)- et al.
Informatics and medicine—from molecules to populations
Methods Inf. Med.
(2008) - et al.
Cybermarathon—increasing physical activity using health-enabling technologies
Stud. Health Technol. Inform.
(2008)
Is home health technology adequate for proactive self-care?
Methods Inf. Med.
The INCA system: a further step towards a telemedical artificial pancreas
IEEE Trans. Inf. Technol. Biomed.
Java Virtual Machine Specification
Cited by (33)
Use of an open-source electronic health record to establish a “virtual hospital”: A tale of two curricula
2023, International Journal of Medical InformaticsCitation Excerpt :In previous years, they would build this as a standalone system, written using a database of test data with a simple schema, and in a general-purpose programming language. With the EHR implementation, we asked students to query the EHR's database, and write the code using Arden Syntax, making use of a custom decision support module that we developed, building on the open source Arden2Bytecode project [10,11]. The alerts display in the EHR, on the patient summary page.
Comprehensive analysis of rule formalisms to represent clinical guidelines: Selection criteria and case study on antibiotic clinical guidelines
2020, Artificial Intelligence in MedicineCitation Excerpt :We use the guiding examples throughout all of the experiments, as they provide good representations of some of the most complex JHH UTI CGs rules, which require either temporal reasoning and/or event orchestration. We have modelled the 81 rules identified using the Eclipse Mars 2 4.5.2 IDE with the Arden add-on Arden4Eclipse that includes the open-source compiler Arden2ByteCode under a GPL license [23], resulting in a total of 12 MLM’s, using extensive if...then...else nesting. MLM execution can be triggered directly by invoking the MLM or using events.
Arden Syntax: Then, now, and in the future
2018, Artificial Intelligence in MedicineTransformation of Arden Syntax's medical logic modules into ArdenML for a business rules management system
2018, Artificial Intelligence in MedicineCitation Excerpt :HL7 has not produced or designated an official rule engine for the Arden Syntax because one of its principles is to present vendor neutral clinical knowledge. That means that users are required to compile the MLMs of Arden Syntax into a target language for its operation [18–26]. The benefit of ArdenML is its ability to transform the MLMs into the target language without developing a compiler.
Clinical decision support systems at the Vienna General Hospital using Arden Syntax: Design, implementation, and integration
2018, Artificial Intelligence in MedicineCitation Excerpt :Since its inception, several CDSSs have employed the Arden Syntax standard to perform a variety of functions in a variety of medical settings, such as the validation of laboratory data in a laboratory information system [21], the automation and marshalling of (temporally) complex clinical practice guidelines [22], and a warning system to avoid adverse events in pediatric care [23,24], to name a few. There have also been several implementations of compilers and frameworks for the execution of Arden Syntax MLMs, such as Arden/J [25], Arden2ByteCode [26], and the Arden Syntax server [11]. The AKIM project was started as a joint project between the Faculty of Medicine at the University of Vienna (now the MUV) and the City of Vienna in 1997.
Using Arden Syntax for the creation of a multi-patient surveillance dashboard
2018, Artificial Intelligence in Medicine
- 1
Present address: Peter L. Reichertz Institute for Medical Informatics, TU Braunschweig and Hannover Medical School, Carl-Neuberg-Str. 1, 30625 Hannover, Germany.