Department of Medical Informatics, Henri Mondor Hospital, Assistance Publique Hôpitaux de Paris, 51 av. Du Mal de Lattre, 94010 Creteil, France.
Department of Medical Informatics, Henri Mondor Hospital, Assistance Publique Hôpitaux de Paris, 51 av. Du Mal de Lattre, 94010 Creteil, France.
Artif Intell Med. 2018 Nov;92:103-110. doi: 10.1016/j.artmed.2015.11.003. Epub 2015 Dec 11.
The Arden Syntax is a knowledge-encoding standard, started in 1989, and now in its 10th revision, maintained by the health level seven (HL7) organization. It has constructs borrowed from several language concepts that were available at that time (mainly the HELP hospital information system and the Regenstrief medical record system (RMRS), but also the Pascal language, functional languages and the data structure of frames, used in artificial intelligence). The syntax has a rationale for its constructs, and has restrictions that follow this rationale. The main goal of the Standard is to promote knowledge sharing, by avoiding the complexity of traditional programs, so that a medical logic module (MLM) written in the Arden Syntax can remain shareable and understandable across institutions.
One of the restrictions of the syntax is that you cannot define your own functions and subroutines inside an MLM. An MLM can, however, call another MLM, where this MLM will serve as a function. This will add an additional dependency between MLMs, a known criticism of the Arden Syntax knowledge model. This article explains why we believe the Arden Syntax would benefit from a construct for user-defined functions, discusses the need, the benefits and the limitations of such a construct.
We used the recent grammar of the Arden Syntax v.2.10, and both the Arden Syntax standard document and the Arden Syntax Rationale article as guidelines. We gradually introduced production rules to the grammar. We used the CUP parsing tool to verify that no ambiguities were detected.
A new grammar was produced, that supports user-defined functions. 22 production rules were added to the grammar. A parser was built using the CUP parsing tool. A few examples are given to illustrate the concepts. All examples were parsed correctly.
It is possible to add user-defined functions to the Arden Syntax in a way that remains coherent with the standard. We believe that this enhances the readability and the robustness of MLMs. A detailed proposal will be submitted by the end of the year to the HL7 workgroup on Arden Syntax.
Arden 语法是一种知识编码标准,于 1989 年启动,目前已进入第 10 版,由健康水平 7(HL7)组织维护。它的构建借用了当时可用的几种语言概念(主要是 HELP 医院信息系统和 Regenstrief 病历系统(RMRS),但也包括 Pascal 语言、函数语言和人工智能中使用的框架数据结构)。语法对其结构有一个基本原理,并遵循该原理的限制。该标准的主要目标是通过避免传统程序的复杂性来促进知识共享,以便用 Arden 语法编写的医疗逻辑模块(MLM)可以在不同机构之间保持可共享和可理解。
语法的限制之一是,您不能在 MLM 内部定义自己的函数和子程序。但是,MLM 可以调用另一个 MLM,其中这个 MLM 将充当函数。这将在 MLM 之间添加额外的依赖关系,这是 Arden 语法知识模型的一个已知批评。本文解释了为什么我们认为 Arden 语法将受益于用户定义函数的结构,讨论了这种结构的必要性、好处和局限性。
我们使用了 Arden 语法 v.2.10 的最新语法,并将 Arden 语法标准文档和 Arden 语法原理文章用作指南。我们逐渐向语法中引入生成规则。我们使用 CUP 解析工具来验证是否没有检测到歧义。
生成了一个新的支持用户定义函数的语法。向语法添加了 22 个生成规则。使用 CUP 解析工具构建了一个解析器。给出了几个示例来说明概念。所有示例都被正确解析。
可以以与标准一致的方式向 Arden 语法添加用户定义函数。我们相信这可以提高 MLM 的可读性和健壮性。详细提案将于年底提交给 HL7 Arden 语法工作组。