Add find_matching_sessions
function to enable keyword searching across sessions, based on metadata
#864
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds a new function,
find_matching_sessions
, which can be used to search and retrieve a set of matching sessions across all unencrypted interview sessions on a server.The expected use case is for an attorney or other advocate to be able to search through their own sessions to find a document they automated for a particular user. It can also be used in a scenario where there is a generic "intake" interview that the attorney wants to use as a starting point to automate future documents with. Search results can be limited to a particular interview or set of interviews, such as an intake questionnaire.
Searching across sessions that you did not create or were not explicitly shared is limited to 3 user roles by default: admin, developer, and advocate.
Matching is performed entirely based on keywords in the
jsonstorage
table; by default, only ones with the metadata key name set to "metadata." If your interview uses the Assembly Line, it automatically saves the name of theusers
andother_parties
lists to thejsonstorage
table with this key on each screen load.Example: