Appearance
Structure
Every Medical Logic Module (MLM) is organized into structured sections called categories. There are three required categories: maintenance:, library:, knowledge:, and one optional one called resources.
MLM slots
Each category contains slots, which hold specific pieces of information like the title, logic, actions, or author. Slots follow a simple format:
slotName: slot body;;
A double semicolon ;; ends each slot. Just make sure to follow the standard order for both categories and slots. Some slots are required, others are optional, but all must be unique within an MLM.
TIP
Category names, slot names, and the end terminator may be typed in uppercase, lowercase or mixed case.
Maintenance Cateogory
contains meta data, things like title and name of the mlm, need to be in the following order:
arden-syntax
maintenance:
title: Your MLM;;
mlmname: yourMlm;;
arden: version 3;;
version: 1.0;;
institution: yourInstitution;;
author: You;;
specialist: You;;
date: 2025-07-29;;
validation: testing;;Validation should be either production, or research. But there is also testing for debuging purposes or expired, if its out of date.
Library Category
This section
arden-syntax
library:
purpose: Screen for newborns who are at risk for developing hepatitis B;;
explanation: This woman has a positive hepatitis B surface antigen titer within the past year. Therefore her newborn is at risk for developing hepatitis B.;;
keywords: hepatitis B; pregnancy;;
citations: You et al.;;
links: https://example.com;;The purpose slot quickly tells you why this MLM exists, what it’s designed to do. It’s a brief summary of the MLM’s goal. The explanation slot dives a bit deeper, describing how the MLM reaches its decisions. This is especially helpful for healthcare providers who want to understand the reasoning behind a recommendation. Keywords are like tags that help you find MLMs easily. Ideally, these use standardized terms from resources like UMLS, but that’s not a must. You can separate keywords with semicolons (😉 to keep things tidy. The citations slot lets you document scientific articles, guidelines, or references that support (or sometimes challenge) the MLM’s logic. There are two ways to add citations:
- A simple textual format (mainly for older MLMs, now deprecated).
- A structured format, which is recommended and lets you number citations and specify their role:
- Support: Validates the logic
- Refute: Challenges or offers alternatives For example:
arden-syntax
citations:
1. SUPPORT Steiner RW. Interpreting the fractional excretion of sodium. Am J Med 1984;77:699-702.
2. Goldman L, Cook EF, Brand DA, Lee TH, Rouan GW, Weisberg MC, et al. A computer protocol to predict myocardial infarction. N Engl J Med 1988;318(13):797-803.
;;The links slot connects the MLM to other helpful resources — like textbooks, case studies, or educational sites.
Just like citations, links can be added in two formats:
- A simple textual format (older style, now deprecated)
- A structured format (preferred), supporting both Arden Syntax’s own style or the OpenURL standard. Example:
arden-syntax
links:
URL_LINK 'NLM Web Page', "http://www.nlm.nih.gov/";
URL_LINK 'Visible Human Project', "http://www.nlm.nih.gov/research/visible/visible_human.html";
;;TIP
Since MLMs are often shared between institutions, it’s good practice to regularly check and update links to avoid dead ends.
Knowledge Section
arden-syntax
knowledge:
type: data_driven;;
data: ;;
priority: 50;;
evoke: ;;
logic: conclude true; ;;
action: ;;
urgency: 50;;Optional Slots: Priority & Urgency
- Priority: A number from 1 (low) to 99 (high) that sets the order in which multiple MLMs should run if they’re triggered simultaneously. If omitted, it defaults to 50.
- Urgency: Also a number from 1 to 99, urgency indicates how important the MLM’s action is, only if its logic evaluates to true. If omitted or invalid, urgency defaults to 50.
Type slot
Specifies the kind of MLM. Currently, only data_driven (or the older data-driven) is defined, meaning the MLM contains specific slots like data, logic, and action.
Data slot
The data slot is where you define all the terms and variables your MLM will use. It maps local terms to clinical data or institutional entities, often using standards, e.g. FHIR. For example, you might declare patient lab values, medication lists, or vital signs here. This prepares the variables used throughout the MLM. It is the first slot where variables can be defined, and is used to parse arguments passed to the MLM or read data from external sources like a FHIR server.
Evoke Slot
The evoke slot determines when your MLM should activate. It contains the criteria or conditions that trigger the MLM to run its logic. For instance, you might want the MLM to start only when certain lab results are available or when a patient is admitted to a specific ward. Setting these conditions carefully ensures that your MLM runs at the appropriate time, avoiding unnecessary checks and improving efficiency.
Logic Slot
This is the heart of the MLM, where the actual decision-making happens. The logic slot contains the rules or algorithms that evaluate the data and decide whether a condition is met. It can include if-then statements, loops, and calculations to analyze clinical inputs. The logic usually concludes with a true or false result, guiding the MLM on whether to proceed to the action phase, so it determines the outcome
Action Slot
Once the logic determines that a certain condition is true, the action slot specifies what the MLM should do next. This could be sending an alert to a clinician, updating a patient record, or triggering another MLM. Actions are the practical steps the system takes in response to the logic evaluation, making sure the MLM’s findings lead to real-world effects. This slot ensures that the MLM’s conclusions translate into meaningful clinical interventions
Resources Category
The resources category handles multilingual support by defining text resources in different languages for an MLM. This allows messages and outputs to be localized according to the user’s language preferences. The category includes one or more language slots, each specifying text constants for a specific language or locale. Each language slot contains key/ value pairs representing text in that language. These Language codes follow the ISO 639-1 two letter standard. The default slot specifies which language to use if the user’s language setting can’t be detected. An example using three language specific messages, using classifications from WHO concerning BMI, can look as follows:
arden-syntax
resources:
default: en;;
language: en
'obese' : "pre-obese";
'obeseI' : "obese class I";
'obeseII' : "obese class II";
'obeseIII' : "obese class III"
;;
language: de
'obese' : "Präadipositas (Übergewicht)";
'obeseI' : "Adipositas Grad I";
'obeseII' : "Adipositas Grad II";
'obeseIII' : "Adipositas Grad III"
;;