gnumed-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnumed-devel] patient search functionality revisited


From: Karsten Hilbert
Subject: [Gnumed-devel] patient search functionality revisited
Date: Wed, 1 Jan 2003 21:49:52 +0100
User-agent: Mutt/1.3.22.1i

Anyone have a suggestion on the following ?

People here have names with Umlauts or not: Müller or Mueller.
Insurance companies often misspell names on the smartcards.
Over the phone I don't want to have to ask "with or without
Umlaut ?". Hence I would like my search algorithm to be smart
about those Umlauts (they may be different in other
languages).

First level queries are going to be literal with truncation.
Those are sent off blocking.

Second level queries are going to replace Umlauts and
re-shuffle name parts in a few special cases.

Third level queries will drop part of the input and do
substring matches on name parts.

Second and third level are probably best put into a thread.

Second and third level results will only be displayed when the
first level doesn't return matches or the user hits "broaden
search".

However, what would be the best idea for replacing Umlauts in
second/third level queries ? Replace them by their common
misspelling (ü -> ue) or replace them with a wildcard "." and
match by regex ? I tend to prefer the latter as the first will
require me to generate a query for every possible combination
of Umlaut replacement. This increases the number of queries by
way of permutation. Replacing with wildcards is O(1) but will
return a few matches that we didn't intend to see (Müller ->
M.ller -> matches Miller as well). Perhaps this is acceptable
since on second level queries we are into "extended query
mode" already anyway.

Comments ?

(Umlauts/normal name part order would need to be configurable
per language, of course.)

Karsten
-- 
GPG key ID E4071346 @ wwwkeys.pgp.net
E167 67FD A291 2BEA 73BD  4537 78B9 A9F9 E407 1346



reply via email to

[Prev in Thread] Current Thread [Next in Thread]