Files
aza/backup 24.2.26 - Kopie (61)/project_roadmap.json

128 lines
9.4 KiB
JSON
Raw Normal View History

2026-03-25 13:42:48 +01:00
{
"version": 5,
"updated_at": "2026-03-24T3",
"project_phase": "Pre-Go-Live / Produktisierung / letzte technische Haertung",
"project_phase_assessment": {
"A": "Desktop-App ist bereits weit fortgeschritten und grundsaetzlich benutzbar",
"B": "Es gibt aber noch einzelne kritische Restthemen / Produktisierungsbloecke",
"C": "Wir sind NICHT mehr in der Ideenphase",
"D": "Wir sind aber auch noch NICHT bei 'breit ausrollen ohne Restpruefung'",
"E": "Arbeitsphase = Pre-Go-Live / Produktisierung / letzte technische Haertung"
},
"priority_order": {
"1_hoechste": "Kauf / Download / Installation / Aktivierung sauber machen",
"2_hoch": "Verbleibende kritische Restfehler gezielt einzeln entfernen",
"3_mittel": "Windows-Signing / Kundenauslieferung absichern",
"4_nachgelagert": "Update-Verbesserungen / Update-Komfort (NICHT aktuelle Prioritaet)"
},
"next_main_block": "WooCommerce-Grundkonfiguration in WordPress-Admin (7 Schritte) + Testkauf. Desktop-Voraussetzungen erledigt (Bridge + Trial-Dialog + Fenster-UX).",
"working_principles": [
"Root-cause-first statt blindem Nachpatchen",
"Ein klarer Block nach dem anderen keine 10 Baustellen gleichzeitig",
"Reale installierte Builds staerker gewichten als Code-Behauptungen",
"Nicht zu frueh 'fertig' sagen",
"Desktop unterscheiden in: 1. Dev-Code, 2. neu gebauter Installer, 3. reales Verhalten im installierten Build"
],
"pricing_model": "Subscription: monatlich CHF 89 + Jahreslizenz CHF 886 (17% guenstiger). KEIN Einmalkauf.",
"product_naming": {
"current_direction": "AZA Office",
"status": "Aktuelle bevorzugte Naming-Richtung noch nicht zwingend final juristisch/brand-strategisch entschieden",
"use_for": "WooCommerce-Produkt, Website, Download-Seite, Go-Live, Produktdarstellung",
"rule": "Bei spaeteren Diskussionen diese Richtung wiederverwenden statt Namen jedes Mal neu zu erfinden",
"favorite_long": "AZA Office Ihr medizinischer KI-Arbeitsplatz fuer die Praxis",
"second_choice": "AZA Office Die KI-Assistenz fuer medizinische Dokumentation",
"earlier_shortlist_aza_desktop": {
"note": "Fruehere Favoritenliste unter dem Namen AZA Desktop durch AZA Office abgeloest",
"favorites": [
"AZA Desktop Die KI-Loesung fuer medizinische Dokumentation",
"AZA Desktop KI-gestuetzte Praxisdokumentation fuer Aerzte",
"AZA Desktop Ihre Plattform fuer medizinische KI-Dokumentation",
"AZA Desktop Ihr medizinischer KI-Arbeitsplatz fuer die Praxis",
"AZA Desktop Die KI-Assistenz fuer medizinische Dokumentation",
"AZA Desktop Medizinische KI fuer Aerzte und Praxen"
],
"critically_assessed": "'von Aerzten' eher nicht verwenden"
}
},
"architecture": "Hostpoint=Website/Marketing/WooCommerce. Hetzner=spaetere Browser-AZA/Backend (app.aza-medwork.ch).",
"openai_key_strategy": "Zielzustand: OpenAI-Key NUR serverseitig. App spricht mit AZA-Backend, nicht direkt mit OpenAI. Lokale Key-Eingabe ist temporaer fuer Tests.",
"audio_format_locked": "ENDGUELTIG: Aufnahme direkt als M4A (AAC via ffmpeg-Pipe). NIEMALS auf WAV zurueckaendern.",
"security_benchmark": "HIN-nahe Schutzprinzipien als Sicherheits-Zielbild fuer Browser-AZA. Geschlossener Vertrauensraum, 2FA, asymm. Verschluesselung, TLS, digitale Signatur, TOM, ISMS ISO/IEC 27001 als Benchmark, EPD-/IdP-nahe Orientierung. KEINE Zertifizierungsbehauptung reines Zielbild.",
"phases": [
{
"name": "Core Desktop + Backend",
"status": "done",
"milestones": [
{ "name": "Step 13 - Smoke Suite PASS", "status": "done" },
{ "name": "Step 14 - Docker/Compose Smoke PASS", "status": "done" }
]
},
{
"name": "Go-Live / Productization",
"status": "in_progress",
"milestones": [
{ "name": "Step 17 - Desktop-App + Installer + Kauf-/Download-Flow (CODE-KOMPLETT)", "status": "done" },
{ "name": "Step 15 - Caddy/HTTPS Reverse Proxy", "status": "done" },
{ "name": "Step 16 - Go-Live extern (aza-medwork.ch)", "status": "in_progress" },
{ "name": "Step 22 - Browser-AZA MVP (nach Go-Live)", "status": "open" },
{ "name": "Step 18 - Website + Download + Billing Flow", "status": "done" },
{ "name": "Step 19 - Support/Telemetry minimal", "status": "done" },
{ "name": "Step 20 - Final Security pass", "status": "done" }
]
},
{
"name": "Sell-Ready Pack",
"status": "in_progress",
"milestones": [
{ "name": "Step 21 - Steps/Status/Roadmap/To-Dos konsolidiert", "status": "done" },
{ "name": "Step 17a - Installer-Workflow vorbereitet", "status": "done" },
{ "name": "Step 17b - Runtime Secret Provisioning + Installer gebaut", "status": "done" },
{ "name": "Step 17c - Praxiscomputer-Testpaket ready for field test", "status": "done" },
{ "name": "Step 17d - APPDATA-Persistence-Fix + Rebuild validiert", "status": "done" },
{ "name": "Step 17e - AZA-Startseite/Launcher mit Modulauswahl", "status": "done" },
{ "name": "Step 17f - Launcher 6 Module + Woechentlicher Login + Aktivierungsschluessel + App-Ablauf", "status": "done" },
{ "name": "Step 17g - Systemstatus/Selbsttest fuer Praxiscomputer-Validierung", "status": "done" },
{ "name": "Step 17h - Windows-Firewall-Fix fuer lokales Backend", "status": "done" },
{ "name": "Step 17i - Launcher Canvas-Icons + UX-Feinschliff", "status": "done" },
{ "name": "Step 17j - Kauf-/Download-Flow (Landing, Pricing, Checkout, Success, Download)", "status": "done" },
{ "name": "Step 17k - Live-Deploy-Readiness (CORS, Dockerfile, Caddyfile, Stripe-URLs, lokal verifiziert)", "status": "done" },
{ "name": "DX - Benutzerdaten bei Deinstallation erhalten + Signatur-Fallback + Minifenster-Rechtsklick + Kommentare-Fenster", "status": "done" },
{ "name": "DX - Autotext Root-Cause-Fix (_is_admin NameError + Listener-Revert auf Kopie 13)", "status": "done" },
{ "name": "DX - Signatur-UI (Haekchen + abweichender Name) in Einstellungen", "status": "done" },
{ "name": "BSL - Briefstil-Lernen aus frueheren Word-Briefen (DOCX-Upload, Stilprofil, Integration)", "status": "done" },
{ "name": "BSL - Briefstil-Lernen Erweiterungen (strukturierte Analyse, weitere Formate)", "status": "open" },
{ "name": "PCP - Persistenz/Consent/Profil-Patch (Erststart-Consent, Code-Feld, Kommentare-Toggle, Einstellungs-Gruppierung)", "status": "done" },
{ "name": "UEB - Uebersetzer-Stabilitaetsfix (Toplevel-Embedded statt Tkinter-in-Thread)", "status": "done" },
{ "name": "BRP - Vordefinierte Briefprofile: KISIM Bericht + Klinischer Bericht", "status": "done" },
{ "name": "DX - AZA Clean Uninstall/Reset Tool (saubere Deinstallation/Reset ohne Neustart, 2 Modi)", "status": "done" },
{ "name": "BRP - Briefstil-Profile Fix: Systemprofile immer sichtbar, praezise Prompts, vereinheitlichtes Stilprofil-UI", "status": "done" },
{ "name": "FIX - Korrektur-Patch: Uebersetzer-Label, Kommentare-Fenster, Korrektur-Scrollbar, Stilprofil-Live, KG-Inline, Zentrierung", "status": "done" },
{ "name": "FIX - Nachschaerfungs-Patch: Stilprofil-Dialog nur Verwaltung, Kommentare auto-open, Logo-Trennung (Wassertropfen=Icon, Logo=Branding)", "status": "done" },
{ "name": "FIX - Quellenstrenge Kommentarlogik: Inhaltsquelle/Originallink getrennt, DocCheck Standard + PharmaWiki Fallback, benutzerwaehlbar", "status": "done" },
{ "name": "SIGNING - Signing-Readiness vorbereitet (sign_release.ps1, Pipeline-Integration, Artefakt-Report mit Signatur-Status, SIGNING_READINESS.md)", "status": "done" },
{ "name": "SIGNING - Publisher-/Namenskonsistenz analysiert (3 Namensformen identifiziert, keine echten Inkonsistenzen)", "status": "done" },
{ "name": "SIGNING - Publisher-/Firmenname final festlegen (HR-Name pruefen, vor Zertifikatskauf)", "status": "open" },
{ "name": "SIGNING - Echtes Code-Signing-Zertifikat beschaffen und produktiv aktivieren (VOR Kundenauslieferung)", "status": "open" },
{ "name": "ARCH-MED - Naechste Stufe: Caching, Robustheit, HCI-API-Evaluation", "status": "open" },
{ "name": "GO-LIVE EXTERN - Stripe/WooCommerce/Testkauf (KEINE DNS-Experimente)", "status": "in_progress" },
{ "name": "SEC - Sicherheits-Zielbild (HIN-nahe Schutzprinzipien) fuer Browser-AZA konkretisieren", "status": "open" },
{ "name": "Step 23 - Billing & Legal sell-ready (Invoices/VAT/AGB)", "status": "open" },
{ "name": "Step 24 - Ops/Monitoring/Runbook final", "status": "open" },
{ "name": "Step 25 - Go-Live Cutover", "status": "open" }
]
},
{
"name": "Zukunft / Internationalisierung (NACH DACH-Erfolg)",
"status": "geparkt",
"milestones": [
{ "name": "DACH-Markt sauber stabilisiert (CH/DE/AT) Voraussetzung", "status": "open" },
{ "name": "Profil-Architektur: app_language, market_region, med_source_profile, dx_source_profile, therapy_source_profile", "status": "geparkt" },
{ "name": "UI-Mehrsprachigkeit (z.B. franzoesische UI)", "status": "geparkt" },
{ "name": "Laenderspezifische Medikamentenquellen (Handelsnamen, Zulassungen, Fachinfos je Markt)", "status": "geparkt" },
{ "name": "Laenderspezifische Diagnose-/Therapiequellen", "status": "geparkt" },
{ "name": "Manueller Override durch Benutzer/Praxis", "status": "geparkt" }
]
}
]
}