Clinical Quality Language Specification, published by Clinical Decision Support WG. This guide is not an authorized publication; it is the continuous build for version 2.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/cql/ and changes regularly. See the Directory of published versions
| Page standards status: Trial-use | Maturity Level: 2 |
<CodeSystem xmlns="http://hl7.org/fhir">
<id value="cql-language-capabilities"/>
<text>
<status value="generated"/>
<div xmlns="http://www.w3.org/1999/xhtml"><p class="res-header-id"><b>Generated Narrative: CodeSystem cql-language-capabilities</b></p><a name="cql-language-capabilities"> </a><a name="hccql-language-capabilities"> </a><p><b>Properties</b></p><p><b>This code system defines the following properties for its concepts</b></p><table class="grid"><tr><td><b>Name</b></td><td><b>Code</b></td><td><b>URI</b></td><td><b>Type</b></td><td><b>Description</b></td></tr><tr><td>Version</td><td>version</td><td>http://cql.hl7.org/CodeSystem/cql-capability-characteristic-codes#version</td><td>string</td><td>The version in which the capability was introduced in the specification</td></tr><tr><td>VersionTo</td><td>versionTo</td><td>http://cql.hl7.org/CodeSystem/cql-capability-characteristic-codes#versionTo</td><td>string</td><td>The last version in which the capability was included in the specification</td></tr><tr><td>Value</td><td>value</td><td>http://cql.hl7.org/CodeSystem/cql-capability-characteristic-codes#value</td><td>string</td><td>A qualifier value used to provide more detail about the capability</td></tr><tr><td>Value Meaning</td><td>valueMeaning</td><td>http://cql.hl7.org/CodeSystem/cql-capability-characteristic-codes#valueMeaning</td><td>string</td><td>A description of the meaning of qualifier values for the capability</td></tr><tr><td>Reference</td><td>reference</td><td>http://cql.hl7.org/CodeSystem/cql-capability-characteristic-codes#reference</td><td>string</td><td>A reference to the specification documenting this capability</td></tr></table><p><b>Concepts</b></p><p>This case-sensitive code system <code>http://cql.hl7.org/CodeSystem/cql-language-capabilities</code> defines the following codes in a Is-A hierarchy:</p><table class="codes"><tr><td><b>Lvl</b></td><td style="white-space:nowrap"><b>Code</b></td><td><b>Display</b></td><td><b>Definition</b></td><td><b>Version</b></td><td><b>Value</b></td><td><b>Value Meaning</b></td><td><b>Reference</b></td></tr><tr><td>1</td><td style="white-space:nowrap">decimal-precision-and-scale<a name="cql-language-capabilities-decimal-precision-and-scale"> </a></td><td>Decimal precision and scale</td><td>How many total digits (precision) and how many digits to the right of the decimal point (scale) the implementation supports for Decimal values.</td><td>1.0</td><td>28,8</td><td>The supported precision and scale of decimal values</td><td><code>https://cql.hl7.org/09-b-cqlreference.html#decimal</code></td></tr><tr><td>1</td><td style="white-space:nowrap">datetime-precision-and-scale<a name="cql-language-capabilities-datetime-precision-and-scale"> </a></td><td>Datetime precision and scale</td><td>The finest granularity (precision) and smallest increment (scale) supported for date/time values.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#datetime</code></td></tr><tr><td>1</td><td style="white-space:nowrap">ucum-unit-conversion-support<a name="cql-language-capabilities-ucum-unit-conversion-support"> </a></td><td>UCUM unit conversion support</td><td>Whether and how the engine can automatically convert between units of measure using UCUM.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#convertquantity</code></td></tr><tr><td>1</td><td style="white-space:nowrap">regex-dialect<a name="cql-language-capabilities-regex-dialect"> </a></td><td>Regex dialect</td><td>Which flavor of regular expressions the implementation supports.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#matches</code></td></tr><tr><td>1</td><td style="white-space:nowrap">supported-data-models<a name="cql-language-capabilities-supported-data-models"> </a></td><td>Supported data models</td><td>Which external models the engine can evaluate against.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/05-languagesemantics.html#data-model</code></td></tr><tr><td>1</td><td style="white-space:nowrap">expand-operator<a name="cql-language-capabilities-expand-operator"> </a></td><td>Expand operator</td><td>Expand on ValueSet/Interval.</td><td>1.3</td><td/><td/><td><code>https://cql.hl7.org/05-languagesemantics.html#collapse-and-expand-operators</code></td></tr><tr><td>1</td><td style="white-space:nowrap">fhirpath-support<a name="cql-language-capabilities-fhirpath-support"> </a></td><td>FHIRPath Support</td><td>Ability to evaluate/translate FHIRPath within CQL.</td><td>1.3</td><td/><td/><td><code>https://cql.hl7.org/16-i-fhirpathtranslation.html</code></td></tr><tr><td>1</td><td style="white-space:nowrap">precision-operators-for-decimal-and-date-time-types<a name="cql-language-capabilities-precision-operators-for-decimal-and-date-time-types"> </a></td><td>Precision operators for Decimal and Date/Time types</td><td>Operators that adjust/control precision.</td><td>1.4</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#precision</code></td></tr><tr><td>1</td><td style="white-space:nowrap">model-defined-contexts<a name="cql-language-capabilities-model-defined-contexts"> </a></td><td>Model-defined contexts</td><td>Contexts defined by the data model.</td><td>1.4</td><td/><td/><td><code>https://cql.hl7.org/05-languagesemantics.html#context-support</code></td></tr><tr><td>1</td><td style="white-space:nowrap">library-namespaces<a name="cql-language-capabilities-library-namespaces"> </a></td><td>Library namespaces</td><td>Organize libraries into namespaces.</td><td>1.4</td><td/><td/><td><code>https://cql.hl7.org/07-physicalrepresentation.html#media-types-and-namespaces</code></td></tr><tr><td>1</td><td style="white-space:nowrap">related-context-retrieves<a name="cql-language-capabilities-related-context-retrieves"> </a></td><td>Related-context retrieves</td><td>Context-relative retrieve operations.</td><td>1.4</td><td/><td/><td><code>https://cql.hl7.org/05-languagesemantics.html#retrieve-paths</code></td></tr><tr><td>1</td><td style="white-space:nowrap">unit-conversion-support<a name="cql-language-capabilities-unit-conversion-support"> </a></td><td>Unit conversion support</td><td>Convert between compatible UCUM units.</td><td>1.4</td><td/><td/><td><code>https://cql.hl7.org/05-languagesemantics.html#conversions</code></td></tr><tr><td>1</td><td style="white-space:nowrap">modular-arithmetic-for-quantities<a name="cql-language-capabilities-modular-arithmetic-for-quantities"> </a></td><td>Modular arithmetic for quantities</td><td>Modulo/remainder with Quantity.</td><td>1.5</td><td/><td/><td><code>https://cql.hl7.org/05-languagesemantics.html#quantity-arithmetic</code></td></tr><tr><td>1</td><td style="white-space:nowrap">expand-a-single-interval<a name="cql-language-capabilities-expand-a-single-interval"> </a></td><td>Expand a single interval</td><td>Expand applied to a single Interval.</td><td>1.5</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#expand</code></td></tr><tr><td>1</td><td style="white-space:nowrap">aggregate-clause<a name="cql-language-capabilities-aggregate-clause"> </a></td><td>Aggregate clause</td><td>Query clause for aggregation.</td><td>1.5</td><td/><td/><td><code>https://cql.hl7.org/05-languagesemantics.html#aggregate-clause</code></td></tr><tr><td>1</td><td style="white-space:nowrap">include-retrieves<a name="cql-language-capabilities-include-retrieves"> </a></td><td>Include retrieves</td><td>Retrieve that follows model references.</td><td>1.5</td><td/><td/><td><code>https://cql.hl7.org/05-languagesemantics.html#retrieve-paths</code></td></tr><tr><td>1</td><td style="white-space:nowrap">searchpath-retrieves<a name="cql-language-capabilities-searchpath-retrieves"> </a></td><td>Searchpath retrieves</td><td>Retrieve using a search path expression.</td><td>1.5</td><td/><td/><td><code>https://cql.hl7.org/05-languagesemantics.html#retrieve-paths</code></td></tr><tr><td>1</td><td style="white-space:nowrap">id-retrieves<a name="cql-language-capabilities-id-retrieves"> </a></td><td>Id retrieves</td><td>Retrieve by unique identifier.</td><td>1.5</td><td/><td/><td><code>https://cql.hl7.org/05-languagesemantics.html#retrieve-paths</code></td></tr><tr><td>1</td><td style="white-space:nowrap">system-data-types<a name="cql-language-capabilities-system-data-types"> </a></td><td>System Data Types</td><td>Primitive, structured, and collection types defined by the System namespace.</td><td/><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#types</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> system.integer<a name="cql-language-capabilities-system.46integer"> </a></td><td>System.Integer</td><td>Whole numbers with no fractional component.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#integer</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> system.long<a name="cql-language-capabilities-system.46long"> </a></td><td>System.Long</td><td>64-bit signed integers.</td><td>1.5</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#long</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> system.decimal<a name="cql-language-capabilities-system.46decimal"> </a></td><td>System.Decimal</td><td>Numbers with fractional precision and scale.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#decimal</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> system.string<a name="cql-language-capabilities-system.46string"> </a></td><td>System.String</td><td>Sequence of text characters.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#string</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> system.boolean<a name="cql-language-capabilities-system.46boolean"> </a></td><td>System.Boolean</td><td>Logical truth values.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#boolean</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> system.date<a name="cql-language-capabilities-system.46date"> </a></td><td>System.Date</td><td>Calendar date without time.</td><td>1.3</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#date</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> system.time<a name="cql-language-capabilities-system.46time"> </a></td><td>System.Time</td><td>Time of day without date.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#time</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> system.datetime<a name="cql-language-capabilities-system.46datetime"> </a></td><td>System.DateTime</td><td>Date and time point (optional offset).</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#datetime</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> system.quantity<a name="cql-language-capabilities-system.46quantity"> </a></td><td>System.Quantity</td><td>Numeric value with unit.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#quantity</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> system.ratio<a name="cql-language-capabilities-system.46ratio"> </a></td><td>System.Ratio</td><td>Fractional relationship between two Quantities.</td><td>1.3</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#ratio</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> system.interval<a name="cql-language-capabilities-system.46interval"> </a></td><td>System.Interval</td><td>Range over an ordered type.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#interval-operators-3</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> system.list<a name="cql-language-capabilities-system.46list"> </a></td><td>System.List</td><td>Ordered collection of elements of a type.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/63-expressionlanguagesemantics.html#collection-types</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> system.tuple<a name="cql-language-capabilities-system.46tuple"> </a></td><td>System.Tuple</td><td>Structured type with named elements.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/63-expressionlanguagesemantics.html#structured-types</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> system.choice<a name="cql-language-capabilities-system.46choice"> </a></td><td>System.Choice</td><td>Value of one among several types.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/63-expressionlanguagesemantics.html#choice-types</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> system.codesystem<a name="cql-language-capabilities-system.46codesystem"> </a></td><td>System.CodeSystem</td><td>Reference to an external code system.</td><td>1.5</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#codesystem</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> system.valueset<a name="cql-language-capabilities-system.46valueset"> </a></td><td>System.ValueSet</td><td>Reference to a set of codes.</td><td>1.5</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#valueset</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> system.vocabulary<a name="cql-language-capabilities-system.46vocabulary"> </a></td><td>System.Vocabulary</td><td>Base type for vocabulary-related types.</td><td>1.5</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#vocabulary</code></td></tr><tr><td>1</td><td style="white-space:nowrap">logical-operators<a name="cql-language-capabilities-logical-operators"> </a></td><td>Logical Operators</td><td>and, or, not, implies under 3-valued logic.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#logical-operators</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> logical-operators.and<a name="cql-language-capabilities-logical-operators.46and"> </a></td><td>Logical Operator and</td><td>The and operator returns true if both its arguments are true. If either argument is false, the result is false. Otherwise, the result is null.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#and</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> logical-operators.or<a name="cql-language-capabilities-logical-operators.46or"> </a></td><td>Logical Operator or</td><td>The or operator returns true if either of its arguments are true. If both arguments are false, the result is false. Otherwise, the result is null.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#or</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> logical-operators.not<a name="cql-language-capabilities-logical-operators.46not"> </a></td><td>Logical Operator not</td><td>The not operator returns true if the argument is false and false if the argument is true. Otherwise, the result is null.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#not</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> logical-operators.xor<a name="cql-language-capabilities-logical-operators.46xor"> </a></td><td>Logical Operator xor</td><td>The xor (exclusive or) operator returns true if one argument is true and the other is false. If both arguments are true or both arguments are false, the result is false. Otherwise, the result is null.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#xor</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> logical-operators.implies<a name="cql-language-capabilities-logical-operators.46implies"> </a></td><td>Logical Operator implies</td><td>The implies operator returns the logical implication of its arguments. This means that if the left operand evaluates to true, this operator returns the boolean evaluation of the right operand. If the left operand evaluates to false, this operator returns true. Otherwise, this operator returns true if the right operand evaluates to true, and null otherwise</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#implies</code></td></tr><tr><td>1</td><td style="white-space:nowrap">type-operators<a name="cql-language-capabilities-type-operators"> </a></td><td>Type Operators</td><td>Type inspection and conversion operators.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#type-operators</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> type-operators.as<a name="cql-language-capabilities-type-operators.46as"> </a></td><td>Type Operator as</td><td>The as operator allows the result of an expression to be cast as a given target type. This allows expressions to be written that are statically typed against the expected run-time type of the argument.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#as</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> type-operators.cast-as<a name="cql-language-capabilities-type-operators.46cast-as"> </a></td><td>Type Operator as</td><td>(See the as operator in addition) The cast prefix indicates that if the argument is not of the specified type at run-time then an exception is thrown.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#as</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> type-operators.is<a name="cql-language-capabilities-type-operators.46is"> </a></td><td>Type Operator is</td><td>The is operator allows the type of a result to be tested. If the run-time type of the argument is the same as or derived from the type being tested, the result of the operator is true; otherwise, the result is false.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#is</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> type-operators.children<a name="cql-language-capabilities-type-operators.46children"> </a></td><td>Type Operator children</td><td>For structured types, the Children operator returns a list of all the values of the elements of the type. List-valued elements are expanded and added to the result individually, rather than as a single list.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#children</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> type-operators.descendants<a name="cql-language-capabilities-type-operators.46descendants"> </a></td><td>Type Operator descendants</td><td>or structured types, the Descendants operator returns a list of all the values of the elements of the type, recursively. List-valued elements are expanded and added to the result individually, rather than as a single list.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#descendants</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> type-operators.convert-quantity<a name="cql-language-capabilities-type-operators.46convert-quantity"> </a></td><td>Type Operator convert-quantity</td><td>The convert operator converts a value to a specific type. The result of the operator is the value of the argument converted to the target type, if possible. If there is no valid conversion from the actual value to the target type, the result is null.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#convert</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> type-operators.to-boolean<a name="cql-language-capabilities-type-operators.46to-boolean"> </a></td><td>Type Operator to-boolean</td><td>The ToBoolean operator converts the value of its argument to a Boolean value.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#toboolean</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> type-operators.to-integer<a name="cql-language-capabilities-type-operators.46to-integer"> </a></td><td>Type Operator to-integer</td><td>The ToInteger operator converts the value of its argument to an Integer value.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#tointeger</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> type-operators.to-long<a name="cql-language-capabilities-type-operators.46to-long"> </a></td><td>Type Operator to-long</td><td>The ToLong operator converts the value of its argument to a Long value.</td><td>1.5</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#tolong</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> type-operators.to-decimal<a name="cql-language-capabilities-type-operators.46to-decimal"> </a></td><td>Type Operator to-decimal</td><td>The ToDecimal operator converts the value of its argument to a Decimal value.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#todecimal</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> type-operators.to-quantity<a name="cql-language-capabilities-type-operators.46to-quantity"> </a></td><td>Type Operator to-quantity</td><td>The ToQuantity operator converts the value of its argument to a Quantity value. The operation does not perform any unit conversion, that capability is supported by the ConvertQuantity operator.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#toquantity</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> type-operators.to-ratio<a name="cql-language-capabilities-type-operators.46to-ratio"> </a></td><td>Type Operator to-ratio</td><td>The ToRatio operator converts the value of its argument to a Ratio value.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#toratio</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> type-operators.to-date<a name="cql-language-capabilities-type-operators.46to-date"> </a></td><td>Type Operator to-date</td><td>The ToDate operator converts the value of its argument to a Date value.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#todate</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> type-operators.to-datetime<a name="cql-language-capabilities-type-operators.46to-datetime"> </a></td><td>Type Operator to-datetime</td><td>The ToDateTime operator converts the value of its argument to a DateTime value.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#todatetime</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> type-operators.to-time<a name="cql-language-capabilities-type-operators.46to-time"> </a></td><td>Type Operator to-time</td><td>The ToTime operator converts the value of its argument to a Time value. The operator expects the string to be formatted using ISO-8601 time representation.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#totime</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> type-operators.to-string<a name="cql-language-capabilities-type-operators.46to-string"> </a></td><td>Type Operator to-string</td><td>The ToString operator converts the value of its argument to a String value.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#tostring</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> type-operators.converts-to-boolean<a name="cql-language-capabilities-type-operators.46converts-to-boolean"> </a></td><td>Type Operator converts-to-boolean</td><td>The ConvertsToBoolean operator returns true if its argument is or can be converted to a Boolean value.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#convertstoboolean</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> type-operators.converts-to-integer<a name="cql-language-capabilities-type-operators.46converts-to-integer"> </a></td><td>Type Operator converts-to-integer</td><td>The ConvertsToInteger operator returns true if its argument is or can be converted to an Integer value. See the ToInteger operator for a description of the supported conversions.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#convertstointeger</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> type-operators.converts-to-long<a name="cql-language-capabilities-type-operators.46converts-to-long"> </a></td><td>Type Operator converts-to-long</td><td>The ConvertsToLong operator returns true if its argument is or can be converted to a Long value.</td><td>1.5</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#convertstolong</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> type-operators.converts-to-decimal<a name="cql-language-capabilities-type-operators.46converts-to-decimal"> </a></td><td>Type Operator converts-to-decimal</td><td>The ToDecimal operator returns true if its argument is or can be converted to a Decimal value.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#convertstodecimal</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> type-operators.converts-to-quantity<a name="cql-language-capabilities-type-operators.46converts-to-quantity"> </a></td><td>Type Operator converts-to-quantity</td><td>The ConvertsToQuantity operator returns true if its argument is or can be converted to a Quantity value. See the ToQuantity operator for a description of the supported conversions.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#convertstoquantity</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> type-operators.converts-to-ratio<a name="cql-language-capabilities-type-operators.46converts-to-ratio"> </a></td><td>Type Operator converts-to-ration</td><td>The ConvertsToRatio operator returns true if its argument is or can be converted to a Ratio value</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#convertstoratio</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> type-operators.converts-to-date<a name="cql-language-capabilities-type-operators.46converts-to-date"> </a></td><td>Type Operator converts-to-date</td><td>The ConvertsToDate operator returns true if its argument is or can be converted to a Date value.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#convertstodate</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> type-operators.converts-to-datetime<a name="cql-language-capabilities-type-operators.46converts-to-datetime"> </a></td><td>Type Operator converts-to-datetime</td><td>The ConvertsToDateTime operator returns true if its argument is or can be converted to a DateTime value.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#convertstodatetime</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> type-operators.converts-to-time<a name="cql-language-capabilities-type-operators.46converts-to-time"> </a></td><td>Type Operator converts-to-time</td><td>The ConvertsToTime operator returns true if its argument is or can be converted to a Time value.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#convertstotime</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> type-operators.converts-to-string<a name="cql-language-capabilities-type-operators.46converts-to-string"> </a></td><td>Type Operator converts-to-string</td><td>The ConvertsToString operator returns true if its argument is or can be converted to a String value.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#convertstostring</code></td></tr><tr><td>1</td><td style="white-space:nowrap">nullological-operators<a name="cql-language-capabilities-nullological-operators"> </a></td><td>Nullological Operators</td><td>Operators dealing with null/missing information.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#nullological-operators</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> nullological-operators.coalesce<a name="cql-language-capabilities-nullological-operators.46coalesce"> </a></td><td>Nullological Operators coalesce</td><td>The Coalesce operator returns the first non-null result in a list of arguments. If all arguments evaluate to null, the result is null.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#coalesce</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> nullological-operators.is-null<a name="cql-language-capabilities-nullological-operators.46is-null"> </a></td><td>Nullological Operators is-null</td><td>The is null operator determines whether or not its argument evaluates to null. If the argument evaluates to null, the result is true; otherwise, the result is false.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#isnull</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> nullological-operators.is-true<a name="cql-language-capabilities-nullological-operators.46is-true"> </a></td><td>Nullological Operators coalesce</td><td>The is true operator determines whether or not its argument evaluates to true. If the argument evaluates to true, the result is true; otherwise, the result is false.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#istrue</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> nullological-operators.is-false<a name="cql-language-capabilities-nullological-operators.46is-false"> </a></td><td>Nullological Operators is-false</td><td>The is false operator determines whether or not its argument evaluates to false. If the argument evaluates to false, the result is true; otherwise, the result is false.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#isfalse</code></td></tr><tr><td>1</td><td style="white-space:nowrap">comparison-operators<a name="cql-language-capabilities-comparison-operators"> </a></td><td>Comparison Operators</td><td>Equal, not equal, <, <=, >, >=, in/not in, etc.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#comparison-operators</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> comparison-operators.equal<a name="cql-language-capabilities-comparison-operators.46equal"> </a></td><td>Comparison Operators equal</td><td>The equal (=) operator returns true if the arguments are equal; false if the arguments are known unequal, and null otherwise. Equality semantics are defined to be value-based.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#equal</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> comparison-operators.equivalent<a name="cql-language-capabilities-comparison-operators.46equivalent"> </a></td><td>Comparison Operators equivalent</td><td>The equivalent (~) operator returns true if the arguments are equivalent in value, or if they are both null; and false otherwise.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#equivalent</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> comparison-operators.greater<a name="cql-language-capabilities-comparison-operators.46greater"> </a></td><td>Comparison Operators greater</td><td>The greater (>) operator returns true if the first argument is greater than the second argument.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#greater</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> comparison-operators.greater-or-equal<a name="cql-language-capabilities-comparison-operators.46greater-or-equal"> </a></td><td>Comparison Operators greater or equal</td><td>The greater or equal (>=) operator returns true if the first argument is greater than or equal to the second argument.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#greater-or-equal</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> comparison-operators.less<a name="cql-language-capabilities-comparison-operators.46less"> </a></td><td>Comparison Operators less</td><td>The less (<) operator returns true if the first argument is less than the second argument.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#less</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> comparison-operators.less-or-equal<a name="cql-language-capabilities-comparison-operators.46less-or-equal"> </a></td><td>Comparison Operators less-or-equal</td><td>The less or equal (<=) operator returns true if the first argument is less than or equal to the second argument.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#less-or-equal</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> comparison-operators.not-equal<a name="cql-language-capabilities-comparison-operators.46not-equal"> </a></td><td>Comparison Operators not-equal</td><td>The not equal (!=) operator returns true if its arguments are not the same value.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#not-equal</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> comparison-operators.not-equivalent<a name="cql-language-capabilities-comparison-operators.46not-equivalent"> </a></td><td>Comparison Operators not-equivalent</td><td>The not equivalent (!~) operator returns true if its arguments are not equivalent.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#not-equivalent</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> comparison-operators.between<a name="cql-language-capabilities-comparison-operators.46between"> </a></td><td>Comparison Operators between</td><td>The between operator determines whether the first argument is within a given range, inclusive. If the first argument is greater than or equal to the low argument, and less than or equal to the high argument, the result is true, otherwise, the result is false.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#between</code></td></tr><tr><td>1</td><td style="white-space:nowrap">arithmetic-operators<a name="cql-language-capabilities-arithmetic-operators"> </a></td><td>Arithmetic Operators</td><td>Add, subtract, multiply, divide, mod, round, etc.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#arithmetic-operators</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> arithmetic-operators.abs<a name="cql-language-capabilities-arithmetic-operators.46abs"> </a></td><td>Arithmetic Operators abs</td><td>The Abs operator returns the absolute value of its argument.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#abs</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> arithmetic-operators.add<a name="cql-language-capabilities-arithmetic-operators.46add"> </a></td><td>Arithmetic Operators add</td><td>The add (+) operator performs numeric addition of its arguments.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#add</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> arithmetic-operators.ceiling<a name="cql-language-capabilities-arithmetic-operators.46ceiling"> </a></td><td>Arithmetic Operators ceiling</td><td>The Ceiling operator returns the first integer greater than or equal to the argument.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#ceiling</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> arithmetic-operators.divide<a name="cql-language-capabilities-arithmetic-operators.46divide"> </a></td><td>Arithmetic Operators divide</td><td>The divide (/) operator performs numeric division of its arguments. Note that this operator is Decimal division; for Integer division, use the truncated divide (div) operator.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#string-operators</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> arithmetic-operators.floor<a name="cql-language-capabilities-arithmetic-operators.46floor"> </a></td><td>Arithmetic Operators floor</td><td>The Floor operator returns the first integer less than or equal to the argument.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#floor</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> arithmetic-operators.exp<a name="cql-language-capabilities-arithmetic-operators.46exp"> </a></td><td>Arithmetic Operators exp</td><td>The Exp operator raises e to the power of its argument.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#exp</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> arithmetic-operators.highboundary<a name="cql-language-capabilities-arithmetic-operators.46highboundary"> </a></td><td>Arithmetic Operators highboundary</td><td>The HighBoundary function returns the greatest possible value of the input to the specified precision.</td><td>1.5</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#highboundary</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> arithmetic-operators.log<a name="cql-language-capabilities-arithmetic-operators.46log"> </a></td><td>Arithmetic Operators log</td><td>The Log operator computes the logarithm of its first argument, using the second argument as the base.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#log</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> arithmetic-operators.lowboundary<a name="cql-language-capabilities-arithmetic-operators.46lowboundary"> </a></td><td>Arithmetic Operators lowboundary</td><td>The LowBoundary function returns the least possible value of the input to the specified precision.</td><td>1.5</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#lowboundary</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> arithmetic-operators.ln<a name="cql-language-capabilities-arithmetic-operators.46ln"> </a></td><td>Arithmetic Operators ln</td><td>The Ln operator computes the natural logarithm of its argument.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#ln</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> arithmetic-operators.maximum<a name="cql-language-capabilities-arithmetic-operators.46maximum"> </a></td><td>Arithmetic Operators maximum</td><td>The maximum operator returns the maximum representable value for the given type, defined for the Integer, Long, Decimal, Quantity, Date, DateTime, and Time types.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#maximum</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> arithmetic-operators.minimum<a name="cql-language-capabilities-arithmetic-operators.46minimum"> </a></td><td>Arithmetic Operators minimum</td><td>The minimum operator returns the minimum representable value for the given type, defined for the Integer, Long, Decimal, Quantity, Date, DateTime, and Time types.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#minimum</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> arithmetic-operators.mod<a name="cql-language-capabilities-arithmetic-operators.46mod"> </a></td><td>Arithmetic Operators mod</td><td>The mod operator computes the remainder of the division of its arguments.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#mod</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> arithmetic-operators.multiply<a name="cql-language-capabilities-arithmetic-operators.46multiply"> </a></td><td>Arithmetic Operators multiply</td><td>The multiply (*) operator performs numeric multiplication of its arguments.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#multiply</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> arithmetic-operators.negate<a name="cql-language-capabilities-arithmetic-operators.46negate"> </a></td><td>Arithmetic Operators negate</td><td>The negate (-) operator returns the negative of its argument.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#negate</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> arithmetic-operators.precision<a name="cql-language-capabilities-arithmetic-operators.46precision"> </a></td><td>Arithmetic Operators precision</td><td>The Precision function returns the number of digits of precision in the input value.</td><td>1.5</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#precision</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> arithmetic-operators.predecessor<a name="cql-language-capabilities-arithmetic-operators.46predecessor"> </a></td><td>Arithmetic Operators predecessor</td><td>The predecessor operator returns the predecessor of the argument. For example, the predecessor of 2 is 1. If the argument is already the minimum value for the type, a null is returned.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#predecessor</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> arithmetic-operators.power<a name="cql-language-capabilities-arithmetic-operators.46power"> </a></td><td>Arithmetic Operators power</td><td>The power (^) operator raises the first argument to the power given by the second argument.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#power</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> arithmetic-operators.round<a name="cql-language-capabilities-arithmetic-operators.46round"> </a></td><td>Arithmetic Operators round</td><td>The Round operator returns the nearest whole number to its argument. The semantics of round are defined as a traditional round (i.e. to the nearest whole number), meaning that a decimal value greater than or equal to 0.5 and less than 1.0 will round to 1, and a decimal value less than or equal to -0.5 and greater than -1.0 will round to -1.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#round</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> arithmetic-operators.subtract<a name="cql-language-capabilities-arithmetic-operators.46subtract"> </a></td><td>Arithmetic Operators subtract</td><td>The subtract (-) operator performs numeric subtraction of its arguments.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#subtract</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> arithmetic-operators.successor<a name="cql-language-capabilities-arithmetic-operators.46successor"> </a></td><td>Arithmetic Operators successor</td><td>The successor operator returns the successor of the argument. For example, the successor of 1 is 2. If the argument is already the maximum value for the type, a null is returned.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#successor</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> arithmetic-operators.truncate<a name="cql-language-capabilities-arithmetic-operators.46truncate"> </a></td><td>Arithmetic Operators truncate</td><td>The Truncate operator returns the integer component of its argument.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#truncate</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> arithmetic-operators.div<a name="cql-language-capabilities-arithmetic-operators.46div"> </a></td><td>Arithmetic Operators div</td><td>The div operator performs truncated division of its arguments.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#div</code></td></tr><tr><td>1</td><td style="white-space:nowrap">string-operators<a name="cql-language-capabilities-string-operators"> </a></td><td>String Operators</td><td>Length, substring, startsWith, endsWith, matches, replaceMatches, etc.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#string-operators</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> string-operators.combine<a name="cql-language-capabilities-string-operators.46combine"> </a></td><td>String Operators combine</td><td>The Combine operator combines a list of strings, optionally separating each string with the given separator.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#combine</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> string-operators.concatenate<a name="cql-language-capabilities-string-operators.46concatenate"> </a></td><td>String Operators concatenate</td><td>The concatenate (+ or &) operator performs string concatenation of its arguments.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#concatenate</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> string-operators.endwith<a name="cql-language-capabilities-string-operators.46endwith"> </a></td><td>String Operators endwith</td><td>The EndsWith operator returns true if the given string ends with the given suffix.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#endwith</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> string-operators.indexer<a name="cql-language-capabilities-string-operators.46indexer"> </a></td><td>String Operators indexer</td><td>The indexer ([]) operator returns the character at the indexth position in a string.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#indexer</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> string-operators.lastpositionof<a name="cql-language-capabilities-string-operators.46lastpositionof"> </a></td><td>String Operators lastpositionof</td><td>The LastPositionOf operator returns the 0-based index of the last appearance of the given pattern in the given string.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#lastpositionof</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> string-operators.length<a name="cql-language-capabilities-string-operators.46length"> </a></td><td>String Operators length</td><td>The Length operator returns the number of characters in a string.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#length</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> string-operators.lower<a name="cql-language-capabilities-string-operators.46lower"> </a></td><td>String Operators lower</td><td>The Lower operator returns the given string with all characters converted to their lower case equivalents.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#lower</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> string-operators.matches<a name="cql-language-capabilities-string-operators.46matches"> </a></td><td>String Operators matches</td><td>The Matches operator returns true if the given string matches the given regular expression pattern. Regular expressions should function consistently, regardless of any culture- and locale-specific settings in the environment, should be case-sensitive, use partial matching, use single line mode, and allow Unicode characters. The start/end of line markers ^ and $ can be used to match the entire string.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#matches</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> string-operators.positionof<a name="cql-language-capabilities-string-operators.46positionof"> </a></td><td>String Operators positionof</td><td>The PositionOf operator returns the 0-based index of the given pattern in the given string.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#positionof</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> string-operators.replacematches<a name="cql-language-capabilities-string-operators.46replacematches"> </a></td><td>String Operators replacematches</td><td>The ReplaceMatches operator matches the given string using the given regular expression pattern, replacing each match with the given substitution. The substitution string may refer to identified match groups in the regular expression. Regular expressions should function consistently, regardless of any culture- and locale-specific settings in the environment, should be case-sensitive, use partial matching, use single line mode, and allow Unicode characters. The start and end of line markers ^, $ can be used to match the entire string.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#replacematches</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> string-operators.split<a name="cql-language-capabilities-string-operators.46split"> </a></td><td>String Operators split</td><td>The Split operator splits a string into a list of strings using a separator.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#split</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> string-operators.splitonmatches<a name="cql-language-capabilities-string-operators.46splitonmatches"> </a></td><td>String Operators splitonmatches</td><td>The SplitOnMatches operator splits a string into a list of strings using a separator that is defined by a regular expression pattern.</td><td>1.3</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#splitonmatches</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> string-operators.startswith<a name="cql-language-capabilities-string-operators.46startswith"> </a></td><td>String Operators startswith</td><td>The StartsWith operator returns true if the given string starts with the given prefix.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#startswith</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> string-operators.substring<a name="cql-language-capabilities-string-operators.46substring"> </a></td><td>String Operators substring</td><td>The Substring operator returns the string within stringToSub, starting at the 0-based index startIndex, and consisting of length characters.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#substring</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> string-operators.upper<a name="cql-language-capabilities-string-operators.46upper"> </a></td><td>String Operators upper</td><td>The Upper operator returns the given string with all characters converted to their upper case equivalents.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#upper</code></td></tr><tr><td>1</td><td style="white-space:nowrap">date-and-time-operators<a name="cql-language-capabilities-date-and-time-operators"> </a></td><td>Date and Time Operators</td><td>Date/time arithmetic, components, now/today, comparisons, etc.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#date-and-time-operators</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> date-and-time-operators.add<a name="cql-language-capabilities-date-and-time-operators.46add"> </a></td><td>Date and Time Operators add</td><td>The add (+) operator returns the value of the first argument, incremented by the time-valued quantity, respecting variable length periods for calendar years and months.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#add</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> date-and-time-operators.after<a name="cql-language-capabilities-date-and-time-operators.46after"> </a></td><td>Date and Time Operators after</td><td>The after-precision-of operator compares two Date, DateTime, or Time values to the specified precision to determine whether the first argument is the after the second argument. The comparison is performed by considering each precision in order, beginning with years (or hours for time values). If the values are the same, comparison proceeds to the next precision; if the first value is greater than the second, the result is true; if the first value is less than the second, the result is false; if either input has no value for the precision, the comparison stops and the result is null; if the specified precision has been reached, the comparison stops and the result is false.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#after</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> date-and-time-operators.before<a name="cql-language-capabilities-date-and-time-operators.46before"> </a></td><td>Date and Time Operators before</td><td>The before-precision-of operator compares two Date, DateTime, or Time values to the specified precision to determine whether the first argument is the before the second argument. The comparison is performed by considering each precision in order, beginning with years (or hours for time values). If the values are the same, comparison proceeds to the next precision; if the first value is less than the second, the result is true; if the first value is greater than the second, the result is false; if either input has no value for the precision, the comparison stops and the result is null; if the specified precision has been reached, the comparison stops and the result is false.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#before</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> date-and-time-operators.date<a name="cql-language-capabilities-date-and-time-operators.46date"> </a></td><td>Date and Time Operators date</td><td>The Date operator constructs a date value from the given components.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#date</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> date-and-time-operators.datetime<a name="cql-language-capabilities-date-and-time-operators.46datetime"> </a></td><td>Date and Time Operators datetime</td><td>The DateTime operator constructs a DateTime value from the given components.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#datetime</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> date-and-time-operators.from<a name="cql-language-capabilities-date-and-time-operators.46from"> </a></td><td>Date and Time Operators from</td><td>The component-from operator returns the specified component of the argument.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#from</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> date-and-time-operators.difference<a name="cql-language-capabilities-date-and-time-operators.46difference"> </a></td><td>Date and Time Operators difference</td><td>The difference-between operator returns the number of boundaries crossed for the specified precision between the first and second arguments. If the first argument is after the second argument, the result is negative. The result of this operation is always an integer; any fractional boundaries are dropped.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#difference</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> date-and-time-operators.duration<a name="cql-language-capabilities-date-and-time-operators.46duration"> </a></td><td>Date and Time Operators duration</td><td>The duration-between operator returns the number of whole calendar periods for the specified precision between the first and second arguments. If the first argument is after the second argument, the result is negative. The result of this operation is always an integer; any fractional periods are dropped.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#duration</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> date-and-time-operators.now<a name="cql-language-capabilities-date-and-time-operators.46now"> </a></td><td>Date and Time Operators now</td><td>The Now operator returns the date and time of the start timestamp associated with the evaluation request.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#now</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> date-and-time-operators.on-or-after<a name="cql-language-capabilities-date-and-time-operators.46on-or-after"> </a></td><td>Date and Time Operators on or after</td><td>The on or after operator for Date, DateTime, and Time values is a synonym for the same or after operator and is supported to enable natural phrasing. See the description of the Same Or After (Date, DateTime, or Time) operator.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#on-or-after</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> date-and-time-operators.on-or-before<a name="cql-language-capabilities-date-and-time-operators.46on-or-before"> </a></td><td>Date and Time Operators on or before</td><td>The on or before operator for Date, DateTime, and Time values is a synonym for the same or before operator and is supported to enable natural phrasing. See the description of the Same Or Before (Date, DateTime, or Time) operator.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#on-or-before</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> date-and-time-operators.same-as<a name="cql-language-capabilities-date-and-time-operators.46same-as"> </a></td><td>Date and Time Operators same as</td><td>The same-precision-as operator compares two Date, DateTime, or Time values to the specified precision for equality. The comparison is performed by considering each precision in order, beginning with years (or hours for time values). If the values are the same, comparison proceeds to the next precision; if the values are different, the comparison stops and the result is false; if either input has no value for the precision, the comparison stops and the result is null; if the specified precision has been reached, the comparison stops and the result is true.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#same-as</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> date-and-time-operators.same-or-after<a name="cql-language-capabilities-date-and-time-operators.46same-or-after"> </a></td><td>Date and Time Operators same or after</td><td>The same-precision-or after operator compares two Date, DateTime, or Time values to the specified precision to determine whether the first argument is the same or after the second argument. The comparison is performed by considering each precision in order, beginning with years (or hours for time values). If the values are the same, comparison proceeds to the next precision; if the first value is greater than the second, the result is true; if the first value is less than the second, the result is false; if either input has no value for the precision, the comparison stops and the result is null; if the specified precision has been reached, the comparison stops and the result is true.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#same-or-after</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> date-and-time-operators.same-or-before<a name="cql-language-capabilities-date-and-time-operators.46same-or-before"> </a></td><td>Date and Time Operators same or before</td><td>The same-precision-or before operator compares two Date, DateTime, or Time values to the specified precision to determine whether the first argument is the same or before the second argument. The comparison is performed by considering each precision in order, beginning with years (or hours for time values). If the values are the same, comparison proceeds to the next precision; if the first value is less than the second, the result is true; if the first value is greater than the second, the result is false; if either input has no value for the precision, the comparison stops and the result is null; if the specified precision has been reached, the comparison stops and the result is true.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#same-or-before</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> date-and-time-operators.subtract<a name="cql-language-capabilities-date-and-time-operators.46subtract"> </a></td><td>Date and Time Operators subtract</td><td>The subtract (-) operator returns the value of the given Date, DateTime, or Time, decremented by the time-valued quantity, respecting variable length periods for calendar years and months.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#subtract</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> date-and-time-operators.time<a name="cql-language-capabilities-date-and-time-operators.46time"> </a></td><td>Date and Time Operators time</td><td>The Time operator constructs a time value from the given components.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#time</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> date-and-time-operators.timeofday<a name="cql-language-capabilities-date-and-time-operators.46timeofday"> </a></td><td>Date and Time Operators timeofday</td><td>The TimeOfDay operator returns the time of day of the start timestamp associated with the evaluation request. See the Now operator for more information on the rationale for defining the TimeOfDay operator in this way.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#timeofday</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> date-and-time-operators.today<a name="cql-language-capabilities-date-and-time-operators.46today"> </a></td><td>Date and Time Operators today</td><td>The Today operator returns the date of the start timestamp associated with the evaluation request. See the Now operator for more information on the rationale for defining the Today operator in this way.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#today</code></td></tr><tr><td>1</td><td style="white-space:nowrap">interval-operators<a name="cql-language-capabilities-interval-operators"> </a></td><td>Interval Operators</td><td>contains, in, union, intersect, width, expand, etc.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#interval-operators-3</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> interval-operators.after<a name="cql-language-capabilities-interval-operators.46after"> </a></td><td>Interval Operators after</td><td>The after operator for intervals returns true if the first interval starts after the second one ends. In other words, if the starting point of the first interval is greater than the ending point of the second interval.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#after</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> interval-operators.before<a name="cql-language-capabilities-interval-operators.46before"> </a></td><td>Interval Operators before</td><td>The before operator for intervals returns true if the first interval ends before the second one starts. In other words, if the ending point of the first interval is less than the starting point of the second interval.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#before</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> interval-operators.collapse<a name="cql-language-capabilities-interval-operators.46collapse"> </a></td><td>Interval Operators collapse</td><td>The collapse operator returns the unique set of intervals that completely covers the ranges present in the given list of intervals. In other words, adjacent intervals within a sorted list are merged if they either overlap or meet.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#collapse</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> interval-operators.contains<a name="cql-language-capabilities-interval-operators.46contains"> </a></td><td>Interval Operators contains</td><td>The contains operator for intervals returns true if the given point is equal to the starting or ending point of the interval, or greater than the starting point and less than the ending point. For open interval boundaries, exclusive comparison operators are used. For closed interval boundaries, if the interval boundary is null, the result of the boundary comparison is considered true.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#contains</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> interval-operators.end<a name="cql-language-capabilities-interval-operators.46end"> </a></td><td>Interval Operators end</td><td>The End operator returns the ending point of an interval.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#end</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> interval-operators.ends<a name="cql-language-capabilities-interval-operators.46ends"> </a></td><td>Interval Operators ends</td><td>The ends operator returns true if the first interval ends the second. More precisely, if the starting point of the first interval is greater than or equal to the starting point of the second, and the ending point of the first interval is equal to the ending point of the second.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#ends</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> interval-operators.equal<a name="cql-language-capabilities-interval-operators.46equal"> </a></td><td>Interval Operators equal</td><td>The equal (=) operator for intervals returns true if and only if the intervals are over the same point type, and they have the same value for the starting and ending points of the intervals as determined by the Start and End operators</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> interval-operators.equivalent<a name="cql-language-capabilities-interval-operators.46equivalent"> </a></td><td>Interval Operators equivalent</td><td>The equivalent (~) operator for intervals returns true if and only if the intervals are over the same point type, and the starting and ending points of the intervals as determined by the Start and End operators are equivalent.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#equivalent</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> interval-operators.except<a name="cql-language-capabilities-interval-operators.46except"> </a></td><td>Interval Operators except</td><td>The except operator for intervals returns the set difference of two intervals. More precisely, this operator returns the portion of the first interval that does not overlap with the second. Note that to avoid returning an improper interval, if the second argument is properly contained within the first and does not start or end it, this operator returns null.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#except</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> interval-operators.expand<a name="cql-language-capabilities-interval-operators.46expand"> </a></td><td>Interval Operators expand</td><td>The expand operator returns the set of intervals of size per for all the intervals in the input, or the list of points covering the range of the given interval, if invoked on a single interval.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#expand</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> interval-operators.in<a name="cql-language-capabilities-interval-operators.46in"> </a></td><td>Interval Operators in</td><td>The in operator (can also be invoked using during) for intervals returns true if the given point is equal to the starting or ending point of the interval, or greater than the starting point and less than the ending point. For open interval boundaries, exclusive comparison operators are used. For closed interval boundaries, if the interval boundary is null, the result of the boundary comparison is considered true.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#in</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> interval-operators.includes<a name="cql-language-capabilities-interval-operators.46includes"> </a></td><td>Interval Operators includes</td><td>The includes operator for intervals returns true if the first interval completely includes the second. More precisely, if the starting point of the first interval is less than or equal to the starting point of the second interval, and the ending point of the first interval is greater than or equal to the ending point of the second interval.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#includes</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> interval-operators.included-in<a name="cql-language-capabilities-interval-operators.46included-in"> </a></td><td>Interval Operators included in</td><td>The included in (or during) operator for intervals returns true if the first interval is completely included in the second. More precisely, if the starting point of the first interval is greater than or equal to the starting point of the second interval, and the ending point of the first interval is less than or equal to the ending point of the second interval.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#included-in</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> interval-operators.intersect<a name="cql-language-capabilities-interval-operators.46intersect"> </a></td><td>Interval Operators intersect</td><td>The intersect operator for intervals returns the intersection of two intervals. More precisely, the operator returns the interval that defines the overlapping portion of both arguments. If the arguments do not overlap, this operator returns null.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#intersect</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> interval-operators.meets<a name="cql-language-capabilities-interval-operators.46meets"> </a></td><td>Interval Operators meets</td><td>The meets operator returns true if the first interval ends immediately before the second interval starts, or if the first interval starts immediately after the second interval ends. In other words, if the ending point of the first interval is equal to the predecessor of the starting point of the second, or if the starting point of the first interval is equal to the successor of the ending point of the second.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#meets</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> interval-operators.not-equal<a name="cql-language-capabilities-interval-operators.46not-equal"> </a></td><td>Interval Operators not equal</td><td>The not equal (!=) operator for intervals returns true if its arguments are not the same value.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#not-equal</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> interval-operators.not-equivalent<a name="cql-language-capabilities-interval-operators.46not-equivalent"> </a></td><td>Interval Operators not equivalent</td><td>The not equivalent (!~) operator for intervals returns true if its arguments are not equivalent.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#not-equivalent</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> interval-operators.on-or-after<a name="cql-language-capabilities-interval-operators.46on-or-after"> </a></td><td>Interval Operators on or after</td><td>The on or after operator for intervals is a synonym for the same or after operator and is supported to enable natural phrasing. See the description of the Same Or After (Intervals) operator.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#on-or-after</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> interval-operators.on-or-before<a name="cql-language-capabilities-interval-operators.46on-or-before"> </a></td><td>Interval Operators on or before</td><td>The on or before operator for Date-, DateTime-, or Time-based intervals is a synonym for the same or before operator and is supported to enable natural phrasing. See the description of the Same Or Before (Intervals) operator.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#on-or-before</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> interval-operators.overlaps<a name="cql-language-capabilities-interval-operators.46overlaps"> </a></td><td>Interval Operators overlaps</td><td>The overlaps operator returns true if the first interval overlaps the second. More precisely, if the starting or ending point of either interval is in the other, or if the ending point of the first interval is greater than or equal to the starting point of the second interval, and the starting point of the first interval is less than or equal to the ending point of the second interval.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#overlaps</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> interval-operators.point-from<a name="cql-language-capabilities-interval-operators.46point-from"> </a></td><td>Interval Operators point from</td><td>The point from operator extracts the single point from a unit interval. If the argument is not a unit interval, a run-time error is thrown.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#point-from</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> interval-operators.properly-includes<a name="cql-language-capabilities-interval-operators.46properly-includes"> </a></td><td>Interval Operators properly includes</td><td>The properly includes operator for intervals returns true if the first interval completely includes the second and the first interval is strictly larger than the second. More precisely, if the starting point of the first interval is less than or equal to the starting point of the second interval, and the ending point of the first interval is greater than or equal to the ending point of the second interval, and they are not the same interval.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#properly-includes</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> interval-operators.properly-included-in<a name="cql-language-capabilities-interval-operators.46properly-included-in"> </a></td><td>Interval Operators properly included in</td><td>The properly included in (or properly during) operator for intervals returns true if the first interval is completely included in the second and the first interval is strictly smaller than the second. More precisely, if the starting point of the first interval is greater than or equal to the starting point of the second interval, and the ending point of the first interval is less than or equal to the ending point of the second interval, and they are not the same interval.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#included-in</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> interval-operators.same-as<a name="cql-language-capabilities-interval-operators.46same-as"> </a></td><td>Interval Operators same as</td><td>The same-precision-as operator for intervals returns true if the two intervals start and end at the same value, using the semantics described in the Start and End operators to determine interval boundaries, and for Date, DateTime, or Time value, performing the comparisons at the specified precision, as described in the Same As operator for Date, DateTime, or Time values.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#same-as</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> interval-operators.same-or-after<a name="cql-language-capabilities-interval-operators.46same-or-after"> </a></td><td>Interval Operators same or after</td><td>The same-precision-or after operator for intervals returns true if the first interval starts on or after the second one ends, using the semantics described in the Start and End operators to determine interval boundaries, and for Date, DateTime, or Time values, performing the comparisons at the specified precision, as described in the Same or After (Date, DateTime, or Time) operator for Date, DateTime, or Time values.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#same-or-after</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> interval-operators.same-or-before<a name="cql-language-capabilities-interval-operators.46same-or-before"> </a></td><td>Interval Operators same or before</td><td>The same-precision-or before operator returns true if the first interval ends on or before the second one starts, using the semantics described in the Start and End operators to determine interval boundaries, and for Date, DateTime, or Time values, performing the comparisons at the specified precision, as described in the Same or Before (Date, DateTime, or Time) operator for Date, DateTime, or Time values.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#same-or-before</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> interval-operators.size<a name="cql-language-capabilities-interval-operators.46size"> </a></td><td>Interval Operators size</td><td>The Size operator returns the size of an interval. The result of this operator is equivalent to invoking: (end of argument – start of argument) + point-size, where point-size is determined by successor of minimum T - minimum T.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#size</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> interval-operators.start<a name="cql-language-capabilities-interval-operators.46start"> </a></td><td>Interval Operators start</td><td>The Start operator returns the starting point of an interval.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#start</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> interval-operators.starts<a name="cql-language-capabilities-interval-operators.46starts"> </a></td><td>Interval Operators starts</td><td>The starts operator returns true if the first interval starts the second. More precisely, if the starting point of the first is equal to the starting point of the second interval and the ending point of the first interval is less than or equal to the ending point of the second interval.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#starts</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> interval-operators.union<a name="cql-language-capabilities-interval-operators.46union"> </a></td><td>Interval Operators union</td><td>The union operator for intervals returns the union of the intervals. More precisely, the operator returns the interval that starts at the earliest starting point in either argument, and ends at the latest starting point in either argument. If the arguments do not overlap or meet, this operator returns null.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#union</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> interval-operators.width<a name="cql-language-capabilities-interval-operators.46width"> </a></td><td>Interval Operators width</td><td>The width operator returns the width of an interval. The result of this operator is equivalent to invoking: (end of argument – start of argument).</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#width</code></td></tr><tr><td>1</td><td style="white-space:nowrap">list-operators<a name="cql-language-capabilities-list-operators"> </a></td><td>List Operators</td><td>size, first/last, contains, union/intersect/except, map/filter/distinct, sort/reverse/zip, etc.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#list-operators</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> list-operators.contains<a name="cql-language-capabilities-list-operators.46contains"> </a></td><td>List Operators contains</td><td>The contains operator for lists returns true if the given element is in the list using equality semantics, with the exception that null elements are considered equal.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#contains</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> list-operators.distinct<a name="cql-language-capabilities-list-operators.46distinct"> </a></td><td>List Operators distinct</td><td>The distinct operator returns the given list with duplicates eliminated using equality semantics.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#distinct</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> list-operators.equal<a name="cql-language-capabilities-list-operators.46equal"> </a></td><td>List Operators equal</td><td>The equal (=) operator for lists returns true if and only if the lists have the same element type, and have the same elements by value, in the same order.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#equal</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> list-operators.equivalent<a name="cql-language-capabilities-list-operators.46equivalent"> </a></td><td>List Operators equivalent</td><td>The equivalent (~) operator for lists returns true if and only if the lists contain elements of the same type, have the same number of elements, and for each element in the lists, in order, the elements are equivalent.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#equivalent</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> list-operators.except<a name="cql-language-capabilities-list-operators.46except"> </a></td><td>List Operators except</td><td>The except operator returns the set difference of two lists. More precisely, the operator returns a list with the elements that appear in the first operand that do not appear in the second operand.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#except</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> list-operators.exists<a name="cql-language-capabilities-list-operators.46exists"> </a></td><td>List Operators exists</td><td>The exists operator returns true if the list contains any non-null elements.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#exists</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> list-operators.flatten<a name="cql-language-capabilities-list-operators.46flatten"> </a></td><td>List Operators flatten</td><td>The flatten operator flattens a list of lists into a single list.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#flatten</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> list-operators.first<a name="cql-language-capabilities-list-operators.46first"> </a></td><td>List Operators first</td><td>The First operator returns the first element in a list. The operator is equivalent to invoking the indexer with an index of 0.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#first</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> list-operators.in<a name="cql-language-capabilities-list-operators.46in"> </a></td><td>List Operators in</td><td>The in operator for lists returns true if the given element is in the given list using equality semantics, with the exception that null elements are considered equal.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#in</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> list-operators.includes<a name="cql-language-capabilities-list-operators.46includes"> </a></td><td>List Operators includes</td><td>The includes operator for lists returns true if the first list contains every element of the second list using equality semantics, with the exception that null elements are considered equal.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#includes</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> list-operators.included_in<a name="cql-language-capabilities-list-operators.46included_in"> </a></td><td>List Operators included in</td><td>The included in operator for lists returns true if every element of the first list is in the second list using equality semantics.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#included-in</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> list-operators.indexer<a name="cql-language-capabilities-list-operators.46indexer"> </a></td><td>List Operators indexer</td><td>The indexer ([]) operator returns the element at the indexth position in a list.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#indexer</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> list-operators.indexof<a name="cql-language-capabilities-list-operators.46indexof"> </a></td><td>List Operators IndexOf</td><td>The IndexOf operator returns the 0-based index of the given element in the given source list using equality semantics, with the exception that nulls are considered equal.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#indexof</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> list-operators.intersect<a name="cql-language-capabilities-list-operators.46intersect"> </a></td><td>List Operators intersect</td><td>The intersect operator for lists returns the intersection of two lists. More precisely, the operator returns a list containing only the elements that appear in both lists.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#intersect</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> list-operators.last<a name="cql-language-capabilities-list-operators.46last"> </a></td><td>List Operators last</td><td>The Last operator returns the last element in a list. In a list of length N, the operator is equivalent to invoking the indexer with an index of N - 1</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#last</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> list-operators.length<a name="cql-language-capabilities-list-operators.46length"> </a></td><td>List Operators length</td><td>The Length operator returns the number of elements in a list.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#length</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> list-operators.not_equal<a name="cql-language-capabilities-list-operators.46not_equal"> </a></td><td>List Operators not equal</td><td>The not equal (!=) operator for lists returns true if its arguments are not the same value.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#not_equal</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> list-operators.not_equivalent<a name="cql-language-capabilities-list-operators.46not_equivalent"> </a></td><td>List Operators not equivalent</td><td>The not equivalent (!~) operator for lists returns true if its arguments are not equivalent.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#not_equivalent</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> list-operators.properly_includes<a name="cql-language-capabilities-list-operators.46properly_includes"> </a></td><td>List Operators properly includes</td><td>The properly includes operator for lists returns true if the first list contains every element of the second list, and the first list is strictly larger than the second list.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#properly_includes</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> list-operators.properly_included_in<a name="cql-language-capabilities-list-operators.46properly_included_in"> </a></td><td>List Operators properly included in</td><td>The properly included in operator for lists returns true if every element of the first list is in the second list and the first list is strictly smaller than the second list.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#properly_included_in</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> list-operators.singleton_from<a name="cql-language-capabilities-list-operators.46singleton_from"> </a></td><td>List Operators singleton from</td><td>The singleton from operator extracts a single element from the source list. If the source list is empty, the result is null. If the source list contains one element, that element is returned. If the list contains more than one element, a run-time error is thrown.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#singleton_from</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> list-operators.skip<a name="cql-language-capabilities-list-operators.46skip"> </a></td><td>List Operators skip</td><td>The Skip operator returns the elements in the list, skipping the first number elements. If the list has less number elements, the result is empty.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#skip</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> list-operators.tail<a name="cql-language-capabilities-list-operators.46tail"> </a></td><td>List Operators tail</td><td>The Tail operator returns all but the first element from the given list. If the list is empty, the result is empty.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#tail</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> list-operators.take<a name="cql-language-capabilities-list-operators.46take"> </a></td><td>List Operators take</td><td>The Take operator returns the first number elements from the given list. If the list has less than number elements, the result only contains the elements in the list.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#take</code></td></tr><tr><td>2</td><td style="white-space:nowrap"> list-operators.union<a name="cql-language-capabilities-list-operators.46union"> </a></td><td>List Operators union</td><td>The union operator for lists returns a list with all unique elements from both arguments.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#union</code></td></tr><tr><td>1</td><td style="white-space:nowrap">aggregate-functions<a name="cql-language-capabilities-aggregate-functions"> </a></td><td>Aggregate Functions</td><td>count, sum, min, max, average, median, mode, etc.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#aggregate-functions</code></td></tr><tr><td>1</td><td style="white-space:nowrap">clinical-operators<a name="cql-language-capabilities-clinical-operators"> </a></td><td>Clinical Operators</td><td>Retrieve/terminology functions; temporal/duration in clinical context.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#clinical-operators</code></td></tr><tr><td>1</td><td style="white-space:nowrap">diagnostic-operators<a name="cql-language-capabilities-diagnostic-operators"> </a></td><td>Diagnostic Operators</td><td>Errors and messaging functions.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#errors-and-messaging</code></td></tr><tr><td>1</td><td style="white-space:nowrap">single-source-query<a name="cql-language-capabilities-single-source-query"> </a></td><td>Single source query</td><td>Query over one source.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/74-queryevaluation.html#evaluate-sources</code></td></tr><tr><td>1</td><td style="white-space:nowrap">relationships-query<a name="cql-language-capabilities-relationships-query"> </a></td><td>Relationships query</td><td>Query involving two or more sources.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/74-queryevaluation.html#evaluate-sources</code></td></tr><tr><td>1</td><td style="white-space:nowrap">let-clause-query<a name="cql-language-capabilities-let-clause-query"> </a></td><td>Let clause query</td><td>Introduce local bindings.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/74-queryevaluation.html#let-clause</code></td></tr><tr><td>1</td><td style="white-space:nowrap">where-clause-query<a name="cql-language-capabilities-where-clause-query"> </a></td><td>Where clause query</td><td>Filter using Boolean conditions.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/74-queryevaluation.html#where-clause</code></td></tr><tr><td>1</td><td style="white-space:nowrap">return-clause-query<a name="cql-language-capabilities-return-clause-query"> </a></td><td>Return clause query</td><td>Specify the shape/content of returned rows.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/74-queryevaluation.html#return-clause</code></td></tr><tr><td>1</td><td style="white-space:nowrap">aggregate-clause-query<a name="cql-language-capabilities-aggregate-clause-query"> </a></td><td>Aggregate clause query</td><td>Reduce rows to a summary value.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/74-queryevaluation.html#aggregate-clause</code></td></tr><tr><td>1</td><td style="white-space:nowrap">multi-source-query<a name="cql-language-capabilities-multi-source-query"> </a></td><td>Multi source query</td><td>Query using two or more sources.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/74-queryevaluation.html#evaluate-sources</code></td></tr><tr><td>1</td><td style="white-space:nowrap">unfiltered-context-retrieve<a name="cql-language-capabilities-unfiltered-context-retrieve"> </a></td><td>Unfiltered context retrieve</td><td>All data of a type in the current context.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/05-languagesemantics.html#language-capabilities</code></td></tr><tr><td>1</td><td style="white-space:nowrap">terminology-based-retrieve<a name="cql-language-capabilities-terminology-based-retrieve"> </a></td><td>Terminology-based retrieve</td><td>Retrieve filtered by ValueSet/CodeSystem/Code.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/05-languagesemantics.html#retrieve-paths</code></td></tr><tr><td>1</td><td style="white-space:nowrap">valueset-terminology-target-retrieve<a name="cql-language-capabilities-valueset-terminology-target-retrieve"> </a></td><td>Valueset terminology target retrieve</td><td>Retrieve filtered by a ValueSet reference.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/05-languagesemantics.html#retrieve-paths</code></td></tr><tr><td>1</td><td style="white-space:nowrap">codesystem-terminology-target-retrieve<a name="cql-language-capabilities-codesystem-terminology-target-retrieve"> </a></td><td>CodeSystem terminology target retrieve</td><td>Retrieve filtered by a CodeSystem.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/05-languagesemantics.html#retrieve-paths</code></td></tr><tr><td>1</td><td style="white-space:nowrap">code-terminology-target-retrieve<a name="cql-language-capabilities-code-terminology-target-retrieve"> </a></td><td>Code terminology target retrieve</td><td>Retrieve filtered by a single Code.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/05-languagesemantics.html#retrieve-paths</code></td></tr><tr><td>1</td><td style="white-space:nowrap">searchpath-retrieve<a name="cql-language-capabilities-searchpath-retrieve"> </a></td><td>Searchpath retrieve</td><td>Retrieve using a search path expression.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/05-languagesemantics.html#retrieve-paths</code></td></tr><tr><td>1</td><td style="white-space:nowrap">include-retrieve<a name="cql-language-capabilities-include-retrieve"> </a></td><td>Include retrieve</td><td>Retrieve that includes related records via references.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/05-languagesemantics.html#retrieve-paths</code></td></tr><tr><td>1</td><td style="white-space:nowrap">related-context-retrieve<a name="cql-language-capabilities-related-context-retrieve"> </a></td><td>Related-context retrieve</td><td>Retrieve scoped to a related context entity.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/05-languagesemantics.html#retrieve-paths</code></td></tr><tr><td>1</td><td style="white-space:nowrap">profile-based-retrieve<a name="cql-language-capabilities-profile-based-retrieve"> </a></td><td>Profile-based retrieve</td><td>Retrieve constrained to a profile.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/42-conformancelevels.html#strict-conformance</code></td></tr><tr><td>1</td><td style="white-space:nowrap">tuple<a name="cql-language-capabilities-tuple"> </a></td><td>Tuple</td><td>Structured type with named elements.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/63-expressionlanguagesemantics.html#structured-types</code></td></tr><tr><td>1</td><td style="white-space:nowrap">choice<a name="cql-language-capabilities-choice"> </a></td><td>Choice</td><td>Value that may be one of several specified types.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/63-expressionlanguagesemantics.html#choice-types</code></td></tr><tr><td>1</td><td style="white-space:nowrap">list<T><a name="cql-language-capabilities-list.60T.62"> </a></td><td>List<T></td><td>Ordered collection of elements of type T.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/63-expressionlanguagesemantics.html#collection-types</code></td></tr><tr><td>1</td><td style="white-space:nowrap">interval<T><a name="cql-language-capabilities-interval.60T.62"> </a></td><td>Interval<T></td><td>Range of values of type T.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#interval-operators-3</code></td></tr><tr><td>1</td><td style="white-space:nowrap">interval<integer><a name="cql-language-capabilities-interval.60integer.62"> </a></td><td>Interval<Integer></td><td>Range of integers.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#interval-operators-3</code></td></tr><tr><td>1</td><td style="white-space:nowrap">interval<decimal><a name="cql-language-capabilities-interval.60decimal.62"> </a></td><td>Interval<Decimal></td><td>Range of decimal numbers.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#interval-operators-3</code></td></tr><tr><td>1</td><td style="white-space:nowrap">interval<date><a name="cql-language-capabilities-interval.60date.62"> </a></td><td>Interval<Date></td><td>Range of dates (no time).</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#interval-operators-3</code></td></tr><tr><td>1</td><td style="white-space:nowrap">interval<time><a name="cql-language-capabilities-interval.60time.62"> </a></td><td>Interval<Time></td><td>Range of times of day (no date).</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#interval-operators-3</code></td></tr><tr><td>1</td><td style="white-space:nowrap">interval<datetime><a name="cql-language-capabilities-interval.60datetime.62"> </a></td><td>Interval<DateTime></td><td>Range of full date/times.</td><td>1.0</td><td/><td/><td><code>https://cql.hl7.org/09-b-cqlreference.html#interval-operators-3</code></td></tr></table></div>
</text>
<extension
url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg">
<valueCode value="cds"/>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
<valueCode value="trial-use"/>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm">
<valueInteger value="2"/>
</extension>
<url value="http://cql.hl7.org/CodeSystem/cql-language-capabilities"/>
<version value="2.0.0-ballot"/>
<name value="CQLLanguageCapabilityCodes"/>
<title value="CQL Language Capability Codes"/>
<status value="active"/>
<experimental value="false"/>
<date value="2025-10-24T16:45:25+00:00"/>
<publisher value="Clinical Decision Support WG"/>
<contact>
<telecom>
<system value="url"/>
<value value="http://www.hl7.org/Special/committees/dss/index.cfm"/>
</telecom>
</contact>
<description value="Codes for CQL language capabilities."/>
<caseSensitive value="true"/>
<valueSet value="http://cql.hl7.org/ValueSet/cql-language-capability"/>
<hierarchyMeaning value="is-a"/>
<content value="complete"/>
<property>
<code value="version"/>
<uri
value="http://cql.hl7.org/CodeSystem/cql-capability-characteristic-codes#version"/>
<description
value="The version in which the capability was introduced in the specification"/>
<type value="string"/>
</property>
<property>
<code value="versionTo"/>
<uri
value="http://cql.hl7.org/CodeSystem/cql-capability-characteristic-codes#versionTo"/>
<description
value="The last version in which the capability was included in the specification"/>
<type value="string"/>
</property>
<property>
<code value="value"/>
<uri
value="http://cql.hl7.org/CodeSystem/cql-capability-characteristic-codes#value"/>
<description
value="A qualifier value used to provide more detail about the capability"/>
<type value="string"/>
</property>
<property>
<code value="valueMeaning"/>
<uri
value="http://cql.hl7.org/CodeSystem/cql-capability-characteristic-codes#valueMeaning"/>
<description
value="A description of the meaning of qualifier values for the capability"/>
<type value="string"/>
</property>
<property>
<code value="reference"/>
<uri
value="http://cql.hl7.org/CodeSystem/cql-capability-characteristic-codes#reference"/>
<description
value="A reference to the specification documenting this capability"/>
<type value="string"/>
</property>
<concept>
<code value="decimal-precision-and-scale"/>
<display value="Decimal precision and scale"/>
<definition
value="How many total digits (precision) and how many digits to the right of the decimal point (scale) the implementation supports for Decimal values."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="value"/>
<valueString value="28,8"/>
</property>
<property>
<code value="valueMeaning"/>
<valueString
value="The supported precision and scale of decimal values"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#decimal"/>
</property>
</concept>
<concept>
<code value="datetime-precision-and-scale"/>
<display value="Datetime precision and scale"/>
<definition
value="The finest granularity (precision) and smallest increment (scale) supported for date/time values."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#datetime"/>
</property>
</concept>
<concept>
<code value="ucum-unit-conversion-support"/>
<display value="UCUM unit conversion support"/>
<definition
value="Whether and how the engine can automatically convert between units of measure using UCUM."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#convertquantity"/>
</property>
</concept>
<concept>
<code value="regex-dialect"/>
<display value="Regex dialect"/>
<definition
value="Which flavor of regular expressions the implementation supports."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#matches"/>
</property>
</concept>
<concept>
<code value="supported-data-models"/>
<display value="Supported data models"/>
<definition
value="Which external models the engine can evaluate against."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/05-languagesemantics.html#data-model"/>
</property>
</concept>
<concept>
<code value="expand-operator"/>
<display value="Expand operator"/>
<definition value="Expand on ValueSet/Interval."/>
<property>
<code value="version"/>
<valueString value="1.3"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/05-languagesemantics.html#collapse-and-expand-operators"/>
</property>
</concept>
<concept>
<code value="fhirpath-support"/>
<display value="FHIRPath Support"/>
<definition value="Ability to evaluate/translate FHIRPath within CQL."/>
<property>
<code value="version"/>
<valueString value="1.3"/>
</property>
<property>
<code value="reference"/>
<valueString value="https://cql.hl7.org/16-i-fhirpathtranslation.html"/>
</property>
</concept>
<concept>
<code value="precision-operators-for-decimal-and-date-time-types"/>
<display value="Precision operators for Decimal and Date/Time types"/>
<definition value="Operators that adjust/control precision."/>
<property>
<code value="version"/>
<valueString value="1.4"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#precision"/>
</property>
</concept>
<concept>
<code value="model-defined-contexts"/>
<display value="Model-defined contexts"/>
<definition value="Contexts defined by the data model."/>
<property>
<code value="version"/>
<valueString value="1.4"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/05-languagesemantics.html#context-support"/>
</property>
</concept>
<concept>
<code value="library-namespaces"/>
<display value="Library namespaces"/>
<definition value="Organize libraries into namespaces."/>
<property>
<code value="version"/>
<valueString value="1.4"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/07-physicalrepresentation.html#media-types-and-namespaces"/>
</property>
</concept>
<concept>
<code value="related-context-retrieves"/>
<display value="Related-context retrieves"/>
<definition value="Context-relative retrieve operations."/>
<property>
<code value="version"/>
<valueString value="1.4"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/05-languagesemantics.html#retrieve-paths"/>
</property>
</concept>
<concept>
<code value="unit-conversion-support"/>
<display value="Unit conversion support"/>
<definition value="Convert between compatible UCUM units."/>
<property>
<code value="version"/>
<valueString value="1.4"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/05-languagesemantics.html#conversions"/>
</property>
</concept>
<concept>
<code value="modular-arithmetic-for-quantities"/>
<display value="Modular arithmetic for quantities"/>
<definition value="Modulo/remainder with Quantity."/>
<property>
<code value="version"/>
<valueString value="1.5"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/05-languagesemantics.html#quantity-arithmetic"/>
</property>
</concept>
<concept>
<code value="expand-a-single-interval"/>
<display value="Expand a single interval"/>
<definition value="Expand applied to a single Interval."/>
<property>
<code value="version"/>
<valueString value="1.5"/>
</property>
<property>
<code value="reference"/>
<valueString value="https://cql.hl7.org/09-b-cqlreference.html#expand"/>
</property>
</concept>
<concept>
<code value="aggregate-clause"/>
<display value="Aggregate clause"/>
<definition value="Query clause for aggregation."/>
<property>
<code value="version"/>
<valueString value="1.5"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/05-languagesemantics.html#aggregate-clause"/>
</property>
</concept>
<concept>
<code value="include-retrieves"/>
<display value="Include retrieves"/>
<definition value="Retrieve that follows model references."/>
<property>
<code value="version"/>
<valueString value="1.5"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/05-languagesemantics.html#retrieve-paths"/>
</property>
</concept>
<concept>
<code value="searchpath-retrieves"/>
<display value="Searchpath retrieves"/>
<definition value="Retrieve using a search path expression."/>
<property>
<code value="version"/>
<valueString value="1.5"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/05-languagesemantics.html#retrieve-paths"/>
</property>
</concept>
<concept>
<code value="id-retrieves"/>
<display value="Id retrieves"/>
<definition value="Retrieve by unique identifier."/>
<property>
<code value="version"/>
<valueString value="1.5"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/05-languagesemantics.html#retrieve-paths"/>
</property>
</concept>
<concept>
<code value="system-data-types"/>
<display value="System Data Types"/>
<definition
value="Primitive, structured, and collection types defined by the System namespace."/>
<property>
<code value="reference"/>
<valueString value="https://cql.hl7.org/09-b-cqlreference.html#types"/>
</property>
<concept>
<code value="system.integer"/>
<display value="System.Integer"/>
<definition value="Whole numbers with no fractional component."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#integer"/>
</property>
</concept>
<concept>
<code value="system.long"/>
<display value="System.Long"/>
<definition value="64-bit signed integers."/>
<property>
<code value="version"/>
<valueString value="1.5"/>
</property>
<property>
<code value="reference"/>
<valueString value="https://cql.hl7.org/09-b-cqlreference.html#long"/>
</property>
</concept>
<concept>
<code value="system.decimal"/>
<display value="System.Decimal"/>
<definition value="Numbers with fractional precision and scale."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#decimal"/>
</property>
</concept>
<concept>
<code value="system.string"/>
<display value="System.String"/>
<definition value="Sequence of text characters."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#string"/>
</property>
</concept>
<concept>
<code value="system.boolean"/>
<display value="System.Boolean"/>
<definition value="Logical truth values."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#boolean"/>
</property>
</concept>
<concept>
<code value="system.date"/>
<display value="System.Date"/>
<definition value="Calendar date without time."/>
<property>
<code value="version"/>
<valueString value="1.3"/>
</property>
<property>
<code value="reference"/>
<valueString value="https://cql.hl7.org/09-b-cqlreference.html#date"/>
</property>
</concept>
<concept>
<code value="system.time"/>
<display value="System.Time"/>
<definition value="Time of day without date."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString value="https://cql.hl7.org/09-b-cqlreference.html#time"/>
</property>
</concept>
<concept>
<code value="system.datetime"/>
<display value="System.DateTime"/>
<definition value="Date and time point (optional offset)."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#datetime"/>
</property>
</concept>
<concept>
<code value="system.quantity"/>
<display value="System.Quantity"/>
<definition value="Numeric value with unit."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#quantity"/>
</property>
</concept>
<concept>
<code value="system.ratio"/>
<display value="System.Ratio"/>
<definition value="Fractional relationship between two Quantities."/>
<property>
<code value="version"/>
<valueString value="1.3"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#ratio"/>
</property>
</concept>
<concept>
<code value="system.interval"/>
<display value="System.Interval"/>
<definition value="Range over an ordered type."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#interval-operators-3"/>
</property>
</concept>
<concept>
<code value="system.list"/>
<display value="System.List"/>
<definition value="Ordered collection of elements of a type."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/63-expressionlanguagesemantics.html#collection-types"/>
</property>
</concept>
<concept>
<code value="system.tuple"/>
<display value="System.Tuple"/>
<definition value="Structured type with named elements."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/63-expressionlanguagesemantics.html#structured-types"/>
</property>
</concept>
<concept>
<code value="system.choice"/>
<display value="System.Choice"/>
<definition value="Value of one among several types."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/63-expressionlanguagesemantics.html#choice-types"/>
</property>
</concept>
<concept>
<code value="system.codesystem"/>
<display value="System.CodeSystem"/>
<definition value="Reference to an external code system."/>
<property>
<code value="version"/>
<valueString value="1.5"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#codesystem"/>
</property>
</concept>
<concept>
<code value="system.valueset"/>
<display value="System.ValueSet"/>
<definition value="Reference to a set of codes."/>
<property>
<code value="version"/>
<valueString value="1.5"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#valueset"/>
</property>
</concept>
<concept>
<code value="system.vocabulary"/>
<display value="System.Vocabulary"/>
<definition value="Base type for vocabulary-related types."/>
<property>
<code value="version"/>
<valueString value="1.5"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#vocabulary"/>
</property>
</concept>
</concept>
<concept>
<code value="logical-operators"/>
<display value="Logical Operators"/>
<definition value="and, or, not, implies under 3-valued logic."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#logical-operators"/>
</property>
<concept>
<code value="logical-operators.and"/>
<display value="Logical Operator and"/>
<definition
value="The and operator returns true if both its arguments are true. If either argument is false, the result is false. Otherwise, the result is null."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString value="https://cql.hl7.org/09-b-cqlreference.html#and"/>
</property>
</concept>
<concept>
<code value="logical-operators.or"/>
<display value="Logical Operator or"/>
<definition
value="The or operator returns true if either of its arguments are true. If both arguments are false, the result is false. Otherwise, the result is null."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString value="https://cql.hl7.org/09-b-cqlreference.html#or"/>
</property>
</concept>
<concept>
<code value="logical-operators.not"/>
<display value="Logical Operator not"/>
<definition
value="The not operator returns true if the argument is false and false if the argument is true. Otherwise, the result is null."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString value="https://cql.hl7.org/09-b-cqlreference.html#not"/>
</property>
</concept>
<concept>
<code value="logical-operators.xor"/>
<display value="Logical Operator xor"/>
<definition
value="The xor (exclusive or) operator returns true if one argument is true and the other is false. If both arguments are true or both arguments are false, the result is false. Otherwise, the result is null."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString value="https://cql.hl7.org/09-b-cqlreference.html#xor"/>
</property>
</concept>
<concept>
<code value="logical-operators.implies"/>
<display value="Logical Operator implies"/>
<definition
value="The implies operator returns the logical implication of its arguments. This means that if the left operand evaluates to true, this operator returns the boolean evaluation of the right operand. If the left operand evaluates to false, this operator returns true. Otherwise, this operator returns true if the right operand evaluates to true, and null otherwise"/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#implies"/>
</property>
</concept>
</concept>
<concept>
<code value="type-operators"/>
<display value="Type Operators"/>
<definition value="Type inspection and conversion operators."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#type-operators"/>
</property>
<concept>
<code value="type-operators.as"/>
<display value="Type Operator as"/>
<definition
value="The as operator allows the result of an expression to be cast as a given target type. This allows expressions to be written that are statically typed against the expected run-time type of the argument."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString value="https://cql.hl7.org/09-b-cqlreference.html#as"/>
</property>
</concept>
<concept>
<code value="type-operators.cast-as"/>
<display value="Type Operator as"/>
<definition
value="(See the as operator in addition) The cast prefix indicates that if the argument is not of the specified type at run-time then an exception is thrown."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString value="https://cql.hl7.org/09-b-cqlreference.html#as"/>
</property>
</concept>
<concept>
<code value="type-operators.is"/>
<display value="Type Operator is"/>
<definition
value="The is operator allows the type of a result to be tested. If the run-time type of the argument is the same as or derived from the type being tested, the result of the operator is true; otherwise, the result is false."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString value="https://cql.hl7.org/09-b-cqlreference.html#is"/>
</property>
</concept>
<concept>
<code value="type-operators.children"/>
<display value="Type Operator children"/>
<definition
value="For structured types, the Children operator returns a list of all the values of the elements of the type. List-valued elements are expanded and added to the result individually, rather than as a single list."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#children"/>
</property>
</concept>
<concept>
<code value="type-operators.descendants"/>
<display value="Type Operator descendants"/>
<definition
value="or structured types, the Descendants operator returns a list of all the values of the elements of the type, recursively. List-valued elements are expanded and added to the result individually, rather than as a single list."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#descendants"/>
</property>
</concept>
<concept>
<code value="type-operators.convert-quantity"/>
<display value="Type Operator convert-quantity"/>
<definition
value="The convert operator converts a value to a specific type. The result of the operator is the value of the argument converted to the target type, if possible. If there is no valid conversion from the actual value to the target type, the result is null."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#convert"/>
</property>
</concept>
<concept>
<code value="type-operators.to-boolean"/>
<display value="Type Operator to-boolean"/>
<definition
value="The ToBoolean operator converts the value of its argument to a Boolean value."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#toboolean"/>
</property>
</concept>
<concept>
<code value="type-operators.to-integer"/>
<display value="Type Operator to-integer"/>
<definition
value="The ToInteger operator converts the value of its argument to an Integer value."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#tointeger"/>
</property>
</concept>
<concept>
<code value="type-operators.to-long"/>
<display value="Type Operator to-long"/>
<definition
value="The ToLong operator converts the value of its argument to a Long value."/>
<property>
<code value="version"/>
<valueString value="1.5"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#tolong"/>
</property>
</concept>
<concept>
<code value="type-operators.to-decimal"/>
<display value="Type Operator to-decimal"/>
<definition
value="The ToDecimal operator converts the value of its argument to a Decimal value."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#todecimal"/>
</property>
</concept>
<concept>
<code value="type-operators.to-quantity"/>
<display value="Type Operator to-quantity"/>
<definition
value="The ToQuantity operator converts the value of its argument to a Quantity value. The operation does not perform any unit conversion, that capability is supported by the ConvertQuantity operator."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#toquantity"/>
</property>
</concept>
<concept>
<code value="type-operators.to-ratio"/>
<display value="Type Operator to-ratio"/>
<definition
value="The ToRatio operator converts the value of its argument to a Ratio value."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#toratio"/>
</property>
</concept>
<concept>
<code value="type-operators.to-date"/>
<display value="Type Operator to-date"/>
<definition
value="The ToDate operator converts the value of its argument to a Date value."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#todate"/>
</property>
</concept>
<concept>
<code value="type-operators.to-datetime"/>
<display value="Type Operator to-datetime"/>
<definition
value="The ToDateTime operator converts the value of its argument to a DateTime value."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#todatetime"/>
</property>
</concept>
<concept>
<code value="type-operators.to-time"/>
<display value="Type Operator to-time"/>
<definition
value="The ToTime operator converts the value of its argument to a Time value. The operator expects the string to be formatted using ISO-8601 time representation."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#totime"/>
</property>
</concept>
<concept>
<code value="type-operators.to-string"/>
<display value="Type Operator to-string"/>
<definition
value="The ToString operator converts the value of its argument to a String value."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#tostring"/>
</property>
</concept>
<concept>
<code value="type-operators.converts-to-boolean"/>
<display value="Type Operator converts-to-boolean"/>
<definition
value="The ConvertsToBoolean operator returns true if its argument is or can be converted to a Boolean value."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#convertstoboolean"/>
</property>
</concept>
<concept>
<code value="type-operators.converts-to-integer"/>
<display value="Type Operator converts-to-integer"/>
<definition
value="The ConvertsToInteger operator returns true if its argument is or can be converted to an Integer value. See the ToInteger operator for a description of the supported conversions."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#convertstointeger"/>
</property>
</concept>
<concept>
<code value="type-operators.converts-to-long"/>
<display value="Type Operator converts-to-long"/>
<definition
value="The ConvertsToLong operator returns true if its argument is or can be converted to a Long value."/>
<property>
<code value="version"/>
<valueString value="1.5"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#convertstolong"/>
</property>
</concept>
<concept>
<code value="type-operators.converts-to-decimal"/>
<display value="Type Operator converts-to-decimal"/>
<definition
value="The ToDecimal operator returns true if its argument is or can be converted to a Decimal value."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#convertstodecimal"/>
</property>
</concept>
<concept>
<code value="type-operators.converts-to-quantity"/>
<display value="Type Operator converts-to-quantity"/>
<definition
value="The ConvertsToQuantity operator returns true if its argument is or can be converted to a Quantity value. See the ToQuantity operator for a description of the supported conversions."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#convertstoquantity"/>
</property>
</concept>
<concept>
<code value="type-operators.converts-to-ratio"/>
<display value="Type Operator converts-to-ration"/>
<definition
value="The ConvertsToRatio operator returns true if its argument is or can be converted to a Ratio value"/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#convertstoratio"/>
</property>
</concept>
<concept>
<code value="type-operators.converts-to-date"/>
<display value="Type Operator converts-to-date"/>
<definition
value="The ConvertsToDate operator returns true if its argument is or can be converted to a Date value."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#convertstodate"/>
</property>
</concept>
<concept>
<code value="type-operators.converts-to-datetime"/>
<display value="Type Operator converts-to-datetime"/>
<definition
value="The ConvertsToDateTime operator returns true if its argument is or can be converted to a DateTime value."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#convertstodatetime"/>
</property>
</concept>
<concept>
<code value="type-operators.converts-to-time"/>
<display value="Type Operator converts-to-time"/>
<definition
value="The ConvertsToTime operator returns true if its argument is or can be converted to a Time value."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#convertstotime"/>
</property>
</concept>
<concept>
<code value="type-operators.converts-to-string"/>
<display value="Type Operator converts-to-string"/>
<definition
value="The ConvertsToString operator returns true if its argument is or can be converted to a String value."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#convertstostring"/>
</property>
</concept>
</concept>
<concept>
<code value="nullological-operators"/>
<display value="Nullological Operators"/>
<definition value="Operators dealing with null/missing information."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#nullological-operators"/>
</property>
<concept>
<code value="nullological-operators.coalesce"/>
<display value="Nullological Operators coalesce"/>
<definition
value="The Coalesce operator returns the first non-null result in a list of arguments. If all arguments evaluate to null, the result is null."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#coalesce"/>
</property>
</concept>
<concept>
<code value="nullological-operators.is-null"/>
<display value="Nullological Operators is-null"/>
<definition
value="The is null operator determines whether or not its argument evaluates to null. If the argument evaluates to null, the result is true; otherwise, the result is false."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#isnull"/>
</property>
</concept>
<concept>
<code value="nullological-operators.is-true"/>
<display value="Nullological Operators coalesce"/>
<definition
value="The is true operator determines whether or not its argument evaluates to true. If the argument evaluates to true, the result is true; otherwise, the result is false."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#istrue"/>
</property>
</concept>
<concept>
<code value="nullological-operators.is-false"/>
<display value="Nullological Operators is-false"/>
<definition
value="The is false operator determines whether or not its argument evaluates to false. If the argument evaluates to false, the result is true; otherwise, the result is false."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#isfalse"/>
</property>
</concept>
</concept>
<concept>
<code value="comparison-operators"/>
<display value="Comparison Operators"/>
<definition
value="Equal, not equal, <, <=, >, >=, in/not in, etc."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#comparison-operators"/>
</property>
<concept>
<code value="comparison-operators.equal"/>
<display value="Comparison Operators equal"/>
<definition
value="The equal (=) operator returns true if the arguments are equal; false if the arguments are known unequal, and null otherwise. Equality semantics are defined to be value-based."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#equal"/>
</property>
</concept>
<concept>
<code value="comparison-operators.equivalent"/>
<display value="Comparison Operators equivalent"/>
<definition
value="The equivalent (~) operator returns true if the arguments are equivalent in value, or if they are both null; and false otherwise."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#equivalent"/>
</property>
</concept>
<concept>
<code value="comparison-operators.greater"/>
<display value="Comparison Operators greater"/>
<definition
value="The greater (>) operator returns true if the first argument is greater than the second argument."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#greater"/>
</property>
</concept>
<concept>
<code value="comparison-operators.greater-or-equal"/>
<display value="Comparison Operators greater or equal"/>
<definition
value="The greater or equal (>=) operator returns true if the first argument is greater than or equal to the second argument."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#greater-or-equal"/>
</property>
</concept>
<concept>
<code value="comparison-operators.less"/>
<display value="Comparison Operators less"/>
<definition
value="The less (<) operator returns true if the first argument is less than the second argument."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString value="https://cql.hl7.org/09-b-cqlreference.html#less"/>
</property>
</concept>
<concept>
<code value="comparison-operators.less-or-equal"/>
<display value="Comparison Operators less-or-equal"/>
<definition
value="The less or equal (<=) operator returns true if the first argument is less than or equal to the second argument."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#less-or-equal"/>
</property>
</concept>
<concept>
<code value="comparison-operators.not-equal"/>
<display value="Comparison Operators not-equal"/>
<definition
value="The not equal (!=) operator returns true if its arguments are not the same value."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#not-equal"/>
</property>
</concept>
<concept>
<code value="comparison-operators.not-equivalent"/>
<display value="Comparison Operators not-equivalent"/>
<definition
value="The not equivalent (!~) operator returns true if its arguments are not equivalent."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#not-equivalent"/>
</property>
</concept>
<concept>
<code value="comparison-operators.between"/>
<display value="Comparison Operators between"/>
<definition
value="The between operator determines whether the first argument is within a given range, inclusive. If the first argument is greater than or equal to the low argument, and less than or equal to the high argument, the result is true, otherwise, the result is false."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#between"/>
</property>
</concept>
</concept>
<concept>
<code value="arithmetic-operators"/>
<display value="Arithmetic Operators"/>
<definition value="Add, subtract, multiply, divide, mod, round, etc."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#arithmetic-operators"/>
</property>
<concept>
<code value="arithmetic-operators.abs"/>
<display value="Arithmetic Operators abs"/>
<definition
value="The Abs operator returns the absolute value of its argument."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString value="https://cql.hl7.org/09-b-cqlreference.html#abs"/>
</property>
</concept>
<concept>
<code value="arithmetic-operators.add"/>
<display value="Arithmetic Operators add"/>
<definition
value="The add (+) operator performs numeric addition of its arguments."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString value="https://cql.hl7.org/09-b-cqlreference.html#add"/>
</property>
</concept>
<concept>
<code value="arithmetic-operators.ceiling"/>
<display value="Arithmetic Operators ceiling"/>
<definition
value="The Ceiling operator returns the first integer greater than or equal to the argument."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#ceiling"/>
</property>
</concept>
<concept>
<code value="arithmetic-operators.divide"/>
<display value="Arithmetic Operators divide"/>
<definition
value="The divide (/) operator performs numeric division of its arguments. Note that this operator is Decimal division; for Integer division, use the truncated divide (div) operator."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#string-operators"/>
</property>
</concept>
<concept>
<code value="arithmetic-operators.floor"/>
<display value="Arithmetic Operators floor"/>
<definition
value="The Floor operator returns the first integer less than or equal to the argument."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#floor"/>
</property>
</concept>
<concept>
<code value="arithmetic-operators.exp"/>
<display value="Arithmetic Operators exp"/>
<definition
value="The Exp operator raises e to the power of its argument."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString value="https://cql.hl7.org/09-b-cqlreference.html#exp"/>
</property>
</concept>
<concept>
<code value="arithmetic-operators.highboundary"/>
<display value="Arithmetic Operators highboundary"/>
<definition
value="The HighBoundary function returns the greatest possible value of the input to the specified precision."/>
<property>
<code value="version"/>
<valueString value="1.5"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#highboundary"/>
</property>
</concept>
<concept>
<code value="arithmetic-operators.log"/>
<display value="Arithmetic Operators log"/>
<definition
value="The Log operator computes the logarithm of its first argument, using the second argument as the base."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString value="https://cql.hl7.org/09-b-cqlreference.html#log"/>
</property>
</concept>
<concept>
<code value="arithmetic-operators.lowboundary"/>
<display value="Arithmetic Operators lowboundary"/>
<definition
value="The LowBoundary function returns the least possible value of the input to the specified precision."/>
<property>
<code value="version"/>
<valueString value="1.5"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#lowboundary"/>
</property>
</concept>
<concept>
<code value="arithmetic-operators.ln"/>
<display value="Arithmetic Operators ln"/>
<definition
value="The Ln operator computes the natural logarithm of its argument."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString value="https://cql.hl7.org/09-b-cqlreference.html#ln"/>
</property>
</concept>
<concept>
<code value="arithmetic-operators.maximum"/>
<display value="Arithmetic Operators maximum"/>
<definition
value="The maximum operator returns the maximum representable value for the given type, defined for the Integer, Long, Decimal, Quantity, Date, DateTime, and Time types."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#maximum"/>
</property>
</concept>
<concept>
<code value="arithmetic-operators.minimum"/>
<display value="Arithmetic Operators minimum"/>
<definition
value="The minimum operator returns the minimum representable value for the given type, defined for the Integer, Long, Decimal, Quantity, Date, DateTime, and Time types."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#minimum"/>
</property>
</concept>
<concept>
<code value="arithmetic-operators.mod"/>
<display value="Arithmetic Operators mod"/>
<definition
value="The mod operator computes the remainder of the division of its arguments."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString value="https://cql.hl7.org/09-b-cqlreference.html#mod"/>
</property>
</concept>
<concept>
<code value="arithmetic-operators.multiply"/>
<display value="Arithmetic Operators multiply"/>
<definition
value="The multiply (*) operator performs numeric multiplication of its arguments."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#multiply"/>
</property>
</concept>
<concept>
<code value="arithmetic-operators.negate"/>
<display value="Arithmetic Operators negate"/>
<definition
value="The negate (-) operator returns the negative of its argument."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#negate"/>
</property>
</concept>
<concept>
<code value="arithmetic-operators.precision"/>
<display value="Arithmetic Operators precision"/>
<definition
value="The Precision function returns the number of digits of precision in the input value."/>
<property>
<code value="version"/>
<valueString value="1.5"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#precision"/>
</property>
</concept>
<concept>
<code value="arithmetic-operators.predecessor"/>
<display value="Arithmetic Operators predecessor"/>
<definition
value="The predecessor operator returns the predecessor of the argument. For example, the predecessor of 2 is 1. If the argument is already the minimum value for the type, a null is returned."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#predecessor"/>
</property>
</concept>
<concept>
<code value="arithmetic-operators.power"/>
<display value="Arithmetic Operators power"/>
<definition
value="The power (^) operator raises the first argument to the power given by the second argument."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#power"/>
</property>
</concept>
<concept>
<code value="arithmetic-operators.round"/>
<display value="Arithmetic Operators round"/>
<definition
value="The Round operator returns the nearest whole number to its argument. The semantics of round are defined as a traditional round (i.e. to the nearest whole number), meaning that a decimal value greater than or equal to 0.5 and less than 1.0 will round to 1, and a decimal value less than or equal to -0.5 and greater than -1.0 will round to -1."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#round"/>
</property>
</concept>
<concept>
<code value="arithmetic-operators.subtract"/>
<display value="Arithmetic Operators subtract"/>
<definition
value="The subtract (-) operator performs numeric subtraction of its arguments."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#subtract"/>
</property>
</concept>
<concept>
<code value="arithmetic-operators.successor"/>
<display value="Arithmetic Operators successor"/>
<definition
value="The successor operator returns the successor of the argument. For example, the successor of 1 is 2. If the argument is already the maximum value for the type, a null is returned."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#successor"/>
</property>
</concept>
<concept>
<code value="arithmetic-operators.truncate"/>
<display value="Arithmetic Operators truncate"/>
<definition
value="The Truncate operator returns the integer component of its argument."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#truncate"/>
</property>
</concept>
<concept>
<code value="arithmetic-operators.div"/>
<display value="Arithmetic Operators div"/>
<definition
value="The div operator performs truncated division of its arguments."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString value="https://cql.hl7.org/09-b-cqlreference.html#div"/>
</property>
</concept>
</concept>
<concept>
<code value="string-operators"/>
<display value="String Operators"/>
<definition
value="Length, substring, startsWith, endsWith, matches, replaceMatches, etc."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#string-operators"/>
</property>
<concept>
<code value="string-operators.combine"/>
<display value="String Operators combine"/>
<definition
value="The Combine operator combines a list of strings, optionally separating each string with the given separator."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#combine"/>
</property>
</concept>
<concept>
<code value="string-operators.concatenate"/>
<display value="String Operators concatenate"/>
<definition
value="The concatenate (+ or &) operator performs string concatenation of its arguments."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#concatenate"/>
</property>
</concept>
<concept>
<code value="string-operators.endwith"/>
<display value="String Operators endwith"/>
<definition
value="The EndsWith operator returns true if the given string ends with the given suffix."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#endwith"/>
</property>
</concept>
<concept>
<code value="string-operators.indexer"/>
<display value="String Operators indexer"/>
<definition
value="The indexer ([]) operator returns the character at the indexth position in a string."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#indexer"/>
</property>
</concept>
<concept>
<code value="string-operators.lastpositionof"/>
<display value="String Operators lastpositionof"/>
<definition
value="The LastPositionOf operator returns the 0-based index of the last appearance of the given pattern in the given string."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#lastpositionof"/>
</property>
</concept>
<concept>
<code value="string-operators.length"/>
<display value="String Operators length"/>
<definition
value="The Length operator returns the number of characters in a string."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#length"/>
</property>
</concept>
<concept>
<code value="string-operators.lower"/>
<display value="String Operators lower"/>
<definition
value="The Lower operator returns the given string with all characters converted to their lower case equivalents."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#lower"/>
</property>
</concept>
<concept>
<code value="string-operators.matches"/>
<display value="String Operators matches"/>
<definition
value="The Matches operator returns true if the given string matches the given regular expression pattern. Regular expressions should function consistently, regardless of any culture- and locale-specific settings in the environment, should be case-sensitive, use partial matching, use single line mode, and allow Unicode characters. The start/end of line markers ^ and $ can be used to match the entire string."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#matches"/>
</property>
</concept>
<concept>
<code value="string-operators.positionof"/>
<display value="String Operators positionof"/>
<definition
value="The PositionOf operator returns the 0-based index of the given pattern in the given string."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#positionof"/>
</property>
</concept>
<concept>
<code value="string-operators.replacematches"/>
<display value="String Operators replacematches"/>
<definition
value="The ReplaceMatches operator matches the given string using the given regular expression pattern, replacing each match with the given substitution. The substitution string may refer to identified match groups in the regular expression. Regular expressions should function consistently, regardless of any culture- and locale-specific settings in the environment, should be case-sensitive, use partial matching, use single line mode, and allow Unicode characters. The start and end of line markers ^, $ can be used to match the entire string."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#replacematches"/>
</property>
</concept>
<concept>
<code value="string-operators.split"/>
<display value="String Operators split"/>
<definition
value="The Split operator splits a string into a list of strings using a separator."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#split"/>
</property>
</concept>
<concept>
<code value="string-operators.splitonmatches"/>
<display value="String Operators splitonmatches"/>
<definition
value="The SplitOnMatches operator splits a string into a list of strings using a separator that is defined by a regular expression pattern."/>
<property>
<code value="version"/>
<valueString value="1.3"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#splitonmatches"/>
</property>
</concept>
<concept>
<code value="string-operators.startswith"/>
<display value="String Operators startswith"/>
<definition
value="The StartsWith operator returns true if the given string starts with the given prefix."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#startswith"/>
</property>
</concept>
<concept>
<code value="string-operators.substring"/>
<display value="String Operators substring"/>
<definition
value="The Substring operator returns the string within stringToSub, starting at the 0-based index startIndex, and consisting of length characters."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#substring"/>
</property>
</concept>
<concept>
<code value="string-operators.upper"/>
<display value="String Operators upper"/>
<definition
value="The Upper operator returns the given string with all characters converted to their upper case equivalents."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#upper"/>
</property>
</concept>
</concept>
<concept>
<code value="date-and-time-operators"/>
<display value="Date and Time Operators"/>
<definition
value="Date/time arithmetic, components, now/today, comparisons, etc."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#date-and-time-operators"/>
</property>
<concept>
<code value="date-and-time-operators.add"/>
<display value="Date and Time Operators add"/>
<definition
value="The add (+) operator returns the value of the first argument, incremented by the time-valued quantity, respecting variable length periods for calendar years and months."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString value="https://cql.hl7.org/09-b-cqlreference.html#add"/>
</property>
</concept>
<concept>
<code value="date-and-time-operators.after"/>
<display value="Date and Time Operators after"/>
<definition
value="The after-precision-of operator compares two Date, DateTime, or Time values to the specified precision to determine whether the first argument is the after the second argument. The comparison is performed by considering each precision in order, beginning with years (or hours for time values). If the values are the same, comparison proceeds to the next precision; if the first value is greater than the second, the result is true; if the first value is less than the second, the result is false; if either input has no value for the precision, the comparison stops and the result is null; if the specified precision has been reached, the comparison stops and the result is false."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#after"/>
</property>
</concept>
<concept>
<code value="date-and-time-operators.before"/>
<display value="Date and Time Operators before"/>
<definition
value="The before-precision-of operator compares two Date, DateTime, or Time values to the specified precision to determine whether the first argument is the before the second argument. The comparison is performed by considering each precision in order, beginning with years (or hours for time values). If the values are the same, comparison proceeds to the next precision; if the first value is less than the second, the result is true; if the first value is greater than the second, the result is false; if either input has no value for the precision, the comparison stops and the result is null; if the specified precision has been reached, the comparison stops and the result is false."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#before"/>
</property>
</concept>
<concept>
<code value="date-and-time-operators.date"/>
<display value="Date and Time Operators date"/>
<definition
value="The Date operator constructs a date value from the given components."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString value="https://cql.hl7.org/09-b-cqlreference.html#date"/>
</property>
</concept>
<concept>
<code value="date-and-time-operators.datetime"/>
<display value="Date and Time Operators datetime"/>
<definition
value="The DateTime operator constructs a DateTime value from the given components."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#datetime"/>
</property>
</concept>
<concept>
<code value="date-and-time-operators.from"/>
<display value="Date and Time Operators from"/>
<definition
value="The component-from operator returns the specified component of the argument."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString value="https://cql.hl7.org/09-b-cqlreference.html#from"/>
</property>
</concept>
<concept>
<code value="date-and-time-operators.difference"/>
<display value="Date and Time Operators difference"/>
<definition
value="The difference-between operator returns the number of boundaries crossed for the specified precision between the first and second arguments. If the first argument is after the second argument, the result is negative. The result of this operation is always an integer; any fractional boundaries are dropped."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#difference"/>
</property>
</concept>
<concept>
<code value="date-and-time-operators.duration"/>
<display value="Date and Time Operators duration"/>
<definition
value="The duration-between operator returns the number of whole calendar periods for the specified precision between the first and second arguments. If the first argument is after the second argument, the result is negative. The result of this operation is always an integer; any fractional periods are dropped."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#duration"/>
</property>
</concept>
<concept>
<code value="date-and-time-operators.now"/>
<display value="Date and Time Operators now"/>
<definition
value="The Now operator returns the date and time of the start timestamp associated with the evaluation request."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString value="https://cql.hl7.org/09-b-cqlreference.html#now"/>
</property>
</concept>
<concept>
<code value="date-and-time-operators.on-or-after"/>
<display value="Date and Time Operators on or after"/>
<definition
value="The on or after operator for Date, DateTime, and Time values is a synonym for the same or after operator and is supported to enable natural phrasing. See the description of the Same Or After (Date, DateTime, or Time) operator."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#on-or-after"/>
</property>
</concept>
<concept>
<code value="date-and-time-operators.on-or-before"/>
<display value="Date and Time Operators on or before"/>
<definition
value="The on or before operator for Date, DateTime, and Time values is a synonym for the same or before operator and is supported to enable natural phrasing. See the description of the Same Or Before (Date, DateTime, or Time) operator."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#on-or-before"/>
</property>
</concept>
<concept>
<code value="date-and-time-operators.same-as"/>
<display value="Date and Time Operators same as"/>
<definition
value="The same-precision-as operator compares two Date, DateTime, or Time values to the specified precision for equality. The comparison is performed by considering each precision in order, beginning with years (or hours for time values). If the values are the same, comparison proceeds to the next precision; if the values are different, the comparison stops and the result is false; if either input has no value for the precision, the comparison stops and the result is null; if the specified precision has been reached, the comparison stops and the result is true."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#same-as"/>
</property>
</concept>
<concept>
<code value="date-and-time-operators.same-or-after"/>
<display value="Date and Time Operators same or after"/>
<definition
value="The same-precision-or after operator compares two Date, DateTime, or Time values to the specified precision to determine whether the first argument is the same or after the second argument. The comparison is performed by considering each precision in order, beginning with years (or hours for time values). If the values are the same, comparison proceeds to the next precision; if the first value is greater than the second, the result is true; if the first value is less than the second, the result is false; if either input has no value for the precision, the comparison stops and the result is null; if the specified precision has been reached, the comparison stops and the result is true."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#same-or-after"/>
</property>
</concept>
<concept>
<code value="date-and-time-operators.same-or-before"/>
<display value="Date and Time Operators same or before"/>
<definition
value="The same-precision-or before operator compares two Date, DateTime, or Time values to the specified precision to determine whether the first argument is the same or before the second argument. The comparison is performed by considering each precision in order, beginning with years (or hours for time values). If the values are the same, comparison proceeds to the next precision; if the first value is less than the second, the result is true; if the first value is greater than the second, the result is false; if either input has no value for the precision, the comparison stops and the result is null; if the specified precision has been reached, the comparison stops and the result is true."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#same-or-before"/>
</property>
</concept>
<concept>
<code value="date-and-time-operators.subtract"/>
<display value="Date and Time Operators subtract"/>
<definition
value="The subtract (-) operator returns the value of the given Date, DateTime, or Time, decremented by the time-valued quantity, respecting variable length periods for calendar years and months."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#subtract"/>
</property>
</concept>
<concept>
<code value="date-and-time-operators.time"/>
<display value="Date and Time Operators time"/>
<definition
value="The Time operator constructs a time value from the given components."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString value="https://cql.hl7.org/09-b-cqlreference.html#time"/>
</property>
</concept>
<concept>
<code value="date-and-time-operators.timeofday"/>
<display value="Date and Time Operators timeofday"/>
<definition
value="The TimeOfDay operator returns the time of day of the start timestamp associated with the evaluation request. See the Now operator for more information on the rationale for defining the TimeOfDay operator in this way."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#timeofday"/>
</property>
</concept>
<concept>
<code value="date-and-time-operators.today"/>
<display value="Date and Time Operators today"/>
<definition
value="The Today operator returns the date of the start timestamp associated with the evaluation request. See the Now operator for more information on the rationale for defining the Today operator in this way."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#today"/>
</property>
</concept>
</concept>
<concept>
<code value="interval-operators"/>
<display value="Interval Operators"/>
<definition value="contains, in, union, intersect, width, expand, etc."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#interval-operators-3"/>
</property>
<concept>
<code value="interval-operators.after"/>
<display value="Interval Operators after"/>
<definition
value="The after operator for intervals returns true if the first interval starts after the second one ends. In other words, if the starting point of the first interval is greater than the ending point of the second interval."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#after"/>
</property>
</concept>
<concept>
<code value="interval-operators.before"/>
<display value="Interval Operators before"/>
<definition
value="The before operator for intervals returns true if the first interval ends before the second one starts. In other words, if the ending point of the first interval is less than the starting point of the second interval."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#before"/>
</property>
</concept>
<concept>
<code value="interval-operators.collapse"/>
<display value="Interval Operators collapse"/>
<definition
value="The collapse operator returns the unique set of intervals that completely covers the ranges present in the given list of intervals. In other words, adjacent intervals within a sorted list are merged if they either overlap or meet."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#collapse"/>
</property>
</concept>
<concept>
<code value="interval-operators.contains"/>
<display value="Interval Operators contains"/>
<definition
value="The contains operator for intervals returns true if the given point is equal to the starting or ending point of the interval, or greater than the starting point and less than the ending point. For open interval boundaries, exclusive comparison operators are used. For closed interval boundaries, if the interval boundary is null, the result of the boundary comparison is considered true."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#contains"/>
</property>
</concept>
<concept>
<code value="interval-operators.end"/>
<display value="Interval Operators end"/>
<definition
value="The End operator returns the ending point of an interval."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString value="https://cql.hl7.org/09-b-cqlreference.html#end"/>
</property>
</concept>
<concept>
<code value="interval-operators.ends"/>
<display value="Interval Operators ends"/>
<definition
value="The ends operator returns true if the first interval ends the second. More precisely, if the starting point of the first interval is greater than or equal to the starting point of the second, and the ending point of the first interval is equal to the ending point of the second."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString value="https://cql.hl7.org/09-b-cqlreference.html#ends"/>
</property>
</concept>
<concept>
<code value="interval-operators.equal"/>
<display value="Interval Operators equal"/>
<definition
value="The equal (=) operator for intervals returns true if and only if the intervals are over the same point type, and they have the same value for the starting and ending points of the intervals as determined by the Start and End operators"/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString value="https://cql.hl7.org/09-b-cqlreference.html#"/>
</property>
</concept>
<concept>
<code value="interval-operators.equivalent"/>
<display value="Interval Operators equivalent"/>
<definition
value="The equivalent (~) operator for intervals returns true if and only if the intervals are over the same point type, and the starting and ending points of the intervals as determined by the Start and End operators are equivalent."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#equivalent"/>
</property>
</concept>
<concept>
<code value="interval-operators.except"/>
<display value="Interval Operators except"/>
<definition
value="The except operator for intervals returns the set difference of two intervals. More precisely, this operator returns the portion of the first interval that does not overlap with the second. Note that to avoid returning an improper interval, if the second argument is properly contained within the first and does not start or end it, this operator returns null."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#except"/>
</property>
</concept>
<concept>
<code value="interval-operators.expand"/>
<display value="Interval Operators expand"/>
<definition
value="The expand operator returns the set of intervals of size per for all the intervals in the input, or the list of points covering the range of the given interval, if invoked on a single interval."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#expand"/>
</property>
</concept>
<concept>
<code value="interval-operators.in"/>
<display value="Interval Operators in"/>
<definition
value="The in operator (can also be invoked using during) for intervals returns true if the given point is equal to the starting or ending point of the interval, or greater than the starting point and less than the ending point. For open interval boundaries, exclusive comparison operators are used. For closed interval boundaries, if the interval boundary is null, the result of the boundary comparison is considered true."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString value="https://cql.hl7.org/09-b-cqlreference.html#in"/>
</property>
</concept>
<concept>
<code value="interval-operators.includes"/>
<display value="Interval Operators includes"/>
<definition
value="The includes operator for intervals returns true if the first interval completely includes the second. More precisely, if the starting point of the first interval is less than or equal to the starting point of the second interval, and the ending point of the first interval is greater than or equal to the ending point of the second interval."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#includes"/>
</property>
</concept>
<concept>
<code value="interval-operators.included-in"/>
<display value="Interval Operators included in"/>
<definition
value="The included in (or during) operator for intervals returns true if the first interval is completely included in the second. More precisely, if the starting point of the first interval is greater than or equal to the starting point of the second interval, and the ending point of the first interval is less than or equal to the ending point of the second interval."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#included-in"/>
</property>
</concept>
<concept>
<code value="interval-operators.intersect"/>
<display value="Interval Operators intersect"/>
<definition
value="The intersect operator for intervals returns the intersection of two intervals. More precisely, the operator returns the interval that defines the overlapping portion of both arguments. If the arguments do not overlap, this operator returns null."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#intersect"/>
</property>
</concept>
<concept>
<code value="interval-operators.meets"/>
<display value="Interval Operators meets"/>
<definition
value="The meets operator returns true if the first interval ends immediately before the second interval starts, or if the first interval starts immediately after the second interval ends. In other words, if the ending point of the first interval is equal to the predecessor of the starting point of the second, or if the starting point of the first interval is equal to the successor of the ending point of the second."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#meets"/>
</property>
</concept>
<concept>
<code value="interval-operators.not-equal"/>
<display value="Interval Operators not equal"/>
<definition
value="The not equal (!=) operator for intervals returns true if its arguments are not the same value."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#not-equal"/>
</property>
</concept>
<concept>
<code value="interval-operators.not-equivalent"/>
<display value="Interval Operators not equivalent"/>
<definition
value="The not equivalent (!~) operator for intervals returns true if its arguments are not equivalent."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#not-equivalent"/>
</property>
</concept>
<concept>
<code value="interval-operators.on-or-after"/>
<display value="Interval Operators on or after"/>
<definition
value="The on or after operator for intervals is a synonym for the same or after operator and is supported to enable natural phrasing. See the description of the Same Or After (Intervals) operator."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#on-or-after"/>
</property>
</concept>
<concept>
<code value="interval-operators.on-or-before"/>
<display value="Interval Operators on or before"/>
<definition
value="The on or before operator for Date-, DateTime-, or Time-based intervals is a synonym for the same or before operator and is supported to enable natural phrasing. See the description of the Same Or Before (Intervals) operator."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#on-or-before"/>
</property>
</concept>
<concept>
<code value="interval-operators.overlaps"/>
<display value="Interval Operators overlaps"/>
<definition
value="The overlaps operator returns true if the first interval overlaps the second. More precisely, if the starting or ending point of either interval is in the other, or if the ending point of the first interval is greater than or equal to the starting point of the second interval, and the starting point of the first interval is less than or equal to the ending point of the second interval."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#overlaps"/>
</property>
</concept>
<concept>
<code value="interval-operators.point-from"/>
<display value="Interval Operators point from"/>
<definition
value="The point from operator extracts the single point from a unit interval. If the argument is not a unit interval, a run-time error is thrown."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#point-from"/>
</property>
</concept>
<concept>
<code value="interval-operators.properly-includes"/>
<display value="Interval Operators properly includes"/>
<definition
value="The properly includes operator for intervals returns true if the first interval completely includes the second and the first interval is strictly larger than the second. More precisely, if the starting point of the first interval is less than or equal to the starting point of the second interval, and the ending point of the first interval is greater than or equal to the ending point of the second interval, and they are not the same interval."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#properly-includes"/>
</property>
</concept>
<concept>
<code value="interval-operators.properly-included-in"/>
<display value="Interval Operators properly included in"/>
<definition
value="The properly included in (or properly during) operator for intervals returns true if the first interval is completely included in the second and the first interval is strictly smaller than the second. More precisely, if the starting point of the first interval is greater than or equal to the starting point of the second interval, and the ending point of the first interval is less than or equal to the ending point of the second interval, and they are not the same interval."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#included-in"/>
</property>
</concept>
<concept>
<code value="interval-operators.same-as"/>
<display value="Interval Operators same as"/>
<definition
value="The same-precision-as operator for intervals returns true if the two intervals start and end at the same value, using the semantics described in the Start and End operators to determine interval boundaries, and for Date, DateTime, or Time value, performing the comparisons at the specified precision, as described in the Same As operator for Date, DateTime, or Time values."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#same-as"/>
</property>
</concept>
<concept>
<code value="interval-operators.same-or-after"/>
<display value="Interval Operators same or after"/>
<definition
value="The same-precision-or after operator for intervals returns true if the first interval starts on or after the second one ends, using the semantics described in the Start and End operators to determine interval boundaries, and for Date, DateTime, or Time values, performing the comparisons at the specified precision, as described in the Same or After (Date, DateTime, or Time) operator for Date, DateTime, or Time values."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#same-or-after"/>
</property>
</concept>
<concept>
<code value="interval-operators.same-or-before"/>
<display value="Interval Operators same or before"/>
<definition
value="The same-precision-or before operator returns true if the first interval ends on or before the second one starts, using the semantics described in the Start and End operators to determine interval boundaries, and for Date, DateTime, or Time values, performing the comparisons at the specified precision, as described in the Same or Before (Date, DateTime, or Time) operator for Date, DateTime, or Time values."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#same-or-before"/>
</property>
</concept>
<concept>
<code value="interval-operators.size"/>
<display value="Interval Operators size"/>
<definition
value="The Size operator returns the size of an interval. The result of this operator is equivalent to invoking: (end of argument – start of argument) + point-size, where point-size is determined by successor of minimum T - minimum T."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString value="https://cql.hl7.org/09-b-cqlreference.html#size"/>
</property>
</concept>
<concept>
<code value="interval-operators.start"/>
<display value="Interval Operators start"/>
<definition
value="The Start operator returns the starting point of an interval."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#start"/>
</property>
</concept>
<concept>
<code value="interval-operators.starts"/>
<display value="Interval Operators starts"/>
<definition
value="The starts operator returns true if the first interval starts the second. More precisely, if the starting point of the first is equal to the starting point of the second interval and the ending point of the first interval is less than or equal to the ending point of the second interval."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#starts"/>
</property>
</concept>
<concept>
<code value="interval-operators.union"/>
<display value="Interval Operators union"/>
<definition
value="The union operator for intervals returns the union of the intervals. More precisely, the operator returns the interval that starts at the earliest starting point in either argument, and ends at the latest starting point in either argument. If the arguments do not overlap or meet, this operator returns null."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#union"/>
</property>
</concept>
<concept>
<code value="interval-operators.width"/>
<display value="Interval Operators width"/>
<definition
value="The width operator returns the width of an interval. The result of this operator is equivalent to invoking: (end of argument – start of argument)."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#width"/>
</property>
</concept>
</concept>
<concept>
<code value="list-operators"/>
<display value="List Operators"/>
<definition
value="size, first/last, contains, union/intersect/except, map/filter/distinct, sort/reverse/zip, etc."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#list-operators"/>
</property>
<concept>
<code value="list-operators.contains"/>
<display value="List Operators contains"/>
<definition
value="The contains operator for lists returns true if the given element is in the list using equality semantics, with the exception that null elements are considered equal."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#contains"/>
</property>
</concept>
<concept>
<code value="list-operators.distinct"/>
<display value="List Operators distinct"/>
<definition
value="The distinct operator returns the given list with duplicates eliminated using equality semantics."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#distinct"/>
</property>
</concept>
<concept>
<code value="list-operators.equal"/>
<display value="List Operators equal"/>
<definition
value="The equal (=) operator for lists returns true if and only if the lists have the same element type, and have the same elements by value, in the same order."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#equal"/>
</property>
</concept>
<concept>
<code value="list-operators.equivalent"/>
<display value="List Operators equivalent"/>
<definition
value="The equivalent (~) operator for lists returns true if and only if the lists contain elements of the same type, have the same number of elements, and for each element in the lists, in order, the elements are equivalent."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#equivalent"/>
</property>
</concept>
<concept>
<code value="list-operators.except"/>
<display value="List Operators except"/>
<definition
value="The except operator returns the set difference of two lists. More precisely, the operator returns a list with the elements that appear in the first operand that do not appear in the second operand."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#except"/>
</property>
</concept>
<concept>
<code value="list-operators.exists"/>
<display value="List Operators exists"/>
<definition
value="The exists operator returns true if the list contains any non-null elements."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#exists"/>
</property>
</concept>
<concept>
<code value="list-operators.flatten"/>
<display value="List Operators flatten"/>
<definition
value="The flatten operator flattens a list of lists into a single list."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#flatten"/>
</property>
</concept>
<concept>
<code value="list-operators.first"/>
<display value="List Operators first"/>
<definition
value="The First operator returns the first element in a list. The operator is equivalent to invoking the indexer with an index of 0."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#first"/>
</property>
</concept>
<concept>
<code value="list-operators.in"/>
<display value="List Operators in"/>
<definition
value="The in operator for lists returns true if the given element is in the given list using equality semantics, with the exception that null elements are considered equal."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString value="https://cql.hl7.org/09-b-cqlreference.html#in"/>
</property>
</concept>
<concept>
<code value="list-operators.includes"/>
<display value="List Operators includes"/>
<definition
value="The includes operator for lists returns true if the first list contains every element of the second list using equality semantics, with the exception that null elements are considered equal."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#includes"/>
</property>
</concept>
<concept>
<code value="list-operators.included_in"/>
<display value="List Operators included in"/>
<definition
value="The included in operator for lists returns true if every element of the first list is in the second list using equality semantics."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#included-in"/>
</property>
</concept>
<concept>
<code value="list-operators.indexer"/>
<display value="List Operators indexer"/>
<definition
value="The indexer ([]) operator returns the element at the indexth position in a list."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#indexer"/>
</property>
</concept>
<concept>
<code value="list-operators.indexof"/>
<display value="List Operators IndexOf"/>
<definition
value="The IndexOf operator returns the 0-based index of the given element in the given source list using equality semantics, with the exception that nulls are considered equal."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#indexof"/>
</property>
</concept>
<concept>
<code value="list-operators.intersect"/>
<display value="List Operators intersect"/>
<definition
value="The intersect operator for lists returns the intersection of two lists. More precisely, the operator returns a list containing only the elements that appear in both lists."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#intersect"/>
</property>
</concept>
<concept>
<code value="list-operators.last"/>
<display value="List Operators last"/>
<definition
value="The Last operator returns the last element in a list. In a list of length N, the operator is equivalent to invoking the indexer with an index of N - 1"/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString value="https://cql.hl7.org/09-b-cqlreference.html#last"/>
</property>
</concept>
<concept>
<code value="list-operators.length"/>
<display value="List Operators length"/>
<definition
value="The Length operator returns the number of elements in a list."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#length"/>
</property>
</concept>
<concept>
<code value="list-operators.not_equal"/>
<display value="List Operators not equal"/>
<definition
value="The not equal (!=) operator for lists returns true if its arguments are not the same value."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#not_equal"/>
</property>
</concept>
<concept>
<code value="list-operators.not_equivalent"/>
<display value="List Operators not equivalent"/>
<definition
value="The not equivalent (!~) operator for lists returns true if its arguments are not equivalent."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#not_equivalent"/>
</property>
</concept>
<concept>
<code value="list-operators.properly_includes"/>
<display value="List Operators properly includes"/>
<definition
value="The properly includes operator for lists returns true if the first list contains every element of the second list, and the first list is strictly larger than the second list."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#properly_includes"/>
</property>
</concept>
<concept>
<code value="list-operators.properly_included_in"/>
<display value="List Operators properly included in"/>
<definition
value="The properly included in operator for lists returns true if every element of the first list is in the second list and the first list is strictly smaller than the second list."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#properly_included_in"/>
</property>
</concept>
<concept>
<code value="list-operators.singleton_from"/>
<display value="List Operators singleton from"/>
<definition
value="The singleton from operator extracts a single element from the source list. If the source list is empty, the result is null. If the source list contains one element, that element is returned. If the list contains more than one element, a run-time error is thrown."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#singleton_from"/>
</property>
</concept>
<concept>
<code value="list-operators.skip"/>
<display value="List Operators skip"/>
<definition
value="The Skip operator returns the elements in the list, skipping the first number elements. If the list has less number elements, the result is empty."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString value="https://cql.hl7.org/09-b-cqlreference.html#skip"/>
</property>
</concept>
<concept>
<code value="list-operators.tail"/>
<display value="List Operators tail"/>
<definition
value="The Tail operator returns all but the first element from the given list. If the list is empty, the result is empty."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString value="https://cql.hl7.org/09-b-cqlreference.html#tail"/>
</property>
</concept>
<concept>
<code value="list-operators.take"/>
<display value="List Operators take"/>
<definition
value="The Take operator returns the first number elements from the given list. If the list has less than number elements, the result only contains the elements in the list."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString value="https://cql.hl7.org/09-b-cqlreference.html#take"/>
</property>
</concept>
<concept>
<code value="list-operators.union"/>
<display value="List Operators union"/>
<definition
value="The union operator for lists returns a list with all unique elements from both arguments."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#union"/>
</property>
</concept>
</concept>
<concept>
<code value="aggregate-functions"/>
<display value="Aggregate Functions"/>
<definition value="count, sum, min, max, average, median, mode, etc."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#aggregate-functions"/>
</property>
</concept>
<concept>
<code value="clinical-operators"/>
<display value="Clinical Operators"/>
<definition
value="Retrieve/terminology functions; temporal/duration in clinical context."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#clinical-operators"/>
</property>
</concept>
<concept>
<code value="diagnostic-operators"/>
<display value="Diagnostic Operators"/>
<definition value="Errors and messaging functions."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#errors-and-messaging"/>
</property>
</concept>
<concept>
<code value="single-source-query"/>
<display value="Single source query"/>
<definition value="Query over one source."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/74-queryevaluation.html#evaluate-sources"/>
</property>
</concept>
<concept>
<code value="relationships-query"/>
<display value="Relationships query"/>
<definition value="Query involving two or more sources."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/74-queryevaluation.html#evaluate-sources"/>
</property>
</concept>
<concept>
<code value="let-clause-query"/>
<display value="Let clause query"/>
<definition value="Introduce local bindings."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/74-queryevaluation.html#let-clause"/>
</property>
</concept>
<concept>
<code value="where-clause-query"/>
<display value="Where clause query"/>
<definition value="Filter using Boolean conditions."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/74-queryevaluation.html#where-clause"/>
</property>
</concept>
<concept>
<code value="return-clause-query"/>
<display value="Return clause query"/>
<definition value="Specify the shape/content of returned rows."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/74-queryevaluation.html#return-clause"/>
</property>
</concept>
<concept>
<code value="aggregate-clause-query"/>
<display value="Aggregate clause query"/>
<definition value="Reduce rows to a summary value."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/74-queryevaluation.html#aggregate-clause"/>
</property>
</concept>
<concept>
<code value="multi-source-query"/>
<display value="Multi source query"/>
<definition value="Query using two or more sources."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/74-queryevaluation.html#evaluate-sources"/>
</property>
</concept>
<concept>
<code value="unfiltered-context-retrieve"/>
<display value="Unfiltered context retrieve"/>
<definition value="All data of a type in the current context."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/05-languagesemantics.html#language-capabilities"/>
</property>
</concept>
<concept>
<code value="terminology-based-retrieve"/>
<display value="Terminology-based retrieve"/>
<definition value="Retrieve filtered by ValueSet/CodeSystem/Code."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/05-languagesemantics.html#retrieve-paths"/>
</property>
</concept>
<concept>
<code value="valueset-terminology-target-retrieve"/>
<display value="Valueset terminology target retrieve"/>
<definition value="Retrieve filtered by a ValueSet reference."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/05-languagesemantics.html#retrieve-paths"/>
</property>
</concept>
<concept>
<code value="codesystem-terminology-target-retrieve"/>
<display value="CodeSystem terminology target retrieve"/>
<definition value="Retrieve filtered by a CodeSystem."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/05-languagesemantics.html#retrieve-paths"/>
</property>
</concept>
<concept>
<code value="code-terminology-target-retrieve"/>
<display value="Code terminology target retrieve"/>
<definition value="Retrieve filtered by a single Code."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/05-languagesemantics.html#retrieve-paths"/>
</property>
</concept>
<concept>
<code value="searchpath-retrieve"/>
<display value="Searchpath retrieve"/>
<definition value="Retrieve using a search path expression."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/05-languagesemantics.html#retrieve-paths"/>
</property>
</concept>
<concept>
<code value="include-retrieve"/>
<display value="Include retrieve"/>
<definition
value="Retrieve that includes related records via references."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/05-languagesemantics.html#retrieve-paths"/>
</property>
</concept>
<concept>
<code value="related-context-retrieve"/>
<display value="Related-context retrieve"/>
<definition value="Retrieve scoped to a related context entity."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/05-languagesemantics.html#retrieve-paths"/>
</property>
</concept>
<concept>
<code value="profile-based-retrieve"/>
<display value="Profile-based retrieve"/>
<definition value="Retrieve constrained to a profile."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/42-conformancelevels.html#strict-conformance"/>
</property>
</concept>
<concept>
<code value="tuple"/>
<display value="Tuple"/>
<definition value="Structured type with named elements."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/63-expressionlanguagesemantics.html#structured-types"/>
</property>
</concept>
<concept>
<code value="choice"/>
<display value="Choice"/>
<definition value="Value that may be one of several specified types."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/63-expressionlanguagesemantics.html#choice-types"/>
</property>
</concept>
<concept>
<code value="list<T>"/>
<display value="List<T>"/>
<definition value="Ordered collection of elements of type T."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/63-expressionlanguagesemantics.html#collection-types"/>
</property>
</concept>
<concept>
<code value="interval<T>"/>
<display value="Interval<T>"/>
<definition value="Range of values of type T."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#interval-operators-3"/>
</property>
</concept>
<concept>
<code value="interval<integer>"/>
<display value="Interval<Integer>"/>
<definition value="Range of integers."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#interval-operators-3"/>
</property>
</concept>
<concept>
<code value="interval<decimal>"/>
<display value="Interval<Decimal>"/>
<definition value="Range of decimal numbers."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#interval-operators-3"/>
</property>
</concept>
<concept>
<code value="interval<date>"/>
<display value="Interval<Date>"/>
<definition value="Range of dates (no time)."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#interval-operators-3"/>
</property>
</concept>
<concept>
<code value="interval<time>"/>
<display value="Interval<Time>"/>
<definition value="Range of times of day (no date)."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#interval-operators-3"/>
</property>
</concept>
<concept>
<code value="interval<datetime>"/>
<display value="Interval<DateTime>"/>
<definition value="Range of full date/times."/>
<property>
<code value="version"/>
<valueString value="1.0"/>
</property>
<property>
<code value="reference"/>
<valueString
value="https://cql.hl7.org/09-b-cqlreference.html#interval-operators-3"/>
</property>
</concept>
</CodeSystem>