main
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>
praxis-creutzburg-web
Languages
PHP
79.3%
JavaScript
17.5%
HTML
1.6%
CSS
0.9%
SCSS
0.6%