Der FHIR-Such-Compiler (SP3)

Featurekamo-shared-library
Shipped
25. August 2026 um 16:01 UTC
Author
Kamo
Commit
b1a410f

Kompiliert eine Suche in eine SQL-Anweisung über die getimten Indextabellen. Jeder Regel unten scheitert an der Rückgabe der FALSCH ROWS statt durch Erhöhung alles, weshalb jeder einen Test hat, der sagt, warum. Jedes Kriterium wird zu einem EXISTS, nie zu einem JOIN, und das ist eine Korrektheit Entscheidung und keine Performance. Indextabellen sind mit einem Multi-Wert: einem Beobachtung mit drei Kategorien hat drei Token-Reihen, so dass eine innere verbinden kehrt es dreimal zurück und eine Seite von zwanzig könnte sechs verschiedene halten Ressourcen. Hinzufügen DISTINCT zu Papier darüber dann bricht Keyset-Ppagination, weil die Sortierspalten in die Auswahlliste eingefügt werden müssen und noch duplizieren verbrauchen Seite Slots. Paging ist Keyset, nie OFFSET. OFFSET re-scans und verwerfen, so Kosten wächst mit Tiefe - und noch schlimmer, eine Ressource zwischen zwei Seitenanfragen verschoben jede spätere Reihe, so dass ein Kunde zu Fuß ein Bundle lautlos SKIPS Aufzeichnungen. Für eine Massenexport oder eine Abstimmung, die klinische Daten ohne Fehler fehlt. logical_id ist ein obligatorischer Tiebreaker: ohne ihn zwei Ressourcen teilen eine Zeitstempel bestellen willkürlich, so dass eine erscheint zweimal und eine andere nie. Datum Suche ist INTERVAL OVERLAP, denn ein FHIR-Datum ist ein Intervall . eq2026 bedeutet "Überlaps 2026", nicht "gleich Mitternacht am 1. Januar". Eine Null range_high bedeutet STILL RUNNING und erstreckt sich für immer; verschmelzen es auf die niedrigen gebunden macht eine aktive Bedingung zu stoppen Matching ge am Tag, nachdem es begonnen hat. Token hat drei Formen, die drei verschiedene Fragen sind: Bare Code, system|code, und |code, was explizit bedeutet, dass kein System. Kollapsing der dritten lässt |male mit einem männlichen zusammenpassen, der in einem nicht verwandten System codiert ist. Quantität vergleicht NUR die kanonische Säule, zusammengesetzte Übereinstimmungen mit beiden Hälften auf EINER Reihe - Paarung über Tabellen würde einen systolischen Code zu einem diastolischer Wert und berichten eine hypertensive Lesung, die nie genommen wurde. :contains und :oben sind eher REFUSED als langsam bedient. Beide brauchen eine Match kein b-Baum kann verwenden, so dass sie die größten Tabellen in der scannen würde Schema; ein ehrlicher Fehler schlägt einen Endpunkt, der in Test- und Zeiten arbeitet auf realen Daten, und die CapabilityStatement erklärt sie für nicht unterstützt. Gelöschte Ressourcen sind ausgeschlossen - Grabsteine antworten immer wieder auf Vread und _Geschichte, aber eine Suche fragt, was IS, und die Rückgabe sie gelöscht Probleme wieder auf einer Problemliste. Nur enum-gesteuerte Tabellennamen sind interpoliert; jeder Client-Wert ist gebunden, und ein Test pins, dass mit einer Injektionsschnur. Mutation-erprobt: Behandlung eines Datums als Instant und tauschen Keyset für OFFSET scheiterte jeweils mit ihrer eigenen Erklärung vor der Umkehr. 1689 testet grün.

All changes

Wie, was Sie sehen Versand?

Jedes dieser Updates landet automatisch in Ihrem Arbeitsbereich. Starten Sie frei und beobachten Sie es Woche für Woche wachsen.

Free Forever startenPreisgestaltung anzeigen