Using CQL With FHIR
3.0.0-ballot - STU 3 Ballot International flag

Using CQL With FHIR - Downloaded Version null See the Directory of published versions

OperationDefinition: CQL Group Evaluate

Official URL: http://hl7.org/fhir/uv/cql/OperationDefinition/cql-group-evaluate Version: 3.0.0-ballot
Standards status: Trial-use Maturity Level: 1 Computable Name: CQLGroupEvaluate
Other Identifiers: OID:2.16.840.1.113883.4.642.40.37.33.3

Evaluates the membership criteria of a group definition returns the results as an actual Group resource. The Group is expected to use the characteristicsExpression extension to define membership criteria.

Language: en

URL: [base]/Group/$evaluate

URL: [base]/Group/[id]/$evaluate

Parameters

UseNameScopeCardinalityTypeBindingDocumentation
INurl0..1canonical

The canonical url (with optional version) of the group to be evaluated. This parameter is only used when the operation is invoked at the type level, and is exclusive with the group parameter.

INgroup0..1Group

The group to be evaluated, provided as an input. This parameter is only used when the operation is invoked at the type level, and is exclusive with the url parameter.

INsubject0..1string
(reference)

Subject(s) for which the group definition will be evaluated. This corresponds to the context in which the group will be evaluated and is represented as a relative FHIR id (e.g. Patient/123), which establishes both the context and context value for the evaluation. This MAY be a reference to a Group, in which case the membership criteria is evaluated for every member of the subject group. This parameter cannot be used with the subjectGroup parameter. If no subject or subjectGroup is provided, the group definition is evaluated for all potential subjects.

INsubjectGroup0..1Group

A Group of subjects for which the group definition will be evaluated, provided directly as a Group resource. This parameter cannot be used with the subject parameter. If no subject or subjectGroup is provided, the group definition is evaluated for all potential subjects.

INparameters0..1Parameters

Any input parameters to the evaluation. The Parameters resource provided in this input SHALL conform to the CQLParameters profile. Parameters defined in this input will be bound by name to the evaluation context. If the membership criteria is a CQL expression, these parameters will be available to the expression. If the membership criteria is a CQL identifier, these parameters will be bound by name to the parameters defined in the CQL library (or included libraries, recursively). Parameter types are mapped to CQL as specified in the Using CQL section of this implementation guide. If a parameter appears more than once in the input Parameters resource, it is represented with a List in the input CQL. If a parameter has parts, it is represented as a Tuple in the input CQL. Note that parameters may be arbitrarily nested, for example, a list of tuples, or tuples that have list or interval valued elements. If parameter names are qualified, the parameter will be bound only to parameters in the library with the qualifier name, and the qualifier name must be the name of a library included by the library being evaluated (or an included library, recursively).

INartifactEndpointConfiguration0..*

Configuration information to resolve canonical artifacts

  • artifactRoute: An optional route used to determine whether this endpoint is expected to be able to resolve artifacts that match the route (i.e. start with the route, up to and including the entire url)
  • endpointUri: The URI of the endpoint, exclusive with the endpoint parameter
  • endpoint: An Endpoint resource describing the endpoint, exclusive with the endpointUri parameter

Processing semantics:

Create a canonical-like reference (e.g. {canonical.url}|{canonical.version} or similar extensions for non-canonical artifacts).

  • Given a single artifactEndpointConfiguration
    • When artifactRoute is present
      • And canonical or artifact reference starts with artifactRoute
      • Then attempt to resolve with endpointUri or endpoint
    • When artifactRoute is not present
      • Then attempt to resolve with endpointUri or endpoint
  • Given multiple artifactEndpointConfigurations
    • Then rank order each configuration (see below)
    • And attempt to resolve with endpointUri or endpoint in order until resolved

Rank each artifactEndpointConfiguration such that:

  • if artifactRoute is present and canonical or artifact reference starts with artifactRoute: rank based on number of matching characters
  • if artifactRoute is not present: include but rank lower

NOTE: For evenly ranked artifactEndpointConfigurations, order as defined in the OperationDefinition.

INartifactEndpointConfiguration.artifactRoute0..1uri
INartifactEndpointConfiguration.endpointUri0..1uri
INartifactEndpointConfiguration.endpoint0..1Endpoint
INtimestamp0..1dateTime

The timestamp of the evaluation request.

OUTreturn1..1Group

The results of the group evaluation, returned as an actual Group resource with members as determined by the evaluation of the membership criteria against the data present in the server.