feat: Immobilie, Versicherungen und Heim mit COPD-Verlauf
Etappe 6. Das leerstehende Haus, die Vertraege und der Gesundheitsverlauf - die drei Bereiche, in denen fuer diesen Fall das meiste Geld und das meiste Risiko liegt. Leerstands-Checkliste mit zehn Punkten, jeder mit Begruendung. Der wichtigste: den Gebaeudeversicherer ueber den Leerstand informieren - sonst droht Leistungsfreiheit, und zwar genau dann, wenn es brennt oder eine Leitung platzt. Dazu Verkehrssicherungspflicht, Frostschutz zum Oktober, Kontrollgaenge, Zaehlerstaende, Schluesselverzeichnis. Der Kuendigungsrechner nennt den spaetesten ABSENDETAG, nicht den Fristablauf: eine Kuendigung wirkt mit dem Zugang, nicht mit dem Abschicken. Drei Tage Postlaufpuffer sind einkalkuliert. Der Kuendigungs-Assistent beantwortet die Genehmigungsfrage nach § 1850 BGB nicht - er stellt sie und verlangt den Gang zum Rechtspfleger. Der Versandnachweis ist Pflichtfeld: ohne ihn kommt die Kuendigung nicht durch die Pruefung. Leistungszuschlag nach § 43c SGB XI mit Stand 01.01.2024 (15/30/50/75 Prozent nach Verweildauer, erst ab Pflegegrad 2). Die Oberflaeche zeigt, ab wann die naechste Stufe greift - das ist bares Geld und wird regelmaessig uebersehen. COPD-Schnellerfassung fuer Exazerbation, Sauerstoff, Sturz, Krankenhaus, Hilfsmittel und Impfungen, mit STIKO-Plan fuer COPD. Beschreibungen verschluesselt. Die Jahresauswertung ueber Exazerbationen und Krankenhaustage wandert in den Jahresbericht und begruendet eine Hoeherstufung. 74 Tests. Etappe: 6 Phase: Substanz
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
import type { Briefkopf } from '@/lib/vertraege/anschreiben'
|
||||
|
||||
/**
|
||||
* Baut den Briefkopf aus Stammdaten und angemeldetem Benutzer.
|
||||
*
|
||||
* Die Anschrift des Betreuers steht im Datenmodell nicht - der Benutzer
|
||||
* hat nur Name und E-Mail. Sie bleibt deshalb leer; im erzeugten Text
|
||||
* fehlen dann schlicht die beiden Zeilen, und wer den Entwurf kopiert,
|
||||
* ergaenzt sie im Briefkopf seines Textverarbeitungsprogramms ohnehin.
|
||||
*/
|
||||
export type BriefkopfQuelle = {
|
||||
betreute: {
|
||||
vorname: string
|
||||
nachname: string
|
||||
anrede: string | null
|
||||
geburtsdatum: Date
|
||||
heimName: string | null
|
||||
heimStrasse: string | null
|
||||
heimPlz: string | null
|
||||
heimOrt: string | null
|
||||
betreuungsgericht: string | null
|
||||
aktenzeichenGericht: string | null
|
||||
bestellungAm: Date | null
|
||||
}
|
||||
benutzer: { name: string }
|
||||
}
|
||||
|
||||
export function briefkopfBauen(quelle: BriefkopfQuelle): Briefkopf {
|
||||
const b = quelle.betreute
|
||||
const anschrift = [
|
||||
b.heimName,
|
||||
b.heimStrasse,
|
||||
[b.heimPlz, b.heimOrt].filter(Boolean).join(' ') || null,
|
||||
]
|
||||
.filter(Boolean)
|
||||
.join('\n')
|
||||
|
||||
return {
|
||||
betreuerName: quelle.benutzer.name,
|
||||
betreuerStrasse: null,
|
||||
betreuerPlz: null,
|
||||
// Der Ort in der Datumszeile ist der Ort des Betreuers, nicht der des
|
||||
// Heims - er steht nirgends im Datenmodell und bleibt deshalb leer.
|
||||
betreuerOrt: null,
|
||||
betreuteName: `${b.anrede ? `${b.anrede} ` : ''}${b.vorname} ${b.nachname}`.trim(),
|
||||
betreuteGeburtsdatum: b.geburtsdatum,
|
||||
betreuteAnschrift: anschrift || null,
|
||||
betreuungsgericht: b.betreuungsgericht,
|
||||
aktenzeichenGericht: b.aktenzeichenGericht,
|
||||
bestellungAm: b.bestellungAm,
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user