Query Service
Overview
The platform.interface.query package shown below defines service interface to the QUERY_SERVICE component in the logical platform architecture.
sm.platform.interface.query packageThe model of querying here is based on the notion of being able to execute either queries previously stored in the DEFINITION service, or else ad hoc queries. For stored queries, no assumption is made as to whether the query language is AQL (the openEHR default) or something else, only that there are stored queries that can be executed in a standard way.
For both kinds of queries, parameters must be provided for open parameters in the stored query.
If either type of query executes successfully, the response is a RESULT_SET, which consists of meta-data, a column definition structure and a set of rows (instances of RESULT_SET_ROW). In order to handle large result sets efficiently and gracefully within applications, the parameters item_offset and items_to_fetch can be provided to control the result size.
A stored query is identified by the identifier associated with it when registered in the DEFINITION service, which is ofthe form:
reverse-domain-name '::' semantic-id [ '/' version ]
For example: org.example.departmentx.test::diabetes-patient-overview/1.0.2. The optional version enables multiple forms of the same semantic query to co-exist in the service.
Class Definitions
Unresolved include directive in modules/openehr_platform/pages/query_service.adoc - include::ROOT:partial$classes/i_query_service.adoc[]
Unresolved include directive in modules/openehr_platform/pages/query_service.adoc - include::ROOT:partial$classes/stored_query_execute_spec.adoc[]
Unresolved include directive in modules/openehr_platform/pages/query_service.adoc - include::ROOT:partial$classes/adhoc_query_execute_spec.adoc[]
Unresolved include directive in modules/openehr_platform/pages/query_service.adoc - include::ROOT:partial$classes/result_set.adoc[]
Unresolved include directive in modules/openehr_platform/pages/query_service.adoc - include::ROOT:partial$classes/result_set_column.adoc[]
Unresolved include directive in modules/openehr_platform/pages/query_service.adoc - include::ROOT:partial$classes/result_set_row.adoc[]