We're updating the issue view to help you get more done.Learn more

Change list_all_* functions for list_*, and merge with list_matching_* to simplify API

REF: https://specifications.openehr.org/releases/SM/latest/openehr_platform.html#_i_definition_adl14_interface

On the SM interfaces there are list_all_* functions like list_all_opts.

Since those functions accept pagination parameters, the list is not really for "all" the items, so I think it is better to remove the "all" from the names, since that adds semantics that are not consistent with the results.

Also looking at the list_matching_* functions like list_matching_opts, the only difference with list_all_opts, is an extra matcher parameter. We can remove these functions and add the matcher parameter to the list_all_*, and make that parameter optional. When that parameter is empty or null, the result will be just the list of paginated items, when that is not null, result will be the paginated + matching items.

Another suggestion for current list_all_xxx functions is to change the pagination parameter names from "row_offset" and "rows_to_fetch" to something like offset/max or offset/page_number. The term "row" seems to imply a specific implementation that might not apply in most cases.

The "row" names are also specified here https://specifications.openehr.org/releases/SM/latest/openehr_platform.html#_list_handling



Thomas Beale


Pablo Pazos