Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

AQL syntax supports parameterization. AQL parameters are used to indicate a criteria, which will be substituted with real criteria value values at run time. Supporting parameterization is one of the mechanism mechanisms used to realise sharing AQL statements within a system or cross across system boundaries.

The parameters can be EHR specific (such as the parameter of EHR identifier or EHR creation date time), archetype specific (such as parameter of an archetype identifier, or archetype constraints), or template specific (such as parameter of a template identifier or template constraints).

...

Parameters are needed when the same AQL query statement is used with different criteria values. This AQL example is to return all abnormal blood pressure values for a single specific EHR. This query has a parameter $ehrUid. This parameter will be substituted by a real specific EHR.ehr_id value at run time. Consequently, this query can be reused for all EHRs either within an EHR system or by other EHR systems (Assuming these EHR systems support AQL).

Where/how parameters are resolved

(This topic might be out of the scope of this article)

AQL query parameters can be resolved at application level, or EHR system level. It depends on what the query parameters are used for and the design/implementation of the system or components. Query parameters would be normally resolved outside of a query engine. 

If a query needs to be reusable across different EHR systems, the any query parameters (if there are any) normally need to be registered in these EHR systems so that these parameters they can be resolved with real values therefrom each environment. A typical example of this type of query parameter is $ehrUid. While if a If the query is only reusable used within an application, then the query parameters would be resolved within by the application, such as the parameter of healthcare facility identifier or template identifier. 

...

  • outside a predicate
    No Format
    o/data[at0001]/events[at0006]/data[at0003]/items[at0004]/value/value>$systolicCriteriavalue > $systolicCriteria
    

Predicates

AQL has three types of predicates: standard predicate, archetype predicate, and node predicate.

...