Inhaltsverzeichnis

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.

Übersicht der Schnittstellen