Implementation State of ELM Forms
The section numbers refer to the documentation of the ELM Specification v1.5.1. Please note that CQL itself translates to ELM, but doesn't use every ELM feature. Because Blaze implements ELM and not CQL directly, the documentation is about the ELM forms and not about the CQL forms. A clear view about the CQL coverage of Blaze is not available yet.
Num
Group
Expression
State
Notes
1.1.
Literal
!
only Boolean
, Integer
, Decimal
, String
Num
Group
Expression
State
Notes
2.1.
Tuple
✓
2.2.
Instance
✓
2.3.
Property
!
no full FHIRPath
FHIRPath is not used by CQL
Num
Group
Expression
State
Notes
3.1.
Code
✓
3.2.
CodeDef
✓
3.3.
CodeRef
!
only inside same library
3.4.
CodeSystemDef
✓
3.5.
CodeSystemRef
!
only inside same library
3.6.
Concept
✓
3.7.
ConceptDef
✓
3.8.
ConceptRef
✓
3.9.
Quantity
✓
3.10.
Ratio
✓
3.11.
ValueSetDef
✗
3.12.
ValueSetRef
✗
Num
Group
Expression
State
Notes
4.1.
TypeSpecifier
✓
4.2.
NamedTypeSpecifier
✓
4.3.
IntervalTypeSpecifier
✓
4.4.
ListTypeSpecifier
✓
4.5.
TupleTypeSpecifier
✓
4.6.
ChoiceTypeSpecifier
✓
Num
Group
Expression
State
Notes
5.1.
Library
✓
5.2.
IncludeDef
!
no custom includes, only FHIRHelpers
5.3.
VersionedIdentifier
✗
5.4.
ContextDef
✗
Num
Group
Expression
State
Notes
6.1. UsingDef
!
only FHIR R4
Num
Group
Expression
State
Notes
7.1.
ParameterDef
✓
7.2.
ParameterRef
✓
Num
Group
Expression
State
Notes
8.1.
Expression
✓
8.2.
OperatorExpression
✓
8.3.
UnaryExpression
✓
8.4.
BinaryExpression
✓
8.5.
TernaryExpression
✓
8.6.
NaryExpression
✓
8.7.
AggregateExpression
✓
Num
Group
Expression
State
Notes
9.1.
ExpressionDef
✓
9.2.
ExpressionRef
!
only inside same library
9.3.
FunctionDef
✓
9.4.
FunctionRef
!
hard coded implementation of some functions
9.5.
OperandRef
✓
Num
Group
Expression
State
Notes
10.1.
Query
✓
10.2.
AliasedQuerySource
!
only single source
10.3.
AliasRef
✓
10.4.
ByColumn
✓
10.5.
ByDirection
✓
10.6.
ByExpression
✓
10.7.
IdentifierRef
✓
10.8.
LetClause
✗
10.9.
QueryLetRef
✗
10.10.
RelationshipClause
✓
10.11.
ReturnClause
✓
10.12.
AggregateClause
✗
10.13.
SortClause
✓
10.14.
With
✓
10.15.
Without
✓
Num
Group
Expression
State
Notes
11.1.
Retrieve
!
no date ranges
11.2.
IncludeElement
✗
Num
Group
Expression
State
Notes
12.1.
Equal
✓
12.2.
Equivalent
✓
12.3.
Greater
✓
12.4.
GreaterOrEqual
✓
12.5.
Less
✓
12.6.
LessOrEqual
✓
12.7.
NotEqual
✓
Num
Group
Expression
State
Notes
13.1.
And
✓
13.2.
Implies
✓
13.3.
Not
✓
13.4.
Or
✓
13.5.
Xor
✓
14. Nullological Operators
Num
Group
Expression
State
Notes
14.1.
Null
✓
14.2.
Coalesce
✓
14.3.
IsFalse
✓
14.4.
IsNull
✓
14.5.
IsTrue
✓
15. Conditional Operators
Num
Group
Expression
State
Notes
15.1.
Case
✓
15.2.
If
✓
Num
Group
Expression
State
Notes
16.1.
Abs
✓
16.2.
Add
✓
16.3.
Ceiling
✓
16.4.
Divide
✓
16.5.
Exp
✓
16.6.
Floor
✓
16.7.
HighBoundary
✗
16.8.
Log
✓
16.9.
LowBoundary
✗
16.10.
Ln
✓
16.11.
MaxValue
✓
16.12.
MinValue
✓
16.13.
Modulo
✓
16.14.
Multiply
✓
16.15.
Negate
✓
16.16.
Power
✓
16.17.
Precision
✗
16.18.
Predecessor
✓
16.19.
Round
✓
16.20.
Subtract
✓
16.21.
Successor
✓
16.22.
Truncate
✓
16.23.
TruncatedDivide
✓
Num
Group
Expression
State
Notes
17.1.
Combine
✓
17.2.
Concatenate
✓
17.3.
EndsWith
✓
17.4.
Equal
✓
17.5.
Equivalent
✗
17.6.
Indexer
✓
17.7.
LastPositionOf
✓
17.8.
Length
✓
17.9.
Lower
✓
17.10.
Matches
✓
17.11.
Not Equal
✓
17.12.
PositionOf
✓
17.13.
ReplaceMatches
✓
17.14.
Split
✓
17.15.
SplitOnMatches
✗
17.16.
StartsWith
✓
17.17.
Substring
✓
17.18.
Upper
✓
18. Date and Time Operators
Num
Group
Expression
State
Notes
18.1.
Add
✓
18.2.
After
✓
18.3.
Before
✓
18.4.
Equal
✓
18.5.
Equivalent
✓
18.6.
Date
✓
18.7.
DateFrom
✓
18.8.
DateTime
✓
18.9.
DateTimeComponentFrom
✓
18.10.
DifferenceBetween
!
same as DurationBetween
18.11.
DurationBetween
✓
18.12.
Not Equal
✓
18.13.
Now
✓
18.14.
SameAs
✓
18.15.
SameOrBefore
✓
18.16.
SameOrAfter
✓
18.17.
Subtract
✓
18.18.
Time
✓
18.19.
TimeFrom
✓
18.20.
TimezoneOffsetFrom
✓
18.21.
TimeOfDay
✓
18.22.
Today
✓
Num
Group
Expression
State
Notes
19.1.
Interval
✓
19.2.
After
✓
19.3.
Before
✓
19.4.
Collapse
✓
19.5.
Contains
✓
19.6.
End
✓
19.7.
Ends
✓
19.8.
Equal
✓
19.9.
Equivalent
✓
19.10.
Except
✓
19.11.
Expand
✗
19.12.
In
✓
19.13.
Includes
✓
19.14.
IncludedIn
✓
19.15.
Intersect
✓
19.16.
Meets
✓
19.17.
MeetsBefore
✓
19.18.
MeetsAfter
✓
19.19.
Not Equal
✓
19.20.
Overlaps
✓
19.21.
OverlapsBefore
✓
19.22.
OverlapsAfter
✓
19.23.
PointFrom
✓
19.24.
ProperContains
✓
19.25.
ProperIn
✓
19.26.
ProperIncludes
✓
19.27.
ProperIncludedIn
✓
19.28.
Size
✗
19.29.
Start
✓
19.30.
Starts
✓
19.31.
Union
✓
19.32.
Width
✓
Num
Group
Expression
State
Notes
20.1.
List
✓
20.2.
Contains
✓
20.3.
Current
✓
20.4.
Distinct
✓
20.5.
Equal
✓
20.6.
Equivalent
✓
20.7.
Except
✓
20.8.
Exists
✓
20.9.
Filter
✓
20.10.
First
✓
20.11.
Flatten
✓
20.12.
ForEach
✓
20.13.
In
✓
20.14.
Includes
✓
20.15.
IncludedIn
✓
20.16.
IndexOf
✓
20.17.
Intersect
✓
20.18.
Last
!
no orderBy
20.19.
Not Equal
✓
20.20.
ProperContains
✓
20.21.
ProperIn
✓
20.22.
ProperIncludes
✓
20.23.
ProperIncludedIn
✓
20.24.
Repeat
✗
20.25.
SingletonFrom
✓
20.26.
Slice
✓
20.27.
Sort
✓
20.28.
Times
✓
20.29.
Union
✓
Num
Group
Expression
State
Notes
21.1.
AllTrue
!
no path
path not used from CQL
21.2.
AnyTrue
!
no path
path not used from CQL
21.3.
Avg
!
no path
path not used from CQL
21.4.
Count
!
no path
path not used from CQL
21.5.
GeometricMean
!
no path
path not used from CQL
21.6.
Product
!
no path
path not used from CQL
21.7.
Max
!
no path
path not used from CQL
21.8.
Median
!
no path
path not used from CQL
21.9.
Min
!
no path
path not used from CQL
21.10.
Mode
!
no path
path not used from CQL
21.11.
PopulationVariance
!
no path
path not used from CQL
21.12.
PopulationStdDev
!
no path
path not used from CQL
21.13.
Sum
!
no path
path not used from CQL
21.14.
StdDev
!
no path
path not used from CQL
21.15.
Variance
!
no path
path not used from CQL
Num
Group
Expression
State
Notes
22.1.
As
!
no strictness
22.2.
CanConvert
✗
22.3.
CanConvertQuantity
✓
22.4.
Children
✓
22.5.
Convert
✗
22.6.
ConvertQuantity
✓
22.7.
ConvertsToBoolean
✓
22.8.
ConvertsToDate
✓
22.9.
ConvertsToDateTime
✓
22.10.
ConvertsToDecimal
✓
22.11.
ConvertsToLong
✓
22.12.
ConvertsToInteger
✓
22.13.
ConvertsToQuantity
✓
22.14.
ConvertsToRatio
✓
22.15.
ConvertsToString
✓
22.16.
ConvertsToTime
✓
22.17.
Descendents
✓
22.18.
Is
✓
22.19.
ToBoolean
✓
22.20.
ToChars
✓
22.21.
ToConcept
✓
22.22.
ToDate
✓
22.23.
ToDateTime
✓
22.24.
ToDecimal
✓
22.25.
ToInteger
✓
22.26.
ToList
✓
22.27.
ToLong
✓
22.28.
ToQuantity
✓
22.29.
ToRatio
✓
22.30.
ToString
✓
22.31.
ToTime
✓
Num
Group
Expression
State
Notes
23.1.
AnyInCodeSystem
✗
23.2.
AnyInValueSet
✗
23.3.
CalculateAge
✓
23.4.
CalculateAgeAt
✓
23.5.
Equal
✓
23.6.
Equivalent
✓
23.7.
InCodeSystem
✗
23.8.
InValueSet
✗
23.9.
ExpandValueSet
✗
23.10.
Not Equal
✓
23.11.
SubsumedBy
✗
23.12.
Subsumes
✗
Num
Group
Expression
State
Notes
24.1. Message
✗