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