The modelInfo element defines metadata associated with a particular model to allow it to be used by CQL.
Defines an available context type for the model.
Specifies the type for the context.
Specifies the name of the context. This is the name that will be referenced by context statements within CQL.
Specifies the key elements, in order and semi-colon delimited, of the context type that form the reference key for the context. The elements taken together must form a unique identifier for instances of the context.
Specifies the name of the birthDateElement of the context type.
Defines the relationship of a class to the context.
Specifies the target context of the relationship.
Specifies the related key elements, in order and semi-colon delimited, of the type that contain the reference to the context. There must be the same number of elements, and in the same order, as the target context.
Defines a possible search path for a ClassInfo within the model.
Defines the name of the search info
Defines the path to search values within the ClassInfo. In the simplest case, this is the same as the name.
The ModelInfo type defines the metadata associated with a particular model to enable it to be used by the CQL translator. Note that none of the information specified here is required, it just enables some convenient shorthands within the language.
The name attribute specifies the name of the data model. This value is the same as the model identifier used in using definitions and type specifiers within CQL.
The version attribute specifies the version of the data model. If specified, this value is the same as the version used in using definitions within CQL.
The url attribute specifies the xml namespace associated with the model, and is used by the CQL translator to establish the url used to reference types from the model schema within an ELM document.
Specifies a target url that identifies the xml namespace associated with the target model in the underlying representation.
Specifies a target version that identifies the version of the xml namespace associated with the target model in the underlying representation.
The schemaLocation attribute is used by the CQL translator to output the schemaLocation of the xsd for the data model in the resulting ELM document.
The targetQualifier attribute is used to specify the namespace qualifier that should be used when referencing types of the model within the ELM document.
DEPRECATED: The patientClassName attribute specifies the name of the Patient class within the model.
DEPRECATED: The patientClassIdentifier attribute specifies a unique name for the Patient class that may be independent of the name. In FHIR, this corresponds to the Patient profile identifier.
DEPRECATED: The patientBirthDatePropertyName attribute specifies the name of the birthdate property on the Patient model.
The isCaseSensitive attribute indicates whether the identifiers used by this model should be resolved case-sensitively. If the attribute is true, references to identifiers in this model must match by case.
The strictRetrieveTyping attribute indicates whether or not retrieve expressions against the model should be semantically validated. If this attribute is not present or false, code and date range filters within the retrieve are not type validated, allowing the data access layer to perform late binding of content within the retrieve. If the attribute is true, code and date range filters within the retrieve are type validated.
Specifies the default context to be used by CQL expressions for this model.
This element is deprecated. New implementations should use the new elementTypeSpecifier element.
This attribute is deprecated. New implementations should use the new elementType attribute
Indicates that the starting index for a list-valued element is one. By default, lists are zero-based.
Specifies a path that can be used instead of the name of the element to access the value for this element in the underlying representation.
The ClassInfo type models information associated with a single class in the data model.
The generic parameters defined by a generic class. In generic class
SomeClass<S extends Type1, T>, 'S extends Type1' and 'T' are both generic
parameters.
Namespace is the namespace of the class. This is typically just the name of the model, but can contain additional qualifiers.
The name attribute specifies the name of the type within the data model. This corresponds to the name of the class within the class model, or the name of the type in the case of an xsd. In FHIR, this corresponds to the name of the resource.
The identifier attribute specifies a unique name for the class that may be independent of the name. In FHIR, this corresponds to the profile identifier.
The label attribute specifies the name of the class as it is referenced from CQL. This is a user-friendly identifier for the class that can be used within CQL as an alternative way to reference the class.
Specifies the name of the type in the underlying representation.
The retrievable attribute specifies whether the class can be used within a retrieve statement. This flag is intended to allow the implementation to control whether or not the class can be used as a data access point for the data model.
The primaryCodePath attribute specifies the path relative to the class that should be used to perform code filtering when a retrieve does not specify a code path.
The primaryValueSetPath attribute specifies the path relative to the class that should be used to perform alternative value set matching when source data does not have a code defined.
Namespace is the namespace of the type. This is typically just the name of the model, but can contain additional qualifiers.
Name is the unqualified name of the type within this model.
Specifies the name of the type in the underlying representation.
This element is deprecated. New implementations should use the new elementTypeSpecifier element.
This attribute is deprecated. New implementations should use the new elementType attribute.
Indicates that the starting index for a list-valued element is one. By default, lists are zero-based.
This element is deprecated. New implementations should use the new choice element.
This attribute is deprecated. New implementations should use the new namespace attribute.
A type which is generic class parameter such as T in MyGeneric<T extends
SomeType>.
A type which is replacing a class parameter such as T in MyClass extends MyGeneric<AValidType>.
The name of the parameter that is bound to a valid type based on the parameter
definition, such as 'T'.
The type bound to the parameter (e.g., 'T').
A generic class parameter such as T in MyGeneric<T extends SomeType>.
The name of the parameter such as T,K, etc...
One of NONE, CLASS, VALUE, TUPLE, INTERVAL, CHOICE, TYPE
The type this parameter should be assignable from (i.e., extend).
TupleTypeSpecifierElement defines the name and type of a single element within a TupleTypeSpecifier.
TupleTypeSpecifier defines the possible elements of a tuple.