Betreuungsstellen Deutschland · läuft nur auf diesem Rechner

Dokumentation

Anleitung

Für Thomas. Stand: 02.08.2026

Diese Anleitung setzt keine Programmierkenntnisse voraus. Wenn etwas nicht so funktioniert wie hier beschrieben, ist die Anleitung schuld, nicht Sie.

Diese Anleitung ist auch in der Oberfläche selbst zu finden, unter dem Reiter „Dokumentation" — zusammen mit den anderen vier Dokumenten des Projekts. An vielen Stellen der Oberfläche führt ein kleiner Link „Erklärung" direkt zu der Stelle hier, die gerade zur Situation passt.


1. Was das Programm ist — und was es nicht ist

Das Programm ist ein Verzeichnis mit Gedächtnis. Zu jedem gespeicherten Wert — jeder E-Mail-Adresse, jeder Telefonnummer, jeder Anschrift — hält es fest, wo es herkommt, wann es dort stand und wie sicher es ist. Die Quellseite wird auf Ihrem Rechner archiviert und bleibt lesbar, auch wenn die Behörde ihre Website morgen umbaut.

Das Programm recherchiert nicht selbst. Das macht der Recherche-Agent. Das Programm nimmt Werte nur an, wenn sie wörtlich in einer angegebenen Quelle stehen — auch von Ihnen. Das ist keine Schikane, sondern genau die Bremse, die im ersten Versuch gefehlt hat.

Ihr täglicher Zugang ist die Oberfläche im Browser. Sie läuft nur auf Ihrem Rechner; niemand sonst kommt daran.


2. Einmalige Einrichtung

  1. Python installieren (einmalig), falls noch nicht vorhanden: https://www.python.org/downloads/ — bei der Installation bitte das Häkchen „Add Python to PATH" setzen.
  2. Ein schwarzes Fenster öffnen (Windows-Taste drücken, cmd tippen, Enter).
  3. Dort nacheinander eintippen, jeweils mit Enter:
V:
cd \SoftDev\Betreuungsstellen
pip install -r requirements.txt
python bs.py init
  1. Kontaktadresse eintragen. Öffnen Sie die Datei daten\kontakt.txt und ersetzen Sie die letzte Zeile durch Ihre Kanzlei-E-Mail-Adresse. Diese Adresse steht bei jedem Seitenabruf mit im Protokoll der Behörde. Wer Behörden politisch angeht, sollte in deren Logfiles nicht als anonymer Scraper auftauchen.
  1. Die amtliche Gebietsliste einlesen (dauert eine knappe Minute):
python bs.py import-gebiete

Danach kennt das Programm alle Kreise, kreisfreien Städte und Stadtstaatenbezirke Deutschlands — aus dem amtlichen Verzeichnis des Statistischen Bundesamtes, nicht aus dem Gedächtnis einer KI.


3. Der eine Befehl, den Sie täglich brauchen

python bs.py web

Der Browser öffnet sich von selbst. Zum Beenden klicken Sie in das schwarze Fenster und drücken Strg+C.

Wenn Sie mögen, legen Sie sich eine Verknüpfung auf den Desktop: Rechtsklick auf den Desktop → Neu → Verknüpfung → als Ziel eintragen:

cmd /k "V: && cd \SoftDev\Betreuungsstellen && python bs.py web"

4. Rundgang durch die neun Seiten

Übersicht

Die Antwort auf „wie weit sind wir?". Sechs Kennzahlen oben, darunter eine Tabelle je Bundesland, die Verteilung der Qualitätsstufen (→ Abschnitt 7), der Stand der Arbeitspakete und die letzten Recherchelaufe.

Die sechs Kennzahlen oben:

