We are implementing QR codes in place of names and are seeing a slight challenge when searching a case list using the QR code scan. Whenever we scan a QR code to confirm if it is already in the Case List, the current result is that the Case List will bring to the top, and highlight in Green, the matched QR code (case name), while still including the other QR codes (case names) in a list directly beneath the matched one (in green). In other words, the Case List doesn't seem to filter and display only the matching QR code - it will show all the QR codes / case names, and highlight the match in green (at the top).
Is there any way to configure CommCare so that, when searching a case list via QR code scan, the matching QR code (case name) is the only thing that shows in the case list, instead of showing the entire case list and highlighting the correct QR code (case name) in green? And conversely, in the event that the QR code scanned is not already in the Case List, the resulting Case List is "blank"?
The goal being: eliminate the risk that a data clerk scans a QR code that is indeed in the Case List, but accidentally clicks a QR code (case name) that is not the correct one (ie: does not click the QR code/case name that highlighted in green, at the top)?
It sounds like your QR Codes are getting partial Fuzzy Search matches for the other codes in your list.
Unfortunately Fuzzy Search today is a global on/off toggle for the app. You can disable it, if needed, but it would disable partial matches for typed inputs as well.
This would be a good contribution to the application, so I've made a issue ticket on the Open Source codebase tracker.
The only alternative I can think of would be to introduce additional entropy into the codes by making them contain additional unique information. The fuzzy matching algorithm will only return results within a Levenshtein Distance of 2, so longer codes are very unlikely to match.
Thanks so much for the quick and helpful response.
That checks out - we have QR codes that share the same prefix for cases within the same unit (ex: health facility), and then a unique ID (sequential, 4 numeric digits) for each unique case. We need to keep the shared prefix part of the code to help quickly identify which unit each case is from. Also, the entire code embedded in the QR code is also written in text beneath on the label, so that the data clerk can quickly verify / as a back-up for manual entry should the QR code scan fail), and the code is kept to 10 digits to limit chance of error in case manual entry is needed, though it is helpful to know that a longer code might improve search performance.
This would be an awesome feature if possible. Look forward to following along to see if it can be included.