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, notname(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.