KennzahlZählt
Gebiete im SollKreise, kreisfreie Städte und Sonderfälle, die laut amtlicher Gebietsliste überhaupt eine eigene Betreuungsstelle haben müssen. Das ist der Nenner für „wie weit sind wir" — Gebiete, für die eine amtliche Quelle belegt, dass ein Nachbarkreis mitzuständig ist, zählen bewusst nicht mit
erfasste StellenAlle Betreuungsstellen in der Datenbank, unabhängig vom Status. Kann höher liegen als „Gebiete im Soll", weil eine Stelle für mehrere Gebiete zuständig sein kann
davon geprüftStellen mit Status „geprüft" — ausdrücklich bestätigt, nicht nur einmal gefunden
nicht auffindbarStellen mit Status „nicht auffindbar" — der Agent hat alle Wege aus RECHERCHE-REGELN.md, Abschnitt 5 erfolglos abgesucht. Ein politisches Ergebnis, keine offene Aufgabe
aktive KontakteE-Mail-Adressen, Telefon- und Faxnummern sowie Kontaktformulare, die nicht abgeschaltet oder gesperrt sind
Belege im ArchivWie viele Quellen insgesamt archiviert wurden — jeder Wert im Verzeichnis hängt an mindestens einem davon

Die Tabelle „Fortschritt je Bundesland" zeigt je Land „versorgt" (Gebiete mit mindestens einer erfassten Stelle) gegen „Soll", wie viele davon geprüft sind, wie viele Stellen nicht auffindbar oder ohne E-Mail-Adresse sind, und rechts die Verteilung der E-Mail-Qualität.

