====== Schnittstelle 1065: Krankenkassen aus Beitragssatz-XML übernehmen ====== Du übernimmst Kassenstammdaten aus einer XML-Datei in Krankenkassen. Der vorhandene Code importiert keine Beitragssätze. Stand: **02.10.2026**, statische Analyse von PEP4 Desktop, Commit ''f1d82a003b62f2658f06eaa943dc685ab219bdf3''. **Statisch dokumentiert; Nutzerprüfung offen**. Kein Schnittstellenlauf, Live-Schema- oder API-Test. Lokale PEP-Änderungen außerhalb dieser Schnittstellen wurden nicht einbezogen. ===== Zweck, Parameter und XML-Vertrag ===== PFAD: FileImport, XML-Dialog, bestehende Datei via SetFile. DataSet.ReadXml lädt ADR, DFUE und DAVBN. Kein CSV, keine Archivierung. Trotz Bezeichnung „Beitragssatzdatei“ schreibt dieser Code nur Kassenstammdaten, keine Beitragssätze. ^ XML-Felder ^ Verwendung ^ | ADR.ADR_ID | Rows.Find benötigt einen aus XML/XSD übernommenen Primärschlüssel; der Code setzt keinen | | ADR.bn, nachfolge_bn | Betriebsnummer als ID; rekursive Suche des letzten Nachfolgers über bn | | ADR.Kurzbezeichnung, gueltig_ab, gueltig_bis, kassenart | Bezeichnung, Gültigkeit und Art | | DFUE.ADR_ID, gueltig_ab, DFUE_ID | neuestes gueltig_ab des letzten Nachfolgers, ohne Vergleich mit aktuellem Datum | | DAVBN.DFUE_ID, bn | erste passende Annahme-Betriebsnummer | ===== SQL-Kette, Betrieb und Befunde ===== Keine Fach-SP: parameterisierter Inline-Upsert je ADR.bn, INSERT acht Felder, UPDATE aller Nutzfelder außer ID. SQL-Timeout fest3600. Keine Transaktion; ältere erfolgreich importierte Zeilen bleiben bei Folgefehler stehen. BASE-ExceptionHandler FehlerUndStopp, Rückgabe Fehlerfrei(). FindNachfolge hat keinen Zyklenschutz. Fehlende Nachfolge/DFUE/DAVBN wirft Exception. **bis-Nullzweig prüft gueltig_ab statt gueltig_bis**: fehlt ab, wird bis trotz vorhandenem Enddatum NULL. Schema0719: ID bigint PK, Bezeichnung varchar255, von NOT NULL, bis nullable, Art bigint (VB übergibt varchar), bis2 berechnet NULL→2099-12-31. Nachfolgespalten nullable. Keine Schlüssellöschung/-änderung, deshalb keine ITKrankenkasse-FK-Kaskade dieses Imports. Q10: synthetisches XML/XSD mit Primärschlüssel und Nachfolge-/DFUE-Vertrag erforderlich. Zyklus, fehlendes ab/bis, zukünftige DFUE und wiederholte Imports isoliert prüfen. ===== Systemeinstellungen und gemeinsame Nebenwirkungen ===== Gemeinsamer Rückmeldepfad: cSchnitt_Basis mit bedingtem Logging, Mail-/Outbox- und Meldungs-API-Aufruf. MANUELL/SILENT und Rückmeldeschalter beeinflussen diesen Pfad; serverseitige API-Wirkungen bleiben offen. Keine zusätzliche fachliche ZW-Einstellung im lokalen Importpfad gelesen. Timeoutwerte stehen im Betriebsabschnitt, nicht automatisch SQL_TIMEOUT zuordnen. Nur belegte Profilzuordnung; Fachdaten und Rückmeldung sind nicht atomar. Defaults sind keine Livewerte. ===== Feldbeziehungen ===== Unqualifizierte Fachobjekte in der Anmeldedatenbank; ''Import.dbo'' ausdrücklich Importdatenbank. Dateifelder stehen separat im Dateivertrag. ^ Beziehung ^ Tabelle.Feld ^ Operation ^ Datenfluss / Verwendung ^ Bedingung ^ Beleg ^ | 1065-D001 | ''Krankenkassen.ID'' | SELECT/INSERT | ADR.bn; Upsert-Schlüssel | je ADR | B | | 1065-D002 | ''Krankenkassen.IDNachfolge'' | INSERT/UPDATE | nachfolge_bn | je ADR | B,DDL | | 1065-D003 | ''Krankenkassen.IDNachfolgeAktuell'' | INSERT/UPDATE | bn des letzten Nachfolgers | je ADR | B,DDL | | 1065-D004 | ''Krankenkassen.Bezeichnung'' | INSERT/UPDATE | Kurzbezeichnung | je ADR | B,DDL | | 1065-D005 | ''Krankenkassen.von'' | INSERT/UPDATE | gueltig_ab, sonst 2000-01-01 | je ADR | B,DDL | | 1065-D006 | ''Krankenkassen.bis'' | INSERT/UPDATE | gueltig_bis, aber NULL-Zweig prüft ab | je ADR | B,DDL | | 1065-D007 | ''Krankenkassen.Art'' | INSERT/UPDATE | kassenart; varchar→bigint | je ADR | B,DDL | | 1065-D008 | ''Krankenkassen.bnAnnahmeAktuell'' | INSERT/UPDATE | DAVBN.bn zur neuesten DFUE | je ADR | B,DDL | | 1065-D009 | ''Krankenkassen.bis2'' | berechnet | NULL-bis → 2099-12-31 | Schema, nicht explizit geschrieben | DDL | ===== Quellen und weitere Schritte ===== Enum, aktive Registrierung, Projekteinschluss und die in der internen Einzelbeschreibung genannten VB-/SQL-Dateien wurden am Quellencommit geprüft. Konkrete fehlende Quellen und fachliche Fragen stehen oben; bei Tests benötigst du eine isolierte Umgebung und synthetische Dateien. [[schnittstellen:schnittstellen|Übersicht der Schnittstellen]]