Skip to main content

builtin_functions

Function builtin_functions 

Source
pub fn builtin_functions() -> &'static [FunctionInfo]
Expand description

The FHIRPath function catalog and the FHIRPath environment variables, re-exported for a completion endpoint’s function/variable candidates.

helios_fhirpath is already this crate’s own dependency (used above to parse every expression this module lints); re-exporting these four items here — rather than a caller like helios-ui taking a direct helios-fhirpath dependency of its own just to read a static catalog — keeps that catalog reachable through the one edge helios-ui already has to this crate, the same way node_keys exposes the key model instead of a caller duplicating it. Returns the catalog of FHIRPath functions the evaluator implements, sorted alphabetically by FunctionInfo::name (case-insensitively — today sorts before toDecimal, matching how the names read as words rather than raw byte order, which would otherwise interleave on case).

Includes every function from the FHIRPath 3.0.0 specification this crate’s evaluator implements, plus the FHIR- and SQL-on-FHIR-specific extensions it also supports (extension, getResourceKey, getReferenceKey, memberOf, hasValue, comparable, resolve).

Deliberately excludes:

  • Infix operators (is, as, in, contains, and, or, xor, implies, div, mod) — a different part of the grammar, not name(args) invocations.
  • Terminology functions only reachable as %terminologies.<name>(...) (expand, lookup, validateVS, validateCS, subsumes, translate) — calling {}.<name>() for these does not resolve to the same function and would misrepresent what a bare call does.

A test (builtin_functions_are_all_known_to_the_evaluator) keeps this list from drifting out of sync with the evaluator: every name here must be callable without producing the evaluator’s “unknown function” error.