„Arbeitspakete" zeigt den Stand je Runde — ein Arbeitspaket ist immer genau ein Gebiet, die feinste sinnvolle Einheit, damit ein Abbruch höchstens ein Gebiet kostet. Eine Runde ist ein Recherche-Durchgang: erstrecherche (die erste Suche), gegenpruefung/nachpruefung (Bestätigung vorhandener Werte, hebt die Qualitätsstufe an), nachfassen (spätere Kampagne). „Zurückgestellte Pakete" führen direkt in die Arbeitsliste (→ Abschnitt „Offen und Prüfen").

„Letzte Läufe" listet die letzten acht abgeschlossenen Recherchelaufe mit Kurzbericht — siehe Abschnitt 6.

Betreuungsstellen

Die Liste aller erfassten Stellen. Oben lässt sich filtern: Suchen wirkt auf Name, Gebiet, Ort und Adresse zugleich; dazu Bundesland, Status, Qualität (A bis X, → Abschnitt 7) und Erreichbarkeit („hat keine E-Mail" — der schnellste Weg zur Lückenliste). Auf eine Spaltenüberschrift klicken sortiert danach. Ein Klick auf den Namen führt zur Einzelansicht.

Einzelne Stelle

Das Herzstück. Drei Blöcke:

  • Stammdaten — Name, Träger, Anschrift, Status. Zu jedem einzelnen Wert steht darunter in kleiner Schrift: Qualitätsstufe, Art der Quelle, Abrufdatum, Bestätigungsdatum, ein Zitat aus der Quelle und der Link „Beleg ansehen". Der öffnet die archivierte Seite und markiert die Fundstelle gelb.
  • Kontakte — alle E-Mail-Adressen, Telefonnummern, Faxnummern und Kontaktformulare mit Rolle und Rang. Rang 1 ist das Funktionspostfach der Betreuungsstelle selbst, Rang 6 die Poststelle als Notnagel — dieser Rang entscheidet, welcher Kontakt in den Serienbrief kommt.
  • Personen — Name, Funktion und das Datum, zu dem der Personenbezug spätestens gelöscht wird (Datenschutz, → DATENSCHUTZ.md).
  • Zuständig für — alle Gebiete, für die diese Stelle zuständig ist, mit Art der Zuständigkeit (originär, übertragen, mitbetreut).

Damit können Sie jeden Wert bis zu seinem Ursprung zurückverfolgen, ohne jemanden fragen zu müssen. Wenn ein Gegenüber Ihre Zahlen angreift, ist das Ihre Antwort.

Korrigieren

Wozu diese Seite da ist. Die automatische Recherche liefert einen Erstbestand, aber Behörden ändern sich: eine Mitarbeiterin wechselt, ein Amt zieht um, eine E-Mail-Adresse wird abgeschaltet, oder Sie erfahren telefonisch etwas, das im Netz gar nicht steht. „Korrigieren" ist der Ort für all das — und der einzige Weg, gespeicherte Angaben zu ändern, der die Belegkette nicht zerreißt. Anders als eine Korrektur direkt in einer Excel-Datei (→ Abschnitt 8) bleibt eine Korrektur hier dauerhaft: sie übersteht den nächsten Export, weil sie in der Datenbank steht, nicht in der Datei.

Zuerst die Stelle suchen (Name oder Gebiet), dann eines von fünf Formularen benutzen:

  1. Eine Angabe der Stelle ändern — Name, Träger, übergeordnetes Amt, Anschrift (Straße, Hausnummer, PLZ, Ort, Postfach), Website oder die eigene Seite der Betreuungsstelle. Ein Feld auswählen, den neuen Wert eintragen.
  2. Kontakt hinzufügen — Art (E-Mail, Telefon, Fax, Web, Kontaktformular, De-Mail), Wert, optional Rolle und zugehörige Person. Bleibt die Rolle leer, erschließt das Programm sie aus dem Wert selbst (z. B. betreuungsstelle@… → Funktionspostfach). Ein neuer Kontakt verdrängt einen bestehenden nicht — beide bleiben nebeneinander stehen, bis Sie den alten ausdrücklich abschalten.
  3. Kontakt richtigstellen oder abschalten — einen vorhandenen Kontakt abschalten (erscheint danach in keinem Export mehr, bleibt aber in der Historie), wieder einschalten, seine Rolle richtigstellen, ihn einer Person zuordnen oder den Personenbezug lösen.
  4. Person zuordnen — Anrede, Titel, Vor- und Nachname, Funktion, Häkchen für Leitung. Legt eine Person an, der Sie danach in Formular 2 oder 3 einen Kontakt zuordnen können.
  5. Status der Stelle setzen — offen, in Arbeit, geprüft, nicht auffindbar, aufgelöst, zusammengelegt. Bei jedem Status außer „geprüft" ist eine Notiz Pflicht: was wurde versucht? Diese Notiz erscheint später im Blatt „Offen und Prüfen" der Excel-Datei (→ Abschnitt 7) — sie ist also nicht nur für Sie, sondern Teil des Befunds.

Jede Änderung verlangt eine Quellenangabe. Entweder eine Internetadresse — die Seite wird sofort geholt, archiviert und wird damit zum Beleg — mit einer Einordnung der Seitenart (amtliche Website, amtliches Portal, amtliche Datei, Verbandsliste, sonstige Webseite), oder die Auswahl „telefonisch erfahren" / „per E-Mail-Antwort erfahren" / „eigene Kenntnis" mit einem erklärenden Satz. Ohne Quelle wird nichts gespeichert. Es gelten dieselben Prüfungen wie beim Recherche-Agenten (→ RECHERCHE-REGELN.md); Sie haben keine Hintertür, und das ist Absicht. Ein Wert, der bei „Internetseite" nicht wörtlich auf der angegebenen Seite steht, wird mit Begründung abgelehnt — dieselbe Wortlaut-Regel wie beim Agenten (→ RECHERCHE-REGELN.md, Abschnitt 0).

Typische Situationen — welches Formular passt:

Sie erfahren …Vorgehen
… eine neue oder geänderte E-Mail-AdresseFormular 2, „Kontakt hinzufügen". Die alte Adresse bleibt stehen — danach in Formular 3 abschalten, wenn sie wirklich nicht mehr gilt
… eine Adresse ist falsch oder eine Mitarbeiterin nicht mehr zuständigFormular 3, „abschalten"
… eine Behörde ist umgezogenFormular 1, Felder Straße/Hausnummer/PLZ/Ort
… eine Behörde erklärt, keine eigene Betreuungsstelle zu unterhaltenFormular 5, Status „nicht auffindbar" — vorher die fünf Wege aus RECHERCHE-REGELN.md, Abschnitt 5 durchgehen, ob nicht eine andere Stelle zuständig ist
… den Namen einer neuen SachbearbeiterinFormular 4 (Person anlegen), danach in Formular 3 den passenden Kontakt dieser Person zuordnen
… jemand widerspricht der Verarbeitung seiner DatenNicht hier — das gehört auf die Seite „Sperrliste" (→ Abschnitt 4)
… zwei Stellen wurden zusammengelegtFormular 5, Status „zusammengelegt" — in der Pflicht-Notiz die Nachfolgestelle nennen. Die alte Stelle bleibt erhalten, nichts wird gelöscht

Offen und Prüfen

Ihre politische Fundgrube, in sechs Listen: Gebiete ohne auffindbare Stelle, Gebiete ganz ohne erfasste Stelle, unsichere Angaben (Stufen D und X), Stellen ohne E-Mail-Adresse, Stellen nur mit Kontaktformular, zurückgestellte Arbeitspakete.

Eine Lücke ist hier ein Ergebnis, kein Versäumnis. Wo eine Betreuungsbehörde gesetzlich vorgesehen ist und nicht auffindbar ist, ist genau das Ihr Befund — und zwar erst, nachdem der Agent alle in RECHERCHE-REGELN.md vorgeschriebenen Wege erfolglos abgesucht hat.

Export

Hier bestimmen Sie das Aussehen der Excel-Datei — siehe Abschnitt 5.

Sperrliste

Wenn jemand schreibt „nehmen Sie mich aus Ihrer Liste", tragen Sie den Wert hier ein. Wirkung: Der Wert wird sofort abgeschaltet, erscheint in keinem Export mehr und kann auch bei einer späteren Recherche nicht wieder eingetragen werden — auch nicht, wenn er noch auf der Behördenseite steht. Gespeichert wird nur eine Prüfsumme, nicht der Wert selbst. Der rechtliche Hintergrund steht in DATENSCHUTZ.md.

Quellen

Alle archivierten Belege mit Adresse, Art und Abrufdatum, durchsuchbar und nach Quellenart filterbar. Ein Klick zeigt die archivierte Seite mit der Anzahl der Angaben, die auf ihr beruhen.

Dokumentation

Diese Seite. Fünf Dokumente: dieses Nutzerhandbuch, der Projektüberblick, die Recherche-Strategie, das Datenmodell und der Datenschutz-Rahmen — vollständig, durchsuchbar mit der Suche des Browsers (Strg+F), mit Inhaltsverzeichnis und mit Sprungmarken, auf die die übrige Oberfläche direkt verweist.


5. Die Excel-Struktur selbst ändern

Das Layout ist nicht fest verdrahtet. Sie ändern es auf der Seite Export, ohne Agent, ohne Programmierer.

Ein durchgerechnetes Beispiel

Angenommen, Sie wollen für einen Serienbrief nach Bayern: die Fax-Spalte weg, die erste Spalte soll „Amt" heißen, dahinter die Einwohnerzahl, und nur bayerische Stellen sollen drinstehen.

Schritt 1 — Profil wählen. Oben bei „Profil" versand auswählen, „Profil anzeigen".

Schritt 2 — Spalte umbenennen. In der Zeile ganz oben steht im Feld „Überschrift in der Excel-Datei" das Wort Betreuungsstelle. Klicken Sie hinein, löschen Sie es, schreiben Sie Amt. Dann unten auf „Reihenfolge und Überschriften speichern".

Schritt 3 — Spalte entfernen. In der Zeile Fax rechts auf entfernen. Die Positionsnummern rutschen von selbst nach.

Schritt 4 — Spalte hinzufügen. Im Kasten „Spalte hinzufügen" bei „Inhalt" den Eintrag Einwohner (gebiet.einwohner) wählen, bei „Überschrift" Einwohnerzahl eintippen, „An welche Position?" leer lassen (dann kommt sie ans Ende) — oder eine Zahl eintragen, dann rückt sie dort ein. Auf „Spalte hinzufügen". Die volle Liste der wählbaren Inhalte steht in DATENMODELL.md im Feldkatalog.

Schritt 5 — Reihenfolge ändern. Zeilen lassen sich mit der Maus am Griff (⠿ links) packen und verschieben. Wenn das hakt: einfach die Positionsnummer überschreiben — 1 ist ganz links — und „Reihenfolge und Überschriften speichern". Beides wirkt gleich.

Schritt 6 — Zeilen einschränken. Im Kasten „Welche Zeilen und in welcher Reihenfolge?" bei „Nur diese Bundesländer" BY eintragen. Dann „Einstellungen speichern". Hier steht auch die Mindestqualität — Vorgabe „A und B", siehe Abschnitt 7 — und ob die Blätter „Offen und Prüfen", „Quellen" und „Abdeckung" mit in die Datei sollen.

Schritt 7 — Vorschau prüfen. Ganz unten stehen die ersten zehn Zeilen mit echten Daten. Genau so wird die Datei aussehen.

Schritt 8 — Datei erzeugen. Auf „Excel erzeugen" klicken. Der Browser lädt die Datei direkt herunter — sie wird zu keinem Zeitpunkt auf dem Server abgelegt. Wo genau sie landet, bestimmen die Downloadeinstellungen Ihres Browsers, wie bei jeder anderen Datei aus dem Internet auch.

Schritt 9 — falls Sie das Layout behalten wollen, ohne den Auslieferungszustand zu verlieren: vorher unten „Als neues Profil speichern unter" einen Namen eintragen, z. B. Serienbrief Bayern, und auf „Als neues Profil speichern".

Sie können nichts kaputtmachen

Die drei mitgelieferten Profile (versand, veroeffentlichung, roh) lassen sich jederzeit mit „Auf Werkszustand zurücksetzen" in zehn Sekunden wiederherstellen. Löschen lassen sie sich nicht. Eigene Profile dürfen Sie anlegen, umbenennen und löschen.

roh liefert alle Felder einzeln (PLZ und Ort getrennt, jeder Kontakt als eigene Spalte statt paarweise) — gedacht für eigene Auswertungen außerhalb dieses Programms, nicht für den Versand.

Eine Grenze, die absichtlich nicht verschiebbar ist

Beim Profil veroeffentlichung werden personenbezogene Felder gar nicht erst zur Auswahl angeboten, und personalisierte Kontakte bleiben außen vor. Dieses Kennzeichen lässt sich nicht abschalten. Grund steht in doc/DATENSCHUTZ.md, Abschnitt 6: Für eine Veröffentlichung sind Namen einzelner Sachbearbeiter weder erforderlich noch von deren berechtigter Erwartung gedeckt. Für Ihre Anschreiben nehmen Sie versand, für Auswertungen und Präsentationen veroeffentlichung.


6. Einen Recherchelauf starten

Öffnen Sie Claude Code im Projektordner und tippen Sie immer denselben Satz:

Arbeite doc/AUFTRAG-03-RECHERCHE-CC.md ab.

Für einen eingeschränkten Lauf hängen Sie das Gebiet an:

Arbeite doc/AUFTRAG-03-RECHERCHE-CC.md ab, nur Bayern.

Der Auftrag liest den Stand aus der Datenbank und macht dort weiter, wo zuletzt aufgehört wurde. Ein Abbruch kostet höchstens ein Gebiet. Sie können den Lauf jederzeit unterbrechen und später fortsetzen. Nach welchen Regeln der Agent dabei vorgeht, steht vollständig in RECHERCHE-REGELN.md — nichts davon ist versteckte Magie, es lässt sich lesen und, mit Bedacht, auch ändern.


7. Die Excel-Datei lesen

Blatt 1 „Betreuungsstellen" — das Verzeichnis für den Serienbrief. Die Spalte Anrede ist fertig formuliert: „Sehr geehrte Frau Dr. Scholz," wenn ein Name belegt ist, sonst „Sehr geehrte Damen und Herren,". Geraten wird nie.

Die Spalte „Qualität" ist farbig hinterlegt:

StufeFarbeBedeutung
Agrünamtliche Quelle, vor höchstens 90 Tagen bestätigt
Bhellgrünamtliche Quelle, Bestätigung älter als 90 Tage
CgelbSekundärquelle (Verbandsliste, sonstige Webseite)
Dorangeerst einmal gefunden, noch nicht gegengeprüft
Xrotletzte Prüfung ergab eine Abweichung oder die Quelle ist weg

Dieselbe Stufe und dieselbe Farbe erscheinen auch in der Oberfläche, bei jedem einzelnen Kontakt und in der Verteilung auf der Übersichtsseite. Wie sich die Stufe im Einzelnen berechnet, steht in DATENMODELL.md, Abschnitt 3.

Wichtig zu wissen: Ein frisch recherchierter Wert steht zunächst auf D. Er steigt auf A, sobald ihn eine Gegenprüfung bestätigt hat. Das Profil versand nimmt nur A und B auf — direkt nach einer Erstrecherche ist der Versand-Export deshalb noch dünn. Er füllt sich, sobald der Nachprüflauf gelaufen ist (der Agent macht das; an der Kommandozeile heißt der Befehl python bs.py pruefe). Diese Zurückhaltung ist der Kern des Ganzen: lieber eine Zeile weniger als eine falsche Adresse.

Blatt 2 „Offen und Prüfen" — Ihre politische Arbeitsliste: jedes Gebiet ohne geprüfte Stelle, jede unsichere Angabe, mit der Notiz, was versucht wurde. Für die Argumentation ist dieses Blatt oft wertvoller als Blatt 1.

Blatt 3 „Quellen" — alle Belege mit Adresse, Art, Abrufdatum und Archivdatei.

Blatt 4 „Abdeckung" — je Bundesland Soll und Ist und die Stufenverteilung.


8. Was Sie bitte nicht tun

Werte in der erzeugten Excel-Datei korrigieren. Die Datei ist ein Erzeugnis, kein Speicher. Beim nächsten Export ist Ihre Korrektur weg — und schlimmer: sie hätte keine Quelle, und genau daran ist der erste Versuch gescheitert. Korrekturen laufen über die Seite Korrigieren. Dort wird die Quelle mitgespeichert, und beim nächsten Export steht die Korrektur wieder drin.

Die Datenbankdatei direkt bearbeiten. daten\betreuungsstellen.sqlite3 bitte nicht mit einem Datenbankwerkzeug öffnen und ändern. Alle Prüfungen, die Sie vor Fehlern schützen, hängen an den Programmbefehlen — nicht an der Datei.


9. Sicherung

Kopieren Sie den ganzen Ordner V:\SoftDev\Betreuungsstellen auf eine externe Platte. Wenn Sie sparen wollen, reichen zwei Dinge:

  • daten\betreuungsstellen.sqlite3 — alle Daten
  • archiv\ — die archivierten Quellseiten (der Nachweis)

Ohne das Archiv verlieren Sie die Belegkraft, auch wenn die Daten noch da sind. Bitte beides sichern.


10. Wenn etwas klemmt

Was passiertWas zu tun ist
„FEHLER: Keine Datenbank …"python bs.py init im Projektordner ausführen
„Der Port 8765 ist belegt"Die Oberfläche läuft schon in einem anderen Fenster; sonst python bs.py web --port 8766
Ein Wert wird abgelehntDie Meldung nennt den Grund. Meist steht der Wert nicht wörtlich in der angegebenen Quelle — Quelle prüfen oder die richtige Seite angeben
Der Browser öffnet sich nichtVon Hand http://127.0.0.1:8765/ aufrufen
Der Export ist leerWahrscheinlich stehen alle Werte noch auf Stufe D. Siehe Abschnitt 7
Der Excel-Download startet nichtPrüfen, ob der Browser den Download blockiert (Adressleiste, Symbol für blockierte Downloads); die Datei entsteht bei jedem Klick neu, ein zweiter Versuch schadet nicht