clemensandClaude Opus 5 e7955e354c Rufnummernsuche auf den Altbestand user_old ausweiten
Die Suche lief nur gegen persons und fand deshalb den Anrufer von Anfrage
13037 nicht: dessen Mobilnummer steht in user_old, in persons ist zu
derselben Person nur eine aeltere siebenstellige Nummer gepflegt. Beide
Zeilen sind ueber tmp_user_person_map korrekt verknuepft (userid 3204 ->
person_id 2266), die Rufnummer ist bei der Migration schlicht nicht
nachgezogen worden.

Das ist kein Einzelfall. Von 2552 gemappten Paaren weicht bei 122 die
Nummer ab, 87 Nummern stehen ausschliesslich in user_old, und 176 alte
Zeilen haben gar kein Mapping. persons ist damit keine Obermenge, und die
Suche allein darueber verfehlt 87 der 2739 bekannten Rufnummern.

Der Index wird jetzt aus beiden Tabellen aufgebaut. Findet sich zu einer
alten Zeile ein aktueller Datensatz, werden dessen Daten gezeigt - die
Nummer ist nur der Schluessel, angezeigt gehoert der gepflegte Stand. Der
Vorschlag weist aus, wenn die Nummer aus dem Altbestand stammt, und
unterscheidet den Fall ohne aktuellen Datensatz.

Ein Patient darf je Nummer nur einmal erscheinen. Die Personen-ID reicht
dafuer nicht: nicht gemappte Altzeilen haben eine eigene userid und standen
dadurch neben ihrem persons-Gegenstueck, sichtbar als "2 Patienten:
Andreas Busche, Andreas Busche". Zweiter Schluessel ist deshalb Name plus
Geburtstag. Der Vergleich traegt hier, weil ohnehin nur Eintraege zu ein und
derselben Rufnummer verglichen werden - ueber den Gesamtbestand waere er
unbrauchbar, weil 0000-00-00 als Geburtstag massenhaft vorkommt.

Nachgeprueft ueber alle 2739 bekannten Rufnummern: jede liefert einen
Treffer, keine einzige eine doppelte Identitaet, groesste Trefferzahl 16 an
einer Nummer. 87 Nummern sind neu auffindbar, darunter die von Anfrage
13037, die jetzt korrekt auf person_id 2266 zeigt. Listenlogik ueber alle
12793 Anfragen unveraendert fehlerfrei; der Vorschlag steht weiterhin nie
bei einer Anfrage mit bereits zugeordnetem Patienten. Kosten bleiben zwei
Abfragen je Seitenaufruf, unabhaengig von der Zeilenzahl.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-08 21:09:53 +02:00
2026-03-24 14:45:06 +01:00
2026-03-20 17:13:38 +01:00
2026-04-02 01:30:14 +02:00
2026-03-24 14:45:06 +01:00
2026-03-24 14:45:06 +01:00
2026-03-20 17:13:38 +01:00
2026-03-24 14:45:06 +01:00
2026-03-24 14:45:06 +01:00
2026-03-29 22:27:22 +02:00
2026-03-24 14:45:06 +01:00
2026-03-20 17:13:38 +01:00
2026-03-20 17:13:38 +01:00
2026-03-24 14:45:06 +01:00
2026-03-20 17:13:38 +01:00
2026-03-20 17:13:38 +01:00
2026-03-20 17:13:38 +01:00
2026-03-24 14:45:06 +01:00
2026-03-20 17:13:38 +01:00
2026-03-24 14:45:06 +01:00
2026-03-24 14:45:06 +01:00
2026-03-20 17:13:38 +01:00
2026-03-20 17:13:38 +01:00
2026-03-20 17:13:38 +01:00
2026-03-24 14:45:06 +01:00
2026-03-24 14:45:06 +01:00
2026-03-20 17:13:38 +01:00
2026-03-20 17:13:38 +01:00
2026-04-02 01:30:14 +02:00
2026-03-30 20:34:27 +02:00
2026-03-24 14:45:06 +01:00
2026-03-24 14:45:06 +01:00
2026-03-20 17:13:38 +01:00
2026-03-20 17:13:38 +01:00
2026-03-24 14:45:06 +01:00
2026-03-24 14:45:06 +01:00
2026-03-24 14:45:06 +01:00
2026-03-20 17:13:38 +01:00
2026-03-20 17:13:38 +01:00
2026-03-24 14:45:06 +01:00
2026-03-24 14:45:06 +01:00
2026-03-24 14:45:06 +01:00
S
Description
No description provided
Readme
32 MiB
Languages
PHP 79.3%
JavaScript 17.5%
HTML 1.6%
CSS 0.9%
SCSS 0.6%