# ASV-Format-Validator Lokale CLI-Anwendung zur Validierung von ASV-Abrechnungsdateien (ambulante spezialfachärztliche Versorgung gemäß § 116b Abs. 6 Satz 12 SGB V) gegen die **Technische Anlage ASV 1.09** (Stand 09.10.2025, anzuwenden ab Leistungserbringungsquartal 2/2026). ## Status 🚧 **In Entwicklung — Version 1 (V1)** Die Implementierung folgt einem Meilenstein-Modell (siehe [`docs/specs/meilensteine.md`](docs/specs/meilensteine.md)). Aktuell in Arbeit: **Meilenstein 1 — Projektfundament**. ## Was macht das Tool? Der Validator prüft lokal vorliegende ASV-Artefakte gegen die Technische Anlage ASV 1.09. Unterstützte Artefakte in V1: - ASV-Nutzdatendateien mit `ASVREC` (Abrechnung) - ASV-Fehlernachrichten mit `ASVFEH` - Storno-Nachrichten als Sonderausprägung von `ASVREC` - Auftragsdateien (`.AUF`, KKS-Auftragssatz) - verschlüsselte bzw. transportnahe PKCS#7-Artefakte Pro Lauf wird **genau eine Datei** validiert. Ausgabe: ein deutscher Textbericht (Konsole + Berichtdatei) und eine technische Log-Datei. ## Nutzung (geplant, noch nicht vollständig implementiert) ```bash java -jar asv-format-validator.jar ``` Exit-Codes: | Code | Bedeutung | |---|---| | `0` | gültig, keine Fehler-Befunde | | `1` | ungültig, mindestens ein Spec-Fehler | | `2` | Bedienfehler (z.B. Datei nicht lesbar, falsches Argument) | ## Technisches Zielbild - **Java 21**, Maven - **Hexagonale Architektur**, manuelle Constructor Injection, kein DI-Framework - **SLF4J + Log4j2** für Logging - **ISO 8859-15** als Eingabe-Encoding, UTF-8 für Ausgabeartefakte - **Nicht** Server, nicht Container, nicht Batch — bewusst schlank Details siehe [`docs/specs/technik-und-architektur.md`](docs/specs/technik-und-architektur.md). ## Dokumentation Alle normativen Dokumente liegen unter `docs/specs/`: - [`fachliche-anforderungen.md`](docs/specs/fachliche-anforderungen.md) — verbindlicher fachlicher Soll-Rahmen, feldgenauer Regelkatalog - [`technik-und-architektur.md`](docs/specs/technik-und-architektur.md) — verbindlicher technischer Soll-Rahmen - [`meilensteine.md`](docs/specs/meilensteine.md) — Umsetzungsplan in 9 Meilensteinen Arbeitspakete und Berichte pro Meilenstein unter `docs/arbeitspakete/m/`. ## Preview-Code Das Repository enthält eine frühere, noch unvollständige Implementierung aus einer Sondierungsphase (u.a. Parser und Validator-Gerüst). Diese Teile werden in den Meilensteinen M1 bis M2 evolutionär in die neue hexagonale Struktur überführt bzw. als Vorbau für spätere Meilensteine eingefroren. Details dazu in [`docs/arbeitspakete/m1/AP09-altlogik-einfrieren.md`](docs/arbeitspakete/m1/AP09-altlogik-einfrieren.md). ## Build ```bash mvn clean verify ``` ## Nicht-Ziele von Version 1 Siehe `technik-und-architektur.md`, Abschnitt „Nicht-Ziele". Insbesondere: keine GUI, keine Batch-Verarbeitung, keine Referenzdatenbestände, keine Stufe-4-Prüfungen, kein Mehrversionssupport.