Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>MAIL: Master Automated Informatics LanguageNew to Visual Studio Code? Get it now.
MAIL: Master Automated Informatics Language

MAIL: Master Automated Informatics Language

John Morillo

| (0) | Free
MAIL 2.0 for laboratory informatics: syntax, live validation with the MAIL reference engine, hover documentation for all 197 library functions, completion, signature help, outline, and test and query runners.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

MAIL for Visual Studio Code

MAIL (Master Automated Informatics Language) is the rule, query and message shaping language of the LabLink Engine Console and Atellica NexIS informatics. This extension brings MAIL 2.0 to Visual Studio Code.

Features

Validation as you type. Every diagnostic comes from the MAIL reference engine, the same engine the LabLink Engine Console uses. Codes follow Appendix C of MAIL: Master Automated Informatics Language (L, S, T, N, C and W codes).

Hover documentation. Hover a function for its signature, null behavior and an example; hover a field for its type and level (patient, specimen, result, message, segment or tunnel).

Completion and signature help. All 197 library functions, every field, reserved and contextual keywords, duration units, and the constants and functions declared in the open file.

Outline and folding. RULE, COUNTER, DEFINE, CONSTANT, TEST, SHAPE, FILTER, ACKNOWLEDGE and ROUTE declarations appear in the Outline view and fold at END.

Snippets. rule, rule-critical, counter, define, constant, shape, filter, route and query.

Commands.

  • MAIL: Run tests in this file runs every TEST block against the bundled demonstration data.
  • MAIL: Run query on demo data runs the file, or the selection, as a query over 57 synthetic specimens.

Debugging MAIL

Open a .mail or .mailr file and press F5, or select MAIL: Debug this file from the Debug button in the editor title bar. No launch.json is needed.

The debugger replays the MAIL reference engine's own evaluation, so what you step through is exactly what MAIL: Run tests in this file computes. Each step is one RULE evaluated against one target (a result or the specimen), or one SHAPE, FILTER, ACKNOWLEDGE or ROUTE applied to a TEST message.

  • Breakpoints: click in the gutter on any line of a RULE, TEST or script block. A breakpoint in a RULE stops on every target that rule is evaluated for.
  • Stepping: Step Over (F10) moves one step forward, Step Out moves to the end of the current TEST, and Step Back and Reverse Continue move backward.
  • Variables: Step (outcome, branch, priority, basis), Expressions (every sub-expression of SCOPE and WHEN with its value, for example critical_high() = 6.0), Actions requested with their final status, Result, and Specimen. At the end of each TEST: its PASS or FAIL lines and the disposition.
  • Watch and hover: type any MAIL expression in Watch or the Debug Console, or hover over a function name, to evaluate it in the current rule step.

Files with TEST blocks are debugged test by test. A rules file without TEST blocks is stepped through every specimen in the demonstration library. Queries and counters print their results to the Debug Console. Everything runs on synthetic demonstration data; nothing is changed.

Files

.mail for rule sets and scripts, .mailq for queries, .mailr for rule sets. All three use the same language.

Notes

Demonstration data and the Appendix E limits are illustrative. Production limits come from each laboratory's approved policy.

Siemens Healthineers | HCS Informatics

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft