Rentenversicherer/templates/G2210-11.tex
Claude 19e96ef59b
feat: Add LaTeX template-based form filling for G2210-11
Replace unreliable visual overlay mode with precise LaTeX templates:

- Add LaTeX template for G2210-11 (Ärztlicher Befundbericht der WAG)
- Create Python Flask backend for LaTeX compilation (latex_service.py, server.py)
- Add frontend latexService.ts for API communication
- Update ReviewPanel with LaTeX mode toggle and preview
- Enhance Gemini prompts with G2210-11 specific field extraction
- Add Dockerfile with TeX Live for Railway deployment
- Update railway.toml to use Docker builder

The LaTeX approach ensures accurate field placement and proper
formatting for German medical/insurance forms.

https://claude.ai/code/session_016pQhdznHZ74Fpkvwr3cLBq
2026-01-29 18:29:22 +00:00

353 lines
8.9 KiB
TeX

\documentclass[a4paper,10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[margin=1.5cm,top=1cm,bottom=1.5cm]{geometry}
\usepackage{array}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{multirow}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{helvet}
\usepackage{amssymb}
\usepackage{tikz}
\usepackage{fancyhdr}
\usepackage{lastpage}
\usepackage{enumitem}
\renewcommand{\familydefault}{\sfdefault}
\setlength{\parindent}{0pt}
\setlength{\parskip}{0.3em}
% Custom colors
\definecolor{drvblue}{RGB}{0,51,102}
\definecolor{lightgray}{RGB}{240,240,240}
\definecolor{bordergray}{RGB}{180,180,180}
% Header and Footer
\pagestyle{fancy}
\fancyhf{}
\renewcommand{\headrulewidth}{0pt}
\fancyfoot[C]{\footnotesize Seite \thepage\ von \pageref{LastPage}}
\fancyfoot[R]{\footnotesize G2210-11 (01.2025)}
% Custom commands
\newcommand{\formfield}[2]{\textbf{#1:} #2}
\newcommand{\formbox}[1]{\fbox{\parbox{0.95\linewidth}{#1}}}
\newcommand{\sectionheader}[1]{\colorbox{lightgray}{\parbox{\dimexpr\linewidth-2\fboxsep}{\textbf{#1}}}}
\begin{document}
% === HEADER ===
\begin{center}
{\Large\bfseries\color{drvblue} Deutsche Rentenversicherung Westfalen}\\[0.3em]
{\large Ärztlicher Befundbericht}\\[0.2em]
{\small zum Antrag auf Leistungen zur medizinischen Rehabilitation}\\[0.5em]
\hrule
\end{center}
\vspace{0.5em}
% === PATIENT DATA ===
\sectionheader{1. Angaben zur versicherten Person}
\vspace{0.3em}
\begin{tabularx}{\linewidth}{|p{4cm}|X|p{4cm}|X|}
\hline
\textbf{Versicherungsnummer:} & {{versicherungsnummer}} & \textbf{ABT.-Nr.:} & {{abt_nr}} \\
\hline
\textbf{Name, Vorname:} & \multicolumn{3}{l|}{{{name_vorname}}} \\
\hline
\textbf{Geburtsdatum:} & {{geburtsdatum|date}} & \textbf{Geschlecht:} & {{geschlecht}} \\
\hline
\textbf{Straße, Hausnummer:} & \multicolumn{3}{l|}{{{strasse}}} \\
\hline
\textbf{PLZ, Ort:} & \multicolumn{3}{l|}{{{plz}} {{ort}}} \\
\hline
\textbf{Telefon:} & {{telefon}} & \textbf{Krankenkasse:} & {{krankenkasse}} \\
\hline
\end{tabularx}
\vspace{0.5em}
% === EMPLOYMENT ===
\sectionheader{2. Angaben zur beruflichen Situation}
\vspace{0.3em}
\begin{tabularx}{\linewidth}{|p{5cm}|X|}
\hline
\textbf{Derzeitige Tätigkeit:} & {{beruf_taetigkeit}} \\
\hline
\textbf{Arbeitgeber:} & {{arbeitgeber}} \\
\hline
\textbf{Arbeitsunfähig seit:} & {{au_seit|date}} \\
\hline
\textbf{Letzte Arbeitsaufnahme:} & {{letzte_arbeit|date}} \\
\hline
\end{tabularx}
\vspace{0.5em}
% === DIAGNOSES ===
\sectionheader{3. Diagnosen (mit ICD-10-Schlüssel)}
\vspace{0.3em}
\begin{tabularx}{\linewidth}{|p{1cm}|X|p{2.5cm}|}
\hline
\textbf{Nr.} & \textbf{Diagnose} & \textbf{ICD-10} \\
\hline
1. & {{diagnose_1}} & {{diagnose_1_icd}} \\
\hline
2. & {{diagnose_2}} & {{diagnose_2_icd}} \\
\hline
3. & {{diagnose_3}} & {{diagnose_3_icd}} \\
\hline
4. & {{diagnose_4}} & {{diagnose_4_icd}} \\
\hline
5. & {{diagnose_5}} & {{diagnose_5_icd}} \\
\hline
6. & {{diagnose_6}} & {{diagnose_6_icd}} \\
\hline
\end{tabularx}
\vspace{0.5em}
% === ANAMNESIS ===
\sectionheader{4. Anamnese und aktueller Befund}
\vspace{0.3em}
\textbf{4.1 Eigenanamnese / Beschwerden des Patienten:}
\begin{tabularx}{\linewidth}{|X|}
\hline
{{anamnese_beschwerden}} \\[4em]
\hline
\end{tabularx}
\vspace{0.3em}
\textbf{4.2 Krankheitsverlauf / bisherige Behandlungen:}
\begin{tabularx}{\linewidth}{|X|}
\hline
{{krankheitsverlauf}} \\[4em]
\hline
\end{tabularx}
\vspace{0.3em}
\textbf{4.3 Aktueller körperlicher Befund:}
\begin{tabularx}{\linewidth}{|X|}
\hline
{{koerperlicher_befund}} \\[4em]
\hline
\end{tabularx}
\newpage
% === FUNCTIONAL LIMITATIONS ===
\sectionheader{5. Nicht nur vorübergehende Beeinträchtigungen der Aktivitäten und Teilhabe}
\vspace{0.3em}
\begin{tabularx}{\linewidth}{|X|c|c|c|}
\hline
\textbf{Beeinträchtigungsbereich} & \textbf{Keine} & \textbf{Gering} & \textbf{Erheblich} \\
\hline
Mobilität (Gehen, Treppensteigen, Fortbewegung) & {{mobilitaet_keine|checkbox}} & {{mobilitaet_gering|checkbox}} & {{mobilitaet_erheblich|checkbox}} \\
\hline
Selbstversorgung (Waschen, Ankleiden, Essen) & {{selbstversorgung_keine|checkbox}} & {{selbstversorgung_gering|checkbox}} & {{selbstversorgung_erheblich|checkbox}} \\
\hline
Haushaltsführung & {{haushalt_keine|checkbox}} & {{haushalt_gering|checkbox}} & {{haushalt_erheblich|checkbox}} \\
\hline
Erwerbstätigkeit & {{erwerb_keine|checkbox}} & {{erwerb_gering|checkbox}} & {{erwerb_erheblich|checkbox}} \\
\hline
Kommunikation & {{kommunikation_keine|checkbox}} & {{kommunikation_gering|checkbox}} & {{kommunikation_erheblich|checkbox}} \\
\hline
Psychische Belastbarkeit & {{psyche_keine|checkbox}} & {{psyche_gering|checkbox}} & {{psyche_erheblich|checkbox}} \\
\hline
\end{tabularx}
\vspace{0.3em}
\textbf{Erläuterungen zu den Beeinträchtigungen:}
\begin{tabularx}{\linewidth}{|X|}
\hline
{{beeintraechtigungen_erlaeuterung}} \\[3em]
\hline
\end{tabularx}
\vspace{0.5em}
% === THERAPY ===
\sectionheader{6. Bisherige und aktuelle Therapie}
\vspace{0.3em}
\textbf{6.1 Aktuelle Medikation:}
\begin{tabularx}{\linewidth}{|X|p{2cm}|p{2.5cm}|}
\hline
\textbf{Medikament} & \textbf{Dosis} & \textbf{Seit wann} \\
\hline
{{medikament_1}} & {{medikament_1_dosis}} & {{medikament_1_seit}} \\
\hline
{{medikament_2}} & {{medikament_2_dosis}} & {{medikament_2_seit}} \\
\hline
{{medikament_3}} & {{medikament_3_dosis}} & {{medikament_3_seit}} \\
\hline
{{medikament_4}} & {{medikament_4_dosis}} & {{medikament_4_seit}} \\
\hline
{{medikament_5}} & {{medikament_5_dosis}} & {{medikament_5_seit}} \\
\hline
\end{tabularx}
\vspace{0.3em}
\textbf{6.2 Physikalische Therapie / Heilmittel:}
\begin{tabularx}{\linewidth}{|X|}
\hline
{{physikalische_therapie}} \\[2em]
\hline
\end{tabularx}
\vspace{0.5em}
% === PREVIOUS REHAB ===
\sectionheader{7. Frühere Rehabilitationsmaßnahmen}
\vspace{0.3em}
\begin{tabularx}{\linewidth}{|p{3cm}|X|p{2.5cm}|}
\hline
\textbf{Zeitraum} & \textbf{Einrichtung / Art} & \textbf{Erfolg} \\
\hline
{{reha_1_zeitraum}} & {{reha_1_einrichtung}} & {{reha_1_erfolg}} \\
\hline
{{reha_2_zeitraum}} & {{reha_2_einrichtung}} & {{reha_2_erfolg}} \\
\hline
\end{tabularx}
\vspace{0.5em}
% === ASSESSMENT ===
\sectionheader{8. Ärztliche Beurteilung}
\vspace{0.3em}
\textbf{8.1 Leistungsvermögen im bisherigen Beruf:}\\
{{leistungsvermoegen_checkbox_vollschichtig|checkbox}} Vollschichtig (6 Std. und mehr) \quad
{{leistungsvermoegen_checkbox_teilschichtig|checkbox}} 3-6 Stunden \quad
{{leistungsvermoegen_checkbox_unter3|checkbox}} Unter 3 Stunden
\vspace{0.3em}
\textbf{8.2 Rehabilitationsbedürftigkeit:}
\begin{tabularx}{\linewidth}{|X|}
\hline
{{reha_beduerftig_begruendung}} \\[3em]
\hline
\end{tabularx}
\vspace{0.3em}
\textbf{8.3 Rehabilitationsziel:}
\begin{tabularx}{\linewidth}{|X|}
\hline
{{reha_ziel}} \\[2em]
\hline
\end{tabularx}
\vspace{0.3em}
\textbf{8.4 Empfohlene Rehabilitationsform:}\\
{{reha_stationaer|checkbox}} Stationär \quad
{{reha_ambulant|checkbox}} Ambulant \quad
{{reha_ganztaegig|checkbox}} Ganztägig ambulant
\vspace{0.3em}
\textbf{8.5 Empfohlene Rehabilitationseinrichtung (falls bekannt):}
\begin{tabularx}{\linewidth}{|X|}
\hline
{{reha_einrichtung_empfehlung}} \\[1em]
\hline
\end{tabularx}
\newpage
% === TRAVEL CAPABILITY ===
\sectionheader{9. Reisefähigkeit}
\vspace{0.3em}
\textbf{Kann der Patient mit öffentlichen Verkehrsmitteln reisen?}\\
{{reisefaehig_ja|checkbox}} Ja \quad
{{reisefaehig_nein|checkbox}} Nein
\vspace{0.2em}
\textbf{Falls nein, Begründung:}
\begin{tabularx}{\linewidth}{|X|}
\hline
{{reisefaehig_begruendung}} \\[2em]
\hline
\end{tabularx}
\vspace{0.3em}
\textbf{Begleitperson erforderlich?}\\
{{begleitperson_ja|checkbox}} Ja \quad
{{begleitperson_nein|checkbox}} Nein
\vspace{0.5em}
% === ADDITIONAL INFO ===
\sectionheader{10. Ergänzende Angaben}
\vspace{0.3em}
\begin{tabularx}{\linewidth}{|X|}
\hline
{{ergaenzende_angaben}} \\[4em]
\hline
\end{tabularx}
\vspace{0.5em}
% === ATTACHMENTS ===
\sectionheader{11. Anlagen}
\vspace{0.3em}
{{anlage_laborbefunde|checkbox}} Laborbefunde \quad
{{anlage_roentgen|checkbox}} Röntgen-/Bildgebende Befunde \quad
{{anlage_arztbriefe|checkbox}} Arztbriefe\\
{{anlage_krankenhausberichte|checkbox}} Krankenhausberichte \quad
{{anlage_sonstige|checkbox}} Sonstige: {{anlage_sonstige_text}}
\vspace{1em}
% === SIGNATURE ===
\sectionheader{12. Unterschrift des behandelnden Arztes}
\vspace{0.5em}
\begin{tabularx}{\linewidth}{|p{5cm}|X|}
\hline
\textbf{Datum:} & {{unterschrift_datum|date}} \\
\hline
\textbf{Name des Arztes:} & {{arzt_name}} \\
\hline
\textbf{Facharztbezeichnung:} & {{arzt_fachrichtung}} \\
\hline
\textbf{Anschrift Praxis:} & {{praxis_anschrift}} \\
\hline
\textbf{Telefon:} & {{praxis_telefon}} \\
\hline
\textbf{BSNR/LANR:} & {{bsnr}} / {{lanr}} \\
\hline
\end{tabularx}
\vspace{1.5em}
\begin{tabularx}{\linewidth}{X X}
\hrulefill & \hrulefill \\
Ort, Datum & Unterschrift und Stempel \\
\end{tabularx}
\vspace{1em}
\footnotesize
\textit{Hinweis: Die Angaben werden vertraulich behandelt und unterliegen dem Sozialgeheimnis nach § 35 SGB I.}
\end{document}