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
Part of this ticket seems to be addressed by this commit https://github.com/openEHR/specifications-SM/commit/3da77e559887a52a61bf1f2f4c2e38520c09a608
The list_all_* methods where changed for list_* methods. But there is no reference on the commit to this ticket in Jira (#290)
Also the row_offset and rows_to_fetch params where changed to item_offset and items_to_fetch.
These parts look OK!